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:
69//
70//    * Key=Owner,Value=DbAdmin
71//
72//    * Key=Owner,Value=SysAdmin
73//
74//    * Key=Owner,Value=Dev
75//
76//    * Key=Stack,Value=Production
77//
78//    * Key=Stack,Value=Pre-Production
79//
80//    * Key=Stack,Value=Test
81//
82// Each resource can have a maximum of 50 tags.
83//
84// We recommend that you devise a set of tag keys that meets your needs for
85// each resource type. Using a consistent set of tag keys makes it easier for
86// you to manage your resources. You can search and filter the resources based
87// on the tags you add. Tags don't have any semantic meaning to and are interpreted
88// strictly as a string of characters.
89//
90// For more information about using tags with Amazon Elastic Compute Cloud (Amazon
91// EC2) instances, see Tagging your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
92// in the Amazon EC2 User Guide.
93//
94// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
95// with awserr.Error's Code and Message methods to get detailed information about
96// the error.
97//
98// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
99// API operation AddTagsToResource for usage and error information.
100//
101// Returned Error Types:
102//   * InvalidResourceType
103//   The resource type isn't valid. For example, if you are attempting to tag
104//   an instance, the instance must be a registered, managed instance.
105//
106//   * InvalidResourceId
107//   The resource ID isn't valid. Verify that you entered the correct ID and try
108//   again.
109//
110//   * InternalServerError
111//   An error occurred on the server side.
112//
113//   * TooManyTagsError
114//   The Targets parameter includes too many tags. Remove one or more tags and
115//   try the command again.
116//
117//   * TooManyUpdates
118//   There are concurrent updates for a resource that supports one update at a
119//   time.
120//
121// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource
122func (c *SSM) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
123	req, out := c.AddTagsToResourceRequest(input)
124	return out, req.Send()
125}
126
127// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
128// the ability to pass a context and additional request options.
129//
130// See AddTagsToResource for details on how to use this API operation.
131//
132// The context must be non-nil and will be used for request cancellation. If
133// the context is nil a panic will occur. In the future the SDK may create
134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
135// for more information on using Contexts.
136func (c *SSM) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
137	req, out := c.AddTagsToResourceRequest(input)
138	req.SetContext(ctx)
139	req.ApplyOptions(opts...)
140	return out, req.Send()
141}
142
143const opAssociateOpsItemRelatedItem = "AssociateOpsItemRelatedItem"
144
145// AssociateOpsItemRelatedItemRequest generates a "aws/request.Request" representing the
146// client's request for the AssociateOpsItemRelatedItem operation. The "output" return
147// value will be populated with the request's response once the request completes
148// successfully.
149//
150// Use "Send" method on the returned Request to send the API call to the service.
151// the "output" return value is not valid until after Send returns without error.
152//
153// See AssociateOpsItemRelatedItem for more information on using the AssociateOpsItemRelatedItem
154// API call, and error handling.
155//
156// This method is useful when you want to inject custom logic or configuration
157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
158//
159//
160//    // Example sending a request using the AssociateOpsItemRelatedItemRequest method.
161//    req, resp := client.AssociateOpsItemRelatedItemRequest(params)
162//
163//    err := req.Send()
164//    if err == nil { // resp is now filled
165//        fmt.Println(resp)
166//    }
167//
168// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociateOpsItemRelatedItem
169func (c *SSM) AssociateOpsItemRelatedItemRequest(input *AssociateOpsItemRelatedItemInput) (req *request.Request, output *AssociateOpsItemRelatedItemOutput) {
170	op := &request.Operation{
171		Name:       opAssociateOpsItemRelatedItem,
172		HTTPMethod: "POST",
173		HTTPPath:   "/",
174	}
175
176	if input == nil {
177		input = &AssociateOpsItemRelatedItemInput{}
178	}
179
180	output = &AssociateOpsItemRelatedItemOutput{}
181	req = c.newRequest(op, input, output)
182	return
183}
184
185// AssociateOpsItemRelatedItem API operation for Amazon Simple Systems Manager (SSM).
186//
187// Associates a related item to a Systems Manager OpsCenter OpsItem. For example,
188// you can associate an Incident Manager incident or analysis with an OpsItem.
189// Incident Manager and OpsCenter are capabilities of Amazon Web Services Systems
190// Manager.
191//
192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
193// with awserr.Error's Code and Message methods to get detailed information about
194// the error.
195//
196// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
197// API operation AssociateOpsItemRelatedItem for usage and error information.
198//
199// Returned Error Types:
200//   * InternalServerError
201//   An error occurred on the server side.
202//
203//   * OpsItemNotFoundException
204//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
205//
206//   * OpsItemLimitExceededException
207//   The request caused OpsItems to exceed one or more quotas. For information
208//   about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
209//
210//   * OpsItemInvalidParameterException
211//   A specified parameter argument isn't valid. Verify the available arguments
212//   and try again.
213//
214//   * OpsItemRelatedItemAlreadyExistsException
215//   The Amazon Resource Name (ARN) is already associated with the OpsItem.
216//
217// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AssociateOpsItemRelatedItem
218func (c *SSM) AssociateOpsItemRelatedItem(input *AssociateOpsItemRelatedItemInput) (*AssociateOpsItemRelatedItemOutput, error) {
219	req, out := c.AssociateOpsItemRelatedItemRequest(input)
220	return out, req.Send()
221}
222
223// AssociateOpsItemRelatedItemWithContext is the same as AssociateOpsItemRelatedItem with the addition of
224// the ability to pass a context and additional request options.
225//
226// See AssociateOpsItemRelatedItem for details on how to use this API operation.
227//
228// The context must be non-nil and will be used for request cancellation. If
229// the context is nil a panic will occur. In the future the SDK may create
230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
231// for more information on using Contexts.
232func (c *SSM) AssociateOpsItemRelatedItemWithContext(ctx aws.Context, input *AssociateOpsItemRelatedItemInput, opts ...request.Option) (*AssociateOpsItemRelatedItemOutput, error) {
233	req, out := c.AssociateOpsItemRelatedItemRequest(input)
234	req.SetContext(ctx)
235	req.ApplyOptions(opts...)
236	return out, req.Send()
237}
238
239const opCancelCommand = "CancelCommand"
240
241// CancelCommandRequest generates a "aws/request.Request" representing the
242// client's request for the CancelCommand operation. The "output" return
243// value will be populated with the request's response once the request completes
244// successfully.
245//
246// Use "Send" method on the returned Request to send the API call to the service.
247// the "output" return value is not valid until after Send returns without error.
248//
249// See CancelCommand for more information on using the CancelCommand
250// API call, and error handling.
251//
252// This method is useful when you want to inject custom logic or configuration
253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
254//
255//
256//    // Example sending a request using the CancelCommandRequest method.
257//    req, resp := client.CancelCommandRequest(params)
258//
259//    err := req.Send()
260//    if err == nil { // resp is now filled
261//        fmt.Println(resp)
262//    }
263//
264// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
265func (c *SSM) CancelCommandRequest(input *CancelCommandInput) (req *request.Request, output *CancelCommandOutput) {
266	op := &request.Operation{
267		Name:       opCancelCommand,
268		HTTPMethod: "POST",
269		HTTPPath:   "/",
270	}
271
272	if input == nil {
273		input = &CancelCommandInput{}
274	}
275
276	output = &CancelCommandOutput{}
277	req = c.newRequest(op, input, output)
278	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
279	return
280}
281
282// CancelCommand API operation for Amazon Simple Systems Manager (SSM).
283//
284// Attempts to cancel the command specified by the Command ID. There is no guarantee
285// that the command will be terminated and the underlying process stopped.
286//
287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
288// with awserr.Error's Code and Message methods to get detailed information about
289// the error.
290//
291// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
292// API operation CancelCommand for usage and error information.
293//
294// Returned Error Types:
295//   * InternalServerError
296//   An error occurred on the server side.
297//
298//   * InvalidCommandId
299//   The specified command ID isn't valid. Verify the ID and try again.
300//
301//   * InvalidInstanceId
302//   The following problems can cause this exception:
303//
304//      * You don't have permission to access the instance.
305//
306//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
307//      Verify that SSM Agent is running.
308//
309//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
310//      Agent.
311//
312//      * The instance isn't in valid state. Valid states are: Running, Pending,
313//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
314//
315//   * DuplicateInstanceId
316//   You can't specify an instance ID in more than one association.
317//
318// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand
319func (c *SSM) CancelCommand(input *CancelCommandInput) (*CancelCommandOutput, error) {
320	req, out := c.CancelCommandRequest(input)
321	return out, req.Send()
322}
323
324// CancelCommandWithContext is the same as CancelCommand with the addition of
325// the ability to pass a context and additional request options.
326//
327// See CancelCommand for details on how to use this API operation.
328//
329// The context must be non-nil and will be used for request cancellation. If
330// the context is nil a panic will occur. In the future the SDK may create
331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
332// for more information on using Contexts.
333func (c *SSM) CancelCommandWithContext(ctx aws.Context, input *CancelCommandInput, opts ...request.Option) (*CancelCommandOutput, error) {
334	req, out := c.CancelCommandRequest(input)
335	req.SetContext(ctx)
336	req.ApplyOptions(opts...)
337	return out, req.Send()
338}
339
340const opCancelMaintenanceWindowExecution = "CancelMaintenanceWindowExecution"
341
342// CancelMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
343// client's request for the CancelMaintenanceWindowExecution operation. The "output" return
344// value will be populated with the request's response once the request completes
345// successfully.
346//
347// Use "Send" method on the returned Request to send the API call to the service.
348// the "output" return value is not valid until after Send returns without error.
349//
350// See CancelMaintenanceWindowExecution for more information on using the CancelMaintenanceWindowExecution
351// API call, and error handling.
352//
353// This method is useful when you want to inject custom logic or configuration
354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
355//
356//
357//    // Example sending a request using the CancelMaintenanceWindowExecutionRequest method.
358//    req, resp := client.CancelMaintenanceWindowExecutionRequest(params)
359//
360//    err := req.Send()
361//    if err == nil { // resp is now filled
362//        fmt.Println(resp)
363//    }
364//
365// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
366func (c *SSM) CancelMaintenanceWindowExecutionRequest(input *CancelMaintenanceWindowExecutionInput) (req *request.Request, output *CancelMaintenanceWindowExecutionOutput) {
367	op := &request.Operation{
368		Name:       opCancelMaintenanceWindowExecution,
369		HTTPMethod: "POST",
370		HTTPPath:   "/",
371	}
372
373	if input == nil {
374		input = &CancelMaintenanceWindowExecutionInput{}
375	}
376
377	output = &CancelMaintenanceWindowExecutionOutput{}
378	req = c.newRequest(op, input, output)
379	return
380}
381
382// CancelMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
383//
384// Stops a maintenance window execution that is already in progress and cancels
385// any tasks in the window that haven't already starting running. Tasks already
386// in progress will continue to completion.
387//
388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
389// with awserr.Error's Code and Message methods to get detailed information about
390// the error.
391//
392// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
393// API operation CancelMaintenanceWindowExecution for usage and error information.
394//
395// Returned Error Types:
396//   * InternalServerError
397//   An error occurred on the server side.
398//
399//   * DoesNotExistException
400//   Error returned when the ID specified for a resource, such as a maintenance
401//   window or patch baseline, doesn't exist.
402//
403//   For information about resource quotas in Amazon Web Services Systems Manager,
404//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
405//   in the Amazon Web Services General Reference.
406//
407// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution
408func (c *SSM) CancelMaintenanceWindowExecution(input *CancelMaintenanceWindowExecutionInput) (*CancelMaintenanceWindowExecutionOutput, error) {
409	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
410	return out, req.Send()
411}
412
413// CancelMaintenanceWindowExecutionWithContext is the same as CancelMaintenanceWindowExecution with the addition of
414// the ability to pass a context and additional request options.
415//
416// See CancelMaintenanceWindowExecution for details on how to use this API operation.
417//
418// The context must be non-nil and will be used for request cancellation. If
419// the context is nil a panic will occur. In the future the SDK may create
420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
421// for more information on using Contexts.
422func (c *SSM) CancelMaintenanceWindowExecutionWithContext(ctx aws.Context, input *CancelMaintenanceWindowExecutionInput, opts ...request.Option) (*CancelMaintenanceWindowExecutionOutput, error) {
423	req, out := c.CancelMaintenanceWindowExecutionRequest(input)
424	req.SetContext(ctx)
425	req.ApplyOptions(opts...)
426	return out, req.Send()
427}
428
429const opCreateActivation = "CreateActivation"
430
431// CreateActivationRequest generates a "aws/request.Request" representing the
432// client's request for the CreateActivation operation. The "output" return
433// value will be populated with the request's response once the request completes
434// successfully.
435//
436// Use "Send" method on the returned Request to send the API call to the service.
437// the "output" return value is not valid until after Send returns without error.
438//
439// See CreateActivation for more information on using the CreateActivation
440// API call, and error handling.
441//
442// This method is useful when you want to inject custom logic or configuration
443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
444//
445//
446//    // Example sending a request using the CreateActivationRequest method.
447//    req, resp := client.CreateActivationRequest(params)
448//
449//    err := req.Send()
450//    if err == nil { // resp is now filled
451//        fmt.Println(resp)
452//    }
453//
454// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
455func (c *SSM) CreateActivationRequest(input *CreateActivationInput) (req *request.Request, output *CreateActivationOutput) {
456	op := &request.Operation{
457		Name:       opCreateActivation,
458		HTTPMethod: "POST",
459		HTTPPath:   "/",
460	}
461
462	if input == nil {
463		input = &CreateActivationInput{}
464	}
465
466	output = &CreateActivationOutput{}
467	req = c.newRequest(op, input, output)
468	return
469}
470
471// CreateActivation API operation for Amazon Simple Systems Manager (SSM).
472//
473// Generates an activation code and activation ID you can use to register your
474// on-premises server or virtual machine (VM) with Amazon Web Services Systems
475// Manager. Registering these machines with Systems Manager makes it possible
476// to manage them using Systems Manager capabilities. You use the activation
477// code and ID when installing SSM Agent on machines in your hybrid environment.
478// For more information about requirements for managing on-premises instances
479// and VMs using Systems Manager, see Setting up Amazon Web Services Systems
480// Manager for hybrid environments (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html)
481// in the Amazon Web Services Systems Manager User Guide.
482//
483// On-premises servers or VMs that are registered with Systems Manager and Amazon
484// Elastic Compute Cloud (Amazon EC2) instances that you manage with Systems
485// Manager are all called managed instances.
486//
487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
488// with awserr.Error's Code and Message methods to get detailed information about
489// the error.
490//
491// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
492// API operation CreateActivation for usage and error information.
493//
494// Returned Error Types:
495//   * InternalServerError
496//   An error occurred on the server side.
497//
498// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation
499func (c *SSM) CreateActivation(input *CreateActivationInput) (*CreateActivationOutput, error) {
500	req, out := c.CreateActivationRequest(input)
501	return out, req.Send()
502}
503
504// CreateActivationWithContext is the same as CreateActivation with the addition of
505// the ability to pass a context and additional request options.
506//
507// See CreateActivation for details on how to use this API operation.
508//
509// The context must be non-nil and will be used for request cancellation. If
510// the context is nil a panic will occur. In the future the SDK may create
511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
512// for more information on using Contexts.
513func (c *SSM) CreateActivationWithContext(ctx aws.Context, input *CreateActivationInput, opts ...request.Option) (*CreateActivationOutput, error) {
514	req, out := c.CreateActivationRequest(input)
515	req.SetContext(ctx)
516	req.ApplyOptions(opts...)
517	return out, req.Send()
518}
519
520const opCreateAssociation = "CreateAssociation"
521
522// CreateAssociationRequest generates a "aws/request.Request" representing the
523// client's request for the CreateAssociation operation. The "output" return
524// value will be populated with the request's response once the request completes
525// successfully.
526//
527// Use "Send" method on the returned Request to send the API call to the service.
528// the "output" return value is not valid until after Send returns without error.
529//
530// See CreateAssociation for more information on using the CreateAssociation
531// API call, and error handling.
532//
533// This method is useful when you want to inject custom logic or configuration
534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
535//
536//
537//    // Example sending a request using the CreateAssociationRequest method.
538//    req, resp := client.CreateAssociationRequest(params)
539//
540//    err := req.Send()
541//    if err == nil { // resp is now filled
542//        fmt.Println(resp)
543//    }
544//
545// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
546func (c *SSM) CreateAssociationRequest(input *CreateAssociationInput) (req *request.Request, output *CreateAssociationOutput) {
547	op := &request.Operation{
548		Name:       opCreateAssociation,
549		HTTPMethod: "POST",
550		HTTPPath:   "/",
551	}
552
553	if input == nil {
554		input = &CreateAssociationInput{}
555	}
556
557	output = &CreateAssociationOutput{}
558	req = c.newRequest(op, input, output)
559	return
560}
561
562// CreateAssociation API operation for Amazon Simple Systems Manager (SSM).
563//
564// A State Manager association defines the state that you want to maintain on
565// your instances. For example, an association can specify that anti-virus software
566// must be installed and running on your instances, or that certain ports must
567// be closed. For static targets, the association specifies a schedule for when
568// the configuration is reapplied. For dynamic targets, such as an Amazon Web
569// Services resource group or an Amazon Web Services autoscaling group, State
570// Manager, a capability of Amazon Web Services Systems Manager applies the
571// configuration when new instances are added to the group. The association
572// also specifies actions to take when applying the configuration. For example,
573// an association for anti-virus software might run once a day. If the software
574// isn't installed, then State Manager installs it. If the software is installed,
575// but the service isn't running, then the association might instruct State
576// Manager to start the service.
577//
578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
579// with awserr.Error's Code and Message methods to get detailed information about
580// the error.
581//
582// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
583// API operation CreateAssociation for usage and error information.
584//
585// Returned Error Types:
586//   * AssociationAlreadyExists
587//   The specified association already exists.
588//
589//   * AssociationLimitExceeded
590//   You can have at most 2,000 active associations.
591//
592//   * InternalServerError
593//   An error occurred on the server side.
594//
595//   * InvalidDocument
596//   The specified SSM document doesn't exist.
597//
598//   * InvalidDocumentVersion
599//   The document version isn't valid or doesn't exist.
600//
601//   * InvalidInstanceId
602//   The following problems can cause this exception:
603//
604//      * You don't have permission to access the instance.
605//
606//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
607//      Verify that SSM Agent is running.
608//
609//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
610//      Agent.
611//
612//      * The instance isn't in valid state. Valid states are: Running, Pending,
613//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
614//
615//   * UnsupportedPlatformType
616//   The document doesn't support the platform type of the given instance ID(s).
617//   For example, you sent an document for a Windows instance to a Linux instance.
618//
619//   * InvalidOutputLocation
620//   The output location isn't valid or doesn't exist.
621//
622//   * InvalidParameters
623//   You must specify values for all required parameters in the Amazon Web Services
624//   Systems Manager document (SSM document). You can only supply values to parameters
625//   defined in the SSM document.
626//
627//   * InvalidTarget
628//   The target isn't valid or doesn't exist. It might not be configured for Systems
629//   Manager or you might not have permission to perform the operation.
630//
631//   * InvalidSchedule
632//   The schedule is invalid. Verify your cron or rate expression and try again.
633//
634// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation
635func (c *SSM) CreateAssociation(input *CreateAssociationInput) (*CreateAssociationOutput, error) {
636	req, out := c.CreateAssociationRequest(input)
637	return out, req.Send()
638}
639
640// CreateAssociationWithContext is the same as CreateAssociation with the addition of
641// the ability to pass a context and additional request options.
642//
643// See CreateAssociation for details on how to use this API operation.
644//
645// The context must be non-nil and will be used for request cancellation. If
646// the context is nil a panic will occur. In the future the SDK may create
647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
648// for more information on using Contexts.
649func (c *SSM) CreateAssociationWithContext(ctx aws.Context, input *CreateAssociationInput, opts ...request.Option) (*CreateAssociationOutput, error) {
650	req, out := c.CreateAssociationRequest(input)
651	req.SetContext(ctx)
652	req.ApplyOptions(opts...)
653	return out, req.Send()
654}
655
656const opCreateAssociationBatch = "CreateAssociationBatch"
657
658// CreateAssociationBatchRequest generates a "aws/request.Request" representing the
659// client's request for the CreateAssociationBatch operation. The "output" return
660// value will be populated with the request's response once the request completes
661// successfully.
662//
663// Use "Send" method on the returned Request to send the API call to the service.
664// the "output" return value is not valid until after Send returns without error.
665//
666// See CreateAssociationBatch for more information on using the CreateAssociationBatch
667// API call, and error handling.
668//
669// This method is useful when you want to inject custom logic or configuration
670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
671//
672//
673//    // Example sending a request using the CreateAssociationBatchRequest method.
674//    req, resp := client.CreateAssociationBatchRequest(params)
675//
676//    err := req.Send()
677//    if err == nil { // resp is now filled
678//        fmt.Println(resp)
679//    }
680//
681// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
682func (c *SSM) CreateAssociationBatchRequest(input *CreateAssociationBatchInput) (req *request.Request, output *CreateAssociationBatchOutput) {
683	op := &request.Operation{
684		Name:       opCreateAssociationBatch,
685		HTTPMethod: "POST",
686		HTTPPath:   "/",
687	}
688
689	if input == nil {
690		input = &CreateAssociationBatchInput{}
691	}
692
693	output = &CreateAssociationBatchOutput{}
694	req = c.newRequest(op, input, output)
695	return
696}
697
698// CreateAssociationBatch API operation for Amazon Simple Systems Manager (SSM).
699//
700// Associates the specified Amazon Web Services Systems Manager document (SSM
701// document) with the specified instances or targets.
702//
703// When you associate a document with one or more instances using instance IDs
704// or tags, Amazon Web Services Systems Manager Agent (SSM Agent) running on
705// the instance processes the document and configures the instance as specified.
706//
707// If you associate a document with an instance that already has an associated
708// document, the system returns the AssociationAlreadyExists exception.
709//
710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
711// with awserr.Error's Code and Message methods to get detailed information about
712// the error.
713//
714// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
715// API operation CreateAssociationBatch for usage and error information.
716//
717// Returned Error Types:
718//   * InternalServerError
719//   An error occurred on the server side.
720//
721//   * InvalidDocument
722//   The specified SSM document doesn't exist.
723//
724//   * InvalidDocumentVersion
725//   The document version isn't valid or doesn't exist.
726//
727//   * InvalidInstanceId
728//   The following problems can cause this exception:
729//
730//      * You don't have permission to access the instance.
731//
732//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
733//      Verify that SSM Agent is running.
734//
735//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
736//      Agent.
737//
738//      * The instance isn't in valid state. Valid states are: Running, Pending,
739//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
740//
741//   * InvalidParameters
742//   You must specify values for all required parameters in the Amazon Web Services
743//   Systems Manager document (SSM document). You can only supply values to parameters
744//   defined in the SSM document.
745//
746//   * DuplicateInstanceId
747//   You can't specify an instance ID in more than one association.
748//
749//   * AssociationLimitExceeded
750//   You can have at most 2,000 active associations.
751//
752//   * UnsupportedPlatformType
753//   The document doesn't support the platform type of the given instance ID(s).
754//   For example, you sent an document for a Windows instance to a Linux instance.
755//
756//   * InvalidOutputLocation
757//   The output location isn't valid or doesn't exist.
758//
759//   * InvalidTarget
760//   The target isn't valid or doesn't exist. It might not be configured for Systems
761//   Manager or you might not have permission to perform the operation.
762//
763//   * InvalidSchedule
764//   The schedule is invalid. Verify your cron or rate expression and try again.
765//
766// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch
767func (c *SSM) CreateAssociationBatch(input *CreateAssociationBatchInput) (*CreateAssociationBatchOutput, error) {
768	req, out := c.CreateAssociationBatchRequest(input)
769	return out, req.Send()
770}
771
772// CreateAssociationBatchWithContext is the same as CreateAssociationBatch with the addition of
773// the ability to pass a context and additional request options.
774//
775// See CreateAssociationBatch for details on how to use this API operation.
776//
777// The context must be non-nil and will be used for request cancellation. If
778// the context is nil a panic will occur. In the future the SDK may create
779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
780// for more information on using Contexts.
781func (c *SSM) CreateAssociationBatchWithContext(ctx aws.Context, input *CreateAssociationBatchInput, opts ...request.Option) (*CreateAssociationBatchOutput, error) {
782	req, out := c.CreateAssociationBatchRequest(input)
783	req.SetContext(ctx)
784	req.ApplyOptions(opts...)
785	return out, req.Send()
786}
787
788const opCreateDocument = "CreateDocument"
789
790// CreateDocumentRequest generates a "aws/request.Request" representing the
791// client's request for the CreateDocument operation. The "output" return
792// value will be populated with the request's response once the request completes
793// successfully.
794//
795// Use "Send" method on the returned Request to send the API call to the service.
796// the "output" return value is not valid until after Send returns without error.
797//
798// See CreateDocument for more information on using the CreateDocument
799// API call, and error handling.
800//
801// This method is useful when you want to inject custom logic or configuration
802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
803//
804//
805//    // Example sending a request using the CreateDocumentRequest method.
806//    req, resp := client.CreateDocumentRequest(params)
807//
808//    err := req.Send()
809//    if err == nil { // resp is now filled
810//        fmt.Println(resp)
811//    }
812//
813// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
814func (c *SSM) CreateDocumentRequest(input *CreateDocumentInput) (req *request.Request, output *CreateDocumentOutput) {
815	op := &request.Operation{
816		Name:       opCreateDocument,
817		HTTPMethod: "POST",
818		HTTPPath:   "/",
819	}
820
821	if input == nil {
822		input = &CreateDocumentInput{}
823	}
824
825	output = &CreateDocumentOutput{}
826	req = c.newRequest(op, input, output)
827	return
828}
829
830// CreateDocument API operation for Amazon Simple Systems Manager (SSM).
831//
832// Creates a Amazon Web Services Systems Manager (SSM document). An SSM document
833// defines the actions that Systems Manager performs on your managed instances.
834// For more information about SSM documents, including information about supported
835// schemas, features, and syntax, see Amazon Web Services Systems Manager Documents
836// (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)
837// in the Amazon Web Services Systems Manager User Guide.
838//
839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
840// with awserr.Error's Code and Message methods to get detailed information about
841// the error.
842//
843// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
844// API operation CreateDocument for usage and error information.
845//
846// Returned Error Types:
847//   * DocumentAlreadyExists
848//   The specified document already exists.
849//
850//   * MaxDocumentSizeExceeded
851//   The size limit of a document is 64 KB.
852//
853//   * InternalServerError
854//   An error occurred on the server side.
855//
856//   * InvalidDocumentContent
857//   The content for the document isn't valid.
858//
859//   * DocumentLimitExceeded
860//   You can have at most 500 active SSM documents.
861//
862//   * InvalidDocumentSchemaVersion
863//   The version of the document schema isn't supported.
864//
865// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument
866func (c *SSM) CreateDocument(input *CreateDocumentInput) (*CreateDocumentOutput, error) {
867	req, out := c.CreateDocumentRequest(input)
868	return out, req.Send()
869}
870
871// CreateDocumentWithContext is the same as CreateDocument with the addition of
872// the ability to pass a context and additional request options.
873//
874// See CreateDocument for details on how to use this API operation.
875//
876// The context must be non-nil and will be used for request cancellation. If
877// the context is nil a panic will occur. In the future the SDK may create
878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
879// for more information on using Contexts.
880func (c *SSM) CreateDocumentWithContext(ctx aws.Context, input *CreateDocumentInput, opts ...request.Option) (*CreateDocumentOutput, error) {
881	req, out := c.CreateDocumentRequest(input)
882	req.SetContext(ctx)
883	req.ApplyOptions(opts...)
884	return out, req.Send()
885}
886
887const opCreateMaintenanceWindow = "CreateMaintenanceWindow"
888
889// CreateMaintenanceWindowRequest generates a "aws/request.Request" representing the
890// client's request for the CreateMaintenanceWindow operation. The "output" return
891// value will be populated with the request's response once the request completes
892// successfully.
893//
894// Use "Send" method on the returned Request to send the API call to the service.
895// the "output" return value is not valid until after Send returns without error.
896//
897// See CreateMaintenanceWindow for more information on using the CreateMaintenanceWindow
898// API call, and error handling.
899//
900// This method is useful when you want to inject custom logic or configuration
901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
902//
903//
904//    // Example sending a request using the CreateMaintenanceWindowRequest method.
905//    req, resp := client.CreateMaintenanceWindowRequest(params)
906//
907//    err := req.Send()
908//    if err == nil { // resp is now filled
909//        fmt.Println(resp)
910//    }
911//
912// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
913func (c *SSM) CreateMaintenanceWindowRequest(input *CreateMaintenanceWindowInput) (req *request.Request, output *CreateMaintenanceWindowOutput) {
914	op := &request.Operation{
915		Name:       opCreateMaintenanceWindow,
916		HTTPMethod: "POST",
917		HTTPPath:   "/",
918	}
919
920	if input == nil {
921		input = &CreateMaintenanceWindowInput{}
922	}
923
924	output = &CreateMaintenanceWindowOutput{}
925	req = c.newRequest(op, input, output)
926	return
927}
928
929// CreateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
930//
931// Creates a new maintenance window.
932//
933// The value you specify for Duration determines the specific end time for the
934// maintenance window based on the time it begins. No maintenance window tasks
935// are permitted to start after the resulting endtime minus the number of hours
936// you specify for Cutoff. For example, if the maintenance window starts at
937// 3 PM, the duration is three hours, and the value you specify for Cutoff is
938// one hour, no maintenance window tasks can start after 5 PM.
939//
940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
941// with awserr.Error's Code and Message methods to get detailed information about
942// the error.
943//
944// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
945// API operation CreateMaintenanceWindow for usage and error information.
946//
947// Returned Error Types:
948//   * IdempotentParameterMismatch
949//   Error returned when an idempotent operation is retried and the parameters
950//   don't match the original call to the API with the same idempotency token.
951//
952//   * ResourceLimitExceededException
953//   Error returned when the caller has exceeded the default resource quotas.
954//   For example, too many maintenance windows or patch baselines have been created.
955//
956//   For information about resource quotas in Systems Manager, see Systems Manager
957//   service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
958//   in the Amazon Web Services General Reference.
959//
960//   * InternalServerError
961//   An error occurred on the server side.
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow
964func (c *SSM) CreateMaintenanceWindow(input *CreateMaintenanceWindowInput) (*CreateMaintenanceWindowOutput, error) {
965	req, out := c.CreateMaintenanceWindowRequest(input)
966	return out, req.Send()
967}
968
969// CreateMaintenanceWindowWithContext is the same as CreateMaintenanceWindow with the addition of
970// the ability to pass a context and additional request options.
971//
972// See CreateMaintenanceWindow for details on how to use this API operation.
973//
974// The context must be non-nil and will be used for request cancellation. If
975// the context is nil a panic will occur. In the future the SDK may create
976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
977// for more information on using Contexts.
978func (c *SSM) CreateMaintenanceWindowWithContext(ctx aws.Context, input *CreateMaintenanceWindowInput, opts ...request.Option) (*CreateMaintenanceWindowOutput, error) {
979	req, out := c.CreateMaintenanceWindowRequest(input)
980	req.SetContext(ctx)
981	req.ApplyOptions(opts...)
982	return out, req.Send()
983}
984
985const opCreateOpsItem = "CreateOpsItem"
986
987// CreateOpsItemRequest generates a "aws/request.Request" representing the
988// client's request for the CreateOpsItem operation. The "output" return
989// value will be populated with the request's response once the request completes
990// successfully.
991//
992// Use "Send" method on the returned Request to send the API call to the service.
993// the "output" return value is not valid until after Send returns without error.
994//
995// See CreateOpsItem for more information on using the CreateOpsItem
996// API call, and error handling.
997//
998// This method is useful when you want to inject custom logic or configuration
999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1000//
1001//
1002//    // Example sending a request using the CreateOpsItemRequest method.
1003//    req, resp := client.CreateOpsItemRequest(params)
1004//
1005//    err := req.Send()
1006//    if err == nil { // resp is now filled
1007//        fmt.Println(resp)
1008//    }
1009//
1010// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
1011func (c *SSM) CreateOpsItemRequest(input *CreateOpsItemInput) (req *request.Request, output *CreateOpsItemOutput) {
1012	op := &request.Operation{
1013		Name:       opCreateOpsItem,
1014		HTTPMethod: "POST",
1015		HTTPPath:   "/",
1016	}
1017
1018	if input == nil {
1019		input = &CreateOpsItemInput{}
1020	}
1021
1022	output = &CreateOpsItemOutput{}
1023	req = c.newRequest(op, input, output)
1024	return
1025}
1026
1027// CreateOpsItem API operation for Amazon Simple Systems Manager (SSM).
1028//
1029// Creates a new OpsItem. You must have permission in Identity and Access Management
1030// (IAM) to create a new OpsItem. For more information, see Getting started
1031// with OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
1032// in the Amazon Web Services Systems Manager User Guide.
1033//
1034// Operations engineers and IT professionals use Amazon Web Services Systems
1035// Manager OpsCenter to view, investigate, and remediate operational issues
1036// impacting the performance and health of their Amazon Web Services resources.
1037// For more information, see Amazon Web Services Systems Manager OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
1038// in the Amazon Web Services Systems Manager User Guide.
1039//
1040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1041// with awserr.Error's Code and Message methods to get detailed information about
1042// the error.
1043//
1044// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1045// API operation CreateOpsItem for usage and error information.
1046//
1047// Returned Error Types:
1048//   * InternalServerError
1049//   An error occurred on the server side.
1050//
1051//   * OpsItemAlreadyExistsException
1052//   The OpsItem already exists.
1053//
1054//   * OpsItemLimitExceededException
1055//   The request caused OpsItems to exceed one or more quotas. For information
1056//   about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
1057//
1058//   * OpsItemInvalidParameterException
1059//   A specified parameter argument isn't valid. Verify the available arguments
1060//   and try again.
1061//
1062// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem
1063func (c *SSM) CreateOpsItem(input *CreateOpsItemInput) (*CreateOpsItemOutput, error) {
1064	req, out := c.CreateOpsItemRequest(input)
1065	return out, req.Send()
1066}
1067
1068// CreateOpsItemWithContext is the same as CreateOpsItem with the addition of
1069// the ability to pass a context and additional request options.
1070//
1071// See CreateOpsItem for details on how to use this API operation.
1072//
1073// The context must be non-nil and will be used for request cancellation. If
1074// the context is nil a panic will occur. In the future the SDK may create
1075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1076// for more information on using Contexts.
1077func (c *SSM) CreateOpsItemWithContext(ctx aws.Context, input *CreateOpsItemInput, opts ...request.Option) (*CreateOpsItemOutput, error) {
1078	req, out := c.CreateOpsItemRequest(input)
1079	req.SetContext(ctx)
1080	req.ApplyOptions(opts...)
1081	return out, req.Send()
1082}
1083
1084const opCreateOpsMetadata = "CreateOpsMetadata"
1085
1086// CreateOpsMetadataRequest generates a "aws/request.Request" representing the
1087// client's request for the CreateOpsMetadata operation. The "output" return
1088// value will be populated with the request's response once the request completes
1089// successfully.
1090//
1091// Use "Send" method on the returned Request to send the API call to the service.
1092// the "output" return value is not valid until after Send returns without error.
1093//
1094// See CreateOpsMetadata for more information on using the CreateOpsMetadata
1095// API call, and error handling.
1096//
1097// This method is useful when you want to inject custom logic or configuration
1098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1099//
1100//
1101//    // Example sending a request using the CreateOpsMetadataRequest method.
1102//    req, resp := client.CreateOpsMetadataRequest(params)
1103//
1104//    err := req.Send()
1105//    if err == nil { // resp is now filled
1106//        fmt.Println(resp)
1107//    }
1108//
1109// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsMetadata
1110func (c *SSM) CreateOpsMetadataRequest(input *CreateOpsMetadataInput) (req *request.Request, output *CreateOpsMetadataOutput) {
1111	op := &request.Operation{
1112		Name:       opCreateOpsMetadata,
1113		HTTPMethod: "POST",
1114		HTTPPath:   "/",
1115	}
1116
1117	if input == nil {
1118		input = &CreateOpsMetadataInput{}
1119	}
1120
1121	output = &CreateOpsMetadataOutput{}
1122	req = c.newRequest(op, input, output)
1123	return
1124}
1125
1126// CreateOpsMetadata API operation for Amazon Simple Systems Manager (SSM).
1127//
1128// If you create a new application in Application Manager, Amazon Web Services
1129// Systems Manager calls this API operation to specify information about the
1130// new application, including the application type.
1131//
1132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1133// with awserr.Error's Code and Message methods to get detailed information about
1134// the error.
1135//
1136// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1137// API operation CreateOpsMetadata for usage and error information.
1138//
1139// Returned Error Types:
1140//   * OpsMetadataAlreadyExistsException
1141//   An OpsMetadata object already exists for the selected resource.
1142//
1143//   * OpsMetadataTooManyUpdatesException
1144//   The system is processing too many concurrent updates. Wait a few moments
1145//   and try again.
1146//
1147//   * OpsMetadataInvalidArgumentException
1148//   One of the arguments passed is invalid.
1149//
1150//   * OpsMetadataLimitExceededException
1151//   Your account reached the maximum number of OpsMetadata objects allowed by
1152//   Application Manager. The maximum is 200 OpsMetadata objects. Delete one or
1153//   more OpsMetadata object and try again.
1154//
1155//   * InternalServerError
1156//   An error occurred on the server side.
1157//
1158// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsMetadata
1159func (c *SSM) CreateOpsMetadata(input *CreateOpsMetadataInput) (*CreateOpsMetadataOutput, error) {
1160	req, out := c.CreateOpsMetadataRequest(input)
1161	return out, req.Send()
1162}
1163
1164// CreateOpsMetadataWithContext is the same as CreateOpsMetadata with the addition of
1165// the ability to pass a context and additional request options.
1166//
1167// See CreateOpsMetadata for details on how to use this API operation.
1168//
1169// The context must be non-nil and will be used for request cancellation. If
1170// the context is nil a panic will occur. In the future the SDK may create
1171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1172// for more information on using Contexts.
1173func (c *SSM) CreateOpsMetadataWithContext(ctx aws.Context, input *CreateOpsMetadataInput, opts ...request.Option) (*CreateOpsMetadataOutput, error) {
1174	req, out := c.CreateOpsMetadataRequest(input)
1175	req.SetContext(ctx)
1176	req.ApplyOptions(opts...)
1177	return out, req.Send()
1178}
1179
1180const opCreatePatchBaseline = "CreatePatchBaseline"
1181
1182// CreatePatchBaselineRequest generates a "aws/request.Request" representing the
1183// client's request for the CreatePatchBaseline operation. The "output" return
1184// value will be populated with the request's response once the request completes
1185// successfully.
1186//
1187// Use "Send" method on the returned Request to send the API call to the service.
1188// the "output" return value is not valid until after Send returns without error.
1189//
1190// See CreatePatchBaseline for more information on using the CreatePatchBaseline
1191// API call, and error handling.
1192//
1193// This method is useful when you want to inject custom logic or configuration
1194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1195//
1196//
1197//    // Example sending a request using the CreatePatchBaselineRequest method.
1198//    req, resp := client.CreatePatchBaselineRequest(params)
1199//
1200//    err := req.Send()
1201//    if err == nil { // resp is now filled
1202//        fmt.Println(resp)
1203//    }
1204//
1205// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
1206func (c *SSM) CreatePatchBaselineRequest(input *CreatePatchBaselineInput) (req *request.Request, output *CreatePatchBaselineOutput) {
1207	op := &request.Operation{
1208		Name:       opCreatePatchBaseline,
1209		HTTPMethod: "POST",
1210		HTTPPath:   "/",
1211	}
1212
1213	if input == nil {
1214		input = &CreatePatchBaselineInput{}
1215	}
1216
1217	output = &CreatePatchBaselineOutput{}
1218	req = c.newRequest(op, input, output)
1219	return
1220}
1221
1222// CreatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
1223//
1224// Creates a patch baseline.
1225//
1226// For information about valid key-value pairs in PatchFilters for each supported
1227// operating system type, see PatchFilter.
1228//
1229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1230// with awserr.Error's Code and Message methods to get detailed information about
1231// the error.
1232//
1233// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1234// API operation CreatePatchBaseline for usage and error information.
1235//
1236// Returned Error Types:
1237//   * IdempotentParameterMismatch
1238//   Error returned when an idempotent operation is retried and the parameters
1239//   don't match the original call to the API with the same idempotency token.
1240//
1241//   * ResourceLimitExceededException
1242//   Error returned when the caller has exceeded the default resource quotas.
1243//   For example, too many maintenance windows or patch baselines have been created.
1244//
1245//   For information about resource quotas in Systems Manager, see Systems Manager
1246//   service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
1247//   in the Amazon Web Services General Reference.
1248//
1249//   * InternalServerError
1250//   An error occurred on the server side.
1251//
1252// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline
1253func (c *SSM) CreatePatchBaseline(input *CreatePatchBaselineInput) (*CreatePatchBaselineOutput, error) {
1254	req, out := c.CreatePatchBaselineRequest(input)
1255	return out, req.Send()
1256}
1257
1258// CreatePatchBaselineWithContext is the same as CreatePatchBaseline with the addition of
1259// the ability to pass a context and additional request options.
1260//
1261// See CreatePatchBaseline for details on how to use this API operation.
1262//
1263// The context must be non-nil and will be used for request cancellation. If
1264// the context is nil a panic will occur. In the future the SDK may create
1265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1266// for more information on using Contexts.
1267func (c *SSM) CreatePatchBaselineWithContext(ctx aws.Context, input *CreatePatchBaselineInput, opts ...request.Option) (*CreatePatchBaselineOutput, error) {
1268	req, out := c.CreatePatchBaselineRequest(input)
1269	req.SetContext(ctx)
1270	req.ApplyOptions(opts...)
1271	return out, req.Send()
1272}
1273
1274const opCreateResourceDataSync = "CreateResourceDataSync"
1275
1276// CreateResourceDataSyncRequest generates a "aws/request.Request" representing the
1277// client's request for the CreateResourceDataSync operation. The "output" return
1278// value will be populated with the request's response once the request completes
1279// successfully.
1280//
1281// Use "Send" method on the returned Request to send the API call to the service.
1282// the "output" return value is not valid until after Send returns without error.
1283//
1284// See CreateResourceDataSync for more information on using the CreateResourceDataSync
1285// API call, and error handling.
1286//
1287// This method is useful when you want to inject custom logic or configuration
1288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1289//
1290//
1291//    // Example sending a request using the CreateResourceDataSyncRequest method.
1292//    req, resp := client.CreateResourceDataSyncRequest(params)
1293//
1294//    err := req.Send()
1295//    if err == nil { // resp is now filled
1296//        fmt.Println(resp)
1297//    }
1298//
1299// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1300func (c *SSM) CreateResourceDataSyncRequest(input *CreateResourceDataSyncInput) (req *request.Request, output *CreateResourceDataSyncOutput) {
1301	op := &request.Operation{
1302		Name:       opCreateResourceDataSync,
1303		HTTPMethod: "POST",
1304		HTTPPath:   "/",
1305	}
1306
1307	if input == nil {
1308		input = &CreateResourceDataSyncInput{}
1309	}
1310
1311	output = &CreateResourceDataSyncOutput{}
1312	req = c.newRequest(op, input, output)
1313	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1314	return
1315}
1316
1317// CreateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
1318//
1319// A resource data sync helps you view data from multiple sources in a single
1320// location. Amazon Web Services Systems Manager offers two types of resource
1321// data sync: SyncToDestination and SyncFromSource.
1322//
1323// You can configure Systems Manager Inventory to use the SyncToDestination
1324// type to synchronize Inventory data from multiple Amazon Web Services Regions
1325// to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information,
1326// see Configuring resource data sync for Inventory (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html)
1327// in the Amazon Web Services Systems Manager User Guide.
1328//
1329// You can configure Systems Manager Explorer to use the SyncFromSource type
1330// to synchronize operational work items (OpsItems) and operational data (OpsData)
1331// from multiple Amazon Web Services Regions to a single Amazon S3 bucket. This
1332// type can synchronize OpsItems and OpsData from multiple Amazon Web Services
1333// accounts and Amazon Web Services Regions or EntireOrganization by using Organizations.
1334// For more information, see Setting up Systems Manager Explorer to display
1335// data from multiple accounts and Regions (https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html)
1336// in the Amazon Web Services Systems Manager User Guide.
1337//
1338// A resource data sync is an asynchronous operation that returns immediately.
1339// After a successful initial sync is completed, the system continuously syncs
1340// data. To check the status of a sync, use the ListResourceDataSync.
1341//
1342// By default, data isn't encrypted in Amazon S3. We strongly recommend that
1343// you enable encryption in Amazon S3 to ensure secure data storage. We also
1344// recommend that you secure access to the Amazon S3 bucket by creating a restrictive
1345// bucket policy.
1346//
1347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1348// with awserr.Error's Code and Message methods to get detailed information about
1349// the error.
1350//
1351// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1352// API operation CreateResourceDataSync for usage and error information.
1353//
1354// Returned Error Types:
1355//   * InternalServerError
1356//   An error occurred on the server side.
1357//
1358//   * ResourceDataSyncCountExceededException
1359//   You have exceeded the allowed maximum sync configurations.
1360//
1361//   * ResourceDataSyncAlreadyExistsException
1362//   A sync configuration with the same name already exists.
1363//
1364//   * ResourceDataSyncInvalidConfigurationException
1365//   The specified sync configuration is invalid.
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync
1368func (c *SSM) CreateResourceDataSync(input *CreateResourceDataSyncInput) (*CreateResourceDataSyncOutput, error) {
1369	req, out := c.CreateResourceDataSyncRequest(input)
1370	return out, req.Send()
1371}
1372
1373// CreateResourceDataSyncWithContext is the same as CreateResourceDataSync with the addition of
1374// the ability to pass a context and additional request options.
1375//
1376// See CreateResourceDataSync for details on how to use this API operation.
1377//
1378// The context must be non-nil and will be used for request cancellation. If
1379// the context is nil a panic will occur. In the future the SDK may create
1380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1381// for more information on using Contexts.
1382func (c *SSM) CreateResourceDataSyncWithContext(ctx aws.Context, input *CreateResourceDataSyncInput, opts ...request.Option) (*CreateResourceDataSyncOutput, error) {
1383	req, out := c.CreateResourceDataSyncRequest(input)
1384	req.SetContext(ctx)
1385	req.ApplyOptions(opts...)
1386	return out, req.Send()
1387}
1388
1389const opDeleteActivation = "DeleteActivation"
1390
1391// DeleteActivationRequest generates a "aws/request.Request" representing the
1392// client's request for the DeleteActivation operation. The "output" return
1393// value will be populated with the request's response once the request completes
1394// successfully.
1395//
1396// Use "Send" method on the returned Request to send the API call to the service.
1397// the "output" return value is not valid until after Send returns without error.
1398//
1399// See DeleteActivation for more information on using the DeleteActivation
1400// API call, and error handling.
1401//
1402// This method is useful when you want to inject custom logic or configuration
1403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1404//
1405//
1406//    // Example sending a request using the DeleteActivationRequest method.
1407//    req, resp := client.DeleteActivationRequest(params)
1408//
1409//    err := req.Send()
1410//    if err == nil { // resp is now filled
1411//        fmt.Println(resp)
1412//    }
1413//
1414// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1415func (c *SSM) DeleteActivationRequest(input *DeleteActivationInput) (req *request.Request, output *DeleteActivationOutput) {
1416	op := &request.Operation{
1417		Name:       opDeleteActivation,
1418		HTTPMethod: "POST",
1419		HTTPPath:   "/",
1420	}
1421
1422	if input == nil {
1423		input = &DeleteActivationInput{}
1424	}
1425
1426	output = &DeleteActivationOutput{}
1427	req = c.newRequest(op, input, output)
1428	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1429	return
1430}
1431
1432// DeleteActivation API operation for Amazon Simple Systems Manager (SSM).
1433//
1434// Deletes an activation. You aren't required to delete an activation. If you
1435// delete an activation, you can no longer use it to register additional managed
1436// instances. Deleting an activation doesn't de-register managed instances.
1437// You must manually de-register managed instances.
1438//
1439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1440// with awserr.Error's Code and Message methods to get detailed information about
1441// the error.
1442//
1443// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1444// API operation DeleteActivation for usage and error information.
1445//
1446// Returned Error Types:
1447//   * InvalidActivationId
1448//   The activation ID isn't valid. Verify the you entered the correct ActivationId
1449//   or ActivationCode and try again.
1450//
1451//   * InvalidActivation
1452//   The activation isn't valid. The activation might have been deleted, or the
1453//   ActivationId and the ActivationCode don't match.
1454//
1455//   * InternalServerError
1456//   An error occurred on the server side.
1457//
1458//   * TooManyUpdates
1459//   There are concurrent updates for a resource that supports one update at a
1460//   time.
1461//
1462// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation
1463func (c *SSM) DeleteActivation(input *DeleteActivationInput) (*DeleteActivationOutput, error) {
1464	req, out := c.DeleteActivationRequest(input)
1465	return out, req.Send()
1466}
1467
1468// DeleteActivationWithContext is the same as DeleteActivation with the addition of
1469// the ability to pass a context and additional request options.
1470//
1471// See DeleteActivation for details on how to use this API operation.
1472//
1473// The context must be non-nil and will be used for request cancellation. If
1474// the context is nil a panic will occur. In the future the SDK may create
1475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1476// for more information on using Contexts.
1477func (c *SSM) DeleteActivationWithContext(ctx aws.Context, input *DeleteActivationInput, opts ...request.Option) (*DeleteActivationOutput, error) {
1478	req, out := c.DeleteActivationRequest(input)
1479	req.SetContext(ctx)
1480	req.ApplyOptions(opts...)
1481	return out, req.Send()
1482}
1483
1484const opDeleteAssociation = "DeleteAssociation"
1485
1486// DeleteAssociationRequest generates a "aws/request.Request" representing the
1487// client's request for the DeleteAssociation operation. The "output" return
1488// value will be populated with the request's response once the request completes
1489// successfully.
1490//
1491// Use "Send" method on the returned Request to send the API call to the service.
1492// the "output" return value is not valid until after Send returns without error.
1493//
1494// See DeleteAssociation for more information on using the DeleteAssociation
1495// API call, and error handling.
1496//
1497// This method is useful when you want to inject custom logic or configuration
1498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1499//
1500//
1501//    // Example sending a request using the DeleteAssociationRequest method.
1502//    req, resp := client.DeleteAssociationRequest(params)
1503//
1504//    err := req.Send()
1505//    if err == nil { // resp is now filled
1506//        fmt.Println(resp)
1507//    }
1508//
1509// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1510func (c *SSM) DeleteAssociationRequest(input *DeleteAssociationInput) (req *request.Request, output *DeleteAssociationOutput) {
1511	op := &request.Operation{
1512		Name:       opDeleteAssociation,
1513		HTTPMethod: "POST",
1514		HTTPPath:   "/",
1515	}
1516
1517	if input == nil {
1518		input = &DeleteAssociationInput{}
1519	}
1520
1521	output = &DeleteAssociationOutput{}
1522	req = c.newRequest(op, input, output)
1523	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1524	return
1525}
1526
1527// DeleteAssociation API operation for Amazon Simple Systems Manager (SSM).
1528//
1529// Disassociates the specified Amazon Web Services Systems Manager document
1530// (SSM document) from the specified instance. If you created the association
1531// by using the Targets parameter, then you must delete the association by using
1532// the association ID.
1533//
1534// When you disassociate a document from an instance, it doesn't change the
1535// configuration of the instance. To change the configuration state of an instance
1536// after you disassociate a document, you must create a new document with the
1537// desired configuration and associate it with the instance.
1538//
1539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1540// with awserr.Error's Code and Message methods to get detailed information about
1541// the error.
1542//
1543// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1544// API operation DeleteAssociation for usage and error information.
1545//
1546// Returned Error Types:
1547//   * AssociationDoesNotExist
1548//   The specified association doesn't exist.
1549//
1550//   * InternalServerError
1551//   An error occurred on the server side.
1552//
1553//   * InvalidDocument
1554//   The specified SSM document doesn't exist.
1555//
1556//   * InvalidInstanceId
1557//   The following problems can cause this exception:
1558//
1559//      * You don't have permission to access the instance.
1560//
1561//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
1562//      Verify that SSM Agent is running.
1563//
1564//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
1565//      Agent.
1566//
1567//      * The instance isn't in valid state. Valid states are: Running, Pending,
1568//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
1569//
1570//   * TooManyUpdates
1571//   There are concurrent updates for a resource that supports one update at a
1572//   time.
1573//
1574// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation
1575func (c *SSM) DeleteAssociation(input *DeleteAssociationInput) (*DeleteAssociationOutput, error) {
1576	req, out := c.DeleteAssociationRequest(input)
1577	return out, req.Send()
1578}
1579
1580// DeleteAssociationWithContext is the same as DeleteAssociation with the addition of
1581// the ability to pass a context and additional request options.
1582//
1583// See DeleteAssociation for details on how to use this API operation.
1584//
1585// The context must be non-nil and will be used for request cancellation. If
1586// the context is nil a panic will occur. In the future the SDK may create
1587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1588// for more information on using Contexts.
1589func (c *SSM) DeleteAssociationWithContext(ctx aws.Context, input *DeleteAssociationInput, opts ...request.Option) (*DeleteAssociationOutput, error) {
1590	req, out := c.DeleteAssociationRequest(input)
1591	req.SetContext(ctx)
1592	req.ApplyOptions(opts...)
1593	return out, req.Send()
1594}
1595
1596const opDeleteDocument = "DeleteDocument"
1597
1598// DeleteDocumentRequest generates a "aws/request.Request" representing the
1599// client's request for the DeleteDocument operation. The "output" return
1600// value will be populated with the request's response once the request completes
1601// successfully.
1602//
1603// Use "Send" method on the returned Request to send the API call to the service.
1604// the "output" return value is not valid until after Send returns without error.
1605//
1606// See DeleteDocument for more information on using the DeleteDocument
1607// API call, and error handling.
1608//
1609// This method is useful when you want to inject custom logic or configuration
1610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1611//
1612//
1613//    // Example sending a request using the DeleteDocumentRequest method.
1614//    req, resp := client.DeleteDocumentRequest(params)
1615//
1616//    err := req.Send()
1617//    if err == nil { // resp is now filled
1618//        fmt.Println(resp)
1619//    }
1620//
1621// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1622func (c *SSM) DeleteDocumentRequest(input *DeleteDocumentInput) (req *request.Request, output *DeleteDocumentOutput) {
1623	op := &request.Operation{
1624		Name:       opDeleteDocument,
1625		HTTPMethod: "POST",
1626		HTTPPath:   "/",
1627	}
1628
1629	if input == nil {
1630		input = &DeleteDocumentInput{}
1631	}
1632
1633	output = &DeleteDocumentOutput{}
1634	req = c.newRequest(op, input, output)
1635	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1636	return
1637}
1638
1639// DeleteDocument API operation for Amazon Simple Systems Manager (SSM).
1640//
1641// Deletes the Amazon Web Services Systems Manager document (SSM document) and
1642// all instance associations to the document.
1643//
1644// Before you delete the document, we recommend that you use DeleteAssociation
1645// to disassociate all instances that are associated with the document.
1646//
1647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1648// with awserr.Error's Code and Message methods to get detailed information about
1649// the error.
1650//
1651// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1652// API operation DeleteDocument for usage and error information.
1653//
1654// Returned Error Types:
1655//   * InternalServerError
1656//   An error occurred on the server side.
1657//
1658//   * InvalidDocument
1659//   The specified SSM document doesn't exist.
1660//
1661//   * InvalidDocumentOperation
1662//   You attempted to delete a document while it is still shared. You must stop
1663//   sharing the document before you can delete it.
1664//
1665//   * AssociatedInstances
1666//   You must disassociate a document from all instances before you can delete
1667//   it.
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument
1670func (c *SSM) DeleteDocument(input *DeleteDocumentInput) (*DeleteDocumentOutput, error) {
1671	req, out := c.DeleteDocumentRequest(input)
1672	return out, req.Send()
1673}
1674
1675// DeleteDocumentWithContext is the same as DeleteDocument with the addition of
1676// the ability to pass a context and additional request options.
1677//
1678// See DeleteDocument for details on how to use this API operation.
1679//
1680// The context must be non-nil and will be used for request cancellation. If
1681// the context is nil a panic will occur. In the future the SDK may create
1682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1683// for more information on using Contexts.
1684func (c *SSM) DeleteDocumentWithContext(ctx aws.Context, input *DeleteDocumentInput, opts ...request.Option) (*DeleteDocumentOutput, error) {
1685	req, out := c.DeleteDocumentRequest(input)
1686	req.SetContext(ctx)
1687	req.ApplyOptions(opts...)
1688	return out, req.Send()
1689}
1690
1691const opDeleteInventory = "DeleteInventory"
1692
1693// DeleteInventoryRequest generates a "aws/request.Request" representing the
1694// client's request for the DeleteInventory operation. The "output" return
1695// value will be populated with the request's response once the request completes
1696// successfully.
1697//
1698// Use "Send" method on the returned Request to send the API call to the service.
1699// the "output" return value is not valid until after Send returns without error.
1700//
1701// See DeleteInventory for more information on using the DeleteInventory
1702// API call, and error handling.
1703//
1704// This method is useful when you want to inject custom logic or configuration
1705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1706//
1707//
1708//    // Example sending a request using the DeleteInventoryRequest method.
1709//    req, resp := client.DeleteInventoryRequest(params)
1710//
1711//    err := req.Send()
1712//    if err == nil { // resp is now filled
1713//        fmt.Println(resp)
1714//    }
1715//
1716// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1717func (c *SSM) DeleteInventoryRequest(input *DeleteInventoryInput) (req *request.Request, output *DeleteInventoryOutput) {
1718	op := &request.Operation{
1719		Name:       opDeleteInventory,
1720		HTTPMethod: "POST",
1721		HTTPPath:   "/",
1722	}
1723
1724	if input == nil {
1725		input = &DeleteInventoryInput{}
1726	}
1727
1728	output = &DeleteInventoryOutput{}
1729	req = c.newRequest(op, input, output)
1730	return
1731}
1732
1733// DeleteInventory API operation for Amazon Simple Systems Manager (SSM).
1734//
1735// Delete a custom inventory type or the data associated with a custom Inventory
1736// type. Deleting a custom inventory type is also referred to as deleting a
1737// custom inventory schema.
1738//
1739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1740// with awserr.Error's Code and Message methods to get detailed information about
1741// the error.
1742//
1743// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1744// API operation DeleteInventory for usage and error information.
1745//
1746// Returned Error Types:
1747//   * InternalServerError
1748//   An error occurred on the server side.
1749//
1750//   * InvalidTypeNameException
1751//   The parameter type name isn't valid.
1752//
1753//   * InvalidOptionException
1754//   The delete inventory option specified isn't valid. Verify the option and
1755//   try again.
1756//
1757//   * InvalidDeleteInventoryParametersException
1758//   One or more of the parameters specified for the delete operation isn't valid.
1759//   Verify all parameters and try again.
1760//
1761//   * InvalidInventoryRequestException
1762//   The request isn't valid.
1763//
1764// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory
1765func (c *SSM) DeleteInventory(input *DeleteInventoryInput) (*DeleteInventoryOutput, error) {
1766	req, out := c.DeleteInventoryRequest(input)
1767	return out, req.Send()
1768}
1769
1770// DeleteInventoryWithContext is the same as DeleteInventory with the addition of
1771// the ability to pass a context and additional request options.
1772//
1773// See DeleteInventory for details on how to use this API operation.
1774//
1775// The context must be non-nil and will be used for request cancellation. If
1776// the context is nil a panic will occur. In the future the SDK may create
1777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1778// for more information on using Contexts.
1779func (c *SSM) DeleteInventoryWithContext(ctx aws.Context, input *DeleteInventoryInput, opts ...request.Option) (*DeleteInventoryOutput, error) {
1780	req, out := c.DeleteInventoryRequest(input)
1781	req.SetContext(ctx)
1782	req.ApplyOptions(opts...)
1783	return out, req.Send()
1784}
1785
1786const opDeleteMaintenanceWindow = "DeleteMaintenanceWindow"
1787
1788// DeleteMaintenanceWindowRequest generates a "aws/request.Request" representing the
1789// client's request for the DeleteMaintenanceWindow operation. The "output" return
1790// value will be populated with the request's response once the request completes
1791// successfully.
1792//
1793// Use "Send" method on the returned Request to send the API call to the service.
1794// the "output" return value is not valid until after Send returns without error.
1795//
1796// See DeleteMaintenanceWindow for more information on using the DeleteMaintenanceWindow
1797// API call, and error handling.
1798//
1799// This method is useful when you want to inject custom logic or configuration
1800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1801//
1802//
1803//    // Example sending a request using the DeleteMaintenanceWindowRequest method.
1804//    req, resp := client.DeleteMaintenanceWindowRequest(params)
1805//
1806//    err := req.Send()
1807//    if err == nil { // resp is now filled
1808//        fmt.Println(resp)
1809//    }
1810//
1811// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1812func (c *SSM) DeleteMaintenanceWindowRequest(input *DeleteMaintenanceWindowInput) (req *request.Request, output *DeleteMaintenanceWindowOutput) {
1813	op := &request.Operation{
1814		Name:       opDeleteMaintenanceWindow,
1815		HTTPMethod: "POST",
1816		HTTPPath:   "/",
1817	}
1818
1819	if input == nil {
1820		input = &DeleteMaintenanceWindowInput{}
1821	}
1822
1823	output = &DeleteMaintenanceWindowOutput{}
1824	req = c.newRequest(op, input, output)
1825	return
1826}
1827
1828// DeleteMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
1829//
1830// Deletes a maintenance window.
1831//
1832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1833// with awserr.Error's Code and Message methods to get detailed information about
1834// the error.
1835//
1836// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1837// API operation DeleteMaintenanceWindow for usage and error information.
1838//
1839// Returned Error Types:
1840//   * InternalServerError
1841//   An error occurred on the server side.
1842//
1843// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow
1844func (c *SSM) DeleteMaintenanceWindow(input *DeleteMaintenanceWindowInput) (*DeleteMaintenanceWindowOutput, error) {
1845	req, out := c.DeleteMaintenanceWindowRequest(input)
1846	return out, req.Send()
1847}
1848
1849// DeleteMaintenanceWindowWithContext is the same as DeleteMaintenanceWindow with the addition of
1850// the ability to pass a context and additional request options.
1851//
1852// See DeleteMaintenanceWindow for details on how to use this API operation.
1853//
1854// The context must be non-nil and will be used for request cancellation. If
1855// the context is nil a panic will occur. In the future the SDK may create
1856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1857// for more information on using Contexts.
1858func (c *SSM) DeleteMaintenanceWindowWithContext(ctx aws.Context, input *DeleteMaintenanceWindowInput, opts ...request.Option) (*DeleteMaintenanceWindowOutput, error) {
1859	req, out := c.DeleteMaintenanceWindowRequest(input)
1860	req.SetContext(ctx)
1861	req.ApplyOptions(opts...)
1862	return out, req.Send()
1863}
1864
1865const opDeleteOpsMetadata = "DeleteOpsMetadata"
1866
1867// DeleteOpsMetadataRequest generates a "aws/request.Request" representing the
1868// client's request for the DeleteOpsMetadata operation. The "output" return
1869// value will be populated with the request's response once the request completes
1870// successfully.
1871//
1872// Use "Send" method on the returned Request to send the API call to the service.
1873// the "output" return value is not valid until after Send returns without error.
1874//
1875// See DeleteOpsMetadata for more information on using the DeleteOpsMetadata
1876// API call, and error handling.
1877//
1878// This method is useful when you want to inject custom logic or configuration
1879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1880//
1881//
1882//    // Example sending a request using the DeleteOpsMetadataRequest method.
1883//    req, resp := client.DeleteOpsMetadataRequest(params)
1884//
1885//    err := req.Send()
1886//    if err == nil { // resp is now filled
1887//        fmt.Println(resp)
1888//    }
1889//
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteOpsMetadata
1891func (c *SSM) DeleteOpsMetadataRequest(input *DeleteOpsMetadataInput) (req *request.Request, output *DeleteOpsMetadataOutput) {
1892	op := &request.Operation{
1893		Name:       opDeleteOpsMetadata,
1894		HTTPMethod: "POST",
1895		HTTPPath:   "/",
1896	}
1897
1898	if input == nil {
1899		input = &DeleteOpsMetadataInput{}
1900	}
1901
1902	output = &DeleteOpsMetadataOutput{}
1903	req = c.newRequest(op, input, output)
1904	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1905	return
1906}
1907
1908// DeleteOpsMetadata API operation for Amazon Simple Systems Manager (SSM).
1909//
1910// Delete OpsMetadata related to an application.
1911//
1912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1913// with awserr.Error's Code and Message methods to get detailed information about
1914// the error.
1915//
1916// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
1917// API operation DeleteOpsMetadata for usage and error information.
1918//
1919// Returned Error Types:
1920//   * OpsMetadataNotFoundException
1921//   The OpsMetadata object doesn't exist.
1922//
1923//   * OpsMetadataInvalidArgumentException
1924//   One of the arguments passed is invalid.
1925//
1926//   * InternalServerError
1927//   An error occurred on the server side.
1928//
1929// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteOpsMetadata
1930func (c *SSM) DeleteOpsMetadata(input *DeleteOpsMetadataInput) (*DeleteOpsMetadataOutput, error) {
1931	req, out := c.DeleteOpsMetadataRequest(input)
1932	return out, req.Send()
1933}
1934
1935// DeleteOpsMetadataWithContext is the same as DeleteOpsMetadata with the addition of
1936// the ability to pass a context and additional request options.
1937//
1938// See DeleteOpsMetadata for details on how to use this API operation.
1939//
1940// The context must be non-nil and will be used for request cancellation. If
1941// the context is nil a panic will occur. In the future the SDK may create
1942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1943// for more information on using Contexts.
1944func (c *SSM) DeleteOpsMetadataWithContext(ctx aws.Context, input *DeleteOpsMetadataInput, opts ...request.Option) (*DeleteOpsMetadataOutput, error) {
1945	req, out := c.DeleteOpsMetadataRequest(input)
1946	req.SetContext(ctx)
1947	req.ApplyOptions(opts...)
1948	return out, req.Send()
1949}
1950
1951const opDeleteParameter = "DeleteParameter"
1952
1953// DeleteParameterRequest generates a "aws/request.Request" representing the
1954// client's request for the DeleteParameter operation. The "output" return
1955// value will be populated with the request's response once the request completes
1956// successfully.
1957//
1958// Use "Send" method on the returned Request to send the API call to the service.
1959// the "output" return value is not valid until after Send returns without error.
1960//
1961// See DeleteParameter for more information on using the DeleteParameter
1962// API call, and error handling.
1963//
1964// This method is useful when you want to inject custom logic or configuration
1965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1966//
1967//
1968//    // Example sending a request using the DeleteParameterRequest method.
1969//    req, resp := client.DeleteParameterRequest(params)
1970//
1971//    err := req.Send()
1972//    if err == nil { // resp is now filled
1973//        fmt.Println(resp)
1974//    }
1975//
1976// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
1977func (c *SSM) DeleteParameterRequest(input *DeleteParameterInput) (req *request.Request, output *DeleteParameterOutput) {
1978	op := &request.Operation{
1979		Name:       opDeleteParameter,
1980		HTTPMethod: "POST",
1981		HTTPPath:   "/",
1982	}
1983
1984	if input == nil {
1985		input = &DeleteParameterInput{}
1986	}
1987
1988	output = &DeleteParameterOutput{}
1989	req = c.newRequest(op, input, output)
1990	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1991	return
1992}
1993
1994// DeleteParameter API operation for Amazon Simple Systems Manager (SSM).
1995//
1996// Delete a parameter from the system. After deleting a parameter, wait for
1997// at least 30 seconds to create a parameter with the same name.
1998//
1999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2000// with awserr.Error's Code and Message methods to get detailed information about
2001// the error.
2002//
2003// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2004// API operation DeleteParameter for usage and error information.
2005//
2006// Returned Error Types:
2007//   * InternalServerError
2008//   An error occurred on the server side.
2009//
2010//   * ParameterNotFound
2011//   The parameter couldn't be found. Verify the name and try again.
2012//
2013// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter
2014func (c *SSM) DeleteParameter(input *DeleteParameterInput) (*DeleteParameterOutput, error) {
2015	req, out := c.DeleteParameterRequest(input)
2016	return out, req.Send()
2017}
2018
2019// DeleteParameterWithContext is the same as DeleteParameter with the addition of
2020// the ability to pass a context and additional request options.
2021//
2022// See DeleteParameter for details on how to use this API operation.
2023//
2024// The context must be non-nil and will be used for request cancellation. If
2025// the context is nil a panic will occur. In the future the SDK may create
2026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2027// for more information on using Contexts.
2028func (c *SSM) DeleteParameterWithContext(ctx aws.Context, input *DeleteParameterInput, opts ...request.Option) (*DeleteParameterOutput, error) {
2029	req, out := c.DeleteParameterRequest(input)
2030	req.SetContext(ctx)
2031	req.ApplyOptions(opts...)
2032	return out, req.Send()
2033}
2034
2035const opDeleteParameters = "DeleteParameters"
2036
2037// DeleteParametersRequest generates a "aws/request.Request" representing the
2038// client's request for the DeleteParameters operation. The "output" return
2039// value will be populated with the request's response once the request completes
2040// successfully.
2041//
2042// Use "Send" method on the returned Request to send the API call to the service.
2043// the "output" return value is not valid until after Send returns without error.
2044//
2045// See DeleteParameters for more information on using the DeleteParameters
2046// API call, and error handling.
2047//
2048// This method is useful when you want to inject custom logic or configuration
2049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2050//
2051//
2052//    // Example sending a request using the DeleteParametersRequest method.
2053//    req, resp := client.DeleteParametersRequest(params)
2054//
2055//    err := req.Send()
2056//    if err == nil { // resp is now filled
2057//        fmt.Println(resp)
2058//    }
2059//
2060// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
2061func (c *SSM) DeleteParametersRequest(input *DeleteParametersInput) (req *request.Request, output *DeleteParametersOutput) {
2062	op := &request.Operation{
2063		Name:       opDeleteParameters,
2064		HTTPMethod: "POST",
2065		HTTPPath:   "/",
2066	}
2067
2068	if input == nil {
2069		input = &DeleteParametersInput{}
2070	}
2071
2072	output = &DeleteParametersOutput{}
2073	req = c.newRequest(op, input, output)
2074	return
2075}
2076
2077// DeleteParameters API operation for Amazon Simple Systems Manager (SSM).
2078//
2079// Delete a list of parameters. After deleting a parameter, wait for at least
2080// 30 seconds to create a parameter with the same name.
2081//
2082// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2083// with awserr.Error's Code and Message methods to get detailed information about
2084// the error.
2085//
2086// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2087// API operation DeleteParameters for usage and error information.
2088//
2089// Returned Error Types:
2090//   * InternalServerError
2091//   An error occurred on the server side.
2092//
2093// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters
2094func (c *SSM) DeleteParameters(input *DeleteParametersInput) (*DeleteParametersOutput, error) {
2095	req, out := c.DeleteParametersRequest(input)
2096	return out, req.Send()
2097}
2098
2099// DeleteParametersWithContext is the same as DeleteParameters with the addition of
2100// the ability to pass a context and additional request options.
2101//
2102// See DeleteParameters for details on how to use this API operation.
2103//
2104// The context must be non-nil and will be used for request cancellation. If
2105// the context is nil a panic will occur. In the future the SDK may create
2106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2107// for more information on using Contexts.
2108func (c *SSM) DeleteParametersWithContext(ctx aws.Context, input *DeleteParametersInput, opts ...request.Option) (*DeleteParametersOutput, error) {
2109	req, out := c.DeleteParametersRequest(input)
2110	req.SetContext(ctx)
2111	req.ApplyOptions(opts...)
2112	return out, req.Send()
2113}
2114
2115const opDeletePatchBaseline = "DeletePatchBaseline"
2116
2117// DeletePatchBaselineRequest generates a "aws/request.Request" representing the
2118// client's request for the DeletePatchBaseline operation. The "output" return
2119// value will be populated with the request's response once the request completes
2120// successfully.
2121//
2122// Use "Send" method on the returned Request to send the API call to the service.
2123// the "output" return value is not valid until after Send returns without error.
2124//
2125// See DeletePatchBaseline for more information on using the DeletePatchBaseline
2126// API call, and error handling.
2127//
2128// This method is useful when you want to inject custom logic or configuration
2129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2130//
2131//
2132//    // Example sending a request using the DeletePatchBaselineRequest method.
2133//    req, resp := client.DeletePatchBaselineRequest(params)
2134//
2135//    err := req.Send()
2136//    if err == nil { // resp is now filled
2137//        fmt.Println(resp)
2138//    }
2139//
2140// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
2141func (c *SSM) DeletePatchBaselineRequest(input *DeletePatchBaselineInput) (req *request.Request, output *DeletePatchBaselineOutput) {
2142	op := &request.Operation{
2143		Name:       opDeletePatchBaseline,
2144		HTTPMethod: "POST",
2145		HTTPPath:   "/",
2146	}
2147
2148	if input == nil {
2149		input = &DeletePatchBaselineInput{}
2150	}
2151
2152	output = &DeletePatchBaselineOutput{}
2153	req = c.newRequest(op, input, output)
2154	return
2155}
2156
2157// DeletePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
2158//
2159// Deletes a patch baseline.
2160//
2161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2162// with awserr.Error's Code and Message methods to get detailed information about
2163// the error.
2164//
2165// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2166// API operation DeletePatchBaseline for usage and error information.
2167//
2168// Returned Error Types:
2169//   * ResourceInUseException
2170//   Error returned if an attempt is made to delete a patch baseline that is registered
2171//   for a patch group.
2172//
2173//   * InternalServerError
2174//   An error occurred on the server side.
2175//
2176// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline
2177func (c *SSM) DeletePatchBaseline(input *DeletePatchBaselineInput) (*DeletePatchBaselineOutput, error) {
2178	req, out := c.DeletePatchBaselineRequest(input)
2179	return out, req.Send()
2180}
2181
2182// DeletePatchBaselineWithContext is the same as DeletePatchBaseline with the addition of
2183// the ability to pass a context and additional request options.
2184//
2185// See DeletePatchBaseline for details on how to use this API operation.
2186//
2187// The context must be non-nil and will be used for request cancellation. If
2188// the context is nil a panic will occur. In the future the SDK may create
2189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2190// for more information on using Contexts.
2191func (c *SSM) DeletePatchBaselineWithContext(ctx aws.Context, input *DeletePatchBaselineInput, opts ...request.Option) (*DeletePatchBaselineOutput, error) {
2192	req, out := c.DeletePatchBaselineRequest(input)
2193	req.SetContext(ctx)
2194	req.ApplyOptions(opts...)
2195	return out, req.Send()
2196}
2197
2198const opDeleteResourceDataSync = "DeleteResourceDataSync"
2199
2200// DeleteResourceDataSyncRequest generates a "aws/request.Request" representing the
2201// client's request for the DeleteResourceDataSync operation. The "output" return
2202// value will be populated with the request's response once the request completes
2203// successfully.
2204//
2205// Use "Send" method on the returned Request to send the API call to the service.
2206// the "output" return value is not valid until after Send returns without error.
2207//
2208// See DeleteResourceDataSync for more information on using the DeleteResourceDataSync
2209// API call, and error handling.
2210//
2211// This method is useful when you want to inject custom logic or configuration
2212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2213//
2214//
2215//    // Example sending a request using the DeleteResourceDataSyncRequest method.
2216//    req, resp := client.DeleteResourceDataSyncRequest(params)
2217//
2218//    err := req.Send()
2219//    if err == nil { // resp is now filled
2220//        fmt.Println(resp)
2221//    }
2222//
2223// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
2224func (c *SSM) DeleteResourceDataSyncRequest(input *DeleteResourceDataSyncInput) (req *request.Request, output *DeleteResourceDataSyncOutput) {
2225	op := &request.Operation{
2226		Name:       opDeleteResourceDataSync,
2227		HTTPMethod: "POST",
2228		HTTPPath:   "/",
2229	}
2230
2231	if input == nil {
2232		input = &DeleteResourceDataSyncInput{}
2233	}
2234
2235	output = &DeleteResourceDataSyncOutput{}
2236	req = c.newRequest(op, input, output)
2237	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2238	return
2239}
2240
2241// DeleteResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
2242//
2243// Deletes a resource data sync configuration. After the configuration is deleted,
2244// changes to data on managed instances are no longer synced to or from the
2245// target. Deleting a sync configuration doesn't delete data.
2246//
2247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2248// with awserr.Error's Code and Message methods to get detailed information about
2249// the error.
2250//
2251// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2252// API operation DeleteResourceDataSync for usage and error information.
2253//
2254// Returned Error Types:
2255//   * InternalServerError
2256//   An error occurred on the server side.
2257//
2258//   * ResourceDataSyncNotFoundException
2259//   The specified sync name wasn't found.
2260//
2261//   * ResourceDataSyncInvalidConfigurationException
2262//   The specified sync configuration is invalid.
2263//
2264// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync
2265func (c *SSM) DeleteResourceDataSync(input *DeleteResourceDataSyncInput) (*DeleteResourceDataSyncOutput, error) {
2266	req, out := c.DeleteResourceDataSyncRequest(input)
2267	return out, req.Send()
2268}
2269
2270// DeleteResourceDataSyncWithContext is the same as DeleteResourceDataSync with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See DeleteResourceDataSync for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *SSM) DeleteResourceDataSyncWithContext(ctx aws.Context, input *DeleteResourceDataSyncInput, opts ...request.Option) (*DeleteResourceDataSyncOutput, error) {
2280	req, out := c.DeleteResourceDataSyncRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opDeregisterManagedInstance = "DeregisterManagedInstance"
2287
2288// DeregisterManagedInstanceRequest generates a "aws/request.Request" representing the
2289// client's request for the DeregisterManagedInstance operation. The "output" return
2290// value will be populated with the request's response once the request completes
2291// successfully.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See DeregisterManagedInstance for more information on using the DeregisterManagedInstance
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the DeregisterManagedInstanceRequest method.
2304//    req, resp := client.DeregisterManagedInstanceRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
2312func (c *SSM) DeregisterManagedInstanceRequest(input *DeregisterManagedInstanceInput) (req *request.Request, output *DeregisterManagedInstanceOutput) {
2313	op := &request.Operation{
2314		Name:       opDeregisterManagedInstance,
2315		HTTPMethod: "POST",
2316		HTTPPath:   "/",
2317	}
2318
2319	if input == nil {
2320		input = &DeregisterManagedInstanceInput{}
2321	}
2322
2323	output = &DeregisterManagedInstanceOutput{}
2324	req = c.newRequest(op, input, output)
2325	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2326	return
2327}
2328
2329// DeregisterManagedInstance API operation for Amazon Simple Systems Manager (SSM).
2330//
2331// Removes the server or virtual machine from the list of registered servers.
2332// You can reregister the instance again at any time. If you don't plan to use
2333// Run Command on the server, we suggest uninstalling SSM Agent first.
2334//
2335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2336// with awserr.Error's Code and Message methods to get detailed information about
2337// the error.
2338//
2339// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2340// API operation DeregisterManagedInstance for usage and error information.
2341//
2342// Returned Error Types:
2343//   * InvalidInstanceId
2344//   The following problems can cause this exception:
2345//
2346//      * You don't have permission to access the instance.
2347//
2348//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
2349//      Verify that SSM Agent is running.
2350//
2351//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
2352//      Agent.
2353//
2354//      * The instance isn't in valid state. Valid states are: Running, Pending,
2355//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
2356//
2357//   * InternalServerError
2358//   An error occurred on the server side.
2359//
2360// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance
2361func (c *SSM) DeregisterManagedInstance(input *DeregisterManagedInstanceInput) (*DeregisterManagedInstanceOutput, error) {
2362	req, out := c.DeregisterManagedInstanceRequest(input)
2363	return out, req.Send()
2364}
2365
2366// DeregisterManagedInstanceWithContext is the same as DeregisterManagedInstance with the addition of
2367// the ability to pass a context and additional request options.
2368//
2369// See DeregisterManagedInstance for details on how to use this API operation.
2370//
2371// The context must be non-nil and will be used for request cancellation. If
2372// the context is nil a panic will occur. In the future the SDK may create
2373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2374// for more information on using Contexts.
2375func (c *SSM) DeregisterManagedInstanceWithContext(ctx aws.Context, input *DeregisterManagedInstanceInput, opts ...request.Option) (*DeregisterManagedInstanceOutput, error) {
2376	req, out := c.DeregisterManagedInstanceRequest(input)
2377	req.SetContext(ctx)
2378	req.ApplyOptions(opts...)
2379	return out, req.Send()
2380}
2381
2382const opDeregisterPatchBaselineForPatchGroup = "DeregisterPatchBaselineForPatchGroup"
2383
2384// DeregisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
2385// client's request for the DeregisterPatchBaselineForPatchGroup operation. The "output" return
2386// value will be populated with the request's response once the request completes
2387// successfully.
2388//
2389// Use "Send" method on the returned Request to send the API call to the service.
2390// the "output" return value is not valid until after Send returns without error.
2391//
2392// See DeregisterPatchBaselineForPatchGroup for more information on using the DeregisterPatchBaselineForPatchGroup
2393// API call, and error handling.
2394//
2395// This method is useful when you want to inject custom logic or configuration
2396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2397//
2398//
2399//    // Example sending a request using the DeregisterPatchBaselineForPatchGroupRequest method.
2400//    req, resp := client.DeregisterPatchBaselineForPatchGroupRequest(params)
2401//
2402//    err := req.Send()
2403//    if err == nil { // resp is now filled
2404//        fmt.Println(resp)
2405//    }
2406//
2407// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2408func (c *SSM) DeregisterPatchBaselineForPatchGroupRequest(input *DeregisterPatchBaselineForPatchGroupInput) (req *request.Request, output *DeregisterPatchBaselineForPatchGroupOutput) {
2409	op := &request.Operation{
2410		Name:       opDeregisterPatchBaselineForPatchGroup,
2411		HTTPMethod: "POST",
2412		HTTPPath:   "/",
2413	}
2414
2415	if input == nil {
2416		input = &DeregisterPatchBaselineForPatchGroupInput{}
2417	}
2418
2419	output = &DeregisterPatchBaselineForPatchGroupOutput{}
2420	req = c.newRequest(op, input, output)
2421	return
2422}
2423
2424// DeregisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
2425//
2426// Removes a patch group from a patch baseline.
2427//
2428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2429// with awserr.Error's Code and Message methods to get detailed information about
2430// the error.
2431//
2432// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2433// API operation DeregisterPatchBaselineForPatchGroup for usage and error information.
2434//
2435// Returned Error Types:
2436//   * InvalidResourceId
2437//   The resource ID isn't valid. Verify that you entered the correct ID and try
2438//   again.
2439//
2440//   * InternalServerError
2441//   An error occurred on the server side.
2442//
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup
2444func (c *SSM) DeregisterPatchBaselineForPatchGroup(input *DeregisterPatchBaselineForPatchGroupInput) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2445	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2446	return out, req.Send()
2447}
2448
2449// DeregisterPatchBaselineForPatchGroupWithContext is the same as DeregisterPatchBaselineForPatchGroup with the addition of
2450// the ability to pass a context and additional request options.
2451//
2452// See DeregisterPatchBaselineForPatchGroup for details on how to use this API operation.
2453//
2454// The context must be non-nil and will be used for request cancellation. If
2455// the context is nil a panic will occur. In the future the SDK may create
2456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2457// for more information on using Contexts.
2458func (c *SSM) DeregisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *DeregisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*DeregisterPatchBaselineForPatchGroupOutput, error) {
2459	req, out := c.DeregisterPatchBaselineForPatchGroupRequest(input)
2460	req.SetContext(ctx)
2461	req.ApplyOptions(opts...)
2462	return out, req.Send()
2463}
2464
2465const opDeregisterTargetFromMaintenanceWindow = "DeregisterTargetFromMaintenanceWindow"
2466
2467// DeregisterTargetFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2468// client's request for the DeregisterTargetFromMaintenanceWindow operation. The "output" return
2469// value will be populated with the request's response once the request completes
2470// successfully.
2471//
2472// Use "Send" method on the returned Request to send the API call to the service.
2473// the "output" return value is not valid until after Send returns without error.
2474//
2475// See DeregisterTargetFromMaintenanceWindow for more information on using the DeregisterTargetFromMaintenanceWindow
2476// API call, and error handling.
2477//
2478// This method is useful when you want to inject custom logic or configuration
2479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2480//
2481//
2482//    // Example sending a request using the DeregisterTargetFromMaintenanceWindowRequest method.
2483//    req, resp := client.DeregisterTargetFromMaintenanceWindowRequest(params)
2484//
2485//    err := req.Send()
2486//    if err == nil { // resp is now filled
2487//        fmt.Println(resp)
2488//    }
2489//
2490// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2491func (c *SSM) DeregisterTargetFromMaintenanceWindowRequest(input *DeregisterTargetFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTargetFromMaintenanceWindowOutput) {
2492	op := &request.Operation{
2493		Name:       opDeregisterTargetFromMaintenanceWindow,
2494		HTTPMethod: "POST",
2495		HTTPPath:   "/",
2496	}
2497
2498	if input == nil {
2499		input = &DeregisterTargetFromMaintenanceWindowInput{}
2500	}
2501
2502	output = &DeregisterTargetFromMaintenanceWindowOutput{}
2503	req = c.newRequest(op, input, output)
2504	return
2505}
2506
2507// DeregisterTargetFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2508//
2509// Removes a target from a maintenance window.
2510//
2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2512// with awserr.Error's Code and Message methods to get detailed information about
2513// the error.
2514//
2515// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2516// API operation DeregisterTargetFromMaintenanceWindow for usage and error information.
2517//
2518// Returned Error Types:
2519//   * DoesNotExistException
2520//   Error returned when the ID specified for a resource, such as a maintenance
2521//   window or patch baseline, doesn't exist.
2522//
2523//   For information about resource quotas in Amazon Web Services Systems Manager,
2524//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
2525//   in the Amazon Web Services General Reference.
2526//
2527//   * InternalServerError
2528//   An error occurred on the server side.
2529//
2530//   * TargetInUseException
2531//   You specified the Safe option for the DeregisterTargetFromMaintenanceWindow
2532//   operation, but the target is still referenced in a task.
2533//
2534// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow
2535func (c *SSM) DeregisterTargetFromMaintenanceWindow(input *DeregisterTargetFromMaintenanceWindowInput) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2536	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2537	return out, req.Send()
2538}
2539
2540// DeregisterTargetFromMaintenanceWindowWithContext is the same as DeregisterTargetFromMaintenanceWindow with the addition of
2541// the ability to pass a context and additional request options.
2542//
2543// See DeregisterTargetFromMaintenanceWindow for details on how to use this API operation.
2544//
2545// The context must be non-nil and will be used for request cancellation. If
2546// the context is nil a panic will occur. In the future the SDK may create
2547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2548// for more information on using Contexts.
2549func (c *SSM) DeregisterTargetFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTargetFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTargetFromMaintenanceWindowOutput, error) {
2550	req, out := c.DeregisterTargetFromMaintenanceWindowRequest(input)
2551	req.SetContext(ctx)
2552	req.ApplyOptions(opts...)
2553	return out, req.Send()
2554}
2555
2556const opDeregisterTaskFromMaintenanceWindow = "DeregisterTaskFromMaintenanceWindow"
2557
2558// DeregisterTaskFromMaintenanceWindowRequest generates a "aws/request.Request" representing the
2559// client's request for the DeregisterTaskFromMaintenanceWindow operation. The "output" return
2560// value will be populated with the request's response once the request completes
2561// successfully.
2562//
2563// Use "Send" method on the returned Request to send the API call to the service.
2564// the "output" return value is not valid until after Send returns without error.
2565//
2566// See DeregisterTaskFromMaintenanceWindow for more information on using the DeregisterTaskFromMaintenanceWindow
2567// API call, and error handling.
2568//
2569// This method is useful when you want to inject custom logic or configuration
2570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2571//
2572//
2573//    // Example sending a request using the DeregisterTaskFromMaintenanceWindowRequest method.
2574//    req, resp := client.DeregisterTaskFromMaintenanceWindowRequest(params)
2575//
2576//    err := req.Send()
2577//    if err == nil { // resp is now filled
2578//        fmt.Println(resp)
2579//    }
2580//
2581// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2582func (c *SSM) DeregisterTaskFromMaintenanceWindowRequest(input *DeregisterTaskFromMaintenanceWindowInput) (req *request.Request, output *DeregisterTaskFromMaintenanceWindowOutput) {
2583	op := &request.Operation{
2584		Name:       opDeregisterTaskFromMaintenanceWindow,
2585		HTTPMethod: "POST",
2586		HTTPPath:   "/",
2587	}
2588
2589	if input == nil {
2590		input = &DeregisterTaskFromMaintenanceWindowInput{}
2591	}
2592
2593	output = &DeregisterTaskFromMaintenanceWindowOutput{}
2594	req = c.newRequest(op, input, output)
2595	return
2596}
2597
2598// DeregisterTaskFromMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
2599//
2600// Removes a task from a maintenance window.
2601//
2602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2603// with awserr.Error's Code and Message methods to get detailed information about
2604// the error.
2605//
2606// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2607// API operation DeregisterTaskFromMaintenanceWindow for usage and error information.
2608//
2609// Returned Error Types:
2610//   * DoesNotExistException
2611//   Error returned when the ID specified for a resource, such as a maintenance
2612//   window or patch baseline, doesn't exist.
2613//
2614//   For information about resource quotas in Amazon Web Services Systems Manager,
2615//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
2616//   in the Amazon Web Services General Reference.
2617//
2618//   * InternalServerError
2619//   An error occurred on the server side.
2620//
2621// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow
2622func (c *SSM) DeregisterTaskFromMaintenanceWindow(input *DeregisterTaskFromMaintenanceWindowInput) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2623	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2624	return out, req.Send()
2625}
2626
2627// DeregisterTaskFromMaintenanceWindowWithContext is the same as DeregisterTaskFromMaintenanceWindow with the addition of
2628// the ability to pass a context and additional request options.
2629//
2630// See DeregisterTaskFromMaintenanceWindow for details on how to use this API operation.
2631//
2632// The context must be non-nil and will be used for request cancellation. If
2633// the context is nil a panic will occur. In the future the SDK may create
2634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2635// for more information on using Contexts.
2636func (c *SSM) DeregisterTaskFromMaintenanceWindowWithContext(ctx aws.Context, input *DeregisterTaskFromMaintenanceWindowInput, opts ...request.Option) (*DeregisterTaskFromMaintenanceWindowOutput, error) {
2637	req, out := c.DeregisterTaskFromMaintenanceWindowRequest(input)
2638	req.SetContext(ctx)
2639	req.ApplyOptions(opts...)
2640	return out, req.Send()
2641}
2642
2643const opDescribeActivations = "DescribeActivations"
2644
2645// DescribeActivationsRequest generates a "aws/request.Request" representing the
2646// client's request for the DescribeActivations operation. The "output" return
2647// value will be populated with the request's response once the request completes
2648// successfully.
2649//
2650// Use "Send" method on the returned Request to send the API call to the service.
2651// the "output" return value is not valid until after Send returns without error.
2652//
2653// See DescribeActivations for more information on using the DescribeActivations
2654// API call, and error handling.
2655//
2656// This method is useful when you want to inject custom logic or configuration
2657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2658//
2659//
2660//    // Example sending a request using the DescribeActivationsRequest method.
2661//    req, resp := client.DescribeActivationsRequest(params)
2662//
2663//    err := req.Send()
2664//    if err == nil { // resp is now filled
2665//        fmt.Println(resp)
2666//    }
2667//
2668// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2669func (c *SSM) DescribeActivationsRequest(input *DescribeActivationsInput) (req *request.Request, output *DescribeActivationsOutput) {
2670	op := &request.Operation{
2671		Name:       opDescribeActivations,
2672		HTTPMethod: "POST",
2673		HTTPPath:   "/",
2674		Paginator: &request.Paginator{
2675			InputTokens:     []string{"NextToken"},
2676			OutputTokens:    []string{"NextToken"},
2677			LimitToken:      "MaxResults",
2678			TruncationToken: "",
2679		},
2680	}
2681
2682	if input == nil {
2683		input = &DescribeActivationsInput{}
2684	}
2685
2686	output = &DescribeActivationsOutput{}
2687	req = c.newRequest(op, input, output)
2688	return
2689}
2690
2691// DescribeActivations API operation for Amazon Simple Systems Manager (SSM).
2692//
2693// Describes details about the activation, such as the date and time the activation
2694// was created, its expiration date, the Identity and Access Management (IAM)
2695// role assigned to the instances in the activation, and the number of instances
2696// registered by using this activation.
2697//
2698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2699// with awserr.Error's Code and Message methods to get detailed information about
2700// the error.
2701//
2702// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2703// API operation DescribeActivations for usage and error information.
2704//
2705// Returned Error Types:
2706//   * InvalidFilter
2707//   The filter name isn't valid. Verify the you entered the correct name and
2708//   try again.
2709//
2710//   * InvalidNextToken
2711//   The specified token isn't valid.
2712//
2713//   * InternalServerError
2714//   An error occurred on the server side.
2715//
2716// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations
2717func (c *SSM) DescribeActivations(input *DescribeActivationsInput) (*DescribeActivationsOutput, error) {
2718	req, out := c.DescribeActivationsRequest(input)
2719	return out, req.Send()
2720}
2721
2722// DescribeActivationsWithContext is the same as DescribeActivations with the addition of
2723// the ability to pass a context and additional request options.
2724//
2725// See DescribeActivations for details on how to use this API operation.
2726//
2727// The context must be non-nil and will be used for request cancellation. If
2728// the context is nil a panic will occur. In the future the SDK may create
2729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2730// for more information on using Contexts.
2731func (c *SSM) DescribeActivationsWithContext(ctx aws.Context, input *DescribeActivationsInput, opts ...request.Option) (*DescribeActivationsOutput, error) {
2732	req, out := c.DescribeActivationsRequest(input)
2733	req.SetContext(ctx)
2734	req.ApplyOptions(opts...)
2735	return out, req.Send()
2736}
2737
2738// DescribeActivationsPages iterates over the pages of a DescribeActivations operation,
2739// calling the "fn" function with the response data for each page. To stop
2740// iterating, return false from the fn function.
2741//
2742// See DescribeActivations method for more information on how to use this operation.
2743//
2744// Note: This operation can generate multiple requests to a service.
2745//
2746//    // Example iterating over at most 3 pages of a DescribeActivations operation.
2747//    pageNum := 0
2748//    err := client.DescribeActivationsPages(params,
2749//        func(page *ssm.DescribeActivationsOutput, lastPage bool) bool {
2750//            pageNum++
2751//            fmt.Println(page)
2752//            return pageNum <= 3
2753//        })
2754//
2755func (c *SSM) DescribeActivationsPages(input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool) error {
2756	return c.DescribeActivationsPagesWithContext(aws.BackgroundContext(), input, fn)
2757}
2758
2759// DescribeActivationsPagesWithContext same as DescribeActivationsPages except
2760// it takes a Context and allows setting request options on the pages.
2761//
2762// The context must be non-nil and will be used for request cancellation. If
2763// the context is nil a panic will occur. In the future the SDK may create
2764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2765// for more information on using Contexts.
2766func (c *SSM) DescribeActivationsPagesWithContext(ctx aws.Context, input *DescribeActivationsInput, fn func(*DescribeActivationsOutput, bool) bool, opts ...request.Option) error {
2767	p := request.Pagination{
2768		NewRequest: func() (*request.Request, error) {
2769			var inCpy *DescribeActivationsInput
2770			if input != nil {
2771				tmp := *input
2772				inCpy = &tmp
2773			}
2774			req, _ := c.DescribeActivationsRequest(inCpy)
2775			req.SetContext(ctx)
2776			req.ApplyOptions(opts...)
2777			return req, nil
2778		},
2779	}
2780
2781	for p.Next() {
2782		if !fn(p.Page().(*DescribeActivationsOutput), !p.HasNextPage()) {
2783			break
2784		}
2785	}
2786
2787	return p.Err()
2788}
2789
2790const opDescribeAssociation = "DescribeAssociation"
2791
2792// DescribeAssociationRequest generates a "aws/request.Request" representing the
2793// client's request for the DescribeAssociation operation. The "output" return
2794// value will be populated with the request's response once the request completes
2795// successfully.
2796//
2797// Use "Send" method on the returned Request to send the API call to the service.
2798// the "output" return value is not valid until after Send returns without error.
2799//
2800// See DescribeAssociation for more information on using the DescribeAssociation
2801// API call, and error handling.
2802//
2803// This method is useful when you want to inject custom logic or configuration
2804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2805//
2806//
2807//    // Example sending a request using the DescribeAssociationRequest method.
2808//    req, resp := client.DescribeAssociationRequest(params)
2809//
2810//    err := req.Send()
2811//    if err == nil { // resp is now filled
2812//        fmt.Println(resp)
2813//    }
2814//
2815// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2816func (c *SSM) DescribeAssociationRequest(input *DescribeAssociationInput) (req *request.Request, output *DescribeAssociationOutput) {
2817	op := &request.Operation{
2818		Name:       opDescribeAssociation,
2819		HTTPMethod: "POST",
2820		HTTPPath:   "/",
2821	}
2822
2823	if input == nil {
2824		input = &DescribeAssociationInput{}
2825	}
2826
2827	output = &DescribeAssociationOutput{}
2828	req = c.newRequest(op, input, output)
2829	return
2830}
2831
2832// DescribeAssociation API operation for Amazon Simple Systems Manager (SSM).
2833//
2834// Describes the association for the specified target or instance. If you created
2835// the association by using the Targets parameter, then you must retrieve the
2836// association by using the association ID.
2837//
2838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2839// with awserr.Error's Code and Message methods to get detailed information about
2840// the error.
2841//
2842// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2843// API operation DescribeAssociation for usage and error information.
2844//
2845// Returned Error Types:
2846//   * AssociationDoesNotExist
2847//   The specified association doesn't exist.
2848//
2849//   * InvalidAssociationVersion
2850//   The version you specified isn't valid. Use ListAssociationVersions to view
2851//   all versions of an association according to the association ID. Or, use the
2852//   $LATEST parameter to view the latest version of the association.
2853//
2854//   * InternalServerError
2855//   An error occurred on the server side.
2856//
2857//   * InvalidDocument
2858//   The specified SSM document doesn't exist.
2859//
2860//   * InvalidInstanceId
2861//   The following problems can cause this exception:
2862//
2863//      * You don't have permission to access the instance.
2864//
2865//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
2866//      Verify that SSM Agent is running.
2867//
2868//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
2869//      Agent.
2870//
2871//      * The instance isn't in valid state. Valid states are: Running, Pending,
2872//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
2873//
2874// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation
2875func (c *SSM) DescribeAssociation(input *DescribeAssociationInput) (*DescribeAssociationOutput, error) {
2876	req, out := c.DescribeAssociationRequest(input)
2877	return out, req.Send()
2878}
2879
2880// DescribeAssociationWithContext is the same as DescribeAssociation with the addition of
2881// the ability to pass a context and additional request options.
2882//
2883// See DescribeAssociation for details on how to use this API operation.
2884//
2885// The context must be non-nil and will be used for request cancellation. If
2886// the context is nil a panic will occur. In the future the SDK may create
2887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2888// for more information on using Contexts.
2889func (c *SSM) DescribeAssociationWithContext(ctx aws.Context, input *DescribeAssociationInput, opts ...request.Option) (*DescribeAssociationOutput, error) {
2890	req, out := c.DescribeAssociationRequest(input)
2891	req.SetContext(ctx)
2892	req.ApplyOptions(opts...)
2893	return out, req.Send()
2894}
2895
2896const opDescribeAssociationExecutionTargets = "DescribeAssociationExecutionTargets"
2897
2898// DescribeAssociationExecutionTargetsRequest generates a "aws/request.Request" representing the
2899// client's request for the DescribeAssociationExecutionTargets operation. The "output" return
2900// value will be populated with the request's response once the request completes
2901// successfully.
2902//
2903// Use "Send" method on the returned Request to send the API call to the service.
2904// the "output" return value is not valid until after Send returns without error.
2905//
2906// See DescribeAssociationExecutionTargets for more information on using the DescribeAssociationExecutionTargets
2907// API call, and error handling.
2908//
2909// This method is useful when you want to inject custom logic or configuration
2910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2911//
2912//
2913//    // Example sending a request using the DescribeAssociationExecutionTargetsRequest method.
2914//    req, resp := client.DescribeAssociationExecutionTargetsRequest(params)
2915//
2916//    err := req.Send()
2917//    if err == nil { // resp is now filled
2918//        fmt.Println(resp)
2919//    }
2920//
2921// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2922func (c *SSM) DescribeAssociationExecutionTargetsRequest(input *DescribeAssociationExecutionTargetsInput) (req *request.Request, output *DescribeAssociationExecutionTargetsOutput) {
2923	op := &request.Operation{
2924		Name:       opDescribeAssociationExecutionTargets,
2925		HTTPMethod: "POST",
2926		HTTPPath:   "/",
2927		Paginator: &request.Paginator{
2928			InputTokens:     []string{"NextToken"},
2929			OutputTokens:    []string{"NextToken"},
2930			LimitToken:      "MaxResults",
2931			TruncationToken: "",
2932		},
2933	}
2934
2935	if input == nil {
2936		input = &DescribeAssociationExecutionTargetsInput{}
2937	}
2938
2939	output = &DescribeAssociationExecutionTargetsOutput{}
2940	req = c.newRequest(op, input, output)
2941	return
2942}
2943
2944// DescribeAssociationExecutionTargets API operation for Amazon Simple Systems Manager (SSM).
2945//
2946// Views information about a specific execution of a specific association.
2947//
2948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2949// with awserr.Error's Code and Message methods to get detailed information about
2950// the error.
2951//
2952// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
2953// API operation DescribeAssociationExecutionTargets for usage and error information.
2954//
2955// Returned Error Types:
2956//   * InternalServerError
2957//   An error occurred on the server side.
2958//
2959//   * AssociationDoesNotExist
2960//   The specified association doesn't exist.
2961//
2962//   * InvalidNextToken
2963//   The specified token isn't valid.
2964//
2965//   * AssociationExecutionDoesNotExist
2966//   The specified execution ID doesn't exist. Verify the ID number and try again.
2967//
2968// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets
2969func (c *SSM) DescribeAssociationExecutionTargets(input *DescribeAssociationExecutionTargetsInput) (*DescribeAssociationExecutionTargetsOutput, error) {
2970	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2971	return out, req.Send()
2972}
2973
2974// DescribeAssociationExecutionTargetsWithContext is the same as DescribeAssociationExecutionTargets with the addition of
2975// the ability to pass a context and additional request options.
2976//
2977// See DescribeAssociationExecutionTargets for details on how to use this API operation.
2978//
2979// The context must be non-nil and will be used for request cancellation. If
2980// the context is nil a panic will occur. In the future the SDK may create
2981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2982// for more information on using Contexts.
2983func (c *SSM) DescribeAssociationExecutionTargetsWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, opts ...request.Option) (*DescribeAssociationExecutionTargetsOutput, error) {
2984	req, out := c.DescribeAssociationExecutionTargetsRequest(input)
2985	req.SetContext(ctx)
2986	req.ApplyOptions(opts...)
2987	return out, req.Send()
2988}
2989
2990// DescribeAssociationExecutionTargetsPages iterates over the pages of a DescribeAssociationExecutionTargets operation,
2991// calling the "fn" function with the response data for each page. To stop
2992// iterating, return false from the fn function.
2993//
2994// See DescribeAssociationExecutionTargets method for more information on how to use this operation.
2995//
2996// Note: This operation can generate multiple requests to a service.
2997//
2998//    // Example iterating over at most 3 pages of a DescribeAssociationExecutionTargets operation.
2999//    pageNum := 0
3000//    err := client.DescribeAssociationExecutionTargetsPages(params,
3001//        func(page *ssm.DescribeAssociationExecutionTargetsOutput, lastPage bool) bool {
3002//            pageNum++
3003//            fmt.Println(page)
3004//            return pageNum <= 3
3005//        })
3006//
3007func (c *SSM) DescribeAssociationExecutionTargetsPages(input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool) error {
3008	return c.DescribeAssociationExecutionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
3009}
3010
3011// DescribeAssociationExecutionTargetsPagesWithContext same as DescribeAssociationExecutionTargetsPages except
3012// it takes a Context and allows setting request options on the pages.
3013//
3014// The context must be non-nil and will be used for request cancellation. If
3015// the context is nil a panic will occur. In the future the SDK may create
3016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3017// for more information on using Contexts.
3018func (c *SSM) DescribeAssociationExecutionTargetsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionTargetsInput, fn func(*DescribeAssociationExecutionTargetsOutput, bool) bool, opts ...request.Option) error {
3019	p := request.Pagination{
3020		NewRequest: func() (*request.Request, error) {
3021			var inCpy *DescribeAssociationExecutionTargetsInput
3022			if input != nil {
3023				tmp := *input
3024				inCpy = &tmp
3025			}
3026			req, _ := c.DescribeAssociationExecutionTargetsRequest(inCpy)
3027			req.SetContext(ctx)
3028			req.ApplyOptions(opts...)
3029			return req, nil
3030		},
3031	}
3032
3033	for p.Next() {
3034		if !fn(p.Page().(*DescribeAssociationExecutionTargetsOutput), !p.HasNextPage()) {
3035			break
3036		}
3037	}
3038
3039	return p.Err()
3040}
3041
3042const opDescribeAssociationExecutions = "DescribeAssociationExecutions"
3043
3044// DescribeAssociationExecutionsRequest generates a "aws/request.Request" representing the
3045// client's request for the DescribeAssociationExecutions operation. The "output" return
3046// value will be populated with the request's response once the request completes
3047// successfully.
3048//
3049// Use "Send" method on the returned Request to send the API call to the service.
3050// the "output" return value is not valid until after Send returns without error.
3051//
3052// See DescribeAssociationExecutions for more information on using the DescribeAssociationExecutions
3053// API call, and error handling.
3054//
3055// This method is useful when you want to inject custom logic or configuration
3056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3057//
3058//
3059//    // Example sending a request using the DescribeAssociationExecutionsRequest method.
3060//    req, resp := client.DescribeAssociationExecutionsRequest(params)
3061//
3062//    err := req.Send()
3063//    if err == nil { // resp is now filled
3064//        fmt.Println(resp)
3065//    }
3066//
3067// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
3068func (c *SSM) DescribeAssociationExecutionsRequest(input *DescribeAssociationExecutionsInput) (req *request.Request, output *DescribeAssociationExecutionsOutput) {
3069	op := &request.Operation{
3070		Name:       opDescribeAssociationExecutions,
3071		HTTPMethod: "POST",
3072		HTTPPath:   "/",
3073		Paginator: &request.Paginator{
3074			InputTokens:     []string{"NextToken"},
3075			OutputTokens:    []string{"NextToken"},
3076			LimitToken:      "MaxResults",
3077			TruncationToken: "",
3078		},
3079	}
3080
3081	if input == nil {
3082		input = &DescribeAssociationExecutionsInput{}
3083	}
3084
3085	output = &DescribeAssociationExecutionsOutput{}
3086	req = c.newRequest(op, input, output)
3087	return
3088}
3089
3090// DescribeAssociationExecutions API operation for Amazon Simple Systems Manager (SSM).
3091//
3092// Views all executions for a specific association ID.
3093//
3094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3095// with awserr.Error's Code and Message methods to get detailed information about
3096// the error.
3097//
3098// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3099// API operation DescribeAssociationExecutions for usage and error information.
3100//
3101// Returned Error Types:
3102//   * InternalServerError
3103//   An error occurred on the server side.
3104//
3105//   * AssociationDoesNotExist
3106//   The specified association doesn't exist.
3107//
3108//   * InvalidNextToken
3109//   The specified token isn't valid.
3110//
3111// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions
3112func (c *SSM) DescribeAssociationExecutions(input *DescribeAssociationExecutionsInput) (*DescribeAssociationExecutionsOutput, error) {
3113	req, out := c.DescribeAssociationExecutionsRequest(input)
3114	return out, req.Send()
3115}
3116
3117// DescribeAssociationExecutionsWithContext is the same as DescribeAssociationExecutions with the addition of
3118// the ability to pass a context and additional request options.
3119//
3120// See DescribeAssociationExecutions for details on how to use this API operation.
3121//
3122// The context must be non-nil and will be used for request cancellation. If
3123// the context is nil a panic will occur. In the future the SDK may create
3124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3125// for more information on using Contexts.
3126func (c *SSM) DescribeAssociationExecutionsWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, opts ...request.Option) (*DescribeAssociationExecutionsOutput, error) {
3127	req, out := c.DescribeAssociationExecutionsRequest(input)
3128	req.SetContext(ctx)
3129	req.ApplyOptions(opts...)
3130	return out, req.Send()
3131}
3132
3133// DescribeAssociationExecutionsPages iterates over the pages of a DescribeAssociationExecutions operation,
3134// calling the "fn" function with the response data for each page. To stop
3135// iterating, return false from the fn function.
3136//
3137// See DescribeAssociationExecutions method for more information on how to use this operation.
3138//
3139// Note: This operation can generate multiple requests to a service.
3140//
3141//    // Example iterating over at most 3 pages of a DescribeAssociationExecutions operation.
3142//    pageNum := 0
3143//    err := client.DescribeAssociationExecutionsPages(params,
3144//        func(page *ssm.DescribeAssociationExecutionsOutput, lastPage bool) bool {
3145//            pageNum++
3146//            fmt.Println(page)
3147//            return pageNum <= 3
3148//        })
3149//
3150func (c *SSM) DescribeAssociationExecutionsPages(input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool) error {
3151	return c.DescribeAssociationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
3152}
3153
3154// DescribeAssociationExecutionsPagesWithContext same as DescribeAssociationExecutionsPages except
3155// it takes a Context and allows setting request options on the pages.
3156//
3157// The context must be non-nil and will be used for request cancellation. If
3158// the context is nil a panic will occur. In the future the SDK may create
3159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3160// for more information on using Contexts.
3161func (c *SSM) DescribeAssociationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAssociationExecutionsInput, fn func(*DescribeAssociationExecutionsOutput, bool) bool, opts ...request.Option) error {
3162	p := request.Pagination{
3163		NewRequest: func() (*request.Request, error) {
3164			var inCpy *DescribeAssociationExecutionsInput
3165			if input != nil {
3166				tmp := *input
3167				inCpy = &tmp
3168			}
3169			req, _ := c.DescribeAssociationExecutionsRequest(inCpy)
3170			req.SetContext(ctx)
3171			req.ApplyOptions(opts...)
3172			return req, nil
3173		},
3174	}
3175
3176	for p.Next() {
3177		if !fn(p.Page().(*DescribeAssociationExecutionsOutput), !p.HasNextPage()) {
3178			break
3179		}
3180	}
3181
3182	return p.Err()
3183}
3184
3185const opDescribeAutomationExecutions = "DescribeAutomationExecutions"
3186
3187// DescribeAutomationExecutionsRequest generates a "aws/request.Request" representing the
3188// client's request for the DescribeAutomationExecutions operation. The "output" return
3189// value will be populated with the request's response once the request completes
3190// successfully.
3191//
3192// Use "Send" method on the returned Request to send the API call to the service.
3193// the "output" return value is not valid until after Send returns without error.
3194//
3195// See DescribeAutomationExecutions for more information on using the DescribeAutomationExecutions
3196// API call, and error handling.
3197//
3198// This method is useful when you want to inject custom logic or configuration
3199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3200//
3201//
3202//    // Example sending a request using the DescribeAutomationExecutionsRequest method.
3203//    req, resp := client.DescribeAutomationExecutionsRequest(params)
3204//
3205//    err := req.Send()
3206//    if err == nil { // resp is now filled
3207//        fmt.Println(resp)
3208//    }
3209//
3210// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
3211func (c *SSM) DescribeAutomationExecutionsRequest(input *DescribeAutomationExecutionsInput) (req *request.Request, output *DescribeAutomationExecutionsOutput) {
3212	op := &request.Operation{
3213		Name:       opDescribeAutomationExecutions,
3214		HTTPMethod: "POST",
3215		HTTPPath:   "/",
3216		Paginator: &request.Paginator{
3217			InputTokens:     []string{"NextToken"},
3218			OutputTokens:    []string{"NextToken"},
3219			LimitToken:      "MaxResults",
3220			TruncationToken: "",
3221		},
3222	}
3223
3224	if input == nil {
3225		input = &DescribeAutomationExecutionsInput{}
3226	}
3227
3228	output = &DescribeAutomationExecutionsOutput{}
3229	req = c.newRequest(op, input, output)
3230	return
3231}
3232
3233// DescribeAutomationExecutions API operation for Amazon Simple Systems Manager (SSM).
3234//
3235// Provides details about all active and terminated Automation executions.
3236//
3237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3238// with awserr.Error's Code and Message methods to get detailed information about
3239// the error.
3240//
3241// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3242// API operation DescribeAutomationExecutions for usage and error information.
3243//
3244// Returned Error Types:
3245//   * InvalidFilterKey
3246//   The specified key isn't valid.
3247//
3248//   * InvalidFilterValue
3249//   The filter value isn't valid. Verify the value and try again.
3250//
3251//   * InvalidNextToken
3252//   The specified token isn't valid.
3253//
3254//   * InternalServerError
3255//   An error occurred on the server side.
3256//
3257// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions
3258func (c *SSM) DescribeAutomationExecutions(input *DescribeAutomationExecutionsInput) (*DescribeAutomationExecutionsOutput, error) {
3259	req, out := c.DescribeAutomationExecutionsRequest(input)
3260	return out, req.Send()
3261}
3262
3263// DescribeAutomationExecutionsWithContext is the same as DescribeAutomationExecutions with the addition of
3264// the ability to pass a context and additional request options.
3265//
3266// See DescribeAutomationExecutions for details on how to use this API operation.
3267//
3268// The context must be non-nil and will be used for request cancellation. If
3269// the context is nil a panic will occur. In the future the SDK may create
3270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3271// for more information on using Contexts.
3272func (c *SSM) DescribeAutomationExecutionsWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, opts ...request.Option) (*DescribeAutomationExecutionsOutput, error) {
3273	req, out := c.DescribeAutomationExecutionsRequest(input)
3274	req.SetContext(ctx)
3275	req.ApplyOptions(opts...)
3276	return out, req.Send()
3277}
3278
3279// DescribeAutomationExecutionsPages iterates over the pages of a DescribeAutomationExecutions operation,
3280// calling the "fn" function with the response data for each page. To stop
3281// iterating, return false from the fn function.
3282//
3283// See DescribeAutomationExecutions method for more information on how to use this operation.
3284//
3285// Note: This operation can generate multiple requests to a service.
3286//
3287//    // Example iterating over at most 3 pages of a DescribeAutomationExecutions operation.
3288//    pageNum := 0
3289//    err := client.DescribeAutomationExecutionsPages(params,
3290//        func(page *ssm.DescribeAutomationExecutionsOutput, lastPage bool) bool {
3291//            pageNum++
3292//            fmt.Println(page)
3293//            return pageNum <= 3
3294//        })
3295//
3296func (c *SSM) DescribeAutomationExecutionsPages(input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool) error {
3297	return c.DescribeAutomationExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
3298}
3299
3300// DescribeAutomationExecutionsPagesWithContext same as DescribeAutomationExecutionsPages except
3301// it takes a Context and allows setting request options on the pages.
3302//
3303// The context must be non-nil and will be used for request cancellation. If
3304// the context is nil a panic will occur. In the future the SDK may create
3305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3306// for more information on using Contexts.
3307func (c *SSM) DescribeAutomationExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationExecutionsInput, fn func(*DescribeAutomationExecutionsOutput, bool) bool, opts ...request.Option) error {
3308	p := request.Pagination{
3309		NewRequest: func() (*request.Request, error) {
3310			var inCpy *DescribeAutomationExecutionsInput
3311			if input != nil {
3312				tmp := *input
3313				inCpy = &tmp
3314			}
3315			req, _ := c.DescribeAutomationExecutionsRequest(inCpy)
3316			req.SetContext(ctx)
3317			req.ApplyOptions(opts...)
3318			return req, nil
3319		},
3320	}
3321
3322	for p.Next() {
3323		if !fn(p.Page().(*DescribeAutomationExecutionsOutput), !p.HasNextPage()) {
3324			break
3325		}
3326	}
3327
3328	return p.Err()
3329}
3330
3331const opDescribeAutomationStepExecutions = "DescribeAutomationStepExecutions"
3332
3333// DescribeAutomationStepExecutionsRequest generates a "aws/request.Request" representing the
3334// client's request for the DescribeAutomationStepExecutions operation. The "output" return
3335// value will be populated with the request's response once the request completes
3336// successfully.
3337//
3338// Use "Send" method on the returned Request to send the API call to the service.
3339// the "output" return value is not valid until after Send returns without error.
3340//
3341// See DescribeAutomationStepExecutions for more information on using the DescribeAutomationStepExecutions
3342// API call, and error handling.
3343//
3344// This method is useful when you want to inject custom logic or configuration
3345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3346//
3347//
3348//    // Example sending a request using the DescribeAutomationStepExecutionsRequest method.
3349//    req, resp := client.DescribeAutomationStepExecutionsRequest(params)
3350//
3351//    err := req.Send()
3352//    if err == nil { // resp is now filled
3353//        fmt.Println(resp)
3354//    }
3355//
3356// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
3357func (c *SSM) DescribeAutomationStepExecutionsRequest(input *DescribeAutomationStepExecutionsInput) (req *request.Request, output *DescribeAutomationStepExecutionsOutput) {
3358	op := &request.Operation{
3359		Name:       opDescribeAutomationStepExecutions,
3360		HTTPMethod: "POST",
3361		HTTPPath:   "/",
3362		Paginator: &request.Paginator{
3363			InputTokens:     []string{"NextToken"},
3364			OutputTokens:    []string{"NextToken"},
3365			LimitToken:      "MaxResults",
3366			TruncationToken: "",
3367		},
3368	}
3369
3370	if input == nil {
3371		input = &DescribeAutomationStepExecutionsInput{}
3372	}
3373
3374	output = &DescribeAutomationStepExecutionsOutput{}
3375	req = c.newRequest(op, input, output)
3376	return
3377}
3378
3379// DescribeAutomationStepExecutions API operation for Amazon Simple Systems Manager (SSM).
3380//
3381// Information about all active and terminated step executions in an Automation
3382// workflow.
3383//
3384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3385// with awserr.Error's Code and Message methods to get detailed information about
3386// the error.
3387//
3388// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3389// API operation DescribeAutomationStepExecutions for usage and error information.
3390//
3391// Returned Error Types:
3392//   * AutomationExecutionNotFoundException
3393//   There is no automation execution information for the requested automation
3394//   execution ID.
3395//
3396//   * InvalidNextToken
3397//   The specified token isn't valid.
3398//
3399//   * InvalidFilterKey
3400//   The specified key isn't valid.
3401//
3402//   * InvalidFilterValue
3403//   The filter value isn't valid. Verify the value and try again.
3404//
3405//   * InternalServerError
3406//   An error occurred on the server side.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions
3409func (c *SSM) DescribeAutomationStepExecutions(input *DescribeAutomationStepExecutionsInput) (*DescribeAutomationStepExecutionsOutput, error) {
3410	req, out := c.DescribeAutomationStepExecutionsRequest(input)
3411	return out, req.Send()
3412}
3413
3414// DescribeAutomationStepExecutionsWithContext is the same as DescribeAutomationStepExecutions with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See DescribeAutomationStepExecutions for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *SSM) DescribeAutomationStepExecutionsWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, opts ...request.Option) (*DescribeAutomationStepExecutionsOutput, error) {
3424	req, out := c.DescribeAutomationStepExecutionsRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430// DescribeAutomationStepExecutionsPages iterates over the pages of a DescribeAutomationStepExecutions operation,
3431// calling the "fn" function with the response data for each page. To stop
3432// iterating, return false from the fn function.
3433//
3434// See DescribeAutomationStepExecutions method for more information on how to use this operation.
3435//
3436// Note: This operation can generate multiple requests to a service.
3437//
3438//    // Example iterating over at most 3 pages of a DescribeAutomationStepExecutions operation.
3439//    pageNum := 0
3440//    err := client.DescribeAutomationStepExecutionsPages(params,
3441//        func(page *ssm.DescribeAutomationStepExecutionsOutput, lastPage bool) bool {
3442//            pageNum++
3443//            fmt.Println(page)
3444//            return pageNum <= 3
3445//        })
3446//
3447func (c *SSM) DescribeAutomationStepExecutionsPages(input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool) error {
3448	return c.DescribeAutomationStepExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
3449}
3450
3451// DescribeAutomationStepExecutionsPagesWithContext same as DescribeAutomationStepExecutionsPages except
3452// it takes a Context and allows setting request options on the pages.
3453//
3454// The context must be non-nil and will be used for request cancellation. If
3455// the context is nil a panic will occur. In the future the SDK may create
3456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3457// for more information on using Contexts.
3458func (c *SSM) DescribeAutomationStepExecutionsPagesWithContext(ctx aws.Context, input *DescribeAutomationStepExecutionsInput, fn func(*DescribeAutomationStepExecutionsOutput, bool) bool, opts ...request.Option) error {
3459	p := request.Pagination{
3460		NewRequest: func() (*request.Request, error) {
3461			var inCpy *DescribeAutomationStepExecutionsInput
3462			if input != nil {
3463				tmp := *input
3464				inCpy = &tmp
3465			}
3466			req, _ := c.DescribeAutomationStepExecutionsRequest(inCpy)
3467			req.SetContext(ctx)
3468			req.ApplyOptions(opts...)
3469			return req, nil
3470		},
3471	}
3472
3473	for p.Next() {
3474		if !fn(p.Page().(*DescribeAutomationStepExecutionsOutput), !p.HasNextPage()) {
3475			break
3476		}
3477	}
3478
3479	return p.Err()
3480}
3481
3482const opDescribeAvailablePatches = "DescribeAvailablePatches"
3483
3484// DescribeAvailablePatchesRequest generates a "aws/request.Request" representing the
3485// client's request for the DescribeAvailablePatches operation. The "output" return
3486// value will be populated with the request's response once the request completes
3487// successfully.
3488//
3489// Use "Send" method on the returned Request to send the API call to the service.
3490// the "output" return value is not valid until after Send returns without error.
3491//
3492// See DescribeAvailablePatches for more information on using the DescribeAvailablePatches
3493// API call, and error handling.
3494//
3495// This method is useful when you want to inject custom logic or configuration
3496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3497//
3498//
3499//    // Example sending a request using the DescribeAvailablePatchesRequest method.
3500//    req, resp := client.DescribeAvailablePatchesRequest(params)
3501//
3502//    err := req.Send()
3503//    if err == nil { // resp is now filled
3504//        fmt.Println(resp)
3505//    }
3506//
3507// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
3508func (c *SSM) DescribeAvailablePatchesRequest(input *DescribeAvailablePatchesInput) (req *request.Request, output *DescribeAvailablePatchesOutput) {
3509	op := &request.Operation{
3510		Name:       opDescribeAvailablePatches,
3511		HTTPMethod: "POST",
3512		HTTPPath:   "/",
3513		Paginator: &request.Paginator{
3514			InputTokens:     []string{"NextToken"},
3515			OutputTokens:    []string{"NextToken"},
3516			LimitToken:      "MaxResults",
3517			TruncationToken: "",
3518		},
3519	}
3520
3521	if input == nil {
3522		input = &DescribeAvailablePatchesInput{}
3523	}
3524
3525	output = &DescribeAvailablePatchesOutput{}
3526	req = c.newRequest(op, input, output)
3527	return
3528}
3529
3530// DescribeAvailablePatches API operation for Amazon Simple Systems Manager (SSM).
3531//
3532// Lists all patches eligible to be included in a patch baseline.
3533//
3534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3535// with awserr.Error's Code and Message methods to get detailed information about
3536// the error.
3537//
3538// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3539// API operation DescribeAvailablePatches for usage and error information.
3540//
3541// Returned Error Types:
3542//   * InternalServerError
3543//   An error occurred on the server side.
3544//
3545// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches
3546func (c *SSM) DescribeAvailablePatches(input *DescribeAvailablePatchesInput) (*DescribeAvailablePatchesOutput, error) {
3547	req, out := c.DescribeAvailablePatchesRequest(input)
3548	return out, req.Send()
3549}
3550
3551// DescribeAvailablePatchesWithContext is the same as DescribeAvailablePatches with the addition of
3552// the ability to pass a context and additional request options.
3553//
3554// See DescribeAvailablePatches for details on how to use this API operation.
3555//
3556// The context must be non-nil and will be used for request cancellation. If
3557// the context is nil a panic will occur. In the future the SDK may create
3558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3559// for more information on using Contexts.
3560func (c *SSM) DescribeAvailablePatchesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, opts ...request.Option) (*DescribeAvailablePatchesOutput, error) {
3561	req, out := c.DescribeAvailablePatchesRequest(input)
3562	req.SetContext(ctx)
3563	req.ApplyOptions(opts...)
3564	return out, req.Send()
3565}
3566
3567// DescribeAvailablePatchesPages iterates over the pages of a DescribeAvailablePatches operation,
3568// calling the "fn" function with the response data for each page. To stop
3569// iterating, return false from the fn function.
3570//
3571// See DescribeAvailablePatches method for more information on how to use this operation.
3572//
3573// Note: This operation can generate multiple requests to a service.
3574//
3575//    // Example iterating over at most 3 pages of a DescribeAvailablePatches operation.
3576//    pageNum := 0
3577//    err := client.DescribeAvailablePatchesPages(params,
3578//        func(page *ssm.DescribeAvailablePatchesOutput, lastPage bool) bool {
3579//            pageNum++
3580//            fmt.Println(page)
3581//            return pageNum <= 3
3582//        })
3583//
3584func (c *SSM) DescribeAvailablePatchesPages(input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool) error {
3585	return c.DescribeAvailablePatchesPagesWithContext(aws.BackgroundContext(), input, fn)
3586}
3587
3588// DescribeAvailablePatchesPagesWithContext same as DescribeAvailablePatchesPages except
3589// it takes a Context and allows setting request options on the pages.
3590//
3591// The context must be non-nil and will be used for request cancellation. If
3592// the context is nil a panic will occur. In the future the SDK may create
3593// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3594// for more information on using Contexts.
3595func (c *SSM) DescribeAvailablePatchesPagesWithContext(ctx aws.Context, input *DescribeAvailablePatchesInput, fn func(*DescribeAvailablePatchesOutput, bool) bool, opts ...request.Option) error {
3596	p := request.Pagination{
3597		NewRequest: func() (*request.Request, error) {
3598			var inCpy *DescribeAvailablePatchesInput
3599			if input != nil {
3600				tmp := *input
3601				inCpy = &tmp
3602			}
3603			req, _ := c.DescribeAvailablePatchesRequest(inCpy)
3604			req.SetContext(ctx)
3605			req.ApplyOptions(opts...)
3606			return req, nil
3607		},
3608	}
3609
3610	for p.Next() {
3611		if !fn(p.Page().(*DescribeAvailablePatchesOutput), !p.HasNextPage()) {
3612			break
3613		}
3614	}
3615
3616	return p.Err()
3617}
3618
3619const opDescribeDocument = "DescribeDocument"
3620
3621// DescribeDocumentRequest generates a "aws/request.Request" representing the
3622// client's request for the DescribeDocument operation. The "output" return
3623// value will be populated with the request's response once the request completes
3624// successfully.
3625//
3626// Use "Send" method on the returned Request to send the API call to the service.
3627// the "output" return value is not valid until after Send returns without error.
3628//
3629// See DescribeDocument for more information on using the DescribeDocument
3630// API call, and error handling.
3631//
3632// This method is useful when you want to inject custom logic or configuration
3633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3634//
3635//
3636//    // Example sending a request using the DescribeDocumentRequest method.
3637//    req, resp := client.DescribeDocumentRequest(params)
3638//
3639//    err := req.Send()
3640//    if err == nil { // resp is now filled
3641//        fmt.Println(resp)
3642//    }
3643//
3644// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3645func (c *SSM) DescribeDocumentRequest(input *DescribeDocumentInput) (req *request.Request, output *DescribeDocumentOutput) {
3646	op := &request.Operation{
3647		Name:       opDescribeDocument,
3648		HTTPMethod: "POST",
3649		HTTPPath:   "/",
3650	}
3651
3652	if input == nil {
3653		input = &DescribeDocumentInput{}
3654	}
3655
3656	output = &DescribeDocumentOutput{}
3657	req = c.newRequest(op, input, output)
3658	return
3659}
3660
3661// DescribeDocument API operation for Amazon Simple Systems Manager (SSM).
3662//
3663// Describes the specified Amazon Web Services Systems Manager document (SSM
3664// document).
3665//
3666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3667// with awserr.Error's Code and Message methods to get detailed information about
3668// the error.
3669//
3670// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3671// API operation DescribeDocument for usage and error information.
3672//
3673// Returned Error Types:
3674//   * InternalServerError
3675//   An error occurred on the server side.
3676//
3677//   * InvalidDocument
3678//   The specified SSM document doesn't exist.
3679//
3680//   * InvalidDocumentVersion
3681//   The document version isn't valid or doesn't exist.
3682//
3683// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument
3684func (c *SSM) DescribeDocument(input *DescribeDocumentInput) (*DescribeDocumentOutput, error) {
3685	req, out := c.DescribeDocumentRequest(input)
3686	return out, req.Send()
3687}
3688
3689// DescribeDocumentWithContext is the same as DescribeDocument with the addition of
3690// the ability to pass a context and additional request options.
3691//
3692// See DescribeDocument for details on how to use this API operation.
3693//
3694// The context must be non-nil and will be used for request cancellation. If
3695// the context is nil a panic will occur. In the future the SDK may create
3696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3697// for more information on using Contexts.
3698func (c *SSM) DescribeDocumentWithContext(ctx aws.Context, input *DescribeDocumentInput, opts ...request.Option) (*DescribeDocumentOutput, error) {
3699	req, out := c.DescribeDocumentRequest(input)
3700	req.SetContext(ctx)
3701	req.ApplyOptions(opts...)
3702	return out, req.Send()
3703}
3704
3705const opDescribeDocumentPermission = "DescribeDocumentPermission"
3706
3707// DescribeDocumentPermissionRequest generates a "aws/request.Request" representing the
3708// client's request for the DescribeDocumentPermission operation. The "output" return
3709// value will be populated with the request's response once the request completes
3710// successfully.
3711//
3712// Use "Send" method on the returned Request to send the API call to the service.
3713// the "output" return value is not valid until after Send returns without error.
3714//
3715// See DescribeDocumentPermission for more information on using the DescribeDocumentPermission
3716// API call, and error handling.
3717//
3718// This method is useful when you want to inject custom logic or configuration
3719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3720//
3721//
3722//    // Example sending a request using the DescribeDocumentPermissionRequest method.
3723//    req, resp := client.DescribeDocumentPermissionRequest(params)
3724//
3725//    err := req.Send()
3726//    if err == nil { // resp is now filled
3727//        fmt.Println(resp)
3728//    }
3729//
3730// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3731func (c *SSM) DescribeDocumentPermissionRequest(input *DescribeDocumentPermissionInput) (req *request.Request, output *DescribeDocumentPermissionOutput) {
3732	op := &request.Operation{
3733		Name:       opDescribeDocumentPermission,
3734		HTTPMethod: "POST",
3735		HTTPPath:   "/",
3736	}
3737
3738	if input == nil {
3739		input = &DescribeDocumentPermissionInput{}
3740	}
3741
3742	output = &DescribeDocumentPermissionOutput{}
3743	req = c.newRequest(op, input, output)
3744	return
3745}
3746
3747// DescribeDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
3748//
3749// Describes the permissions for a Amazon Web Services Systems Manager document
3750// (SSM document). If you created the document, you are the owner. If a document
3751// is shared, it can either be shared privately (by specifying a user's Amazon
3752// Web Services account ID) or publicly (All).
3753//
3754// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3755// with awserr.Error's Code and Message methods to get detailed information about
3756// the error.
3757//
3758// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3759// API operation DescribeDocumentPermission for usage and error information.
3760//
3761// Returned Error Types:
3762//   * InternalServerError
3763//   An error occurred on the server side.
3764//
3765//   * InvalidDocument
3766//   The specified SSM document doesn't exist.
3767//
3768//   * InvalidNextToken
3769//   The specified token isn't valid.
3770//
3771//   * InvalidPermissionType
3772//   The permission type isn't supported. Share is the only supported permission
3773//   type.
3774//
3775//   * InvalidDocumentOperation
3776//   You attempted to delete a document while it is still shared. You must stop
3777//   sharing the document before you can delete it.
3778//
3779// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission
3780func (c *SSM) DescribeDocumentPermission(input *DescribeDocumentPermissionInput) (*DescribeDocumentPermissionOutput, error) {
3781	req, out := c.DescribeDocumentPermissionRequest(input)
3782	return out, req.Send()
3783}
3784
3785// DescribeDocumentPermissionWithContext is the same as DescribeDocumentPermission with the addition of
3786// the ability to pass a context and additional request options.
3787//
3788// See DescribeDocumentPermission for details on how to use this API operation.
3789//
3790// The context must be non-nil and will be used for request cancellation. If
3791// the context is nil a panic will occur. In the future the SDK may create
3792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3793// for more information on using Contexts.
3794func (c *SSM) DescribeDocumentPermissionWithContext(ctx aws.Context, input *DescribeDocumentPermissionInput, opts ...request.Option) (*DescribeDocumentPermissionOutput, error) {
3795	req, out := c.DescribeDocumentPermissionRequest(input)
3796	req.SetContext(ctx)
3797	req.ApplyOptions(opts...)
3798	return out, req.Send()
3799}
3800
3801const opDescribeEffectiveInstanceAssociations = "DescribeEffectiveInstanceAssociations"
3802
3803// DescribeEffectiveInstanceAssociationsRequest generates a "aws/request.Request" representing the
3804// client's request for the DescribeEffectiveInstanceAssociations operation. The "output" return
3805// value will be populated with the request's response once the request completes
3806// successfully.
3807//
3808// Use "Send" method on the returned Request to send the API call to the service.
3809// the "output" return value is not valid until after Send returns without error.
3810//
3811// See DescribeEffectiveInstanceAssociations for more information on using the DescribeEffectiveInstanceAssociations
3812// API call, and error handling.
3813//
3814// This method is useful when you want to inject custom logic or configuration
3815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3816//
3817//
3818//    // Example sending a request using the DescribeEffectiveInstanceAssociationsRequest method.
3819//    req, resp := client.DescribeEffectiveInstanceAssociationsRequest(params)
3820//
3821//    err := req.Send()
3822//    if err == nil { // resp is now filled
3823//        fmt.Println(resp)
3824//    }
3825//
3826// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3827func (c *SSM) DescribeEffectiveInstanceAssociationsRequest(input *DescribeEffectiveInstanceAssociationsInput) (req *request.Request, output *DescribeEffectiveInstanceAssociationsOutput) {
3828	op := &request.Operation{
3829		Name:       opDescribeEffectiveInstanceAssociations,
3830		HTTPMethod: "POST",
3831		HTTPPath:   "/",
3832		Paginator: &request.Paginator{
3833			InputTokens:     []string{"NextToken"},
3834			OutputTokens:    []string{"NextToken"},
3835			LimitToken:      "MaxResults",
3836			TruncationToken: "",
3837		},
3838	}
3839
3840	if input == nil {
3841		input = &DescribeEffectiveInstanceAssociationsInput{}
3842	}
3843
3844	output = &DescribeEffectiveInstanceAssociationsOutput{}
3845	req = c.newRequest(op, input, output)
3846	return
3847}
3848
3849// DescribeEffectiveInstanceAssociations API operation for Amazon Simple Systems Manager (SSM).
3850//
3851// All associations for the instance(s).
3852//
3853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3854// with awserr.Error's Code and Message methods to get detailed information about
3855// the error.
3856//
3857// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
3858// API operation DescribeEffectiveInstanceAssociations for usage and error information.
3859//
3860// Returned Error Types:
3861//   * InternalServerError
3862//   An error occurred on the server side.
3863//
3864//   * InvalidInstanceId
3865//   The following problems can cause this exception:
3866//
3867//      * You don't have permission to access the instance.
3868//
3869//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
3870//      Verify that SSM Agent is running.
3871//
3872//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
3873//      Agent.
3874//
3875//      * The instance isn't in valid state. Valid states are: Running, Pending,
3876//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
3877//
3878//   * InvalidNextToken
3879//   The specified token isn't valid.
3880//
3881// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations
3882func (c *SSM) DescribeEffectiveInstanceAssociations(input *DescribeEffectiveInstanceAssociationsInput) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3883	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3884	return out, req.Send()
3885}
3886
3887// DescribeEffectiveInstanceAssociationsWithContext is the same as DescribeEffectiveInstanceAssociations with the addition of
3888// the ability to pass a context and additional request options.
3889//
3890// See DescribeEffectiveInstanceAssociations for details on how to use this API operation.
3891//
3892// The context must be non-nil and will be used for request cancellation. If
3893// the context is nil a panic will occur. In the future the SDK may create
3894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3895// for more information on using Contexts.
3896func (c *SSM) DescribeEffectiveInstanceAssociationsWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, opts ...request.Option) (*DescribeEffectiveInstanceAssociationsOutput, error) {
3897	req, out := c.DescribeEffectiveInstanceAssociationsRequest(input)
3898	req.SetContext(ctx)
3899	req.ApplyOptions(opts...)
3900	return out, req.Send()
3901}
3902
3903// DescribeEffectiveInstanceAssociationsPages iterates over the pages of a DescribeEffectiveInstanceAssociations operation,
3904// calling the "fn" function with the response data for each page. To stop
3905// iterating, return false from the fn function.
3906//
3907// See DescribeEffectiveInstanceAssociations method for more information on how to use this operation.
3908//
3909// Note: This operation can generate multiple requests to a service.
3910//
3911//    // Example iterating over at most 3 pages of a DescribeEffectiveInstanceAssociations operation.
3912//    pageNum := 0
3913//    err := client.DescribeEffectiveInstanceAssociationsPages(params,
3914//        func(page *ssm.DescribeEffectiveInstanceAssociationsOutput, lastPage bool) bool {
3915//            pageNum++
3916//            fmt.Println(page)
3917//            return pageNum <= 3
3918//        })
3919//
3920func (c *SSM) DescribeEffectiveInstanceAssociationsPages(input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool) error {
3921	return c.DescribeEffectiveInstanceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
3922}
3923
3924// DescribeEffectiveInstanceAssociationsPagesWithContext same as DescribeEffectiveInstanceAssociationsPages except
3925// it takes a Context and allows setting request options on the pages.
3926//
3927// The context must be non-nil and will be used for request cancellation. If
3928// the context is nil a panic will occur. In the future the SDK may create
3929// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3930// for more information on using Contexts.
3931func (c *SSM) DescribeEffectiveInstanceAssociationsPagesWithContext(ctx aws.Context, input *DescribeEffectiveInstanceAssociationsInput, fn func(*DescribeEffectiveInstanceAssociationsOutput, bool) bool, opts ...request.Option) error {
3932	p := request.Pagination{
3933		NewRequest: func() (*request.Request, error) {
3934			var inCpy *DescribeEffectiveInstanceAssociationsInput
3935			if input != nil {
3936				tmp := *input
3937				inCpy = &tmp
3938			}
3939			req, _ := c.DescribeEffectiveInstanceAssociationsRequest(inCpy)
3940			req.SetContext(ctx)
3941			req.ApplyOptions(opts...)
3942			return req, nil
3943		},
3944	}
3945
3946	for p.Next() {
3947		if !fn(p.Page().(*DescribeEffectiveInstanceAssociationsOutput), !p.HasNextPage()) {
3948			break
3949		}
3950	}
3951
3952	return p.Err()
3953}
3954
3955const opDescribeEffectivePatchesForPatchBaseline = "DescribeEffectivePatchesForPatchBaseline"
3956
3957// DescribeEffectivePatchesForPatchBaselineRequest generates a "aws/request.Request" representing the
3958// client's request for the DescribeEffectivePatchesForPatchBaseline operation. The "output" return
3959// value will be populated with the request's response once the request completes
3960// successfully.
3961//
3962// Use "Send" method on the returned Request to send the API call to the service.
3963// the "output" return value is not valid until after Send returns without error.
3964//
3965// See DescribeEffectivePatchesForPatchBaseline for more information on using the DescribeEffectivePatchesForPatchBaseline
3966// API call, and error handling.
3967//
3968// This method is useful when you want to inject custom logic or configuration
3969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3970//
3971//
3972//    // Example sending a request using the DescribeEffectivePatchesForPatchBaselineRequest method.
3973//    req, resp := client.DescribeEffectivePatchesForPatchBaselineRequest(params)
3974//
3975//    err := req.Send()
3976//    if err == nil { // resp is now filled
3977//        fmt.Println(resp)
3978//    }
3979//
3980// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
3981func (c *SSM) DescribeEffectivePatchesForPatchBaselineRequest(input *DescribeEffectivePatchesForPatchBaselineInput) (req *request.Request, output *DescribeEffectivePatchesForPatchBaselineOutput) {
3982	op := &request.Operation{
3983		Name:       opDescribeEffectivePatchesForPatchBaseline,
3984		HTTPMethod: "POST",
3985		HTTPPath:   "/",
3986		Paginator: &request.Paginator{
3987			InputTokens:     []string{"NextToken"},
3988			OutputTokens:    []string{"NextToken"},
3989			LimitToken:      "MaxResults",
3990			TruncationToken: "",
3991		},
3992	}
3993
3994	if input == nil {
3995		input = &DescribeEffectivePatchesForPatchBaselineInput{}
3996	}
3997
3998	output = &DescribeEffectivePatchesForPatchBaselineOutput{}
3999	req = c.newRequest(op, input, output)
4000	return
4001}
4002
4003// DescribeEffectivePatchesForPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
4004//
4005// Retrieves the current effective patches (the patch and the approval state)
4006// for the specified patch baseline. Applies to patch baselines for Windows
4007// only.
4008//
4009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4010// with awserr.Error's Code and Message methods to get detailed information about
4011// the error.
4012//
4013// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4014// API operation DescribeEffectivePatchesForPatchBaseline for usage and error information.
4015//
4016// Returned Error Types:
4017//   * InvalidResourceId
4018//   The resource ID isn't valid. Verify that you entered the correct ID and try
4019//   again.
4020//
4021//   * DoesNotExistException
4022//   Error returned when the ID specified for a resource, such as a maintenance
4023//   window or patch baseline, doesn't exist.
4024//
4025//   For information about resource quotas in Amazon Web Services Systems Manager,
4026//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
4027//   in the Amazon Web Services General Reference.
4028//
4029//   * UnsupportedOperatingSystem
4030//   The operating systems you specified isn't supported, or the operation isn't
4031//   supported for the operating system.
4032//
4033//   * InternalServerError
4034//   An error occurred on the server side.
4035//
4036// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline
4037func (c *SSM) DescribeEffectivePatchesForPatchBaseline(input *DescribeEffectivePatchesForPatchBaselineInput) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
4038	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
4039	return out, req.Send()
4040}
4041
4042// DescribeEffectivePatchesForPatchBaselineWithContext is the same as DescribeEffectivePatchesForPatchBaseline with the addition of
4043// the ability to pass a context and additional request options.
4044//
4045// See DescribeEffectivePatchesForPatchBaseline for details on how to use this API operation.
4046//
4047// The context must be non-nil and will be used for request cancellation. If
4048// the context is nil a panic will occur. In the future the SDK may create
4049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4050// for more information on using Contexts.
4051func (c *SSM) DescribeEffectivePatchesForPatchBaselineWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, opts ...request.Option) (*DescribeEffectivePatchesForPatchBaselineOutput, error) {
4052	req, out := c.DescribeEffectivePatchesForPatchBaselineRequest(input)
4053	req.SetContext(ctx)
4054	req.ApplyOptions(opts...)
4055	return out, req.Send()
4056}
4057
4058// DescribeEffectivePatchesForPatchBaselinePages iterates over the pages of a DescribeEffectivePatchesForPatchBaseline operation,
4059// calling the "fn" function with the response data for each page. To stop
4060// iterating, return false from the fn function.
4061//
4062// See DescribeEffectivePatchesForPatchBaseline method for more information on how to use this operation.
4063//
4064// Note: This operation can generate multiple requests to a service.
4065//
4066//    // Example iterating over at most 3 pages of a DescribeEffectivePatchesForPatchBaseline operation.
4067//    pageNum := 0
4068//    err := client.DescribeEffectivePatchesForPatchBaselinePages(params,
4069//        func(page *ssm.DescribeEffectivePatchesForPatchBaselineOutput, lastPage bool) bool {
4070//            pageNum++
4071//            fmt.Println(page)
4072//            return pageNum <= 3
4073//        })
4074//
4075func (c *SSM) DescribeEffectivePatchesForPatchBaselinePages(input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool) error {
4076	return c.DescribeEffectivePatchesForPatchBaselinePagesWithContext(aws.BackgroundContext(), input, fn)
4077}
4078
4079// DescribeEffectivePatchesForPatchBaselinePagesWithContext same as DescribeEffectivePatchesForPatchBaselinePages except
4080// it takes a Context and allows setting request options on the pages.
4081//
4082// The context must be non-nil and will be used for request cancellation. If
4083// the context is nil a panic will occur. In the future the SDK may create
4084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4085// for more information on using Contexts.
4086func (c *SSM) DescribeEffectivePatchesForPatchBaselinePagesWithContext(ctx aws.Context, input *DescribeEffectivePatchesForPatchBaselineInput, fn func(*DescribeEffectivePatchesForPatchBaselineOutput, bool) bool, opts ...request.Option) error {
4087	p := request.Pagination{
4088		NewRequest: func() (*request.Request, error) {
4089			var inCpy *DescribeEffectivePatchesForPatchBaselineInput
4090			if input != nil {
4091				tmp := *input
4092				inCpy = &tmp
4093			}
4094			req, _ := c.DescribeEffectivePatchesForPatchBaselineRequest(inCpy)
4095			req.SetContext(ctx)
4096			req.ApplyOptions(opts...)
4097			return req, nil
4098		},
4099	}
4100
4101	for p.Next() {
4102		if !fn(p.Page().(*DescribeEffectivePatchesForPatchBaselineOutput), !p.HasNextPage()) {
4103			break
4104		}
4105	}
4106
4107	return p.Err()
4108}
4109
4110const opDescribeInstanceAssociationsStatus = "DescribeInstanceAssociationsStatus"
4111
4112// DescribeInstanceAssociationsStatusRequest generates a "aws/request.Request" representing the
4113// client's request for the DescribeInstanceAssociationsStatus operation. The "output" return
4114// value will be populated with the request's response once the request completes
4115// successfully.
4116//
4117// Use "Send" method on the returned Request to send the API call to the service.
4118// the "output" return value is not valid until after Send returns without error.
4119//
4120// See DescribeInstanceAssociationsStatus for more information on using the DescribeInstanceAssociationsStatus
4121// API call, and error handling.
4122//
4123// This method is useful when you want to inject custom logic or configuration
4124// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4125//
4126//
4127//    // Example sending a request using the DescribeInstanceAssociationsStatusRequest method.
4128//    req, resp := client.DescribeInstanceAssociationsStatusRequest(params)
4129//
4130//    err := req.Send()
4131//    if err == nil { // resp is now filled
4132//        fmt.Println(resp)
4133//    }
4134//
4135// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
4136func (c *SSM) DescribeInstanceAssociationsStatusRequest(input *DescribeInstanceAssociationsStatusInput) (req *request.Request, output *DescribeInstanceAssociationsStatusOutput) {
4137	op := &request.Operation{
4138		Name:       opDescribeInstanceAssociationsStatus,
4139		HTTPMethod: "POST",
4140		HTTPPath:   "/",
4141		Paginator: &request.Paginator{
4142			InputTokens:     []string{"NextToken"},
4143			OutputTokens:    []string{"NextToken"},
4144			LimitToken:      "MaxResults",
4145			TruncationToken: "",
4146		},
4147	}
4148
4149	if input == nil {
4150		input = &DescribeInstanceAssociationsStatusInput{}
4151	}
4152
4153	output = &DescribeInstanceAssociationsStatusOutput{}
4154	req = c.newRequest(op, input, output)
4155	return
4156}
4157
4158// DescribeInstanceAssociationsStatus API operation for Amazon Simple Systems Manager (SSM).
4159//
4160// The status of the associations for the instance(s).
4161//
4162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4163// with awserr.Error's Code and Message methods to get detailed information about
4164// the error.
4165//
4166// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4167// API operation DescribeInstanceAssociationsStatus for usage and error information.
4168//
4169// Returned Error Types:
4170//   * InternalServerError
4171//   An error occurred on the server side.
4172//
4173//   * InvalidInstanceId
4174//   The following problems can cause this exception:
4175//
4176//      * You don't have permission to access the instance.
4177//
4178//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
4179//      Verify that SSM Agent is running.
4180//
4181//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
4182//      Agent.
4183//
4184//      * The instance isn't in valid state. Valid states are: Running, Pending,
4185//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
4186//
4187//   * InvalidNextToken
4188//   The specified token isn't valid.
4189//
4190// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus
4191func (c *SSM) DescribeInstanceAssociationsStatus(input *DescribeInstanceAssociationsStatusInput) (*DescribeInstanceAssociationsStatusOutput, error) {
4192	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
4193	return out, req.Send()
4194}
4195
4196// DescribeInstanceAssociationsStatusWithContext is the same as DescribeInstanceAssociationsStatus with the addition of
4197// the ability to pass a context and additional request options.
4198//
4199// See DescribeInstanceAssociationsStatus for details on how to use this API operation.
4200//
4201// The context must be non-nil and will be used for request cancellation. If
4202// the context is nil a panic will occur. In the future the SDK may create
4203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4204// for more information on using Contexts.
4205func (c *SSM) DescribeInstanceAssociationsStatusWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, opts ...request.Option) (*DescribeInstanceAssociationsStatusOutput, error) {
4206	req, out := c.DescribeInstanceAssociationsStatusRequest(input)
4207	req.SetContext(ctx)
4208	req.ApplyOptions(opts...)
4209	return out, req.Send()
4210}
4211
4212// DescribeInstanceAssociationsStatusPages iterates over the pages of a DescribeInstanceAssociationsStatus operation,
4213// calling the "fn" function with the response data for each page. To stop
4214// iterating, return false from the fn function.
4215//
4216// See DescribeInstanceAssociationsStatus method for more information on how to use this operation.
4217//
4218// Note: This operation can generate multiple requests to a service.
4219//
4220//    // Example iterating over at most 3 pages of a DescribeInstanceAssociationsStatus operation.
4221//    pageNum := 0
4222//    err := client.DescribeInstanceAssociationsStatusPages(params,
4223//        func(page *ssm.DescribeInstanceAssociationsStatusOutput, lastPage bool) bool {
4224//            pageNum++
4225//            fmt.Println(page)
4226//            return pageNum <= 3
4227//        })
4228//
4229func (c *SSM) DescribeInstanceAssociationsStatusPages(input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool) error {
4230	return c.DescribeInstanceAssociationsStatusPagesWithContext(aws.BackgroundContext(), input, fn)
4231}
4232
4233// DescribeInstanceAssociationsStatusPagesWithContext same as DescribeInstanceAssociationsStatusPages except
4234// it takes a Context and allows setting request options on the pages.
4235//
4236// The context must be non-nil and will be used for request cancellation. If
4237// the context is nil a panic will occur. In the future the SDK may create
4238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4239// for more information on using Contexts.
4240func (c *SSM) DescribeInstanceAssociationsStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceAssociationsStatusInput, fn func(*DescribeInstanceAssociationsStatusOutput, bool) bool, opts ...request.Option) error {
4241	p := request.Pagination{
4242		NewRequest: func() (*request.Request, error) {
4243			var inCpy *DescribeInstanceAssociationsStatusInput
4244			if input != nil {
4245				tmp := *input
4246				inCpy = &tmp
4247			}
4248			req, _ := c.DescribeInstanceAssociationsStatusRequest(inCpy)
4249			req.SetContext(ctx)
4250			req.ApplyOptions(opts...)
4251			return req, nil
4252		},
4253	}
4254
4255	for p.Next() {
4256		if !fn(p.Page().(*DescribeInstanceAssociationsStatusOutput), !p.HasNextPage()) {
4257			break
4258		}
4259	}
4260
4261	return p.Err()
4262}
4263
4264const opDescribeInstanceInformation = "DescribeInstanceInformation"
4265
4266// DescribeInstanceInformationRequest generates a "aws/request.Request" representing the
4267// client's request for the DescribeInstanceInformation operation. The "output" return
4268// value will be populated with the request's response once the request completes
4269// successfully.
4270//
4271// Use "Send" method on the returned Request to send the API call to the service.
4272// the "output" return value is not valid until after Send returns without error.
4273//
4274// See DescribeInstanceInformation for more information on using the DescribeInstanceInformation
4275// API call, and error handling.
4276//
4277// This method is useful when you want to inject custom logic or configuration
4278// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4279//
4280//
4281//    // Example sending a request using the DescribeInstanceInformationRequest method.
4282//    req, resp := client.DescribeInstanceInformationRequest(params)
4283//
4284//    err := req.Send()
4285//    if err == nil { // resp is now filled
4286//        fmt.Println(resp)
4287//    }
4288//
4289// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
4290func (c *SSM) DescribeInstanceInformationRequest(input *DescribeInstanceInformationInput) (req *request.Request, output *DescribeInstanceInformationOutput) {
4291	op := &request.Operation{
4292		Name:       opDescribeInstanceInformation,
4293		HTTPMethod: "POST",
4294		HTTPPath:   "/",
4295		Paginator: &request.Paginator{
4296			InputTokens:     []string{"NextToken"},
4297			OutputTokens:    []string{"NextToken"},
4298			LimitToken:      "MaxResults",
4299			TruncationToken: "",
4300		},
4301	}
4302
4303	if input == nil {
4304		input = &DescribeInstanceInformationInput{}
4305	}
4306
4307	output = &DescribeInstanceInformationOutput{}
4308	req = c.newRequest(op, input, output)
4309	return
4310}
4311
4312// DescribeInstanceInformation API operation for Amazon Simple Systems Manager (SSM).
4313//
4314// Describes one or more of your instances, including information about the
4315// operating system platform, the version of SSM Agent installed on the instance,
4316// instance status, and so on.
4317//
4318// If you specify one or more instance IDs, it returns information for those
4319// instances. If you don't specify instance IDs, it returns information for
4320// all your instances. If you specify an instance ID that isn't valid or an
4321// instance that you don't own, you receive an error.
4322//
4323// The IamRole field for this API operation is the Identity and Access Management
4324// (IAM) role assigned to on-premises instances. This call doesn't return the
4325// IAM role for EC2 instances.
4326//
4327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4328// with awserr.Error's Code and Message methods to get detailed information about
4329// the error.
4330//
4331// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4332// API operation DescribeInstanceInformation for usage and error information.
4333//
4334// Returned Error Types:
4335//   * InternalServerError
4336//   An error occurred on the server side.
4337//
4338//   * InvalidInstanceId
4339//   The following problems can cause this exception:
4340//
4341//      * You don't have permission to access the instance.
4342//
4343//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
4344//      Verify that SSM Agent is running.
4345//
4346//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
4347//      Agent.
4348//
4349//      * The instance isn't in valid state. Valid states are: Running, Pending,
4350//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
4351//
4352//   * InvalidNextToken
4353//   The specified token isn't valid.
4354//
4355//   * InvalidInstanceInformationFilterValue
4356//   The specified filter value isn't valid.
4357//
4358//   * InvalidFilterKey
4359//   The specified key isn't valid.
4360//
4361// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation
4362func (c *SSM) DescribeInstanceInformation(input *DescribeInstanceInformationInput) (*DescribeInstanceInformationOutput, error) {
4363	req, out := c.DescribeInstanceInformationRequest(input)
4364	return out, req.Send()
4365}
4366
4367// DescribeInstanceInformationWithContext is the same as DescribeInstanceInformation with the addition of
4368// the ability to pass a context and additional request options.
4369//
4370// See DescribeInstanceInformation for details on how to use this API operation.
4371//
4372// The context must be non-nil and will be used for request cancellation. If
4373// the context is nil a panic will occur. In the future the SDK may create
4374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4375// for more information on using Contexts.
4376func (c *SSM) DescribeInstanceInformationWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, opts ...request.Option) (*DescribeInstanceInformationOutput, error) {
4377	req, out := c.DescribeInstanceInformationRequest(input)
4378	req.SetContext(ctx)
4379	req.ApplyOptions(opts...)
4380	return out, req.Send()
4381}
4382
4383// DescribeInstanceInformationPages iterates over the pages of a DescribeInstanceInformation operation,
4384// calling the "fn" function with the response data for each page. To stop
4385// iterating, return false from the fn function.
4386//
4387// See DescribeInstanceInformation method for more information on how to use this operation.
4388//
4389// Note: This operation can generate multiple requests to a service.
4390//
4391//    // Example iterating over at most 3 pages of a DescribeInstanceInformation operation.
4392//    pageNum := 0
4393//    err := client.DescribeInstanceInformationPages(params,
4394//        func(page *ssm.DescribeInstanceInformationOutput, lastPage bool) bool {
4395//            pageNum++
4396//            fmt.Println(page)
4397//            return pageNum <= 3
4398//        })
4399//
4400func (c *SSM) DescribeInstanceInformationPages(input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool) error {
4401	return c.DescribeInstanceInformationPagesWithContext(aws.BackgroundContext(), input, fn)
4402}
4403
4404// DescribeInstanceInformationPagesWithContext same as DescribeInstanceInformationPages except
4405// it takes a Context and allows setting request options on the pages.
4406//
4407// The context must be non-nil and will be used for request cancellation. If
4408// the context is nil a panic will occur. In the future the SDK may create
4409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4410// for more information on using Contexts.
4411func (c *SSM) DescribeInstanceInformationPagesWithContext(ctx aws.Context, input *DescribeInstanceInformationInput, fn func(*DescribeInstanceInformationOutput, bool) bool, opts ...request.Option) error {
4412	p := request.Pagination{
4413		NewRequest: func() (*request.Request, error) {
4414			var inCpy *DescribeInstanceInformationInput
4415			if input != nil {
4416				tmp := *input
4417				inCpy = &tmp
4418			}
4419			req, _ := c.DescribeInstanceInformationRequest(inCpy)
4420			req.SetContext(ctx)
4421			req.ApplyOptions(opts...)
4422			return req, nil
4423		},
4424	}
4425
4426	for p.Next() {
4427		if !fn(p.Page().(*DescribeInstanceInformationOutput), !p.HasNextPage()) {
4428			break
4429		}
4430	}
4431
4432	return p.Err()
4433}
4434
4435const opDescribeInstancePatchStates = "DescribeInstancePatchStates"
4436
4437// DescribeInstancePatchStatesRequest generates a "aws/request.Request" representing the
4438// client's request for the DescribeInstancePatchStates operation. The "output" return
4439// value will be populated with the request's response once the request completes
4440// successfully.
4441//
4442// Use "Send" method on the returned Request to send the API call to the service.
4443// the "output" return value is not valid until after Send returns without error.
4444//
4445// See DescribeInstancePatchStates for more information on using the DescribeInstancePatchStates
4446// API call, and error handling.
4447//
4448// This method is useful when you want to inject custom logic or configuration
4449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4450//
4451//
4452//    // Example sending a request using the DescribeInstancePatchStatesRequest method.
4453//    req, resp := client.DescribeInstancePatchStatesRequest(params)
4454//
4455//    err := req.Send()
4456//    if err == nil { // resp is now filled
4457//        fmt.Println(resp)
4458//    }
4459//
4460// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
4461func (c *SSM) DescribeInstancePatchStatesRequest(input *DescribeInstancePatchStatesInput) (req *request.Request, output *DescribeInstancePatchStatesOutput) {
4462	op := &request.Operation{
4463		Name:       opDescribeInstancePatchStates,
4464		HTTPMethod: "POST",
4465		HTTPPath:   "/",
4466		Paginator: &request.Paginator{
4467			InputTokens:     []string{"NextToken"},
4468			OutputTokens:    []string{"NextToken"},
4469			LimitToken:      "MaxResults",
4470			TruncationToken: "",
4471		},
4472	}
4473
4474	if input == nil {
4475		input = &DescribeInstancePatchStatesInput{}
4476	}
4477
4478	output = &DescribeInstancePatchStatesOutput{}
4479	req = c.newRequest(op, input, output)
4480	return
4481}
4482
4483// DescribeInstancePatchStates API operation for Amazon Simple Systems Manager (SSM).
4484//
4485// Retrieves the high-level patch state of one or more instances.
4486//
4487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4488// with awserr.Error's Code and Message methods to get detailed information about
4489// the error.
4490//
4491// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4492// API operation DescribeInstancePatchStates for usage and error information.
4493//
4494// Returned Error Types:
4495//   * InternalServerError
4496//   An error occurred on the server side.
4497//
4498//   * InvalidNextToken
4499//   The specified token isn't valid.
4500//
4501// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates
4502func (c *SSM) DescribeInstancePatchStates(input *DescribeInstancePatchStatesInput) (*DescribeInstancePatchStatesOutput, error) {
4503	req, out := c.DescribeInstancePatchStatesRequest(input)
4504	return out, req.Send()
4505}
4506
4507// DescribeInstancePatchStatesWithContext is the same as DescribeInstancePatchStates with the addition of
4508// the ability to pass a context and additional request options.
4509//
4510// See DescribeInstancePatchStates for details on how to use this API operation.
4511//
4512// The context must be non-nil and will be used for request cancellation. If
4513// the context is nil a panic will occur. In the future the SDK may create
4514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4515// for more information on using Contexts.
4516func (c *SSM) DescribeInstancePatchStatesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, opts ...request.Option) (*DescribeInstancePatchStatesOutput, error) {
4517	req, out := c.DescribeInstancePatchStatesRequest(input)
4518	req.SetContext(ctx)
4519	req.ApplyOptions(opts...)
4520	return out, req.Send()
4521}
4522
4523// DescribeInstancePatchStatesPages iterates over the pages of a DescribeInstancePatchStates operation,
4524// calling the "fn" function with the response data for each page. To stop
4525// iterating, return false from the fn function.
4526//
4527// See DescribeInstancePatchStates method for more information on how to use this operation.
4528//
4529// Note: This operation can generate multiple requests to a service.
4530//
4531//    // Example iterating over at most 3 pages of a DescribeInstancePatchStates operation.
4532//    pageNum := 0
4533//    err := client.DescribeInstancePatchStatesPages(params,
4534//        func(page *ssm.DescribeInstancePatchStatesOutput, lastPage bool) bool {
4535//            pageNum++
4536//            fmt.Println(page)
4537//            return pageNum <= 3
4538//        })
4539//
4540func (c *SSM) DescribeInstancePatchStatesPages(input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool) error {
4541	return c.DescribeInstancePatchStatesPagesWithContext(aws.BackgroundContext(), input, fn)
4542}
4543
4544// DescribeInstancePatchStatesPagesWithContext same as DescribeInstancePatchStatesPages except
4545// it takes a Context and allows setting request options on the pages.
4546//
4547// The context must be non-nil and will be used for request cancellation. If
4548// the context is nil a panic will occur. In the future the SDK may create
4549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4550// for more information on using Contexts.
4551func (c *SSM) DescribeInstancePatchStatesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesInput, fn func(*DescribeInstancePatchStatesOutput, bool) bool, opts ...request.Option) error {
4552	p := request.Pagination{
4553		NewRequest: func() (*request.Request, error) {
4554			var inCpy *DescribeInstancePatchStatesInput
4555			if input != nil {
4556				tmp := *input
4557				inCpy = &tmp
4558			}
4559			req, _ := c.DescribeInstancePatchStatesRequest(inCpy)
4560			req.SetContext(ctx)
4561			req.ApplyOptions(opts...)
4562			return req, nil
4563		},
4564	}
4565
4566	for p.Next() {
4567		if !fn(p.Page().(*DescribeInstancePatchStatesOutput), !p.HasNextPage()) {
4568			break
4569		}
4570	}
4571
4572	return p.Err()
4573}
4574
4575const opDescribeInstancePatchStatesForPatchGroup = "DescribeInstancePatchStatesForPatchGroup"
4576
4577// DescribeInstancePatchStatesForPatchGroupRequest generates a "aws/request.Request" representing the
4578// client's request for the DescribeInstancePatchStatesForPatchGroup operation. The "output" return
4579// value will be populated with the request's response once the request completes
4580// successfully.
4581//
4582// Use "Send" method on the returned Request to send the API call to the service.
4583// the "output" return value is not valid until after Send returns without error.
4584//
4585// See DescribeInstancePatchStatesForPatchGroup for more information on using the DescribeInstancePatchStatesForPatchGroup
4586// API call, and error handling.
4587//
4588// This method is useful when you want to inject custom logic or configuration
4589// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4590//
4591//
4592//    // Example sending a request using the DescribeInstancePatchStatesForPatchGroupRequest method.
4593//    req, resp := client.DescribeInstancePatchStatesForPatchGroupRequest(params)
4594//
4595//    err := req.Send()
4596//    if err == nil { // resp is now filled
4597//        fmt.Println(resp)
4598//    }
4599//
4600// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
4601func (c *SSM) DescribeInstancePatchStatesForPatchGroupRequest(input *DescribeInstancePatchStatesForPatchGroupInput) (req *request.Request, output *DescribeInstancePatchStatesForPatchGroupOutput) {
4602	op := &request.Operation{
4603		Name:       opDescribeInstancePatchStatesForPatchGroup,
4604		HTTPMethod: "POST",
4605		HTTPPath:   "/",
4606		Paginator: &request.Paginator{
4607			InputTokens:     []string{"NextToken"},
4608			OutputTokens:    []string{"NextToken"},
4609			LimitToken:      "MaxResults",
4610			TruncationToken: "",
4611		},
4612	}
4613
4614	if input == nil {
4615		input = &DescribeInstancePatchStatesForPatchGroupInput{}
4616	}
4617
4618	output = &DescribeInstancePatchStatesForPatchGroupOutput{}
4619	req = c.newRequest(op, input, output)
4620	return
4621}
4622
4623// DescribeInstancePatchStatesForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
4624//
4625// Retrieves the high-level patch state for the instances in the specified patch
4626// group.
4627//
4628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4629// with awserr.Error's Code and Message methods to get detailed information about
4630// the error.
4631//
4632// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4633// API operation DescribeInstancePatchStatesForPatchGroup for usage and error information.
4634//
4635// Returned Error Types:
4636//   * InternalServerError
4637//   An error occurred on the server side.
4638//
4639//   * InvalidFilter
4640//   The filter name isn't valid. Verify the you entered the correct name and
4641//   try again.
4642//
4643//   * InvalidNextToken
4644//   The specified token isn't valid.
4645//
4646// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup
4647func (c *SSM) DescribeInstancePatchStatesForPatchGroup(input *DescribeInstancePatchStatesForPatchGroupInput) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
4648	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
4649	return out, req.Send()
4650}
4651
4652// DescribeInstancePatchStatesForPatchGroupWithContext is the same as DescribeInstancePatchStatesForPatchGroup with the addition of
4653// the ability to pass a context and additional request options.
4654//
4655// See DescribeInstancePatchStatesForPatchGroup for details on how to use this API operation.
4656//
4657// The context must be non-nil and will be used for request cancellation. If
4658// the context is nil a panic will occur. In the future the SDK may create
4659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4660// for more information on using Contexts.
4661func (c *SSM) DescribeInstancePatchStatesForPatchGroupWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, opts ...request.Option) (*DescribeInstancePatchStatesForPatchGroupOutput, error) {
4662	req, out := c.DescribeInstancePatchStatesForPatchGroupRequest(input)
4663	req.SetContext(ctx)
4664	req.ApplyOptions(opts...)
4665	return out, req.Send()
4666}
4667
4668// DescribeInstancePatchStatesForPatchGroupPages iterates over the pages of a DescribeInstancePatchStatesForPatchGroup operation,
4669// calling the "fn" function with the response data for each page. To stop
4670// iterating, return false from the fn function.
4671//
4672// See DescribeInstancePatchStatesForPatchGroup method for more information on how to use this operation.
4673//
4674// Note: This operation can generate multiple requests to a service.
4675//
4676//    // Example iterating over at most 3 pages of a DescribeInstancePatchStatesForPatchGroup operation.
4677//    pageNum := 0
4678//    err := client.DescribeInstancePatchStatesForPatchGroupPages(params,
4679//        func(page *ssm.DescribeInstancePatchStatesForPatchGroupOutput, lastPage bool) bool {
4680//            pageNum++
4681//            fmt.Println(page)
4682//            return pageNum <= 3
4683//        })
4684//
4685func (c *SSM) DescribeInstancePatchStatesForPatchGroupPages(input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool) error {
4686	return c.DescribeInstancePatchStatesForPatchGroupPagesWithContext(aws.BackgroundContext(), input, fn)
4687}
4688
4689// DescribeInstancePatchStatesForPatchGroupPagesWithContext same as DescribeInstancePatchStatesForPatchGroupPages except
4690// it takes a Context and allows setting request options on the pages.
4691//
4692// The context must be non-nil and will be used for request cancellation. If
4693// the context is nil a panic will occur. In the future the SDK may create
4694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4695// for more information on using Contexts.
4696func (c *SSM) DescribeInstancePatchStatesForPatchGroupPagesWithContext(ctx aws.Context, input *DescribeInstancePatchStatesForPatchGroupInput, fn func(*DescribeInstancePatchStatesForPatchGroupOutput, bool) bool, opts ...request.Option) error {
4697	p := request.Pagination{
4698		NewRequest: func() (*request.Request, error) {
4699			var inCpy *DescribeInstancePatchStatesForPatchGroupInput
4700			if input != nil {
4701				tmp := *input
4702				inCpy = &tmp
4703			}
4704			req, _ := c.DescribeInstancePatchStatesForPatchGroupRequest(inCpy)
4705			req.SetContext(ctx)
4706			req.ApplyOptions(opts...)
4707			return req, nil
4708		},
4709	}
4710
4711	for p.Next() {
4712		if !fn(p.Page().(*DescribeInstancePatchStatesForPatchGroupOutput), !p.HasNextPage()) {
4713			break
4714		}
4715	}
4716
4717	return p.Err()
4718}
4719
4720const opDescribeInstancePatches = "DescribeInstancePatches"
4721
4722// DescribeInstancePatchesRequest generates a "aws/request.Request" representing the
4723// client's request for the DescribeInstancePatches operation. The "output" return
4724// value will be populated with the request's response once the request completes
4725// successfully.
4726//
4727// Use "Send" method on the returned Request to send the API call to the service.
4728// the "output" return value is not valid until after Send returns without error.
4729//
4730// See DescribeInstancePatches for more information on using the DescribeInstancePatches
4731// API call, and error handling.
4732//
4733// This method is useful when you want to inject custom logic or configuration
4734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4735//
4736//
4737//    // Example sending a request using the DescribeInstancePatchesRequest method.
4738//    req, resp := client.DescribeInstancePatchesRequest(params)
4739//
4740//    err := req.Send()
4741//    if err == nil { // resp is now filled
4742//        fmt.Println(resp)
4743//    }
4744//
4745// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
4746func (c *SSM) DescribeInstancePatchesRequest(input *DescribeInstancePatchesInput) (req *request.Request, output *DescribeInstancePatchesOutput) {
4747	op := &request.Operation{
4748		Name:       opDescribeInstancePatches,
4749		HTTPMethod: "POST",
4750		HTTPPath:   "/",
4751		Paginator: &request.Paginator{
4752			InputTokens:     []string{"NextToken"},
4753			OutputTokens:    []string{"NextToken"},
4754			LimitToken:      "MaxResults",
4755			TruncationToken: "",
4756		},
4757	}
4758
4759	if input == nil {
4760		input = &DescribeInstancePatchesInput{}
4761	}
4762
4763	output = &DescribeInstancePatchesOutput{}
4764	req = c.newRequest(op, input, output)
4765	return
4766}
4767
4768// DescribeInstancePatches API operation for Amazon Simple Systems Manager (SSM).
4769//
4770// Retrieves information about the patches on the specified instance and their
4771// state relative to the patch baseline being used for the instance.
4772//
4773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4774// with awserr.Error's Code and Message methods to get detailed information about
4775// the error.
4776//
4777// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4778// API operation DescribeInstancePatches for usage and error information.
4779//
4780// Returned Error Types:
4781//   * InternalServerError
4782//   An error occurred on the server side.
4783//
4784//   * InvalidInstanceId
4785//   The following problems can cause this exception:
4786//
4787//      * You don't have permission to access the instance.
4788//
4789//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
4790//      Verify that SSM Agent is running.
4791//
4792//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
4793//      Agent.
4794//
4795//      * The instance isn't in valid state. Valid states are: Running, Pending,
4796//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
4797//
4798//   * InvalidFilter
4799//   The filter name isn't valid. Verify the you entered the correct name and
4800//   try again.
4801//
4802//   * InvalidNextToken
4803//   The specified token isn't valid.
4804//
4805// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches
4806func (c *SSM) DescribeInstancePatches(input *DescribeInstancePatchesInput) (*DescribeInstancePatchesOutput, error) {
4807	req, out := c.DescribeInstancePatchesRequest(input)
4808	return out, req.Send()
4809}
4810
4811// DescribeInstancePatchesWithContext is the same as DescribeInstancePatches with the addition of
4812// the ability to pass a context and additional request options.
4813//
4814// See DescribeInstancePatches for details on how to use this API operation.
4815//
4816// The context must be non-nil and will be used for request cancellation. If
4817// the context is nil a panic will occur. In the future the SDK may create
4818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4819// for more information on using Contexts.
4820func (c *SSM) DescribeInstancePatchesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, opts ...request.Option) (*DescribeInstancePatchesOutput, error) {
4821	req, out := c.DescribeInstancePatchesRequest(input)
4822	req.SetContext(ctx)
4823	req.ApplyOptions(opts...)
4824	return out, req.Send()
4825}
4826
4827// DescribeInstancePatchesPages iterates over the pages of a DescribeInstancePatches operation,
4828// calling the "fn" function with the response data for each page. To stop
4829// iterating, return false from the fn function.
4830//
4831// See DescribeInstancePatches method for more information on how to use this operation.
4832//
4833// Note: This operation can generate multiple requests to a service.
4834//
4835//    // Example iterating over at most 3 pages of a DescribeInstancePatches operation.
4836//    pageNum := 0
4837//    err := client.DescribeInstancePatchesPages(params,
4838//        func(page *ssm.DescribeInstancePatchesOutput, lastPage bool) bool {
4839//            pageNum++
4840//            fmt.Println(page)
4841//            return pageNum <= 3
4842//        })
4843//
4844func (c *SSM) DescribeInstancePatchesPages(input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool) error {
4845	return c.DescribeInstancePatchesPagesWithContext(aws.BackgroundContext(), input, fn)
4846}
4847
4848// DescribeInstancePatchesPagesWithContext same as DescribeInstancePatchesPages except
4849// it takes a Context and allows setting request options on the pages.
4850//
4851// The context must be non-nil and will be used for request cancellation. If
4852// the context is nil a panic will occur. In the future the SDK may create
4853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4854// for more information on using Contexts.
4855func (c *SSM) DescribeInstancePatchesPagesWithContext(ctx aws.Context, input *DescribeInstancePatchesInput, fn func(*DescribeInstancePatchesOutput, bool) bool, opts ...request.Option) error {
4856	p := request.Pagination{
4857		NewRequest: func() (*request.Request, error) {
4858			var inCpy *DescribeInstancePatchesInput
4859			if input != nil {
4860				tmp := *input
4861				inCpy = &tmp
4862			}
4863			req, _ := c.DescribeInstancePatchesRequest(inCpy)
4864			req.SetContext(ctx)
4865			req.ApplyOptions(opts...)
4866			return req, nil
4867		},
4868	}
4869
4870	for p.Next() {
4871		if !fn(p.Page().(*DescribeInstancePatchesOutput), !p.HasNextPage()) {
4872			break
4873		}
4874	}
4875
4876	return p.Err()
4877}
4878
4879const opDescribeInventoryDeletions = "DescribeInventoryDeletions"
4880
4881// DescribeInventoryDeletionsRequest generates a "aws/request.Request" representing the
4882// client's request for the DescribeInventoryDeletions operation. The "output" return
4883// value will be populated with the request's response once the request completes
4884// successfully.
4885//
4886// Use "Send" method on the returned Request to send the API call to the service.
4887// the "output" return value is not valid until after Send returns without error.
4888//
4889// See DescribeInventoryDeletions for more information on using the DescribeInventoryDeletions
4890// API call, and error handling.
4891//
4892// This method is useful when you want to inject custom logic or configuration
4893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4894//
4895//
4896//    // Example sending a request using the DescribeInventoryDeletionsRequest method.
4897//    req, resp := client.DescribeInventoryDeletionsRequest(params)
4898//
4899//    err := req.Send()
4900//    if err == nil { // resp is now filled
4901//        fmt.Println(resp)
4902//    }
4903//
4904// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
4905func (c *SSM) DescribeInventoryDeletionsRequest(input *DescribeInventoryDeletionsInput) (req *request.Request, output *DescribeInventoryDeletionsOutput) {
4906	op := &request.Operation{
4907		Name:       opDescribeInventoryDeletions,
4908		HTTPMethod: "POST",
4909		HTTPPath:   "/",
4910		Paginator: &request.Paginator{
4911			InputTokens:     []string{"NextToken"},
4912			OutputTokens:    []string{"NextToken"},
4913			LimitToken:      "MaxResults",
4914			TruncationToken: "",
4915		},
4916	}
4917
4918	if input == nil {
4919		input = &DescribeInventoryDeletionsInput{}
4920	}
4921
4922	output = &DescribeInventoryDeletionsOutput{}
4923	req = c.newRequest(op, input, output)
4924	return
4925}
4926
4927// DescribeInventoryDeletions API operation for Amazon Simple Systems Manager (SSM).
4928//
4929// Describes a specific delete inventory operation.
4930//
4931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4932// with awserr.Error's Code and Message methods to get detailed information about
4933// the error.
4934//
4935// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
4936// API operation DescribeInventoryDeletions for usage and error information.
4937//
4938// Returned Error Types:
4939//   * InternalServerError
4940//   An error occurred on the server side.
4941//
4942//   * InvalidDeletionIdException
4943//   The ID specified for the delete operation doesn't exist or isn't valid. Verify
4944//   the ID and try again.
4945//
4946//   * InvalidNextToken
4947//   The specified token isn't valid.
4948//
4949// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions
4950func (c *SSM) DescribeInventoryDeletions(input *DescribeInventoryDeletionsInput) (*DescribeInventoryDeletionsOutput, error) {
4951	req, out := c.DescribeInventoryDeletionsRequest(input)
4952	return out, req.Send()
4953}
4954
4955// DescribeInventoryDeletionsWithContext is the same as DescribeInventoryDeletions with the addition of
4956// the ability to pass a context and additional request options.
4957//
4958// See DescribeInventoryDeletions for details on how to use this API operation.
4959//
4960// The context must be non-nil and will be used for request cancellation. If
4961// the context is nil a panic will occur. In the future the SDK may create
4962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4963// for more information on using Contexts.
4964func (c *SSM) DescribeInventoryDeletionsWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, opts ...request.Option) (*DescribeInventoryDeletionsOutput, error) {
4965	req, out := c.DescribeInventoryDeletionsRequest(input)
4966	req.SetContext(ctx)
4967	req.ApplyOptions(opts...)
4968	return out, req.Send()
4969}
4970
4971// DescribeInventoryDeletionsPages iterates over the pages of a DescribeInventoryDeletions operation,
4972// calling the "fn" function with the response data for each page. To stop
4973// iterating, return false from the fn function.
4974//
4975// See DescribeInventoryDeletions method for more information on how to use this operation.
4976//
4977// Note: This operation can generate multiple requests to a service.
4978//
4979//    // Example iterating over at most 3 pages of a DescribeInventoryDeletions operation.
4980//    pageNum := 0
4981//    err := client.DescribeInventoryDeletionsPages(params,
4982//        func(page *ssm.DescribeInventoryDeletionsOutput, lastPage bool) bool {
4983//            pageNum++
4984//            fmt.Println(page)
4985//            return pageNum <= 3
4986//        })
4987//
4988func (c *SSM) DescribeInventoryDeletionsPages(input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool) error {
4989	return c.DescribeInventoryDeletionsPagesWithContext(aws.BackgroundContext(), input, fn)
4990}
4991
4992// DescribeInventoryDeletionsPagesWithContext same as DescribeInventoryDeletionsPages except
4993// it takes a Context and allows setting request options on the pages.
4994//
4995// The context must be non-nil and will be used for request cancellation. If
4996// the context is nil a panic will occur. In the future the SDK may create
4997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4998// for more information on using Contexts.
4999func (c *SSM) DescribeInventoryDeletionsPagesWithContext(ctx aws.Context, input *DescribeInventoryDeletionsInput, fn func(*DescribeInventoryDeletionsOutput, bool) bool, opts ...request.Option) error {
5000	p := request.Pagination{
5001		NewRequest: func() (*request.Request, error) {
5002			var inCpy *DescribeInventoryDeletionsInput
5003			if input != nil {
5004				tmp := *input
5005				inCpy = &tmp
5006			}
5007			req, _ := c.DescribeInventoryDeletionsRequest(inCpy)
5008			req.SetContext(ctx)
5009			req.ApplyOptions(opts...)
5010			return req, nil
5011		},
5012	}
5013
5014	for p.Next() {
5015		if !fn(p.Page().(*DescribeInventoryDeletionsOutput), !p.HasNextPage()) {
5016			break
5017		}
5018	}
5019
5020	return p.Err()
5021}
5022
5023const opDescribeMaintenanceWindowExecutionTaskInvocations = "DescribeMaintenanceWindowExecutionTaskInvocations"
5024
5025// DescribeMaintenanceWindowExecutionTaskInvocationsRequest generates a "aws/request.Request" representing the
5026// client's request for the DescribeMaintenanceWindowExecutionTaskInvocations operation. The "output" return
5027// value will be populated with the request's response once the request completes
5028// successfully.
5029//
5030// Use "Send" method on the returned Request to send the API call to the service.
5031// the "output" return value is not valid until after Send returns without error.
5032//
5033// See DescribeMaintenanceWindowExecutionTaskInvocations for more information on using the DescribeMaintenanceWindowExecutionTaskInvocations
5034// API call, and error handling.
5035//
5036// This method is useful when you want to inject custom logic or configuration
5037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5038//
5039//
5040//    // Example sending a request using the DescribeMaintenanceWindowExecutionTaskInvocationsRequest method.
5041//    req, resp := client.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(params)
5042//
5043//    err := req.Send()
5044//    if err == nil { // resp is now filled
5045//        fmt.Println(resp)
5046//    }
5047//
5048// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
5049func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) {
5050	op := &request.Operation{
5051		Name:       opDescribeMaintenanceWindowExecutionTaskInvocations,
5052		HTTPMethod: "POST",
5053		HTTPPath:   "/",
5054		Paginator: &request.Paginator{
5055			InputTokens:     []string{"NextToken"},
5056			OutputTokens:    []string{"NextToken"},
5057			LimitToken:      "MaxResults",
5058			TruncationToken: "",
5059		},
5060	}
5061
5062	if input == nil {
5063		input = &DescribeMaintenanceWindowExecutionTaskInvocationsInput{}
5064	}
5065
5066	output = &DescribeMaintenanceWindowExecutionTaskInvocationsOutput{}
5067	req = c.newRequest(op, input, output)
5068	return
5069}
5070
5071// DescribeMaintenanceWindowExecutionTaskInvocations API operation for Amazon Simple Systems Manager (SSM).
5072//
5073// Retrieves the individual task executions (one per target) for a particular
5074// task run as part of a maintenance window execution.
5075//
5076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5077// with awserr.Error's Code and Message methods to get detailed information about
5078// the error.
5079//
5080// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5081// API operation DescribeMaintenanceWindowExecutionTaskInvocations for usage and error information.
5082//
5083// Returned Error Types:
5084//   * DoesNotExistException
5085//   Error returned when the ID specified for a resource, such as a maintenance
5086//   window or patch baseline, doesn't exist.
5087//
5088//   For information about resource quotas in Amazon Web Services Systems Manager,
5089//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
5090//   in the Amazon Web Services General Reference.
5091//
5092//   * InternalServerError
5093//   An error occurred on the server side.
5094//
5095// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations
5096func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocations(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
5097	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
5098	return out, req.Send()
5099}
5100
5101// DescribeMaintenanceWindowExecutionTaskInvocationsWithContext is the same as DescribeMaintenanceWindowExecutionTaskInvocations with the addition of
5102// the ability to pass a context and additional request options.
5103//
5104// See DescribeMaintenanceWindowExecutionTaskInvocations for details on how to use this API operation.
5105//
5106// The context must be non-nil and will be used for request cancellation. If
5107// the context is nil a panic will occur. In the future the SDK may create
5108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5109// for more information on using Contexts.
5110func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, error) {
5111	req, out := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(input)
5112	req.SetContext(ctx)
5113	req.ApplyOptions(opts...)
5114	return out, req.Send()
5115}
5116
5117// DescribeMaintenanceWindowExecutionTaskInvocationsPages iterates over the pages of a DescribeMaintenanceWindowExecutionTaskInvocations operation,
5118// calling the "fn" function with the response data for each page. To stop
5119// iterating, return false from the fn function.
5120//
5121// See DescribeMaintenanceWindowExecutionTaskInvocations method for more information on how to use this operation.
5122//
5123// Note: This operation can generate multiple requests to a service.
5124//
5125//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowExecutionTaskInvocations operation.
5126//    pageNum := 0
5127//    err := client.DescribeMaintenanceWindowExecutionTaskInvocationsPages(params,
5128//        func(page *ssm.DescribeMaintenanceWindowExecutionTaskInvocationsOutput, lastPage bool) bool {
5129//            pageNum++
5130//            fmt.Println(page)
5131//            return pageNum <= 3
5132//        })
5133//
5134func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPages(input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool) error {
5135	return c.DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(aws.BackgroundContext(), input, fn)
5136}
5137
5138// DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext same as DescribeMaintenanceWindowExecutionTaskInvocationsPages except
5139// it takes a Context and allows setting request options on the pages.
5140//
5141// The context must be non-nil and will be used for request cancellation. If
5142// the context is nil a panic will occur. In the future the SDK may create
5143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5144// for more information on using Contexts.
5145func (c *SSM) DescribeMaintenanceWindowExecutionTaskInvocationsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTaskInvocationsInput, fn func(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput, bool) bool, opts ...request.Option) error {
5146	p := request.Pagination{
5147		NewRequest: func() (*request.Request, error) {
5148			var inCpy *DescribeMaintenanceWindowExecutionTaskInvocationsInput
5149			if input != nil {
5150				tmp := *input
5151				inCpy = &tmp
5152			}
5153			req, _ := c.DescribeMaintenanceWindowExecutionTaskInvocationsRequest(inCpy)
5154			req.SetContext(ctx)
5155			req.ApplyOptions(opts...)
5156			return req, nil
5157		},
5158	}
5159
5160	for p.Next() {
5161		if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTaskInvocationsOutput), !p.HasNextPage()) {
5162			break
5163		}
5164	}
5165
5166	return p.Err()
5167}
5168
5169const opDescribeMaintenanceWindowExecutionTasks = "DescribeMaintenanceWindowExecutionTasks"
5170
5171// DescribeMaintenanceWindowExecutionTasksRequest generates a "aws/request.Request" representing the
5172// client's request for the DescribeMaintenanceWindowExecutionTasks operation. The "output" return
5173// value will be populated with the request's response once the request completes
5174// successfully.
5175//
5176// Use "Send" method on the returned Request to send the API call to the service.
5177// the "output" return value is not valid until after Send returns without error.
5178//
5179// See DescribeMaintenanceWindowExecutionTasks for more information on using the DescribeMaintenanceWindowExecutionTasks
5180// API call, and error handling.
5181//
5182// This method is useful when you want to inject custom logic or configuration
5183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5184//
5185//
5186//    // Example sending a request using the DescribeMaintenanceWindowExecutionTasksRequest method.
5187//    req, resp := client.DescribeMaintenanceWindowExecutionTasksRequest(params)
5188//
5189//    err := req.Send()
5190//    if err == nil { // resp is now filled
5191//        fmt.Println(resp)
5192//    }
5193//
5194// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
5195func (c *SSM) DescribeMaintenanceWindowExecutionTasksRequest(input *DescribeMaintenanceWindowExecutionTasksInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionTasksOutput) {
5196	op := &request.Operation{
5197		Name:       opDescribeMaintenanceWindowExecutionTasks,
5198		HTTPMethod: "POST",
5199		HTTPPath:   "/",
5200		Paginator: &request.Paginator{
5201			InputTokens:     []string{"NextToken"},
5202			OutputTokens:    []string{"NextToken"},
5203			LimitToken:      "MaxResults",
5204			TruncationToken: "",
5205		},
5206	}
5207
5208	if input == nil {
5209		input = &DescribeMaintenanceWindowExecutionTasksInput{}
5210	}
5211
5212	output = &DescribeMaintenanceWindowExecutionTasksOutput{}
5213	req = c.newRequest(op, input, output)
5214	return
5215}
5216
5217// DescribeMaintenanceWindowExecutionTasks API operation for Amazon Simple Systems Manager (SSM).
5218//
5219// For a given maintenance window execution, lists the tasks that were run.
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 DescribeMaintenanceWindowExecutionTasks for usage and error information.
5227//
5228// Returned Error Types:
5229//   * DoesNotExistException
5230//   Error returned when the ID specified for a resource, such as a maintenance
5231//   window or patch baseline, doesn't exist.
5232//
5233//   For information about resource quotas in Amazon Web Services Systems Manager,
5234//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
5235//   in the Amazon Web Services General Reference.
5236//
5237//   * InternalServerError
5238//   An error occurred on the server side.
5239//
5240// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks
5241func (c *SSM) DescribeMaintenanceWindowExecutionTasks(input *DescribeMaintenanceWindowExecutionTasksInput) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
5242	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
5243	return out, req.Send()
5244}
5245
5246// DescribeMaintenanceWindowExecutionTasksWithContext is the same as DescribeMaintenanceWindowExecutionTasks with the addition of
5247// the ability to pass a context and additional request options.
5248//
5249// See DescribeMaintenanceWindowExecutionTasks for details on how to use this API operation.
5250//
5251// The context must be non-nil and will be used for request cancellation. If
5252// the context is nil a panic will occur. In the future the SDK may create
5253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5254// for more information on using Contexts.
5255func (c *SSM) DescribeMaintenanceWindowExecutionTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionTasksOutput, error) {
5256	req, out := c.DescribeMaintenanceWindowExecutionTasksRequest(input)
5257	req.SetContext(ctx)
5258	req.ApplyOptions(opts...)
5259	return out, req.Send()
5260}
5261
5262// DescribeMaintenanceWindowExecutionTasksPages iterates over the pages of a DescribeMaintenanceWindowExecutionTasks operation,
5263// calling the "fn" function with the response data for each page. To stop
5264// iterating, return false from the fn function.
5265//
5266// See DescribeMaintenanceWindowExecutionTasks method for more information on how to use this operation.
5267//
5268// Note: This operation can generate multiple requests to a service.
5269//
5270//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowExecutionTasks operation.
5271//    pageNum := 0
5272//    err := client.DescribeMaintenanceWindowExecutionTasksPages(params,
5273//        func(page *ssm.DescribeMaintenanceWindowExecutionTasksOutput, lastPage bool) bool {
5274//            pageNum++
5275//            fmt.Println(page)
5276//            return pageNum <= 3
5277//        })
5278//
5279func (c *SSM) DescribeMaintenanceWindowExecutionTasksPages(input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool) error {
5280	return c.DescribeMaintenanceWindowExecutionTasksPagesWithContext(aws.BackgroundContext(), input, fn)
5281}
5282
5283// DescribeMaintenanceWindowExecutionTasksPagesWithContext same as DescribeMaintenanceWindowExecutionTasksPages except
5284// it takes a Context and allows setting request options on the pages.
5285//
5286// The context must be non-nil and will be used for request cancellation. If
5287// the context is nil a panic will occur. In the future the SDK may create
5288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5289// for more information on using Contexts.
5290func (c *SSM) DescribeMaintenanceWindowExecutionTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionTasksInput, fn func(*DescribeMaintenanceWindowExecutionTasksOutput, bool) bool, opts ...request.Option) error {
5291	p := request.Pagination{
5292		NewRequest: func() (*request.Request, error) {
5293			var inCpy *DescribeMaintenanceWindowExecutionTasksInput
5294			if input != nil {
5295				tmp := *input
5296				inCpy = &tmp
5297			}
5298			req, _ := c.DescribeMaintenanceWindowExecutionTasksRequest(inCpy)
5299			req.SetContext(ctx)
5300			req.ApplyOptions(opts...)
5301			return req, nil
5302		},
5303	}
5304
5305	for p.Next() {
5306		if !fn(p.Page().(*DescribeMaintenanceWindowExecutionTasksOutput), !p.HasNextPage()) {
5307			break
5308		}
5309	}
5310
5311	return p.Err()
5312}
5313
5314const opDescribeMaintenanceWindowExecutions = "DescribeMaintenanceWindowExecutions"
5315
5316// DescribeMaintenanceWindowExecutionsRequest generates a "aws/request.Request" representing the
5317// client's request for the DescribeMaintenanceWindowExecutions operation. The "output" return
5318// value will be populated with the request's response once the request completes
5319// successfully.
5320//
5321// Use "Send" method on the returned Request to send the API call to the service.
5322// the "output" return value is not valid until after Send returns without error.
5323//
5324// See DescribeMaintenanceWindowExecutions for more information on using the DescribeMaintenanceWindowExecutions
5325// API call, and error handling.
5326//
5327// This method is useful when you want to inject custom logic or configuration
5328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5329//
5330//
5331//    // Example sending a request using the DescribeMaintenanceWindowExecutionsRequest method.
5332//    req, resp := client.DescribeMaintenanceWindowExecutionsRequest(params)
5333//
5334//    err := req.Send()
5335//    if err == nil { // resp is now filled
5336//        fmt.Println(resp)
5337//    }
5338//
5339// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
5340func (c *SSM) DescribeMaintenanceWindowExecutionsRequest(input *DescribeMaintenanceWindowExecutionsInput) (req *request.Request, output *DescribeMaintenanceWindowExecutionsOutput) {
5341	op := &request.Operation{
5342		Name:       opDescribeMaintenanceWindowExecutions,
5343		HTTPMethod: "POST",
5344		HTTPPath:   "/",
5345		Paginator: &request.Paginator{
5346			InputTokens:     []string{"NextToken"},
5347			OutputTokens:    []string{"NextToken"},
5348			LimitToken:      "MaxResults",
5349			TruncationToken: "",
5350		},
5351	}
5352
5353	if input == nil {
5354		input = &DescribeMaintenanceWindowExecutionsInput{}
5355	}
5356
5357	output = &DescribeMaintenanceWindowExecutionsOutput{}
5358	req = c.newRequest(op, input, output)
5359	return
5360}
5361
5362// DescribeMaintenanceWindowExecutions API operation for Amazon Simple Systems Manager (SSM).
5363//
5364// Lists the executions of a maintenance window. This includes information about
5365// when the maintenance window was scheduled to be active, and information about
5366// tasks registered and run with the maintenance window.
5367//
5368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5369// with awserr.Error's Code and Message methods to get detailed information about
5370// the error.
5371//
5372// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5373// API operation DescribeMaintenanceWindowExecutions for usage and error information.
5374//
5375// Returned Error Types:
5376//   * InternalServerError
5377//   An error occurred on the server side.
5378//
5379// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions
5380func (c *SSM) DescribeMaintenanceWindowExecutions(input *DescribeMaintenanceWindowExecutionsInput) (*DescribeMaintenanceWindowExecutionsOutput, error) {
5381	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
5382	return out, req.Send()
5383}
5384
5385// DescribeMaintenanceWindowExecutionsWithContext is the same as DescribeMaintenanceWindowExecutions with the addition of
5386// the ability to pass a context and additional request options.
5387//
5388// See DescribeMaintenanceWindowExecutions for details on how to use this API operation.
5389//
5390// The context must be non-nil and will be used for request cancellation. If
5391// the context is nil a panic will occur. In the future the SDK may create
5392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5393// for more information on using Contexts.
5394func (c *SSM) DescribeMaintenanceWindowExecutionsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, opts ...request.Option) (*DescribeMaintenanceWindowExecutionsOutput, error) {
5395	req, out := c.DescribeMaintenanceWindowExecutionsRequest(input)
5396	req.SetContext(ctx)
5397	req.ApplyOptions(opts...)
5398	return out, req.Send()
5399}
5400
5401// DescribeMaintenanceWindowExecutionsPages iterates over the pages of a DescribeMaintenanceWindowExecutions operation,
5402// calling the "fn" function with the response data for each page. To stop
5403// iterating, return false from the fn function.
5404//
5405// See DescribeMaintenanceWindowExecutions method for more information on how to use this operation.
5406//
5407// Note: This operation can generate multiple requests to a service.
5408//
5409//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowExecutions operation.
5410//    pageNum := 0
5411//    err := client.DescribeMaintenanceWindowExecutionsPages(params,
5412//        func(page *ssm.DescribeMaintenanceWindowExecutionsOutput, lastPage bool) bool {
5413//            pageNum++
5414//            fmt.Println(page)
5415//            return pageNum <= 3
5416//        })
5417//
5418func (c *SSM) DescribeMaintenanceWindowExecutionsPages(input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool) error {
5419	return c.DescribeMaintenanceWindowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
5420}
5421
5422// DescribeMaintenanceWindowExecutionsPagesWithContext same as DescribeMaintenanceWindowExecutionsPages except
5423// it takes a Context and allows setting request options on the pages.
5424//
5425// The context must be non-nil and will be used for request cancellation. If
5426// the context is nil a panic will occur. In the future the SDK may create
5427// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5428// for more information on using Contexts.
5429func (c *SSM) DescribeMaintenanceWindowExecutionsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowExecutionsInput, fn func(*DescribeMaintenanceWindowExecutionsOutput, bool) bool, opts ...request.Option) error {
5430	p := request.Pagination{
5431		NewRequest: func() (*request.Request, error) {
5432			var inCpy *DescribeMaintenanceWindowExecutionsInput
5433			if input != nil {
5434				tmp := *input
5435				inCpy = &tmp
5436			}
5437			req, _ := c.DescribeMaintenanceWindowExecutionsRequest(inCpy)
5438			req.SetContext(ctx)
5439			req.ApplyOptions(opts...)
5440			return req, nil
5441		},
5442	}
5443
5444	for p.Next() {
5445		if !fn(p.Page().(*DescribeMaintenanceWindowExecutionsOutput), !p.HasNextPage()) {
5446			break
5447		}
5448	}
5449
5450	return p.Err()
5451}
5452
5453const opDescribeMaintenanceWindowSchedule = "DescribeMaintenanceWindowSchedule"
5454
5455// DescribeMaintenanceWindowScheduleRequest generates a "aws/request.Request" representing the
5456// client's request for the DescribeMaintenanceWindowSchedule operation. The "output" return
5457// value will be populated with the request's response once the request completes
5458// successfully.
5459//
5460// Use "Send" method on the returned Request to send the API call to the service.
5461// the "output" return value is not valid until after Send returns without error.
5462//
5463// See DescribeMaintenanceWindowSchedule for more information on using the DescribeMaintenanceWindowSchedule
5464// API call, and error handling.
5465//
5466// This method is useful when you want to inject custom logic or configuration
5467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5468//
5469//
5470//    // Example sending a request using the DescribeMaintenanceWindowScheduleRequest method.
5471//    req, resp := client.DescribeMaintenanceWindowScheduleRequest(params)
5472//
5473//    err := req.Send()
5474//    if err == nil { // resp is now filled
5475//        fmt.Println(resp)
5476//    }
5477//
5478// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
5479func (c *SSM) DescribeMaintenanceWindowScheduleRequest(input *DescribeMaintenanceWindowScheduleInput) (req *request.Request, output *DescribeMaintenanceWindowScheduleOutput) {
5480	op := &request.Operation{
5481		Name:       opDescribeMaintenanceWindowSchedule,
5482		HTTPMethod: "POST",
5483		HTTPPath:   "/",
5484		Paginator: &request.Paginator{
5485			InputTokens:     []string{"NextToken"},
5486			OutputTokens:    []string{"NextToken"},
5487			LimitToken:      "MaxResults",
5488			TruncationToken: "",
5489		},
5490	}
5491
5492	if input == nil {
5493		input = &DescribeMaintenanceWindowScheduleInput{}
5494	}
5495
5496	output = &DescribeMaintenanceWindowScheduleOutput{}
5497	req = c.newRequest(op, input, output)
5498	return
5499}
5500
5501// DescribeMaintenanceWindowSchedule API operation for Amazon Simple Systems Manager (SSM).
5502//
5503// Retrieves information about upcoming executions of a maintenance window.
5504//
5505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5506// with awserr.Error's Code and Message methods to get detailed information about
5507// the error.
5508//
5509// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5510// API operation DescribeMaintenanceWindowSchedule for usage and error information.
5511//
5512// Returned Error Types:
5513//   * InternalServerError
5514//   An error occurred on the server side.
5515//
5516//   * DoesNotExistException
5517//   Error returned when the ID specified for a resource, such as a maintenance
5518//   window or patch baseline, doesn't exist.
5519//
5520//   For information about resource quotas in Amazon Web Services Systems Manager,
5521//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
5522//   in the Amazon Web Services General Reference.
5523//
5524// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule
5525func (c *SSM) DescribeMaintenanceWindowSchedule(input *DescribeMaintenanceWindowScheduleInput) (*DescribeMaintenanceWindowScheduleOutput, error) {
5526	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
5527	return out, req.Send()
5528}
5529
5530// DescribeMaintenanceWindowScheduleWithContext is the same as DescribeMaintenanceWindowSchedule with the addition of
5531// the ability to pass a context and additional request options.
5532//
5533// See DescribeMaintenanceWindowSchedule for details on how to use this API operation.
5534//
5535// The context must be non-nil and will be used for request cancellation. If
5536// the context is nil a panic will occur. In the future the SDK may create
5537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5538// for more information on using Contexts.
5539func (c *SSM) DescribeMaintenanceWindowScheduleWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, opts ...request.Option) (*DescribeMaintenanceWindowScheduleOutput, error) {
5540	req, out := c.DescribeMaintenanceWindowScheduleRequest(input)
5541	req.SetContext(ctx)
5542	req.ApplyOptions(opts...)
5543	return out, req.Send()
5544}
5545
5546// DescribeMaintenanceWindowSchedulePages iterates over the pages of a DescribeMaintenanceWindowSchedule operation,
5547// calling the "fn" function with the response data for each page. To stop
5548// iterating, return false from the fn function.
5549//
5550// See DescribeMaintenanceWindowSchedule method for more information on how to use this operation.
5551//
5552// Note: This operation can generate multiple requests to a service.
5553//
5554//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowSchedule operation.
5555//    pageNum := 0
5556//    err := client.DescribeMaintenanceWindowSchedulePages(params,
5557//        func(page *ssm.DescribeMaintenanceWindowScheduleOutput, lastPage bool) bool {
5558//            pageNum++
5559//            fmt.Println(page)
5560//            return pageNum <= 3
5561//        })
5562//
5563func (c *SSM) DescribeMaintenanceWindowSchedulePages(input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool) error {
5564	return c.DescribeMaintenanceWindowSchedulePagesWithContext(aws.BackgroundContext(), input, fn)
5565}
5566
5567// DescribeMaintenanceWindowSchedulePagesWithContext same as DescribeMaintenanceWindowSchedulePages except
5568// it takes a Context and allows setting request options on the pages.
5569//
5570// The context must be non-nil and will be used for request cancellation. If
5571// the context is nil a panic will occur. In the future the SDK may create
5572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5573// for more information on using Contexts.
5574func (c *SSM) DescribeMaintenanceWindowSchedulePagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowScheduleInput, fn func(*DescribeMaintenanceWindowScheduleOutput, bool) bool, opts ...request.Option) error {
5575	p := request.Pagination{
5576		NewRequest: func() (*request.Request, error) {
5577			var inCpy *DescribeMaintenanceWindowScheduleInput
5578			if input != nil {
5579				tmp := *input
5580				inCpy = &tmp
5581			}
5582			req, _ := c.DescribeMaintenanceWindowScheduleRequest(inCpy)
5583			req.SetContext(ctx)
5584			req.ApplyOptions(opts...)
5585			return req, nil
5586		},
5587	}
5588
5589	for p.Next() {
5590		if !fn(p.Page().(*DescribeMaintenanceWindowScheduleOutput), !p.HasNextPage()) {
5591			break
5592		}
5593	}
5594
5595	return p.Err()
5596}
5597
5598const opDescribeMaintenanceWindowTargets = "DescribeMaintenanceWindowTargets"
5599
5600// DescribeMaintenanceWindowTargetsRequest generates a "aws/request.Request" representing the
5601// client's request for the DescribeMaintenanceWindowTargets operation. The "output" return
5602// value will be populated with the request's response once the request completes
5603// successfully.
5604//
5605// Use "Send" method on the returned Request to send the API call to the service.
5606// the "output" return value is not valid until after Send returns without error.
5607//
5608// See DescribeMaintenanceWindowTargets for more information on using the DescribeMaintenanceWindowTargets
5609// API call, and error handling.
5610//
5611// This method is useful when you want to inject custom logic or configuration
5612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5613//
5614//
5615//    // Example sending a request using the DescribeMaintenanceWindowTargetsRequest method.
5616//    req, resp := client.DescribeMaintenanceWindowTargetsRequest(params)
5617//
5618//    err := req.Send()
5619//    if err == nil { // resp is now filled
5620//        fmt.Println(resp)
5621//    }
5622//
5623// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
5624func (c *SSM) DescribeMaintenanceWindowTargetsRequest(input *DescribeMaintenanceWindowTargetsInput) (req *request.Request, output *DescribeMaintenanceWindowTargetsOutput) {
5625	op := &request.Operation{
5626		Name:       opDescribeMaintenanceWindowTargets,
5627		HTTPMethod: "POST",
5628		HTTPPath:   "/",
5629		Paginator: &request.Paginator{
5630			InputTokens:     []string{"NextToken"},
5631			OutputTokens:    []string{"NextToken"},
5632			LimitToken:      "MaxResults",
5633			TruncationToken: "",
5634		},
5635	}
5636
5637	if input == nil {
5638		input = &DescribeMaintenanceWindowTargetsInput{}
5639	}
5640
5641	output = &DescribeMaintenanceWindowTargetsOutput{}
5642	req = c.newRequest(op, input, output)
5643	return
5644}
5645
5646// DescribeMaintenanceWindowTargets API operation for Amazon Simple Systems Manager (SSM).
5647//
5648// Lists the targets registered with the maintenance window.
5649//
5650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5651// with awserr.Error's Code and Message methods to get detailed information about
5652// the error.
5653//
5654// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5655// API operation DescribeMaintenanceWindowTargets for usage and error information.
5656//
5657// Returned Error Types:
5658//   * DoesNotExistException
5659//   Error returned when the ID specified for a resource, such as a maintenance
5660//   window or patch baseline, doesn't exist.
5661//
5662//   For information about resource quotas in Amazon Web Services Systems Manager,
5663//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
5664//   in the Amazon Web Services General Reference.
5665//
5666//   * InternalServerError
5667//   An error occurred on the server side.
5668//
5669// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets
5670func (c *SSM) DescribeMaintenanceWindowTargets(input *DescribeMaintenanceWindowTargetsInput) (*DescribeMaintenanceWindowTargetsOutput, error) {
5671	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
5672	return out, req.Send()
5673}
5674
5675// DescribeMaintenanceWindowTargetsWithContext is the same as DescribeMaintenanceWindowTargets with the addition of
5676// the ability to pass a context and additional request options.
5677//
5678// See DescribeMaintenanceWindowTargets for details on how to use this API operation.
5679//
5680// The context must be non-nil and will be used for request cancellation. If
5681// the context is nil a panic will occur. In the future the SDK may create
5682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5683// for more information on using Contexts.
5684func (c *SSM) DescribeMaintenanceWindowTargetsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, opts ...request.Option) (*DescribeMaintenanceWindowTargetsOutput, error) {
5685	req, out := c.DescribeMaintenanceWindowTargetsRequest(input)
5686	req.SetContext(ctx)
5687	req.ApplyOptions(opts...)
5688	return out, req.Send()
5689}
5690
5691// DescribeMaintenanceWindowTargetsPages iterates over the pages of a DescribeMaintenanceWindowTargets operation,
5692// calling the "fn" function with the response data for each page. To stop
5693// iterating, return false from the fn function.
5694//
5695// See DescribeMaintenanceWindowTargets method for more information on how to use this operation.
5696//
5697// Note: This operation can generate multiple requests to a service.
5698//
5699//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowTargets operation.
5700//    pageNum := 0
5701//    err := client.DescribeMaintenanceWindowTargetsPages(params,
5702//        func(page *ssm.DescribeMaintenanceWindowTargetsOutput, lastPage bool) bool {
5703//            pageNum++
5704//            fmt.Println(page)
5705//            return pageNum <= 3
5706//        })
5707//
5708func (c *SSM) DescribeMaintenanceWindowTargetsPages(input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool) error {
5709	return c.DescribeMaintenanceWindowTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
5710}
5711
5712// DescribeMaintenanceWindowTargetsPagesWithContext same as DescribeMaintenanceWindowTargetsPages except
5713// it takes a Context and allows setting request options on the pages.
5714//
5715// The context must be non-nil and will be used for request cancellation. If
5716// the context is nil a panic will occur. In the future the SDK may create
5717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5718// for more information on using Contexts.
5719func (c *SSM) DescribeMaintenanceWindowTargetsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTargetsInput, fn func(*DescribeMaintenanceWindowTargetsOutput, bool) bool, opts ...request.Option) error {
5720	p := request.Pagination{
5721		NewRequest: func() (*request.Request, error) {
5722			var inCpy *DescribeMaintenanceWindowTargetsInput
5723			if input != nil {
5724				tmp := *input
5725				inCpy = &tmp
5726			}
5727			req, _ := c.DescribeMaintenanceWindowTargetsRequest(inCpy)
5728			req.SetContext(ctx)
5729			req.ApplyOptions(opts...)
5730			return req, nil
5731		},
5732	}
5733
5734	for p.Next() {
5735		if !fn(p.Page().(*DescribeMaintenanceWindowTargetsOutput), !p.HasNextPage()) {
5736			break
5737		}
5738	}
5739
5740	return p.Err()
5741}
5742
5743const opDescribeMaintenanceWindowTasks = "DescribeMaintenanceWindowTasks"
5744
5745// DescribeMaintenanceWindowTasksRequest generates a "aws/request.Request" representing the
5746// client's request for the DescribeMaintenanceWindowTasks operation. The "output" return
5747// value will be populated with the request's response once the request completes
5748// successfully.
5749//
5750// Use "Send" method on the returned Request to send the API call to the service.
5751// the "output" return value is not valid until after Send returns without error.
5752//
5753// See DescribeMaintenanceWindowTasks for more information on using the DescribeMaintenanceWindowTasks
5754// API call, and error handling.
5755//
5756// This method is useful when you want to inject custom logic or configuration
5757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5758//
5759//
5760//    // Example sending a request using the DescribeMaintenanceWindowTasksRequest method.
5761//    req, resp := client.DescribeMaintenanceWindowTasksRequest(params)
5762//
5763//    err := req.Send()
5764//    if err == nil { // resp is now filled
5765//        fmt.Println(resp)
5766//    }
5767//
5768// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
5769func (c *SSM) DescribeMaintenanceWindowTasksRequest(input *DescribeMaintenanceWindowTasksInput) (req *request.Request, output *DescribeMaintenanceWindowTasksOutput) {
5770	op := &request.Operation{
5771		Name:       opDescribeMaintenanceWindowTasks,
5772		HTTPMethod: "POST",
5773		HTTPPath:   "/",
5774		Paginator: &request.Paginator{
5775			InputTokens:     []string{"NextToken"},
5776			OutputTokens:    []string{"NextToken"},
5777			LimitToken:      "MaxResults",
5778			TruncationToken: "",
5779		},
5780	}
5781
5782	if input == nil {
5783		input = &DescribeMaintenanceWindowTasksInput{}
5784	}
5785
5786	output = &DescribeMaintenanceWindowTasksOutput{}
5787	req = c.newRequest(op, input, output)
5788	return
5789}
5790
5791// DescribeMaintenanceWindowTasks API operation for Amazon Simple Systems Manager (SSM).
5792//
5793// Lists the tasks in a maintenance window.
5794//
5795// For maintenance window tasks without a specified target, you can't supply
5796// values for --max-errors and --max-concurrency. Instead, the system inserts
5797// a placeholder value of 1, which may be reported in the response to this command.
5798// These values don't affect the running of your task and can be ignored.
5799//
5800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5801// with awserr.Error's Code and Message methods to get detailed information about
5802// the error.
5803//
5804// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5805// API operation DescribeMaintenanceWindowTasks for usage and error information.
5806//
5807// Returned Error Types:
5808//   * DoesNotExistException
5809//   Error returned when the ID specified for a resource, such as a maintenance
5810//   window or patch baseline, doesn't exist.
5811//
5812//   For information about resource quotas in Amazon Web Services Systems Manager,
5813//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
5814//   in the Amazon Web Services General Reference.
5815//
5816//   * InternalServerError
5817//   An error occurred on the server side.
5818//
5819// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks
5820func (c *SSM) DescribeMaintenanceWindowTasks(input *DescribeMaintenanceWindowTasksInput) (*DescribeMaintenanceWindowTasksOutput, error) {
5821	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
5822	return out, req.Send()
5823}
5824
5825// DescribeMaintenanceWindowTasksWithContext is the same as DescribeMaintenanceWindowTasks with the addition of
5826// the ability to pass a context and additional request options.
5827//
5828// See DescribeMaintenanceWindowTasks for details on how to use this API operation.
5829//
5830// The context must be non-nil and will be used for request cancellation. If
5831// the context is nil a panic will occur. In the future the SDK may create
5832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5833// for more information on using Contexts.
5834func (c *SSM) DescribeMaintenanceWindowTasksWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, opts ...request.Option) (*DescribeMaintenanceWindowTasksOutput, error) {
5835	req, out := c.DescribeMaintenanceWindowTasksRequest(input)
5836	req.SetContext(ctx)
5837	req.ApplyOptions(opts...)
5838	return out, req.Send()
5839}
5840
5841// DescribeMaintenanceWindowTasksPages iterates over the pages of a DescribeMaintenanceWindowTasks operation,
5842// calling the "fn" function with the response data for each page. To stop
5843// iterating, return false from the fn function.
5844//
5845// See DescribeMaintenanceWindowTasks method for more information on how to use this operation.
5846//
5847// Note: This operation can generate multiple requests to a service.
5848//
5849//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowTasks operation.
5850//    pageNum := 0
5851//    err := client.DescribeMaintenanceWindowTasksPages(params,
5852//        func(page *ssm.DescribeMaintenanceWindowTasksOutput, lastPage bool) bool {
5853//            pageNum++
5854//            fmt.Println(page)
5855//            return pageNum <= 3
5856//        })
5857//
5858func (c *SSM) DescribeMaintenanceWindowTasksPages(input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool) error {
5859	return c.DescribeMaintenanceWindowTasksPagesWithContext(aws.BackgroundContext(), input, fn)
5860}
5861
5862// DescribeMaintenanceWindowTasksPagesWithContext same as DescribeMaintenanceWindowTasksPages except
5863// it takes a Context and allows setting request options on the pages.
5864//
5865// The context must be non-nil and will be used for request cancellation. If
5866// the context is nil a panic will occur. In the future the SDK may create
5867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5868// for more information on using Contexts.
5869func (c *SSM) DescribeMaintenanceWindowTasksPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowTasksInput, fn func(*DescribeMaintenanceWindowTasksOutput, bool) bool, opts ...request.Option) error {
5870	p := request.Pagination{
5871		NewRequest: func() (*request.Request, error) {
5872			var inCpy *DescribeMaintenanceWindowTasksInput
5873			if input != nil {
5874				tmp := *input
5875				inCpy = &tmp
5876			}
5877			req, _ := c.DescribeMaintenanceWindowTasksRequest(inCpy)
5878			req.SetContext(ctx)
5879			req.ApplyOptions(opts...)
5880			return req, nil
5881		},
5882	}
5883
5884	for p.Next() {
5885		if !fn(p.Page().(*DescribeMaintenanceWindowTasksOutput), !p.HasNextPage()) {
5886			break
5887		}
5888	}
5889
5890	return p.Err()
5891}
5892
5893const opDescribeMaintenanceWindows = "DescribeMaintenanceWindows"
5894
5895// DescribeMaintenanceWindowsRequest generates a "aws/request.Request" representing the
5896// client's request for the DescribeMaintenanceWindows operation. The "output" return
5897// value will be populated with the request's response once the request completes
5898// successfully.
5899//
5900// Use "Send" method on the returned Request to send the API call to the service.
5901// the "output" return value is not valid until after Send returns without error.
5902//
5903// See DescribeMaintenanceWindows for more information on using the DescribeMaintenanceWindows
5904// API call, and error handling.
5905//
5906// This method is useful when you want to inject custom logic or configuration
5907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5908//
5909//
5910//    // Example sending a request using the DescribeMaintenanceWindowsRequest method.
5911//    req, resp := client.DescribeMaintenanceWindowsRequest(params)
5912//
5913//    err := req.Send()
5914//    if err == nil { // resp is now filled
5915//        fmt.Println(resp)
5916//    }
5917//
5918// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
5919func (c *SSM) DescribeMaintenanceWindowsRequest(input *DescribeMaintenanceWindowsInput) (req *request.Request, output *DescribeMaintenanceWindowsOutput) {
5920	op := &request.Operation{
5921		Name:       opDescribeMaintenanceWindows,
5922		HTTPMethod: "POST",
5923		HTTPPath:   "/",
5924		Paginator: &request.Paginator{
5925			InputTokens:     []string{"NextToken"},
5926			OutputTokens:    []string{"NextToken"},
5927			LimitToken:      "MaxResults",
5928			TruncationToken: "",
5929		},
5930	}
5931
5932	if input == nil {
5933		input = &DescribeMaintenanceWindowsInput{}
5934	}
5935
5936	output = &DescribeMaintenanceWindowsOutput{}
5937	req = c.newRequest(op, input, output)
5938	return
5939}
5940
5941// DescribeMaintenanceWindows API operation for Amazon Simple Systems Manager (SSM).
5942//
5943// Retrieves the maintenance windows in an Amazon Web Services account.
5944//
5945// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5946// with awserr.Error's Code and Message methods to get detailed information about
5947// the error.
5948//
5949// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
5950// API operation DescribeMaintenanceWindows for usage and error information.
5951//
5952// Returned Error Types:
5953//   * InternalServerError
5954//   An error occurred on the server side.
5955//
5956// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows
5957func (c *SSM) DescribeMaintenanceWindows(input *DescribeMaintenanceWindowsInput) (*DescribeMaintenanceWindowsOutput, error) {
5958	req, out := c.DescribeMaintenanceWindowsRequest(input)
5959	return out, req.Send()
5960}
5961
5962// DescribeMaintenanceWindowsWithContext is the same as DescribeMaintenanceWindows with the addition of
5963// the ability to pass a context and additional request options.
5964//
5965// See DescribeMaintenanceWindows for details on how to use this API operation.
5966//
5967// The context must be non-nil and will be used for request cancellation. If
5968// the context is nil a panic will occur. In the future the SDK may create
5969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5970// for more information on using Contexts.
5971func (c *SSM) DescribeMaintenanceWindowsWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, opts ...request.Option) (*DescribeMaintenanceWindowsOutput, error) {
5972	req, out := c.DescribeMaintenanceWindowsRequest(input)
5973	req.SetContext(ctx)
5974	req.ApplyOptions(opts...)
5975	return out, req.Send()
5976}
5977
5978// DescribeMaintenanceWindowsPages iterates over the pages of a DescribeMaintenanceWindows operation,
5979// calling the "fn" function with the response data for each page. To stop
5980// iterating, return false from the fn function.
5981//
5982// See DescribeMaintenanceWindows method for more information on how to use this operation.
5983//
5984// Note: This operation can generate multiple requests to a service.
5985//
5986//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindows operation.
5987//    pageNum := 0
5988//    err := client.DescribeMaintenanceWindowsPages(params,
5989//        func(page *ssm.DescribeMaintenanceWindowsOutput, lastPage bool) bool {
5990//            pageNum++
5991//            fmt.Println(page)
5992//            return pageNum <= 3
5993//        })
5994//
5995func (c *SSM) DescribeMaintenanceWindowsPages(input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool) error {
5996	return c.DescribeMaintenanceWindowsPagesWithContext(aws.BackgroundContext(), input, fn)
5997}
5998
5999// DescribeMaintenanceWindowsPagesWithContext same as DescribeMaintenanceWindowsPages except
6000// it takes a Context and allows setting request options on the pages.
6001//
6002// The context must be non-nil and will be used for request cancellation. If
6003// the context is nil a panic will occur. In the future the SDK may create
6004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6005// for more information on using Contexts.
6006func (c *SSM) DescribeMaintenanceWindowsPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsInput, fn func(*DescribeMaintenanceWindowsOutput, bool) bool, opts ...request.Option) error {
6007	p := request.Pagination{
6008		NewRequest: func() (*request.Request, error) {
6009			var inCpy *DescribeMaintenanceWindowsInput
6010			if input != nil {
6011				tmp := *input
6012				inCpy = &tmp
6013			}
6014			req, _ := c.DescribeMaintenanceWindowsRequest(inCpy)
6015			req.SetContext(ctx)
6016			req.ApplyOptions(opts...)
6017			return req, nil
6018		},
6019	}
6020
6021	for p.Next() {
6022		if !fn(p.Page().(*DescribeMaintenanceWindowsOutput), !p.HasNextPage()) {
6023			break
6024		}
6025	}
6026
6027	return p.Err()
6028}
6029
6030const opDescribeMaintenanceWindowsForTarget = "DescribeMaintenanceWindowsForTarget"
6031
6032// DescribeMaintenanceWindowsForTargetRequest generates a "aws/request.Request" representing the
6033// client's request for the DescribeMaintenanceWindowsForTarget operation. The "output" return
6034// value will be populated with the request's response once the request completes
6035// successfully.
6036//
6037// Use "Send" method on the returned Request to send the API call to the service.
6038// the "output" return value is not valid until after Send returns without error.
6039//
6040// See DescribeMaintenanceWindowsForTarget for more information on using the DescribeMaintenanceWindowsForTarget
6041// API call, and error handling.
6042//
6043// This method is useful when you want to inject custom logic or configuration
6044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6045//
6046//
6047//    // Example sending a request using the DescribeMaintenanceWindowsForTargetRequest method.
6048//    req, resp := client.DescribeMaintenanceWindowsForTargetRequest(params)
6049//
6050//    err := req.Send()
6051//    if err == nil { // resp is now filled
6052//        fmt.Println(resp)
6053//    }
6054//
6055// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
6056func (c *SSM) DescribeMaintenanceWindowsForTargetRequest(input *DescribeMaintenanceWindowsForTargetInput) (req *request.Request, output *DescribeMaintenanceWindowsForTargetOutput) {
6057	op := &request.Operation{
6058		Name:       opDescribeMaintenanceWindowsForTarget,
6059		HTTPMethod: "POST",
6060		HTTPPath:   "/",
6061		Paginator: &request.Paginator{
6062			InputTokens:     []string{"NextToken"},
6063			OutputTokens:    []string{"NextToken"},
6064			LimitToken:      "MaxResults",
6065			TruncationToken: "",
6066		},
6067	}
6068
6069	if input == nil {
6070		input = &DescribeMaintenanceWindowsForTargetInput{}
6071	}
6072
6073	output = &DescribeMaintenanceWindowsForTargetOutput{}
6074	req = c.newRequest(op, input, output)
6075	return
6076}
6077
6078// DescribeMaintenanceWindowsForTarget API operation for Amazon Simple Systems Manager (SSM).
6079//
6080// Retrieves information about the maintenance window targets or tasks that
6081// an instance is associated with.
6082//
6083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6084// with awserr.Error's Code and Message methods to get detailed information about
6085// the error.
6086//
6087// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6088// API operation DescribeMaintenanceWindowsForTarget for usage and error information.
6089//
6090// Returned Error Types:
6091//   * InternalServerError
6092//   An error occurred on the server side.
6093//
6094// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget
6095func (c *SSM) DescribeMaintenanceWindowsForTarget(input *DescribeMaintenanceWindowsForTargetInput) (*DescribeMaintenanceWindowsForTargetOutput, error) {
6096	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
6097	return out, req.Send()
6098}
6099
6100// DescribeMaintenanceWindowsForTargetWithContext is the same as DescribeMaintenanceWindowsForTarget with the addition of
6101// the ability to pass a context and additional request options.
6102//
6103// See DescribeMaintenanceWindowsForTarget for details on how to use this API operation.
6104//
6105// The context must be non-nil and will be used for request cancellation. If
6106// the context is nil a panic will occur. In the future the SDK may create
6107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6108// for more information on using Contexts.
6109func (c *SSM) DescribeMaintenanceWindowsForTargetWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, opts ...request.Option) (*DescribeMaintenanceWindowsForTargetOutput, error) {
6110	req, out := c.DescribeMaintenanceWindowsForTargetRequest(input)
6111	req.SetContext(ctx)
6112	req.ApplyOptions(opts...)
6113	return out, req.Send()
6114}
6115
6116// DescribeMaintenanceWindowsForTargetPages iterates over the pages of a DescribeMaintenanceWindowsForTarget operation,
6117// calling the "fn" function with the response data for each page. To stop
6118// iterating, return false from the fn function.
6119//
6120// See DescribeMaintenanceWindowsForTarget method for more information on how to use this operation.
6121//
6122// Note: This operation can generate multiple requests to a service.
6123//
6124//    // Example iterating over at most 3 pages of a DescribeMaintenanceWindowsForTarget operation.
6125//    pageNum := 0
6126//    err := client.DescribeMaintenanceWindowsForTargetPages(params,
6127//        func(page *ssm.DescribeMaintenanceWindowsForTargetOutput, lastPage bool) bool {
6128//            pageNum++
6129//            fmt.Println(page)
6130//            return pageNum <= 3
6131//        })
6132//
6133func (c *SSM) DescribeMaintenanceWindowsForTargetPages(input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool) error {
6134	return c.DescribeMaintenanceWindowsForTargetPagesWithContext(aws.BackgroundContext(), input, fn)
6135}
6136
6137// DescribeMaintenanceWindowsForTargetPagesWithContext same as DescribeMaintenanceWindowsForTargetPages except
6138// it takes a Context and allows setting request options on the pages.
6139//
6140// The context must be non-nil and will be used for request cancellation. If
6141// the context is nil a panic will occur. In the future the SDK may create
6142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6143// for more information on using Contexts.
6144func (c *SSM) DescribeMaintenanceWindowsForTargetPagesWithContext(ctx aws.Context, input *DescribeMaintenanceWindowsForTargetInput, fn func(*DescribeMaintenanceWindowsForTargetOutput, bool) bool, opts ...request.Option) error {
6145	p := request.Pagination{
6146		NewRequest: func() (*request.Request, error) {
6147			var inCpy *DescribeMaintenanceWindowsForTargetInput
6148			if input != nil {
6149				tmp := *input
6150				inCpy = &tmp
6151			}
6152			req, _ := c.DescribeMaintenanceWindowsForTargetRequest(inCpy)
6153			req.SetContext(ctx)
6154			req.ApplyOptions(opts...)
6155			return req, nil
6156		},
6157	}
6158
6159	for p.Next() {
6160		if !fn(p.Page().(*DescribeMaintenanceWindowsForTargetOutput), !p.HasNextPage()) {
6161			break
6162		}
6163	}
6164
6165	return p.Err()
6166}
6167
6168const opDescribeOpsItems = "DescribeOpsItems"
6169
6170// DescribeOpsItemsRequest generates a "aws/request.Request" representing the
6171// client's request for the DescribeOpsItems operation. The "output" return
6172// value will be populated with the request's response once the request completes
6173// successfully.
6174//
6175// Use "Send" method on the returned Request to send the API call to the service.
6176// the "output" return value is not valid until after Send returns without error.
6177//
6178// See DescribeOpsItems for more information on using the DescribeOpsItems
6179// API call, and error handling.
6180//
6181// This method is useful when you want to inject custom logic or configuration
6182// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6183//
6184//
6185//    // Example sending a request using the DescribeOpsItemsRequest method.
6186//    req, resp := client.DescribeOpsItemsRequest(params)
6187//
6188//    err := req.Send()
6189//    if err == nil { // resp is now filled
6190//        fmt.Println(resp)
6191//    }
6192//
6193// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
6194func (c *SSM) DescribeOpsItemsRequest(input *DescribeOpsItemsInput) (req *request.Request, output *DescribeOpsItemsOutput) {
6195	op := &request.Operation{
6196		Name:       opDescribeOpsItems,
6197		HTTPMethod: "POST",
6198		HTTPPath:   "/",
6199		Paginator: &request.Paginator{
6200			InputTokens:     []string{"NextToken"},
6201			OutputTokens:    []string{"NextToken"},
6202			LimitToken:      "MaxResults",
6203			TruncationToken: "",
6204		},
6205	}
6206
6207	if input == nil {
6208		input = &DescribeOpsItemsInput{}
6209	}
6210
6211	output = &DescribeOpsItemsOutput{}
6212	req = c.newRequest(op, input, output)
6213	return
6214}
6215
6216// DescribeOpsItems API operation for Amazon Simple Systems Manager (SSM).
6217//
6218// Query a set of OpsItems. You must have permission in Identity and Access
6219// Management (IAM) to query a list of OpsItems. For more information, see Getting
6220// started with OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
6221// in the Amazon Web Services Systems Manager User Guide.
6222//
6223// Operations engineers and IT professionals use Amazon Web Services Systems
6224// Manager OpsCenter to view, investigate, and remediate operational issues
6225// impacting the performance and health of their Amazon Web Services resources.
6226// For more information, see OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
6227// in the Amazon Web Services Systems Manager User Guide.
6228//
6229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6230// with awserr.Error's Code and Message methods to get detailed information about
6231// the error.
6232//
6233// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6234// API operation DescribeOpsItems for usage and error information.
6235//
6236// Returned Error Types:
6237//   * InternalServerError
6238//   An error occurred on the server side.
6239//
6240// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems
6241func (c *SSM) DescribeOpsItems(input *DescribeOpsItemsInput) (*DescribeOpsItemsOutput, error) {
6242	req, out := c.DescribeOpsItemsRequest(input)
6243	return out, req.Send()
6244}
6245
6246// DescribeOpsItemsWithContext is the same as DescribeOpsItems with the addition of
6247// the ability to pass a context and additional request options.
6248//
6249// See DescribeOpsItems for details on how to use this API operation.
6250//
6251// The context must be non-nil and will be used for request cancellation. If
6252// the context is nil a panic will occur. In the future the SDK may create
6253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6254// for more information on using Contexts.
6255func (c *SSM) DescribeOpsItemsWithContext(ctx aws.Context, input *DescribeOpsItemsInput, opts ...request.Option) (*DescribeOpsItemsOutput, error) {
6256	req, out := c.DescribeOpsItemsRequest(input)
6257	req.SetContext(ctx)
6258	req.ApplyOptions(opts...)
6259	return out, req.Send()
6260}
6261
6262// DescribeOpsItemsPages iterates over the pages of a DescribeOpsItems operation,
6263// calling the "fn" function with the response data for each page. To stop
6264// iterating, return false from the fn function.
6265//
6266// See DescribeOpsItems method for more information on how to use this operation.
6267//
6268// Note: This operation can generate multiple requests to a service.
6269//
6270//    // Example iterating over at most 3 pages of a DescribeOpsItems operation.
6271//    pageNum := 0
6272//    err := client.DescribeOpsItemsPages(params,
6273//        func(page *ssm.DescribeOpsItemsOutput, lastPage bool) bool {
6274//            pageNum++
6275//            fmt.Println(page)
6276//            return pageNum <= 3
6277//        })
6278//
6279func (c *SSM) DescribeOpsItemsPages(input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool) error {
6280	return c.DescribeOpsItemsPagesWithContext(aws.BackgroundContext(), input, fn)
6281}
6282
6283// DescribeOpsItemsPagesWithContext same as DescribeOpsItemsPages except
6284// it takes a Context and allows setting request options on the pages.
6285//
6286// The context must be non-nil and will be used for request cancellation. If
6287// the context is nil a panic will occur. In the future the SDK may create
6288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6289// for more information on using Contexts.
6290func (c *SSM) DescribeOpsItemsPagesWithContext(ctx aws.Context, input *DescribeOpsItemsInput, fn func(*DescribeOpsItemsOutput, bool) bool, opts ...request.Option) error {
6291	p := request.Pagination{
6292		NewRequest: func() (*request.Request, error) {
6293			var inCpy *DescribeOpsItemsInput
6294			if input != nil {
6295				tmp := *input
6296				inCpy = &tmp
6297			}
6298			req, _ := c.DescribeOpsItemsRequest(inCpy)
6299			req.SetContext(ctx)
6300			req.ApplyOptions(opts...)
6301			return req, nil
6302		},
6303	}
6304
6305	for p.Next() {
6306		if !fn(p.Page().(*DescribeOpsItemsOutput), !p.HasNextPage()) {
6307			break
6308		}
6309	}
6310
6311	return p.Err()
6312}
6313
6314const opDescribeParameters = "DescribeParameters"
6315
6316// DescribeParametersRequest generates a "aws/request.Request" representing the
6317// client's request for the DescribeParameters operation. The "output" return
6318// value will be populated with the request's response once the request completes
6319// successfully.
6320//
6321// Use "Send" method on the returned Request to send the API call to the service.
6322// the "output" return value is not valid until after Send returns without error.
6323//
6324// See DescribeParameters for more information on using the DescribeParameters
6325// API call, and error handling.
6326//
6327// This method is useful when you want to inject custom logic or configuration
6328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6329//
6330//
6331//    // Example sending a request using the DescribeParametersRequest method.
6332//    req, resp := client.DescribeParametersRequest(params)
6333//
6334//    err := req.Send()
6335//    if err == nil { // resp is now filled
6336//        fmt.Println(resp)
6337//    }
6338//
6339// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
6340func (c *SSM) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) {
6341	op := &request.Operation{
6342		Name:       opDescribeParameters,
6343		HTTPMethod: "POST",
6344		HTTPPath:   "/",
6345		Paginator: &request.Paginator{
6346			InputTokens:     []string{"NextToken"},
6347			OutputTokens:    []string{"NextToken"},
6348			LimitToken:      "MaxResults",
6349			TruncationToken: "",
6350		},
6351	}
6352
6353	if input == nil {
6354		input = &DescribeParametersInput{}
6355	}
6356
6357	output = &DescribeParametersOutput{}
6358	req = c.newRequest(op, input, output)
6359	return
6360}
6361
6362// DescribeParameters API operation for Amazon Simple Systems Manager (SSM).
6363//
6364// Get information about a parameter.
6365//
6366// Request results are returned on a best-effort basis. If you specify MaxResults
6367// in the request, the response includes information up to the limit specified.
6368// The number of items returned, however, can be between zero and the value
6369// of MaxResults. If the service reaches an internal limit while processing
6370// the results, it stops the operation and returns the matching values up to
6371// that point and a NextToken. You can specify the NextToken in a subsequent
6372// call to get the next set of results.
6373//
6374// If you change the KMS key alias for the KMS key used to encrypt a parameter,
6375// then you must also update the key alias the parameter uses to reference KMS.
6376// Otherwise, DescribeParameters retrieves whatever the original key alias was
6377// referencing.
6378//
6379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6380// with awserr.Error's Code and Message methods to get detailed information about
6381// the error.
6382//
6383// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6384// API operation DescribeParameters for usage and error information.
6385//
6386// Returned Error Types:
6387//   * InternalServerError
6388//   An error occurred on the server side.
6389//
6390//   * InvalidFilterKey
6391//   The specified key isn't valid.
6392//
6393//   * InvalidFilterOption
6394//   The specified filter option isn't valid. Valid options are Equals and BeginsWith.
6395//   For Path filter, valid options are Recursive and OneLevel.
6396//
6397//   * InvalidFilterValue
6398//   The filter value isn't valid. Verify the value and try again.
6399//
6400//   * InvalidNextToken
6401//   The specified token isn't valid.
6402//
6403// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters
6404func (c *SSM) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) {
6405	req, out := c.DescribeParametersRequest(input)
6406	return out, req.Send()
6407}
6408
6409// DescribeParametersWithContext is the same as DescribeParameters with the addition of
6410// the ability to pass a context and additional request options.
6411//
6412// See DescribeParameters for details on how to use this API operation.
6413//
6414// The context must be non-nil and will be used for request cancellation. If
6415// the context is nil a panic will occur. In the future the SDK may create
6416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6417// for more information on using Contexts.
6418func (c *SSM) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) {
6419	req, out := c.DescribeParametersRequest(input)
6420	req.SetContext(ctx)
6421	req.ApplyOptions(opts...)
6422	return out, req.Send()
6423}
6424
6425// DescribeParametersPages iterates over the pages of a DescribeParameters operation,
6426// calling the "fn" function with the response data for each page. To stop
6427// iterating, return false from the fn function.
6428//
6429// See DescribeParameters method for more information on how to use this operation.
6430//
6431// Note: This operation can generate multiple requests to a service.
6432//
6433//    // Example iterating over at most 3 pages of a DescribeParameters operation.
6434//    pageNum := 0
6435//    err := client.DescribeParametersPages(params,
6436//        func(page *ssm.DescribeParametersOutput, lastPage bool) bool {
6437//            pageNum++
6438//            fmt.Println(page)
6439//            return pageNum <= 3
6440//        })
6441//
6442func (c *SSM) DescribeParametersPages(input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool) error {
6443	return c.DescribeParametersPagesWithContext(aws.BackgroundContext(), input, fn)
6444}
6445
6446// DescribeParametersPagesWithContext same as DescribeParametersPages except
6447// it takes a Context and allows setting request options on the pages.
6448//
6449// The context must be non-nil and will be used for request cancellation. If
6450// the context is nil a panic will occur. In the future the SDK may create
6451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6452// for more information on using Contexts.
6453func (c *SSM) DescribeParametersPagesWithContext(ctx aws.Context, input *DescribeParametersInput, fn func(*DescribeParametersOutput, bool) bool, opts ...request.Option) error {
6454	p := request.Pagination{
6455		NewRequest: func() (*request.Request, error) {
6456			var inCpy *DescribeParametersInput
6457			if input != nil {
6458				tmp := *input
6459				inCpy = &tmp
6460			}
6461			req, _ := c.DescribeParametersRequest(inCpy)
6462			req.SetContext(ctx)
6463			req.ApplyOptions(opts...)
6464			return req, nil
6465		},
6466	}
6467
6468	for p.Next() {
6469		if !fn(p.Page().(*DescribeParametersOutput), !p.HasNextPage()) {
6470			break
6471		}
6472	}
6473
6474	return p.Err()
6475}
6476
6477const opDescribePatchBaselines = "DescribePatchBaselines"
6478
6479// DescribePatchBaselinesRequest generates a "aws/request.Request" representing the
6480// client's request for the DescribePatchBaselines operation. The "output" return
6481// value will be populated with the request's response once the request completes
6482// successfully.
6483//
6484// Use "Send" method on the returned Request to send the API call to the service.
6485// the "output" return value is not valid until after Send returns without error.
6486//
6487// See DescribePatchBaselines for more information on using the DescribePatchBaselines
6488// API call, and error handling.
6489//
6490// This method is useful when you want to inject custom logic or configuration
6491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6492//
6493//
6494//    // Example sending a request using the DescribePatchBaselinesRequest method.
6495//    req, resp := client.DescribePatchBaselinesRequest(params)
6496//
6497//    err := req.Send()
6498//    if err == nil { // resp is now filled
6499//        fmt.Println(resp)
6500//    }
6501//
6502// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
6503func (c *SSM) DescribePatchBaselinesRequest(input *DescribePatchBaselinesInput) (req *request.Request, output *DescribePatchBaselinesOutput) {
6504	op := &request.Operation{
6505		Name:       opDescribePatchBaselines,
6506		HTTPMethod: "POST",
6507		HTTPPath:   "/",
6508		Paginator: &request.Paginator{
6509			InputTokens:     []string{"NextToken"},
6510			OutputTokens:    []string{"NextToken"},
6511			LimitToken:      "MaxResults",
6512			TruncationToken: "",
6513		},
6514	}
6515
6516	if input == nil {
6517		input = &DescribePatchBaselinesInput{}
6518	}
6519
6520	output = &DescribePatchBaselinesOutput{}
6521	req = c.newRequest(op, input, output)
6522	return
6523}
6524
6525// DescribePatchBaselines API operation for Amazon Simple Systems Manager (SSM).
6526//
6527// Lists the patch baselines in your Amazon Web Services account.
6528//
6529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6530// with awserr.Error's Code and Message methods to get detailed information about
6531// the error.
6532//
6533// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6534// API operation DescribePatchBaselines for usage and error information.
6535//
6536// Returned Error Types:
6537//   * InternalServerError
6538//   An error occurred on the server side.
6539//
6540// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines
6541func (c *SSM) DescribePatchBaselines(input *DescribePatchBaselinesInput) (*DescribePatchBaselinesOutput, error) {
6542	req, out := c.DescribePatchBaselinesRequest(input)
6543	return out, req.Send()
6544}
6545
6546// DescribePatchBaselinesWithContext is the same as DescribePatchBaselines with the addition of
6547// the ability to pass a context and additional request options.
6548//
6549// See DescribePatchBaselines for details on how to use this API operation.
6550//
6551// The context must be non-nil and will be used for request cancellation. If
6552// the context is nil a panic will occur. In the future the SDK may create
6553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6554// for more information on using Contexts.
6555func (c *SSM) DescribePatchBaselinesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, opts ...request.Option) (*DescribePatchBaselinesOutput, error) {
6556	req, out := c.DescribePatchBaselinesRequest(input)
6557	req.SetContext(ctx)
6558	req.ApplyOptions(opts...)
6559	return out, req.Send()
6560}
6561
6562// DescribePatchBaselinesPages iterates over the pages of a DescribePatchBaselines operation,
6563// calling the "fn" function with the response data for each page. To stop
6564// iterating, return false from the fn function.
6565//
6566// See DescribePatchBaselines method for more information on how to use this operation.
6567//
6568// Note: This operation can generate multiple requests to a service.
6569//
6570//    // Example iterating over at most 3 pages of a DescribePatchBaselines operation.
6571//    pageNum := 0
6572//    err := client.DescribePatchBaselinesPages(params,
6573//        func(page *ssm.DescribePatchBaselinesOutput, lastPage bool) bool {
6574//            pageNum++
6575//            fmt.Println(page)
6576//            return pageNum <= 3
6577//        })
6578//
6579func (c *SSM) DescribePatchBaselinesPages(input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool) error {
6580	return c.DescribePatchBaselinesPagesWithContext(aws.BackgroundContext(), input, fn)
6581}
6582
6583// DescribePatchBaselinesPagesWithContext same as DescribePatchBaselinesPages except
6584// it takes a Context and allows setting request options on the pages.
6585//
6586// The context must be non-nil and will be used for request cancellation. If
6587// the context is nil a panic will occur. In the future the SDK may create
6588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6589// for more information on using Contexts.
6590func (c *SSM) DescribePatchBaselinesPagesWithContext(ctx aws.Context, input *DescribePatchBaselinesInput, fn func(*DescribePatchBaselinesOutput, bool) bool, opts ...request.Option) error {
6591	p := request.Pagination{
6592		NewRequest: func() (*request.Request, error) {
6593			var inCpy *DescribePatchBaselinesInput
6594			if input != nil {
6595				tmp := *input
6596				inCpy = &tmp
6597			}
6598			req, _ := c.DescribePatchBaselinesRequest(inCpy)
6599			req.SetContext(ctx)
6600			req.ApplyOptions(opts...)
6601			return req, nil
6602		},
6603	}
6604
6605	for p.Next() {
6606		if !fn(p.Page().(*DescribePatchBaselinesOutput), !p.HasNextPage()) {
6607			break
6608		}
6609	}
6610
6611	return p.Err()
6612}
6613
6614const opDescribePatchGroupState = "DescribePatchGroupState"
6615
6616// DescribePatchGroupStateRequest generates a "aws/request.Request" representing the
6617// client's request for the DescribePatchGroupState operation. The "output" return
6618// value will be populated with the request's response once the request completes
6619// successfully.
6620//
6621// Use "Send" method on the returned Request to send the API call to the service.
6622// the "output" return value is not valid until after Send returns without error.
6623//
6624// See DescribePatchGroupState for more information on using the DescribePatchGroupState
6625// API call, and error handling.
6626//
6627// This method is useful when you want to inject custom logic or configuration
6628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6629//
6630//
6631//    // Example sending a request using the DescribePatchGroupStateRequest method.
6632//    req, resp := client.DescribePatchGroupStateRequest(params)
6633//
6634//    err := req.Send()
6635//    if err == nil { // resp is now filled
6636//        fmt.Println(resp)
6637//    }
6638//
6639// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
6640func (c *SSM) DescribePatchGroupStateRequest(input *DescribePatchGroupStateInput) (req *request.Request, output *DescribePatchGroupStateOutput) {
6641	op := &request.Operation{
6642		Name:       opDescribePatchGroupState,
6643		HTTPMethod: "POST",
6644		HTTPPath:   "/",
6645	}
6646
6647	if input == nil {
6648		input = &DescribePatchGroupStateInput{}
6649	}
6650
6651	output = &DescribePatchGroupStateOutput{}
6652	req = c.newRequest(op, input, output)
6653	return
6654}
6655
6656// DescribePatchGroupState API operation for Amazon Simple Systems Manager (SSM).
6657//
6658// Returns high-level aggregated patch compliance state information for a patch
6659// group.
6660//
6661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6662// with awserr.Error's Code and Message methods to get detailed information about
6663// the error.
6664//
6665// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6666// API operation DescribePatchGroupState for usage and error information.
6667//
6668// Returned Error Types:
6669//   * InternalServerError
6670//   An error occurred on the server side.
6671//
6672//   * InvalidNextToken
6673//   The specified token isn't valid.
6674//
6675// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState
6676func (c *SSM) DescribePatchGroupState(input *DescribePatchGroupStateInput) (*DescribePatchGroupStateOutput, error) {
6677	req, out := c.DescribePatchGroupStateRequest(input)
6678	return out, req.Send()
6679}
6680
6681// DescribePatchGroupStateWithContext is the same as DescribePatchGroupState with the addition of
6682// the ability to pass a context and additional request options.
6683//
6684// See DescribePatchGroupState for details on how to use this API operation.
6685//
6686// The context must be non-nil and will be used for request cancellation. If
6687// the context is nil a panic will occur. In the future the SDK may create
6688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6689// for more information on using Contexts.
6690func (c *SSM) DescribePatchGroupStateWithContext(ctx aws.Context, input *DescribePatchGroupStateInput, opts ...request.Option) (*DescribePatchGroupStateOutput, error) {
6691	req, out := c.DescribePatchGroupStateRequest(input)
6692	req.SetContext(ctx)
6693	req.ApplyOptions(opts...)
6694	return out, req.Send()
6695}
6696
6697const opDescribePatchGroups = "DescribePatchGroups"
6698
6699// DescribePatchGroupsRequest generates a "aws/request.Request" representing the
6700// client's request for the DescribePatchGroups operation. The "output" return
6701// value will be populated with the request's response once the request completes
6702// successfully.
6703//
6704// Use "Send" method on the returned Request to send the API call to the service.
6705// the "output" return value is not valid until after Send returns without error.
6706//
6707// See DescribePatchGroups for more information on using the DescribePatchGroups
6708// API call, and error handling.
6709//
6710// This method is useful when you want to inject custom logic or configuration
6711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6712//
6713//
6714//    // Example sending a request using the DescribePatchGroupsRequest method.
6715//    req, resp := client.DescribePatchGroupsRequest(params)
6716//
6717//    err := req.Send()
6718//    if err == nil { // resp is now filled
6719//        fmt.Println(resp)
6720//    }
6721//
6722// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
6723func (c *SSM) DescribePatchGroupsRequest(input *DescribePatchGroupsInput) (req *request.Request, output *DescribePatchGroupsOutput) {
6724	op := &request.Operation{
6725		Name:       opDescribePatchGroups,
6726		HTTPMethod: "POST",
6727		HTTPPath:   "/",
6728		Paginator: &request.Paginator{
6729			InputTokens:     []string{"NextToken"},
6730			OutputTokens:    []string{"NextToken"},
6731			LimitToken:      "MaxResults",
6732			TruncationToken: "",
6733		},
6734	}
6735
6736	if input == nil {
6737		input = &DescribePatchGroupsInput{}
6738	}
6739
6740	output = &DescribePatchGroupsOutput{}
6741	req = c.newRequest(op, input, output)
6742	return
6743}
6744
6745// DescribePatchGroups API operation for Amazon Simple Systems Manager (SSM).
6746//
6747// Lists all patch groups that have been registered with patch baselines.
6748//
6749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6750// with awserr.Error's Code and Message methods to get detailed information about
6751// the error.
6752//
6753// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6754// API operation DescribePatchGroups for usage and error information.
6755//
6756// Returned Error Types:
6757//   * InternalServerError
6758//   An error occurred on the server side.
6759//
6760// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups
6761func (c *SSM) DescribePatchGroups(input *DescribePatchGroupsInput) (*DescribePatchGroupsOutput, error) {
6762	req, out := c.DescribePatchGroupsRequest(input)
6763	return out, req.Send()
6764}
6765
6766// DescribePatchGroupsWithContext is the same as DescribePatchGroups with the addition of
6767// the ability to pass a context and additional request options.
6768//
6769// See DescribePatchGroups for details on how to use this API operation.
6770//
6771// The context must be non-nil and will be used for request cancellation. If
6772// the context is nil a panic will occur. In the future the SDK may create
6773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6774// for more information on using Contexts.
6775func (c *SSM) DescribePatchGroupsWithContext(ctx aws.Context, input *DescribePatchGroupsInput, opts ...request.Option) (*DescribePatchGroupsOutput, error) {
6776	req, out := c.DescribePatchGroupsRequest(input)
6777	req.SetContext(ctx)
6778	req.ApplyOptions(opts...)
6779	return out, req.Send()
6780}
6781
6782// DescribePatchGroupsPages iterates over the pages of a DescribePatchGroups operation,
6783// calling the "fn" function with the response data for each page. To stop
6784// iterating, return false from the fn function.
6785//
6786// See DescribePatchGroups method for more information on how to use this operation.
6787//
6788// Note: This operation can generate multiple requests to a service.
6789//
6790//    // Example iterating over at most 3 pages of a DescribePatchGroups operation.
6791//    pageNum := 0
6792//    err := client.DescribePatchGroupsPages(params,
6793//        func(page *ssm.DescribePatchGroupsOutput, lastPage bool) bool {
6794//            pageNum++
6795//            fmt.Println(page)
6796//            return pageNum <= 3
6797//        })
6798//
6799func (c *SSM) DescribePatchGroupsPages(input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool) error {
6800	return c.DescribePatchGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6801}
6802
6803// DescribePatchGroupsPagesWithContext same as DescribePatchGroupsPages except
6804// it takes a Context and allows setting request options on the pages.
6805//
6806// The context must be non-nil and will be used for request cancellation. If
6807// the context is nil a panic will occur. In the future the SDK may create
6808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6809// for more information on using Contexts.
6810func (c *SSM) DescribePatchGroupsPagesWithContext(ctx aws.Context, input *DescribePatchGroupsInput, fn func(*DescribePatchGroupsOutput, bool) bool, opts ...request.Option) error {
6811	p := request.Pagination{
6812		NewRequest: func() (*request.Request, error) {
6813			var inCpy *DescribePatchGroupsInput
6814			if input != nil {
6815				tmp := *input
6816				inCpy = &tmp
6817			}
6818			req, _ := c.DescribePatchGroupsRequest(inCpy)
6819			req.SetContext(ctx)
6820			req.ApplyOptions(opts...)
6821			return req, nil
6822		},
6823	}
6824
6825	for p.Next() {
6826		if !fn(p.Page().(*DescribePatchGroupsOutput), !p.HasNextPage()) {
6827			break
6828		}
6829	}
6830
6831	return p.Err()
6832}
6833
6834const opDescribePatchProperties = "DescribePatchProperties"
6835
6836// DescribePatchPropertiesRequest generates a "aws/request.Request" representing the
6837// client's request for the DescribePatchProperties operation. The "output" return
6838// value will be populated with the request's response once the request completes
6839// successfully.
6840//
6841// Use "Send" method on the returned Request to send the API call to the service.
6842// the "output" return value is not valid until after Send returns without error.
6843//
6844// See DescribePatchProperties for more information on using the DescribePatchProperties
6845// API call, and error handling.
6846//
6847// This method is useful when you want to inject custom logic or configuration
6848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6849//
6850//
6851//    // Example sending a request using the DescribePatchPropertiesRequest method.
6852//    req, resp := client.DescribePatchPropertiesRequest(params)
6853//
6854//    err := req.Send()
6855//    if err == nil { // resp is now filled
6856//        fmt.Println(resp)
6857//    }
6858//
6859// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
6860func (c *SSM) DescribePatchPropertiesRequest(input *DescribePatchPropertiesInput) (req *request.Request, output *DescribePatchPropertiesOutput) {
6861	op := &request.Operation{
6862		Name:       opDescribePatchProperties,
6863		HTTPMethod: "POST",
6864		HTTPPath:   "/",
6865		Paginator: &request.Paginator{
6866			InputTokens:     []string{"NextToken"},
6867			OutputTokens:    []string{"NextToken"},
6868			LimitToken:      "MaxResults",
6869			TruncationToken: "",
6870		},
6871	}
6872
6873	if input == nil {
6874		input = &DescribePatchPropertiesInput{}
6875	}
6876
6877	output = &DescribePatchPropertiesOutput{}
6878	req = c.newRequest(op, input, output)
6879	return
6880}
6881
6882// DescribePatchProperties API operation for Amazon Simple Systems Manager (SSM).
6883//
6884// Lists the properties of available patches organized by product, product family,
6885// classification, severity, and other properties of available patches. You
6886// can use the reported properties in the filters you specify in requests for
6887// operations such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches,
6888// and DescribePatchBaselines.
6889//
6890// The following section lists the properties that can be used in filters for
6891// each major operating system type:
6892//
6893// AMAZON_LINUX
6894//
6895// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6896//
6897// AMAZON_LINUX_2
6898//
6899// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6900//
6901// CENTOS
6902//
6903// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6904//
6905// DEBIAN
6906//
6907// Valid properties: PRODUCT | PRIORITY
6908//
6909// MACOS
6910//
6911// Valid properties: PRODUCT | CLASSIFICATION
6912//
6913// ORACLE_LINUX
6914//
6915// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6916//
6917// REDHAT_ENTERPRISE_LINUX
6918//
6919// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6920//
6921// SUSE
6922//
6923// Valid properties: PRODUCT | CLASSIFICATION | SEVERITY
6924//
6925// UBUNTU
6926//
6927// Valid properties: PRODUCT | PRIORITY
6928//
6929// WINDOWS
6930//
6931// Valid properties: PRODUCT | PRODUCT_FAMILY | CLASSIFICATION | MSRC_SEVERITY
6932//
6933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6934// with awserr.Error's Code and Message methods to get detailed information about
6935// the error.
6936//
6937// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
6938// API operation DescribePatchProperties for usage and error information.
6939//
6940// Returned Error Types:
6941//   * InternalServerError
6942//   An error occurred on the server side.
6943//
6944// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties
6945func (c *SSM) DescribePatchProperties(input *DescribePatchPropertiesInput) (*DescribePatchPropertiesOutput, error) {
6946	req, out := c.DescribePatchPropertiesRequest(input)
6947	return out, req.Send()
6948}
6949
6950// DescribePatchPropertiesWithContext is the same as DescribePatchProperties with the addition of
6951// the ability to pass a context and additional request options.
6952//
6953// See DescribePatchProperties for details on how to use this API operation.
6954//
6955// The context must be non-nil and will be used for request cancellation. If
6956// the context is nil a panic will occur. In the future the SDK may create
6957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6958// for more information on using Contexts.
6959func (c *SSM) DescribePatchPropertiesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, opts ...request.Option) (*DescribePatchPropertiesOutput, error) {
6960	req, out := c.DescribePatchPropertiesRequest(input)
6961	req.SetContext(ctx)
6962	req.ApplyOptions(opts...)
6963	return out, req.Send()
6964}
6965
6966// DescribePatchPropertiesPages iterates over the pages of a DescribePatchProperties operation,
6967// calling the "fn" function with the response data for each page. To stop
6968// iterating, return false from the fn function.
6969//
6970// See DescribePatchProperties method for more information on how to use this operation.
6971//
6972// Note: This operation can generate multiple requests to a service.
6973//
6974//    // Example iterating over at most 3 pages of a DescribePatchProperties operation.
6975//    pageNum := 0
6976//    err := client.DescribePatchPropertiesPages(params,
6977//        func(page *ssm.DescribePatchPropertiesOutput, lastPage bool) bool {
6978//            pageNum++
6979//            fmt.Println(page)
6980//            return pageNum <= 3
6981//        })
6982//
6983func (c *SSM) DescribePatchPropertiesPages(input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool) error {
6984	return c.DescribePatchPropertiesPagesWithContext(aws.BackgroundContext(), input, fn)
6985}
6986
6987// DescribePatchPropertiesPagesWithContext same as DescribePatchPropertiesPages except
6988// it takes a Context and allows setting request options on the pages.
6989//
6990// The context must be non-nil and will be used for request cancellation. If
6991// the context is nil a panic will occur. In the future the SDK may create
6992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6993// for more information on using Contexts.
6994func (c *SSM) DescribePatchPropertiesPagesWithContext(ctx aws.Context, input *DescribePatchPropertiesInput, fn func(*DescribePatchPropertiesOutput, bool) bool, opts ...request.Option) error {
6995	p := request.Pagination{
6996		NewRequest: func() (*request.Request, error) {
6997			var inCpy *DescribePatchPropertiesInput
6998			if input != nil {
6999				tmp := *input
7000				inCpy = &tmp
7001			}
7002			req, _ := c.DescribePatchPropertiesRequest(inCpy)
7003			req.SetContext(ctx)
7004			req.ApplyOptions(opts...)
7005			return req, nil
7006		},
7007	}
7008
7009	for p.Next() {
7010		if !fn(p.Page().(*DescribePatchPropertiesOutput), !p.HasNextPage()) {
7011			break
7012		}
7013	}
7014
7015	return p.Err()
7016}
7017
7018const opDescribeSessions = "DescribeSessions"
7019
7020// DescribeSessionsRequest generates a "aws/request.Request" representing the
7021// client's request for the DescribeSessions operation. The "output" return
7022// value will be populated with the request's response once the request completes
7023// successfully.
7024//
7025// Use "Send" method on the returned Request to send the API call to the service.
7026// the "output" return value is not valid until after Send returns without error.
7027//
7028// See DescribeSessions for more information on using the DescribeSessions
7029// API call, and error handling.
7030//
7031// This method is useful when you want to inject custom logic or configuration
7032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7033//
7034//
7035//    // Example sending a request using the DescribeSessionsRequest method.
7036//    req, resp := client.DescribeSessionsRequest(params)
7037//
7038//    err := req.Send()
7039//    if err == nil { // resp is now filled
7040//        fmt.Println(resp)
7041//    }
7042//
7043// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
7044func (c *SSM) DescribeSessionsRequest(input *DescribeSessionsInput) (req *request.Request, output *DescribeSessionsOutput) {
7045	op := &request.Operation{
7046		Name:       opDescribeSessions,
7047		HTTPMethod: "POST",
7048		HTTPPath:   "/",
7049		Paginator: &request.Paginator{
7050			InputTokens:     []string{"NextToken"},
7051			OutputTokens:    []string{"NextToken"},
7052			LimitToken:      "MaxResults",
7053			TruncationToken: "",
7054		},
7055	}
7056
7057	if input == nil {
7058		input = &DescribeSessionsInput{}
7059	}
7060
7061	output = &DescribeSessionsOutput{}
7062	req = c.newRequest(op, input, output)
7063	return
7064}
7065
7066// DescribeSessions API operation for Amazon Simple Systems Manager (SSM).
7067//
7068// Retrieves a list of all active sessions (both connected and disconnected)
7069// or terminated sessions from the past 30 days.
7070//
7071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7072// with awserr.Error's Code and Message methods to get detailed information about
7073// the error.
7074//
7075// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7076// API operation DescribeSessions for usage and error information.
7077//
7078// Returned Error Types:
7079//   * InternalServerError
7080//   An error occurred on the server side.
7081//
7082//   * InvalidFilterKey
7083//   The specified key isn't valid.
7084//
7085//   * InvalidNextToken
7086//   The specified token isn't valid.
7087//
7088// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions
7089func (c *SSM) DescribeSessions(input *DescribeSessionsInput) (*DescribeSessionsOutput, error) {
7090	req, out := c.DescribeSessionsRequest(input)
7091	return out, req.Send()
7092}
7093
7094// DescribeSessionsWithContext is the same as DescribeSessions with the addition of
7095// the ability to pass a context and additional request options.
7096//
7097// See DescribeSessions for details on how to use this API operation.
7098//
7099// The context must be non-nil and will be used for request cancellation. If
7100// the context is nil a panic will occur. In the future the SDK may create
7101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7102// for more information on using Contexts.
7103func (c *SSM) DescribeSessionsWithContext(ctx aws.Context, input *DescribeSessionsInput, opts ...request.Option) (*DescribeSessionsOutput, error) {
7104	req, out := c.DescribeSessionsRequest(input)
7105	req.SetContext(ctx)
7106	req.ApplyOptions(opts...)
7107	return out, req.Send()
7108}
7109
7110// DescribeSessionsPages iterates over the pages of a DescribeSessions operation,
7111// calling the "fn" function with the response data for each page. To stop
7112// iterating, return false from the fn function.
7113//
7114// See DescribeSessions method for more information on how to use this operation.
7115//
7116// Note: This operation can generate multiple requests to a service.
7117//
7118//    // Example iterating over at most 3 pages of a DescribeSessions operation.
7119//    pageNum := 0
7120//    err := client.DescribeSessionsPages(params,
7121//        func(page *ssm.DescribeSessionsOutput, lastPage bool) bool {
7122//            pageNum++
7123//            fmt.Println(page)
7124//            return pageNum <= 3
7125//        })
7126//
7127func (c *SSM) DescribeSessionsPages(input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool) error {
7128	return c.DescribeSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
7129}
7130
7131// DescribeSessionsPagesWithContext same as DescribeSessionsPages except
7132// it takes a Context and allows setting request options on the pages.
7133//
7134// The context must be non-nil and will be used for request cancellation. If
7135// the context is nil a panic will occur. In the future the SDK may create
7136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7137// for more information on using Contexts.
7138func (c *SSM) DescribeSessionsPagesWithContext(ctx aws.Context, input *DescribeSessionsInput, fn func(*DescribeSessionsOutput, bool) bool, opts ...request.Option) error {
7139	p := request.Pagination{
7140		NewRequest: func() (*request.Request, error) {
7141			var inCpy *DescribeSessionsInput
7142			if input != nil {
7143				tmp := *input
7144				inCpy = &tmp
7145			}
7146			req, _ := c.DescribeSessionsRequest(inCpy)
7147			req.SetContext(ctx)
7148			req.ApplyOptions(opts...)
7149			return req, nil
7150		},
7151	}
7152
7153	for p.Next() {
7154		if !fn(p.Page().(*DescribeSessionsOutput), !p.HasNextPage()) {
7155			break
7156		}
7157	}
7158
7159	return p.Err()
7160}
7161
7162const opDisassociateOpsItemRelatedItem = "DisassociateOpsItemRelatedItem"
7163
7164// DisassociateOpsItemRelatedItemRequest generates a "aws/request.Request" representing the
7165// client's request for the DisassociateOpsItemRelatedItem operation. The "output" return
7166// value will be populated with the request's response once the request completes
7167// successfully.
7168//
7169// Use "Send" method on the returned Request to send the API call to the service.
7170// the "output" return value is not valid until after Send returns without error.
7171//
7172// See DisassociateOpsItemRelatedItem for more information on using the DisassociateOpsItemRelatedItem
7173// API call, and error handling.
7174//
7175// This method is useful when you want to inject custom logic or configuration
7176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7177//
7178//
7179//    // Example sending a request using the DisassociateOpsItemRelatedItemRequest method.
7180//    req, resp := client.DisassociateOpsItemRelatedItemRequest(params)
7181//
7182//    err := req.Send()
7183//    if err == nil { // resp is now filled
7184//        fmt.Println(resp)
7185//    }
7186//
7187// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DisassociateOpsItemRelatedItem
7188func (c *SSM) DisassociateOpsItemRelatedItemRequest(input *DisassociateOpsItemRelatedItemInput) (req *request.Request, output *DisassociateOpsItemRelatedItemOutput) {
7189	op := &request.Operation{
7190		Name:       opDisassociateOpsItemRelatedItem,
7191		HTTPMethod: "POST",
7192		HTTPPath:   "/",
7193	}
7194
7195	if input == nil {
7196		input = &DisassociateOpsItemRelatedItemInput{}
7197	}
7198
7199	output = &DisassociateOpsItemRelatedItemOutput{}
7200	req = c.newRequest(op, input, output)
7201	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7202	return
7203}
7204
7205// DisassociateOpsItemRelatedItem API operation for Amazon Simple Systems Manager (SSM).
7206//
7207// Deletes the association between an OpsItem and a related item. For example,
7208// this API operation can delete an Incident Manager incident from an OpsItem.
7209// Incident Manager is a capability of Amazon Web Services Systems Manager.
7210//
7211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7212// with awserr.Error's Code and Message methods to get detailed information about
7213// the error.
7214//
7215// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7216// API operation DisassociateOpsItemRelatedItem for usage and error information.
7217//
7218// Returned Error Types:
7219//   * InternalServerError
7220//   An error occurred on the server side.
7221//
7222//   * OpsItemRelatedItemAssociationNotFoundException
7223//   The association wasn't found using the parameters you specified in the call.
7224//   Verify the information and try again.
7225//
7226//   * OpsItemNotFoundException
7227//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
7228//
7229//   * OpsItemInvalidParameterException
7230//   A specified parameter argument isn't valid. Verify the available arguments
7231//   and try again.
7232//
7233// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DisassociateOpsItemRelatedItem
7234func (c *SSM) DisassociateOpsItemRelatedItem(input *DisassociateOpsItemRelatedItemInput) (*DisassociateOpsItemRelatedItemOutput, error) {
7235	req, out := c.DisassociateOpsItemRelatedItemRequest(input)
7236	return out, req.Send()
7237}
7238
7239// DisassociateOpsItemRelatedItemWithContext is the same as DisassociateOpsItemRelatedItem with the addition of
7240// the ability to pass a context and additional request options.
7241//
7242// See DisassociateOpsItemRelatedItem for details on how to use this API operation.
7243//
7244// The context must be non-nil and will be used for request cancellation. If
7245// the context is nil a panic will occur. In the future the SDK may create
7246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7247// for more information on using Contexts.
7248func (c *SSM) DisassociateOpsItemRelatedItemWithContext(ctx aws.Context, input *DisassociateOpsItemRelatedItemInput, opts ...request.Option) (*DisassociateOpsItemRelatedItemOutput, error) {
7249	req, out := c.DisassociateOpsItemRelatedItemRequest(input)
7250	req.SetContext(ctx)
7251	req.ApplyOptions(opts...)
7252	return out, req.Send()
7253}
7254
7255const opGetAutomationExecution = "GetAutomationExecution"
7256
7257// GetAutomationExecutionRequest generates a "aws/request.Request" representing the
7258// client's request for the GetAutomationExecution operation. The "output" return
7259// value will be populated with the request's response once the request completes
7260// successfully.
7261//
7262// Use "Send" method on the returned Request to send the API call to the service.
7263// the "output" return value is not valid until after Send returns without error.
7264//
7265// See GetAutomationExecution for more information on using the GetAutomationExecution
7266// API call, and error handling.
7267//
7268// This method is useful when you want to inject custom logic or configuration
7269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7270//
7271//
7272//    // Example sending a request using the GetAutomationExecutionRequest method.
7273//    req, resp := client.GetAutomationExecutionRequest(params)
7274//
7275//    err := req.Send()
7276//    if err == nil { // resp is now filled
7277//        fmt.Println(resp)
7278//    }
7279//
7280// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
7281func (c *SSM) GetAutomationExecutionRequest(input *GetAutomationExecutionInput) (req *request.Request, output *GetAutomationExecutionOutput) {
7282	op := &request.Operation{
7283		Name:       opGetAutomationExecution,
7284		HTTPMethod: "POST",
7285		HTTPPath:   "/",
7286	}
7287
7288	if input == nil {
7289		input = &GetAutomationExecutionInput{}
7290	}
7291
7292	output = &GetAutomationExecutionOutput{}
7293	req = c.newRequest(op, input, output)
7294	return
7295}
7296
7297// GetAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
7298//
7299// Get detailed information about a particular Automation execution.
7300//
7301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7302// with awserr.Error's Code and Message methods to get detailed information about
7303// the error.
7304//
7305// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7306// API operation GetAutomationExecution for usage and error information.
7307//
7308// Returned Error Types:
7309//   * AutomationExecutionNotFoundException
7310//   There is no automation execution information for the requested automation
7311//   execution ID.
7312//
7313//   * InternalServerError
7314//   An error occurred on the server side.
7315//
7316// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution
7317func (c *SSM) GetAutomationExecution(input *GetAutomationExecutionInput) (*GetAutomationExecutionOutput, error) {
7318	req, out := c.GetAutomationExecutionRequest(input)
7319	return out, req.Send()
7320}
7321
7322// GetAutomationExecutionWithContext is the same as GetAutomationExecution with the addition of
7323// the ability to pass a context and additional request options.
7324//
7325// See GetAutomationExecution for details on how to use this API operation.
7326//
7327// The context must be non-nil and will be used for request cancellation. If
7328// the context is nil a panic will occur. In the future the SDK may create
7329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7330// for more information on using Contexts.
7331func (c *SSM) GetAutomationExecutionWithContext(ctx aws.Context, input *GetAutomationExecutionInput, opts ...request.Option) (*GetAutomationExecutionOutput, error) {
7332	req, out := c.GetAutomationExecutionRequest(input)
7333	req.SetContext(ctx)
7334	req.ApplyOptions(opts...)
7335	return out, req.Send()
7336}
7337
7338const opGetCalendarState = "GetCalendarState"
7339
7340// GetCalendarStateRequest generates a "aws/request.Request" representing the
7341// client's request for the GetCalendarState operation. The "output" return
7342// value will be populated with the request's response once the request completes
7343// successfully.
7344//
7345// Use "Send" method on the returned Request to send the API call to the service.
7346// the "output" return value is not valid until after Send returns without error.
7347//
7348// See GetCalendarState for more information on using the GetCalendarState
7349// API call, and error handling.
7350//
7351// This method is useful when you want to inject custom logic or configuration
7352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7353//
7354//
7355//    // Example sending a request using the GetCalendarStateRequest method.
7356//    req, resp := client.GetCalendarStateRequest(params)
7357//
7358//    err := req.Send()
7359//    if err == nil { // resp is now filled
7360//        fmt.Println(resp)
7361//    }
7362//
7363// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCalendarState
7364func (c *SSM) GetCalendarStateRequest(input *GetCalendarStateInput) (req *request.Request, output *GetCalendarStateOutput) {
7365	op := &request.Operation{
7366		Name:       opGetCalendarState,
7367		HTTPMethod: "POST",
7368		HTTPPath:   "/",
7369	}
7370
7371	if input == nil {
7372		input = &GetCalendarStateInput{}
7373	}
7374
7375	output = &GetCalendarStateOutput{}
7376	req = c.newRequest(op, input, output)
7377	return
7378}
7379
7380// GetCalendarState API operation for Amazon Simple Systems Manager (SSM).
7381//
7382// Gets the state of a Amazon Web Services Systems Manager change calendar at
7383// the current time or a specified time. If you specify a time, GetCalendarState
7384// returns the state of the calendar at that specific time, and returns the
7385// next time that the change calendar state will transition. If you don't specify
7386// a time, GetCalendarState uses the current time. Change Calendar entries have
7387// two possible states: OPEN or CLOSED.
7388//
7389// If you specify more than one calendar in a request, the command returns the
7390// status of OPEN only if all calendars in the request are open. If one or more
7391// calendars in the request are closed, the status returned is CLOSED.
7392//
7393// For more information about Change Calendar, a capability of Amazon Web Services
7394// Systems Manager, see Amazon Web Services Systems Manager Change Calendar
7395// (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html)
7396// in the Amazon Web Services Systems Manager User Guide.
7397//
7398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7399// with awserr.Error's Code and Message methods to get detailed information about
7400// the error.
7401//
7402// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7403// API operation GetCalendarState for usage and error information.
7404//
7405// Returned Error Types:
7406//   * InternalServerError
7407//   An error occurred on the server side.
7408//
7409//   * InvalidDocument
7410//   The specified SSM document doesn't exist.
7411//
7412//   * InvalidDocumentType
7413//   The SSM document type isn't valid. Valid document types are described in
7414//   the DocumentType property.
7415//
7416//   * UnsupportedCalendarException
7417//   The calendar entry contained in the specified SSM document isn't supported.
7418//
7419// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCalendarState
7420func (c *SSM) GetCalendarState(input *GetCalendarStateInput) (*GetCalendarStateOutput, error) {
7421	req, out := c.GetCalendarStateRequest(input)
7422	return out, req.Send()
7423}
7424
7425// GetCalendarStateWithContext is the same as GetCalendarState with the addition of
7426// the ability to pass a context and additional request options.
7427//
7428// See GetCalendarState for details on how to use this API operation.
7429//
7430// The context must be non-nil and will be used for request cancellation. If
7431// the context is nil a panic will occur. In the future the SDK may create
7432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7433// for more information on using Contexts.
7434func (c *SSM) GetCalendarStateWithContext(ctx aws.Context, input *GetCalendarStateInput, opts ...request.Option) (*GetCalendarStateOutput, error) {
7435	req, out := c.GetCalendarStateRequest(input)
7436	req.SetContext(ctx)
7437	req.ApplyOptions(opts...)
7438	return out, req.Send()
7439}
7440
7441const opGetCommandInvocation = "GetCommandInvocation"
7442
7443// GetCommandInvocationRequest generates a "aws/request.Request" representing the
7444// client's request for the GetCommandInvocation operation. The "output" return
7445// value will be populated with the request's response once the request completes
7446// successfully.
7447//
7448// Use "Send" method on the returned Request to send the API call to the service.
7449// the "output" return value is not valid until after Send returns without error.
7450//
7451// See GetCommandInvocation for more information on using the GetCommandInvocation
7452// API call, and error handling.
7453//
7454// This method is useful when you want to inject custom logic or configuration
7455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7456//
7457//
7458//    // Example sending a request using the GetCommandInvocationRequest method.
7459//    req, resp := client.GetCommandInvocationRequest(params)
7460//
7461//    err := req.Send()
7462//    if err == nil { // resp is now filled
7463//        fmt.Println(resp)
7464//    }
7465//
7466// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
7467func (c *SSM) GetCommandInvocationRequest(input *GetCommandInvocationInput) (req *request.Request, output *GetCommandInvocationOutput) {
7468	op := &request.Operation{
7469		Name:       opGetCommandInvocation,
7470		HTTPMethod: "POST",
7471		HTTPPath:   "/",
7472	}
7473
7474	if input == nil {
7475		input = &GetCommandInvocationInput{}
7476	}
7477
7478	output = &GetCommandInvocationOutput{}
7479	req = c.newRequest(op, input, output)
7480	return
7481}
7482
7483// GetCommandInvocation API operation for Amazon Simple Systems Manager (SSM).
7484//
7485// Returns detailed information about command execution for an invocation or
7486// plugin.
7487//
7488// GetCommandInvocation only gives the execution status of a plugin in a document.
7489// To get the command execution status on a specific instance, use ListCommandInvocations.
7490// To get the command execution status across instances, use ListCommands.
7491//
7492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7493// with awserr.Error's Code and Message methods to get detailed information about
7494// the error.
7495//
7496// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7497// API operation GetCommandInvocation for usage and error information.
7498//
7499// Returned Error Types:
7500//   * InternalServerError
7501//   An error occurred on the server side.
7502//
7503//   * InvalidCommandId
7504//   The specified command ID isn't valid. Verify the ID and try again.
7505//
7506//   * InvalidInstanceId
7507//   The following problems can cause this exception:
7508//
7509//      * You don't have permission to access the instance.
7510//
7511//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
7512//      Verify that SSM Agent is running.
7513//
7514//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
7515//      Agent.
7516//
7517//      * The instance isn't in valid state. Valid states are: Running, Pending,
7518//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
7519//
7520//   * InvalidPluginName
7521//   The plugin name isn't valid.
7522//
7523//   * InvocationDoesNotExist
7524//   The command ID and instance ID you specified didn't match any invocations.
7525//   Verify the command ID and the instance ID and try again.
7526//
7527// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation
7528func (c *SSM) GetCommandInvocation(input *GetCommandInvocationInput) (*GetCommandInvocationOutput, error) {
7529	req, out := c.GetCommandInvocationRequest(input)
7530	return out, req.Send()
7531}
7532
7533// GetCommandInvocationWithContext is the same as GetCommandInvocation with the addition of
7534// the ability to pass a context and additional request options.
7535//
7536// See GetCommandInvocation for details on how to use this API operation.
7537//
7538// The context must be non-nil and will be used for request cancellation. If
7539// the context is nil a panic will occur. In the future the SDK may create
7540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7541// for more information on using Contexts.
7542func (c *SSM) GetCommandInvocationWithContext(ctx aws.Context, input *GetCommandInvocationInput, opts ...request.Option) (*GetCommandInvocationOutput, error) {
7543	req, out := c.GetCommandInvocationRequest(input)
7544	req.SetContext(ctx)
7545	req.ApplyOptions(opts...)
7546	return out, req.Send()
7547}
7548
7549const opGetConnectionStatus = "GetConnectionStatus"
7550
7551// GetConnectionStatusRequest generates a "aws/request.Request" representing the
7552// client's request for the GetConnectionStatus operation. The "output" return
7553// value will be populated with the request's response once the request completes
7554// successfully.
7555//
7556// Use "Send" method on the returned Request to send the API call to the service.
7557// the "output" return value is not valid until after Send returns without error.
7558//
7559// See GetConnectionStatus for more information on using the GetConnectionStatus
7560// API call, and error handling.
7561//
7562// This method is useful when you want to inject custom logic or configuration
7563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7564//
7565//
7566//    // Example sending a request using the GetConnectionStatusRequest method.
7567//    req, resp := client.GetConnectionStatusRequest(params)
7568//
7569//    err := req.Send()
7570//    if err == nil { // resp is now filled
7571//        fmt.Println(resp)
7572//    }
7573//
7574// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
7575func (c *SSM) GetConnectionStatusRequest(input *GetConnectionStatusInput) (req *request.Request, output *GetConnectionStatusOutput) {
7576	op := &request.Operation{
7577		Name:       opGetConnectionStatus,
7578		HTTPMethod: "POST",
7579		HTTPPath:   "/",
7580	}
7581
7582	if input == nil {
7583		input = &GetConnectionStatusInput{}
7584	}
7585
7586	output = &GetConnectionStatusOutput{}
7587	req = c.newRequest(op, input, output)
7588	return
7589}
7590
7591// GetConnectionStatus API operation for Amazon Simple Systems Manager (SSM).
7592//
7593// Retrieves the Session Manager connection status for an instance to determine
7594// whether it is running and ready to receive Session Manager connections.
7595//
7596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7597// with awserr.Error's Code and Message methods to get detailed information about
7598// the error.
7599//
7600// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7601// API operation GetConnectionStatus for usage and error information.
7602//
7603// Returned Error Types:
7604//   * InternalServerError
7605//   An error occurred on the server side.
7606//
7607// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus
7608func (c *SSM) GetConnectionStatus(input *GetConnectionStatusInput) (*GetConnectionStatusOutput, error) {
7609	req, out := c.GetConnectionStatusRequest(input)
7610	return out, req.Send()
7611}
7612
7613// GetConnectionStatusWithContext is the same as GetConnectionStatus with the addition of
7614// the ability to pass a context and additional request options.
7615//
7616// See GetConnectionStatus for details on how to use this API operation.
7617//
7618// The context must be non-nil and will be used for request cancellation. If
7619// the context is nil a panic will occur. In the future the SDK may create
7620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7621// for more information on using Contexts.
7622func (c *SSM) GetConnectionStatusWithContext(ctx aws.Context, input *GetConnectionStatusInput, opts ...request.Option) (*GetConnectionStatusOutput, error) {
7623	req, out := c.GetConnectionStatusRequest(input)
7624	req.SetContext(ctx)
7625	req.ApplyOptions(opts...)
7626	return out, req.Send()
7627}
7628
7629const opGetDefaultPatchBaseline = "GetDefaultPatchBaseline"
7630
7631// GetDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
7632// client's request for the GetDefaultPatchBaseline operation. The "output" return
7633// value will be populated with the request's response once the request completes
7634// successfully.
7635//
7636// Use "Send" method on the returned Request to send the API call to the service.
7637// the "output" return value is not valid until after Send returns without error.
7638//
7639// See GetDefaultPatchBaseline for more information on using the GetDefaultPatchBaseline
7640// API call, and error handling.
7641//
7642// This method is useful when you want to inject custom logic or configuration
7643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7644//
7645//
7646//    // Example sending a request using the GetDefaultPatchBaselineRequest method.
7647//    req, resp := client.GetDefaultPatchBaselineRequest(params)
7648//
7649//    err := req.Send()
7650//    if err == nil { // resp is now filled
7651//        fmt.Println(resp)
7652//    }
7653//
7654// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
7655func (c *SSM) GetDefaultPatchBaselineRequest(input *GetDefaultPatchBaselineInput) (req *request.Request, output *GetDefaultPatchBaselineOutput) {
7656	op := &request.Operation{
7657		Name:       opGetDefaultPatchBaseline,
7658		HTTPMethod: "POST",
7659		HTTPPath:   "/",
7660	}
7661
7662	if input == nil {
7663		input = &GetDefaultPatchBaselineInput{}
7664	}
7665
7666	output = &GetDefaultPatchBaselineOutput{}
7667	req = c.newRequest(op, input, output)
7668	return
7669}
7670
7671// GetDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
7672//
7673// Retrieves the default patch baseline. Amazon Web Services Systems Manager
7674// supports creating multiple default patch baselines. For example, you can
7675// create a default patch baseline for each operating system.
7676//
7677// If you don't specify an operating system value, the default patch baseline
7678// for Windows is returned.
7679//
7680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7681// with awserr.Error's Code and Message methods to get detailed information about
7682// the error.
7683//
7684// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7685// API operation GetDefaultPatchBaseline for usage and error information.
7686//
7687// Returned Error Types:
7688//   * InternalServerError
7689//   An error occurred on the server side.
7690//
7691// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline
7692func (c *SSM) GetDefaultPatchBaseline(input *GetDefaultPatchBaselineInput) (*GetDefaultPatchBaselineOutput, error) {
7693	req, out := c.GetDefaultPatchBaselineRequest(input)
7694	return out, req.Send()
7695}
7696
7697// GetDefaultPatchBaselineWithContext is the same as GetDefaultPatchBaseline with the addition of
7698// the ability to pass a context and additional request options.
7699//
7700// See GetDefaultPatchBaseline for details on how to use this API operation.
7701//
7702// The context must be non-nil and will be used for request cancellation. If
7703// the context is nil a panic will occur. In the future the SDK may create
7704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7705// for more information on using Contexts.
7706func (c *SSM) GetDefaultPatchBaselineWithContext(ctx aws.Context, input *GetDefaultPatchBaselineInput, opts ...request.Option) (*GetDefaultPatchBaselineOutput, error) {
7707	req, out := c.GetDefaultPatchBaselineRequest(input)
7708	req.SetContext(ctx)
7709	req.ApplyOptions(opts...)
7710	return out, req.Send()
7711}
7712
7713const opGetDeployablePatchSnapshotForInstance = "GetDeployablePatchSnapshotForInstance"
7714
7715// GetDeployablePatchSnapshotForInstanceRequest generates a "aws/request.Request" representing the
7716// client's request for the GetDeployablePatchSnapshotForInstance operation. The "output" return
7717// value will be populated with the request's response once the request completes
7718// successfully.
7719//
7720// Use "Send" method on the returned Request to send the API call to the service.
7721// the "output" return value is not valid until after Send returns without error.
7722//
7723// See GetDeployablePatchSnapshotForInstance for more information on using the GetDeployablePatchSnapshotForInstance
7724// API call, and error handling.
7725//
7726// This method is useful when you want to inject custom logic or configuration
7727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7728//
7729//
7730//    // Example sending a request using the GetDeployablePatchSnapshotForInstanceRequest method.
7731//    req, resp := client.GetDeployablePatchSnapshotForInstanceRequest(params)
7732//
7733//    err := req.Send()
7734//    if err == nil { // resp is now filled
7735//        fmt.Println(resp)
7736//    }
7737//
7738// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
7739func (c *SSM) GetDeployablePatchSnapshotForInstanceRequest(input *GetDeployablePatchSnapshotForInstanceInput) (req *request.Request, output *GetDeployablePatchSnapshotForInstanceOutput) {
7740	op := &request.Operation{
7741		Name:       opGetDeployablePatchSnapshotForInstance,
7742		HTTPMethod: "POST",
7743		HTTPPath:   "/",
7744	}
7745
7746	if input == nil {
7747		input = &GetDeployablePatchSnapshotForInstanceInput{}
7748	}
7749
7750	output = &GetDeployablePatchSnapshotForInstanceOutput{}
7751	req = c.newRequest(op, input, output)
7752	return
7753}
7754
7755// GetDeployablePatchSnapshotForInstance API operation for Amazon Simple Systems Manager (SSM).
7756//
7757// Retrieves the current snapshot for the patch baseline the instance uses.
7758// This API is primarily used by the AWS-RunPatchBaseline Systems Manager document
7759// (SSM document).
7760//
7761// If you run the command locally, such as with the Command Line Interface (CLI),
7762// the system attempts to use your local Amazon Web Services credentials and
7763// the operation fails. To avoid this, you can run the command in the Amazon
7764// Web Services Systems Manager console. Use Run Command, a capability of Amazon
7765// Web Services Systems Manager, with an SSM document that enables you to target
7766// an instance with a script or command. For example, run the command using
7767// the AWS-RunShellScript document or the AWS-RunPowerShellScript document.
7768//
7769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7770// with awserr.Error's Code and Message methods to get detailed information about
7771// the error.
7772//
7773// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7774// API operation GetDeployablePatchSnapshotForInstance for usage and error information.
7775//
7776// Returned Error Types:
7777//   * InternalServerError
7778//   An error occurred on the server side.
7779//
7780//   * UnsupportedOperatingSystem
7781//   The operating systems you specified isn't supported, or the operation isn't
7782//   supported for the operating system.
7783//
7784//   * UnsupportedFeatureRequiredException
7785//   Patching for applications released by Microsoft is only available on EC2
7786//   instances and advanced instances. To patch applications released by Microsoft
7787//   on on-premises servers and VMs, you must enable advanced instances. For more
7788//   information, see Enabling the advanced-instances tier (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances-advanced.html)
7789//   in the Amazon Web Services Systems Manager User Guide.
7790//
7791// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance
7792func (c *SSM) GetDeployablePatchSnapshotForInstance(input *GetDeployablePatchSnapshotForInstanceInput) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
7793	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
7794	return out, req.Send()
7795}
7796
7797// GetDeployablePatchSnapshotForInstanceWithContext is the same as GetDeployablePatchSnapshotForInstance with the addition of
7798// the ability to pass a context and additional request options.
7799//
7800// See GetDeployablePatchSnapshotForInstance for details on how to use this API operation.
7801//
7802// The context must be non-nil and will be used for request cancellation. If
7803// the context is nil a panic will occur. In the future the SDK may create
7804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7805// for more information on using Contexts.
7806func (c *SSM) GetDeployablePatchSnapshotForInstanceWithContext(ctx aws.Context, input *GetDeployablePatchSnapshotForInstanceInput, opts ...request.Option) (*GetDeployablePatchSnapshotForInstanceOutput, error) {
7807	req, out := c.GetDeployablePatchSnapshotForInstanceRequest(input)
7808	req.SetContext(ctx)
7809	req.ApplyOptions(opts...)
7810	return out, req.Send()
7811}
7812
7813const opGetDocument = "GetDocument"
7814
7815// GetDocumentRequest generates a "aws/request.Request" representing the
7816// client's request for the GetDocument operation. The "output" return
7817// value will be populated with the request's response once the request completes
7818// successfully.
7819//
7820// Use "Send" method on the returned Request to send the API call to the service.
7821// the "output" return value is not valid until after Send returns without error.
7822//
7823// See GetDocument for more information on using the GetDocument
7824// API call, and error handling.
7825//
7826// This method is useful when you want to inject custom logic or configuration
7827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7828//
7829//
7830//    // Example sending a request using the GetDocumentRequest method.
7831//    req, resp := client.GetDocumentRequest(params)
7832//
7833//    err := req.Send()
7834//    if err == nil { // resp is now filled
7835//        fmt.Println(resp)
7836//    }
7837//
7838// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
7839func (c *SSM) GetDocumentRequest(input *GetDocumentInput) (req *request.Request, output *GetDocumentOutput) {
7840	op := &request.Operation{
7841		Name:       opGetDocument,
7842		HTTPMethod: "POST",
7843		HTTPPath:   "/",
7844	}
7845
7846	if input == nil {
7847		input = &GetDocumentInput{}
7848	}
7849
7850	output = &GetDocumentOutput{}
7851	req = c.newRequest(op, input, output)
7852	return
7853}
7854
7855// GetDocument API operation for Amazon Simple Systems Manager (SSM).
7856//
7857// Gets the contents of the specified Amazon Web Services Systems Manager document
7858// (SSM document).
7859//
7860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7861// with awserr.Error's Code and Message methods to get detailed information about
7862// the error.
7863//
7864// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7865// API operation GetDocument for usage and error information.
7866//
7867// Returned Error Types:
7868//   * InternalServerError
7869//   An error occurred on the server side.
7870//
7871//   * InvalidDocument
7872//   The specified SSM document doesn't exist.
7873//
7874//   * InvalidDocumentVersion
7875//   The document version isn't valid or doesn't exist.
7876//
7877// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument
7878func (c *SSM) GetDocument(input *GetDocumentInput) (*GetDocumentOutput, error) {
7879	req, out := c.GetDocumentRequest(input)
7880	return out, req.Send()
7881}
7882
7883// GetDocumentWithContext is the same as GetDocument with the addition of
7884// the ability to pass a context and additional request options.
7885//
7886// See GetDocument for details on how to use this API operation.
7887//
7888// The context must be non-nil and will be used for request cancellation. If
7889// the context is nil a panic will occur. In the future the SDK may create
7890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7891// for more information on using Contexts.
7892func (c *SSM) GetDocumentWithContext(ctx aws.Context, input *GetDocumentInput, opts ...request.Option) (*GetDocumentOutput, error) {
7893	req, out := c.GetDocumentRequest(input)
7894	req.SetContext(ctx)
7895	req.ApplyOptions(opts...)
7896	return out, req.Send()
7897}
7898
7899const opGetInventory = "GetInventory"
7900
7901// GetInventoryRequest generates a "aws/request.Request" representing the
7902// client's request for the GetInventory operation. The "output" return
7903// value will be populated with the request's response once the request completes
7904// successfully.
7905//
7906// Use "Send" method on the returned Request to send the API call to the service.
7907// the "output" return value is not valid until after Send returns without error.
7908//
7909// See GetInventory for more information on using the GetInventory
7910// API call, and error handling.
7911//
7912// This method is useful when you want to inject custom logic or configuration
7913// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7914//
7915//
7916//    // Example sending a request using the GetInventoryRequest method.
7917//    req, resp := client.GetInventoryRequest(params)
7918//
7919//    err := req.Send()
7920//    if err == nil { // resp is now filled
7921//        fmt.Println(resp)
7922//    }
7923//
7924// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
7925func (c *SSM) GetInventoryRequest(input *GetInventoryInput) (req *request.Request, output *GetInventoryOutput) {
7926	op := &request.Operation{
7927		Name:       opGetInventory,
7928		HTTPMethod: "POST",
7929		HTTPPath:   "/",
7930		Paginator: &request.Paginator{
7931			InputTokens:     []string{"NextToken"},
7932			OutputTokens:    []string{"NextToken"},
7933			LimitToken:      "MaxResults",
7934			TruncationToken: "",
7935		},
7936	}
7937
7938	if input == nil {
7939		input = &GetInventoryInput{}
7940	}
7941
7942	output = &GetInventoryOutput{}
7943	req = c.newRequest(op, input, output)
7944	return
7945}
7946
7947// GetInventory API operation for Amazon Simple Systems Manager (SSM).
7948//
7949// Query inventory information. This includes instance status, such as Stopped
7950// or Terminated.
7951//
7952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7953// with awserr.Error's Code and Message methods to get detailed information about
7954// the error.
7955//
7956// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
7957// API operation GetInventory for usage and error information.
7958//
7959// Returned Error Types:
7960//   * InternalServerError
7961//   An error occurred on the server side.
7962//
7963//   * InvalidFilter
7964//   The filter name isn't valid. Verify the you entered the correct name and
7965//   try again.
7966//
7967//   * InvalidInventoryGroupException
7968//   The specified inventory group isn't valid.
7969//
7970//   * InvalidNextToken
7971//   The specified token isn't valid.
7972//
7973//   * InvalidTypeNameException
7974//   The parameter type name isn't valid.
7975//
7976//   * InvalidAggregatorException
7977//   The specified aggregator isn't valid for inventory groups. Verify that the
7978//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
7979//
7980//   * InvalidResultAttributeException
7981//   The specified inventory item result attribute isn't valid.
7982//
7983// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory
7984func (c *SSM) GetInventory(input *GetInventoryInput) (*GetInventoryOutput, error) {
7985	req, out := c.GetInventoryRequest(input)
7986	return out, req.Send()
7987}
7988
7989// GetInventoryWithContext is the same as GetInventory with the addition of
7990// the ability to pass a context and additional request options.
7991//
7992// See GetInventory for details on how to use this API operation.
7993//
7994// The context must be non-nil and will be used for request cancellation. If
7995// the context is nil a panic will occur. In the future the SDK may create
7996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7997// for more information on using Contexts.
7998func (c *SSM) GetInventoryWithContext(ctx aws.Context, input *GetInventoryInput, opts ...request.Option) (*GetInventoryOutput, error) {
7999	req, out := c.GetInventoryRequest(input)
8000	req.SetContext(ctx)
8001	req.ApplyOptions(opts...)
8002	return out, req.Send()
8003}
8004
8005// GetInventoryPages iterates over the pages of a GetInventory operation,
8006// calling the "fn" function with the response data for each page. To stop
8007// iterating, return false from the fn function.
8008//
8009// See GetInventory method for more information on how to use this operation.
8010//
8011// Note: This operation can generate multiple requests to a service.
8012//
8013//    // Example iterating over at most 3 pages of a GetInventory operation.
8014//    pageNum := 0
8015//    err := client.GetInventoryPages(params,
8016//        func(page *ssm.GetInventoryOutput, lastPage bool) bool {
8017//            pageNum++
8018//            fmt.Println(page)
8019//            return pageNum <= 3
8020//        })
8021//
8022func (c *SSM) GetInventoryPages(input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool) error {
8023	return c.GetInventoryPagesWithContext(aws.BackgroundContext(), input, fn)
8024}
8025
8026// GetInventoryPagesWithContext same as GetInventoryPages except
8027// it takes a Context and allows setting request options on the pages.
8028//
8029// The context must be non-nil and will be used for request cancellation. If
8030// the context is nil a panic will occur. In the future the SDK may create
8031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8032// for more information on using Contexts.
8033func (c *SSM) GetInventoryPagesWithContext(ctx aws.Context, input *GetInventoryInput, fn func(*GetInventoryOutput, bool) bool, opts ...request.Option) error {
8034	p := request.Pagination{
8035		NewRequest: func() (*request.Request, error) {
8036			var inCpy *GetInventoryInput
8037			if input != nil {
8038				tmp := *input
8039				inCpy = &tmp
8040			}
8041			req, _ := c.GetInventoryRequest(inCpy)
8042			req.SetContext(ctx)
8043			req.ApplyOptions(opts...)
8044			return req, nil
8045		},
8046	}
8047
8048	for p.Next() {
8049		if !fn(p.Page().(*GetInventoryOutput), !p.HasNextPage()) {
8050			break
8051		}
8052	}
8053
8054	return p.Err()
8055}
8056
8057const opGetInventorySchema = "GetInventorySchema"
8058
8059// GetInventorySchemaRequest generates a "aws/request.Request" representing the
8060// client's request for the GetInventorySchema operation. The "output" return
8061// value will be populated with the request's response once the request completes
8062// successfully.
8063//
8064// Use "Send" method on the returned Request to send the API call to the service.
8065// the "output" return value is not valid until after Send returns without error.
8066//
8067// See GetInventorySchema for more information on using the GetInventorySchema
8068// API call, and error handling.
8069//
8070// This method is useful when you want to inject custom logic or configuration
8071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8072//
8073//
8074//    // Example sending a request using the GetInventorySchemaRequest method.
8075//    req, resp := client.GetInventorySchemaRequest(params)
8076//
8077//    err := req.Send()
8078//    if err == nil { // resp is now filled
8079//        fmt.Println(resp)
8080//    }
8081//
8082// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
8083func (c *SSM) GetInventorySchemaRequest(input *GetInventorySchemaInput) (req *request.Request, output *GetInventorySchemaOutput) {
8084	op := &request.Operation{
8085		Name:       opGetInventorySchema,
8086		HTTPMethod: "POST",
8087		HTTPPath:   "/",
8088		Paginator: &request.Paginator{
8089			InputTokens:     []string{"NextToken"},
8090			OutputTokens:    []string{"NextToken"},
8091			LimitToken:      "MaxResults",
8092			TruncationToken: "",
8093		},
8094	}
8095
8096	if input == nil {
8097		input = &GetInventorySchemaInput{}
8098	}
8099
8100	output = &GetInventorySchemaOutput{}
8101	req = c.newRequest(op, input, output)
8102	return
8103}
8104
8105// GetInventorySchema API operation for Amazon Simple Systems Manager (SSM).
8106//
8107// Return a list of inventory type names for the account, or return a list of
8108// attribute names for a specific Inventory item type.
8109//
8110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8111// with awserr.Error's Code and Message methods to get detailed information about
8112// the error.
8113//
8114// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8115// API operation GetInventorySchema for usage and error information.
8116//
8117// Returned Error Types:
8118//   * InternalServerError
8119//   An error occurred on the server side.
8120//
8121//   * InvalidTypeNameException
8122//   The parameter type name isn't valid.
8123//
8124//   * InvalidNextToken
8125//   The specified token isn't valid.
8126//
8127// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema
8128func (c *SSM) GetInventorySchema(input *GetInventorySchemaInput) (*GetInventorySchemaOutput, error) {
8129	req, out := c.GetInventorySchemaRequest(input)
8130	return out, req.Send()
8131}
8132
8133// GetInventorySchemaWithContext is the same as GetInventorySchema with the addition of
8134// the ability to pass a context and additional request options.
8135//
8136// See GetInventorySchema for details on how to use this API operation.
8137//
8138// The context must be non-nil and will be used for request cancellation. If
8139// the context is nil a panic will occur. In the future the SDK may create
8140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8141// for more information on using Contexts.
8142func (c *SSM) GetInventorySchemaWithContext(ctx aws.Context, input *GetInventorySchemaInput, opts ...request.Option) (*GetInventorySchemaOutput, error) {
8143	req, out := c.GetInventorySchemaRequest(input)
8144	req.SetContext(ctx)
8145	req.ApplyOptions(opts...)
8146	return out, req.Send()
8147}
8148
8149// GetInventorySchemaPages iterates over the pages of a GetInventorySchema operation,
8150// calling the "fn" function with the response data for each page. To stop
8151// iterating, return false from the fn function.
8152//
8153// See GetInventorySchema method for more information on how to use this operation.
8154//
8155// Note: This operation can generate multiple requests to a service.
8156//
8157//    // Example iterating over at most 3 pages of a GetInventorySchema operation.
8158//    pageNum := 0
8159//    err := client.GetInventorySchemaPages(params,
8160//        func(page *ssm.GetInventorySchemaOutput, lastPage bool) bool {
8161//            pageNum++
8162//            fmt.Println(page)
8163//            return pageNum <= 3
8164//        })
8165//
8166func (c *SSM) GetInventorySchemaPages(input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool) error {
8167	return c.GetInventorySchemaPagesWithContext(aws.BackgroundContext(), input, fn)
8168}
8169
8170// GetInventorySchemaPagesWithContext same as GetInventorySchemaPages except
8171// it takes a Context and allows setting request options on the pages.
8172//
8173// The context must be non-nil and will be used for request cancellation. If
8174// the context is nil a panic will occur. In the future the SDK may create
8175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8176// for more information on using Contexts.
8177func (c *SSM) GetInventorySchemaPagesWithContext(ctx aws.Context, input *GetInventorySchemaInput, fn func(*GetInventorySchemaOutput, bool) bool, opts ...request.Option) error {
8178	p := request.Pagination{
8179		NewRequest: func() (*request.Request, error) {
8180			var inCpy *GetInventorySchemaInput
8181			if input != nil {
8182				tmp := *input
8183				inCpy = &tmp
8184			}
8185			req, _ := c.GetInventorySchemaRequest(inCpy)
8186			req.SetContext(ctx)
8187			req.ApplyOptions(opts...)
8188			return req, nil
8189		},
8190	}
8191
8192	for p.Next() {
8193		if !fn(p.Page().(*GetInventorySchemaOutput), !p.HasNextPage()) {
8194			break
8195		}
8196	}
8197
8198	return p.Err()
8199}
8200
8201const opGetMaintenanceWindow = "GetMaintenanceWindow"
8202
8203// GetMaintenanceWindowRequest generates a "aws/request.Request" representing the
8204// client's request for the GetMaintenanceWindow operation. The "output" return
8205// value will be populated with the request's response once the request completes
8206// successfully.
8207//
8208// Use "Send" method on the returned Request to send the API call to the service.
8209// the "output" return value is not valid until after Send returns without error.
8210//
8211// See GetMaintenanceWindow for more information on using the GetMaintenanceWindow
8212// API call, and error handling.
8213//
8214// This method is useful when you want to inject custom logic or configuration
8215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8216//
8217//
8218//    // Example sending a request using the GetMaintenanceWindowRequest method.
8219//    req, resp := client.GetMaintenanceWindowRequest(params)
8220//
8221//    err := req.Send()
8222//    if err == nil { // resp is now filled
8223//        fmt.Println(resp)
8224//    }
8225//
8226// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
8227func (c *SSM) GetMaintenanceWindowRequest(input *GetMaintenanceWindowInput) (req *request.Request, output *GetMaintenanceWindowOutput) {
8228	op := &request.Operation{
8229		Name:       opGetMaintenanceWindow,
8230		HTTPMethod: "POST",
8231		HTTPPath:   "/",
8232	}
8233
8234	if input == nil {
8235		input = &GetMaintenanceWindowInput{}
8236	}
8237
8238	output = &GetMaintenanceWindowOutput{}
8239	req = c.newRequest(op, input, output)
8240	return
8241}
8242
8243// GetMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
8244//
8245// Retrieves a maintenance window.
8246//
8247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8248// with awserr.Error's Code and Message methods to get detailed information about
8249// the error.
8250//
8251// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8252// API operation GetMaintenanceWindow for usage and error information.
8253//
8254// Returned Error Types:
8255//   * DoesNotExistException
8256//   Error returned when the ID specified for a resource, such as a maintenance
8257//   window or patch baseline, doesn't exist.
8258//
8259//   For information about resource quotas in Amazon Web Services Systems Manager,
8260//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
8261//   in the Amazon Web Services General Reference.
8262//
8263//   * InternalServerError
8264//   An error occurred on the server side.
8265//
8266// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow
8267func (c *SSM) GetMaintenanceWindow(input *GetMaintenanceWindowInput) (*GetMaintenanceWindowOutput, error) {
8268	req, out := c.GetMaintenanceWindowRequest(input)
8269	return out, req.Send()
8270}
8271
8272// GetMaintenanceWindowWithContext is the same as GetMaintenanceWindow with the addition of
8273// the ability to pass a context and additional request options.
8274//
8275// See GetMaintenanceWindow for details on how to use this API operation.
8276//
8277// The context must be non-nil and will be used for request cancellation. If
8278// the context is nil a panic will occur. In the future the SDK may create
8279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8280// for more information on using Contexts.
8281func (c *SSM) GetMaintenanceWindowWithContext(ctx aws.Context, input *GetMaintenanceWindowInput, opts ...request.Option) (*GetMaintenanceWindowOutput, error) {
8282	req, out := c.GetMaintenanceWindowRequest(input)
8283	req.SetContext(ctx)
8284	req.ApplyOptions(opts...)
8285	return out, req.Send()
8286}
8287
8288const opGetMaintenanceWindowExecution = "GetMaintenanceWindowExecution"
8289
8290// GetMaintenanceWindowExecutionRequest generates a "aws/request.Request" representing the
8291// client's request for the GetMaintenanceWindowExecution operation. The "output" return
8292// value will be populated with the request's response once the request completes
8293// successfully.
8294//
8295// Use "Send" method on the returned Request to send the API call to the service.
8296// the "output" return value is not valid until after Send returns without error.
8297//
8298// See GetMaintenanceWindowExecution for more information on using the GetMaintenanceWindowExecution
8299// API call, and error handling.
8300//
8301// This method is useful when you want to inject custom logic or configuration
8302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8303//
8304//
8305//    // Example sending a request using the GetMaintenanceWindowExecutionRequest method.
8306//    req, resp := client.GetMaintenanceWindowExecutionRequest(params)
8307//
8308//    err := req.Send()
8309//    if err == nil { // resp is now filled
8310//        fmt.Println(resp)
8311//    }
8312//
8313// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
8314func (c *SSM) GetMaintenanceWindowExecutionRequest(input *GetMaintenanceWindowExecutionInput) (req *request.Request, output *GetMaintenanceWindowExecutionOutput) {
8315	op := &request.Operation{
8316		Name:       opGetMaintenanceWindowExecution,
8317		HTTPMethod: "POST",
8318		HTTPPath:   "/",
8319	}
8320
8321	if input == nil {
8322		input = &GetMaintenanceWindowExecutionInput{}
8323	}
8324
8325	output = &GetMaintenanceWindowExecutionOutput{}
8326	req = c.newRequest(op, input, output)
8327	return
8328}
8329
8330// GetMaintenanceWindowExecution API operation for Amazon Simple Systems Manager (SSM).
8331//
8332// Retrieves details about a specific a maintenance window execution.
8333//
8334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8335// with awserr.Error's Code and Message methods to get detailed information about
8336// the error.
8337//
8338// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8339// API operation GetMaintenanceWindowExecution for usage and error information.
8340//
8341// Returned Error Types:
8342//   * DoesNotExistException
8343//   Error returned when the ID specified for a resource, such as a maintenance
8344//   window or patch baseline, doesn't exist.
8345//
8346//   For information about resource quotas in Amazon Web Services Systems Manager,
8347//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
8348//   in the Amazon Web Services General Reference.
8349//
8350//   * InternalServerError
8351//   An error occurred on the server side.
8352//
8353// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution
8354func (c *SSM) GetMaintenanceWindowExecution(input *GetMaintenanceWindowExecutionInput) (*GetMaintenanceWindowExecutionOutput, error) {
8355	req, out := c.GetMaintenanceWindowExecutionRequest(input)
8356	return out, req.Send()
8357}
8358
8359// GetMaintenanceWindowExecutionWithContext is the same as GetMaintenanceWindowExecution with the addition of
8360// the ability to pass a context and additional request options.
8361//
8362// See GetMaintenanceWindowExecution for details on how to use this API operation.
8363//
8364// The context must be non-nil and will be used for request cancellation. If
8365// the context is nil a panic will occur. In the future the SDK may create
8366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8367// for more information on using Contexts.
8368func (c *SSM) GetMaintenanceWindowExecutionWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionInput, opts ...request.Option) (*GetMaintenanceWindowExecutionOutput, error) {
8369	req, out := c.GetMaintenanceWindowExecutionRequest(input)
8370	req.SetContext(ctx)
8371	req.ApplyOptions(opts...)
8372	return out, req.Send()
8373}
8374
8375const opGetMaintenanceWindowExecutionTask = "GetMaintenanceWindowExecutionTask"
8376
8377// GetMaintenanceWindowExecutionTaskRequest generates a "aws/request.Request" representing the
8378// client's request for the GetMaintenanceWindowExecutionTask operation. The "output" return
8379// value will be populated with the request's response once the request completes
8380// successfully.
8381//
8382// Use "Send" method on the returned Request to send the API call to the service.
8383// the "output" return value is not valid until after Send returns without error.
8384//
8385// See GetMaintenanceWindowExecutionTask for more information on using the GetMaintenanceWindowExecutionTask
8386// API call, and error handling.
8387//
8388// This method is useful when you want to inject custom logic or configuration
8389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8390//
8391//
8392//    // Example sending a request using the GetMaintenanceWindowExecutionTaskRequest method.
8393//    req, resp := client.GetMaintenanceWindowExecutionTaskRequest(params)
8394//
8395//    err := req.Send()
8396//    if err == nil { // resp is now filled
8397//        fmt.Println(resp)
8398//    }
8399//
8400// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
8401func (c *SSM) GetMaintenanceWindowExecutionTaskRequest(input *GetMaintenanceWindowExecutionTaskInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskOutput) {
8402	op := &request.Operation{
8403		Name:       opGetMaintenanceWindowExecutionTask,
8404		HTTPMethod: "POST",
8405		HTTPPath:   "/",
8406	}
8407
8408	if input == nil {
8409		input = &GetMaintenanceWindowExecutionTaskInput{}
8410	}
8411
8412	output = &GetMaintenanceWindowExecutionTaskOutput{}
8413	req = c.newRequest(op, input, output)
8414	return
8415}
8416
8417// GetMaintenanceWindowExecutionTask API operation for Amazon Simple Systems Manager (SSM).
8418//
8419// Retrieves the details about a specific task run as part of a maintenance
8420// window execution.
8421//
8422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8423// with awserr.Error's Code and Message methods to get detailed information about
8424// the error.
8425//
8426// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8427// API operation GetMaintenanceWindowExecutionTask for usage and error information.
8428//
8429// Returned Error Types:
8430//   * DoesNotExistException
8431//   Error returned when the ID specified for a resource, such as a maintenance
8432//   window or patch baseline, doesn't exist.
8433//
8434//   For information about resource quotas in Amazon Web Services Systems Manager,
8435//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
8436//   in the Amazon Web Services General Reference.
8437//
8438//   * InternalServerError
8439//   An error occurred on the server side.
8440//
8441// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask
8442func (c *SSM) GetMaintenanceWindowExecutionTask(input *GetMaintenanceWindowExecutionTaskInput) (*GetMaintenanceWindowExecutionTaskOutput, error) {
8443	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
8444	return out, req.Send()
8445}
8446
8447// GetMaintenanceWindowExecutionTaskWithContext is the same as GetMaintenanceWindowExecutionTask with the addition of
8448// the ability to pass a context and additional request options.
8449//
8450// See GetMaintenanceWindowExecutionTask for details on how to use this API operation.
8451//
8452// The context must be non-nil and will be used for request cancellation. If
8453// the context is nil a panic will occur. In the future the SDK may create
8454// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8455// for more information on using Contexts.
8456func (c *SSM) GetMaintenanceWindowExecutionTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskOutput, error) {
8457	req, out := c.GetMaintenanceWindowExecutionTaskRequest(input)
8458	req.SetContext(ctx)
8459	req.ApplyOptions(opts...)
8460	return out, req.Send()
8461}
8462
8463const opGetMaintenanceWindowExecutionTaskInvocation = "GetMaintenanceWindowExecutionTaskInvocation"
8464
8465// GetMaintenanceWindowExecutionTaskInvocationRequest generates a "aws/request.Request" representing the
8466// client's request for the GetMaintenanceWindowExecutionTaskInvocation operation. The "output" return
8467// value will be populated with the request's response once the request completes
8468// successfully.
8469//
8470// Use "Send" method on the returned Request to send the API call to the service.
8471// the "output" return value is not valid until after Send returns without error.
8472//
8473// See GetMaintenanceWindowExecutionTaskInvocation for more information on using the GetMaintenanceWindowExecutionTaskInvocation
8474// API call, and error handling.
8475//
8476// This method is useful when you want to inject custom logic or configuration
8477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8478//
8479//
8480//    // Example sending a request using the GetMaintenanceWindowExecutionTaskInvocationRequest method.
8481//    req, resp := client.GetMaintenanceWindowExecutionTaskInvocationRequest(params)
8482//
8483//    err := req.Send()
8484//    if err == nil { // resp is now filled
8485//        fmt.Println(resp)
8486//    }
8487//
8488// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
8489func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationRequest(input *GetMaintenanceWindowExecutionTaskInvocationInput) (req *request.Request, output *GetMaintenanceWindowExecutionTaskInvocationOutput) {
8490	op := &request.Operation{
8491		Name:       opGetMaintenanceWindowExecutionTaskInvocation,
8492		HTTPMethod: "POST",
8493		HTTPPath:   "/",
8494	}
8495
8496	if input == nil {
8497		input = &GetMaintenanceWindowExecutionTaskInvocationInput{}
8498	}
8499
8500	output = &GetMaintenanceWindowExecutionTaskInvocationOutput{}
8501	req = c.newRequest(op, input, output)
8502	return
8503}
8504
8505// GetMaintenanceWindowExecutionTaskInvocation API operation for Amazon Simple Systems Manager (SSM).
8506//
8507// Retrieves information about a specific task running on a specific target.
8508//
8509// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8510// with awserr.Error's Code and Message methods to get detailed information about
8511// the error.
8512//
8513// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8514// API operation GetMaintenanceWindowExecutionTaskInvocation for usage and error information.
8515//
8516// Returned Error Types:
8517//   * DoesNotExistException
8518//   Error returned when the ID specified for a resource, such as a maintenance
8519//   window or patch baseline, doesn't exist.
8520//
8521//   For information about resource quotas in Amazon Web Services Systems Manager,
8522//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
8523//   in the Amazon Web Services General Reference.
8524//
8525//   * InternalServerError
8526//   An error occurred on the server side.
8527//
8528// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation
8529func (c *SSM) GetMaintenanceWindowExecutionTaskInvocation(input *GetMaintenanceWindowExecutionTaskInvocationInput) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
8530	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
8531	return out, req.Send()
8532}
8533
8534// GetMaintenanceWindowExecutionTaskInvocationWithContext is the same as GetMaintenanceWindowExecutionTaskInvocation with the addition of
8535// the ability to pass a context and additional request options.
8536//
8537// See GetMaintenanceWindowExecutionTaskInvocation for details on how to use this API operation.
8538//
8539// The context must be non-nil and will be used for request cancellation. If
8540// the context is nil a panic will occur. In the future the SDK may create
8541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8542// for more information on using Contexts.
8543func (c *SSM) GetMaintenanceWindowExecutionTaskInvocationWithContext(ctx aws.Context, input *GetMaintenanceWindowExecutionTaskInvocationInput, opts ...request.Option) (*GetMaintenanceWindowExecutionTaskInvocationOutput, error) {
8544	req, out := c.GetMaintenanceWindowExecutionTaskInvocationRequest(input)
8545	req.SetContext(ctx)
8546	req.ApplyOptions(opts...)
8547	return out, req.Send()
8548}
8549
8550const opGetMaintenanceWindowTask = "GetMaintenanceWindowTask"
8551
8552// GetMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
8553// client's request for the GetMaintenanceWindowTask operation. The "output" return
8554// value will be populated with the request's response once the request completes
8555// successfully.
8556//
8557// Use "Send" method on the returned Request to send the API call to the service.
8558// the "output" return value is not valid until after Send returns without error.
8559//
8560// See GetMaintenanceWindowTask for more information on using the GetMaintenanceWindowTask
8561// API call, and error handling.
8562//
8563// This method is useful when you want to inject custom logic or configuration
8564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8565//
8566//
8567//    // Example sending a request using the GetMaintenanceWindowTaskRequest method.
8568//    req, resp := client.GetMaintenanceWindowTaskRequest(params)
8569//
8570//    err := req.Send()
8571//    if err == nil { // resp is now filled
8572//        fmt.Println(resp)
8573//    }
8574//
8575// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
8576func (c *SSM) GetMaintenanceWindowTaskRequest(input *GetMaintenanceWindowTaskInput) (req *request.Request, output *GetMaintenanceWindowTaskOutput) {
8577	op := &request.Operation{
8578		Name:       opGetMaintenanceWindowTask,
8579		HTTPMethod: "POST",
8580		HTTPPath:   "/",
8581	}
8582
8583	if input == nil {
8584		input = &GetMaintenanceWindowTaskInput{}
8585	}
8586
8587	output = &GetMaintenanceWindowTaskOutput{}
8588	req = c.newRequest(op, input, output)
8589	return
8590}
8591
8592// GetMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
8593//
8594// Lists the tasks in a maintenance window.
8595//
8596// For maintenance window tasks without a specified target, you can't supply
8597// values for --max-errors and --max-concurrency. Instead, the system inserts
8598// a placeholder value of 1, which may be reported in the response to this command.
8599// These values don't affect the running of your task and can be ignored.
8600//
8601// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8602// with awserr.Error's Code and Message methods to get detailed information about
8603// the error.
8604//
8605// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8606// API operation GetMaintenanceWindowTask for usage and error information.
8607//
8608// Returned Error Types:
8609//   * DoesNotExistException
8610//   Error returned when the ID specified for a resource, such as a maintenance
8611//   window or patch baseline, doesn't exist.
8612//
8613//   For information about resource quotas in Amazon Web Services Systems Manager,
8614//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
8615//   in the Amazon Web Services General Reference.
8616//
8617//   * InternalServerError
8618//   An error occurred on the server side.
8619//
8620// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask
8621func (c *SSM) GetMaintenanceWindowTask(input *GetMaintenanceWindowTaskInput) (*GetMaintenanceWindowTaskOutput, error) {
8622	req, out := c.GetMaintenanceWindowTaskRequest(input)
8623	return out, req.Send()
8624}
8625
8626// GetMaintenanceWindowTaskWithContext is the same as GetMaintenanceWindowTask with the addition of
8627// the ability to pass a context and additional request options.
8628//
8629// See GetMaintenanceWindowTask for details on how to use this API operation.
8630//
8631// The context must be non-nil and will be used for request cancellation. If
8632// the context is nil a panic will occur. In the future the SDK may create
8633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8634// for more information on using Contexts.
8635func (c *SSM) GetMaintenanceWindowTaskWithContext(ctx aws.Context, input *GetMaintenanceWindowTaskInput, opts ...request.Option) (*GetMaintenanceWindowTaskOutput, error) {
8636	req, out := c.GetMaintenanceWindowTaskRequest(input)
8637	req.SetContext(ctx)
8638	req.ApplyOptions(opts...)
8639	return out, req.Send()
8640}
8641
8642const opGetOpsItem = "GetOpsItem"
8643
8644// GetOpsItemRequest generates a "aws/request.Request" representing the
8645// client's request for the GetOpsItem operation. The "output" return
8646// value will be populated with the request's response once the request completes
8647// successfully.
8648//
8649// Use "Send" method on the returned Request to send the API call to the service.
8650// the "output" return value is not valid until after Send returns without error.
8651//
8652// See GetOpsItem for more information on using the GetOpsItem
8653// API call, and error handling.
8654//
8655// This method is useful when you want to inject custom logic or configuration
8656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8657//
8658//
8659//    // Example sending a request using the GetOpsItemRequest method.
8660//    req, resp := client.GetOpsItemRequest(params)
8661//
8662//    err := req.Send()
8663//    if err == nil { // resp is now filled
8664//        fmt.Println(resp)
8665//    }
8666//
8667// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
8668func (c *SSM) GetOpsItemRequest(input *GetOpsItemInput) (req *request.Request, output *GetOpsItemOutput) {
8669	op := &request.Operation{
8670		Name:       opGetOpsItem,
8671		HTTPMethod: "POST",
8672		HTTPPath:   "/",
8673	}
8674
8675	if input == nil {
8676		input = &GetOpsItemInput{}
8677	}
8678
8679	output = &GetOpsItemOutput{}
8680	req = c.newRequest(op, input, output)
8681	return
8682}
8683
8684// GetOpsItem API operation for Amazon Simple Systems Manager (SSM).
8685//
8686// Get information about an OpsItem by using the ID. You must have permission
8687// in Identity and Access Management (IAM) to view information about an OpsItem.
8688// For more information, see Getting started with OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
8689// in the Amazon Web Services Systems Manager User Guide.
8690//
8691// Operations engineers and IT professionals use Amazon Web Services Systems
8692// Manager OpsCenter to view, investigate, and remediate operational issues
8693// impacting the performance and health of their Amazon Web Services resources.
8694// For more information, see OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
8695// in the Amazon Web Services Systems Manager User Guide.
8696//
8697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8698// with awserr.Error's Code and Message methods to get detailed information about
8699// the error.
8700//
8701// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8702// API operation GetOpsItem for usage and error information.
8703//
8704// Returned Error Types:
8705//   * InternalServerError
8706//   An error occurred on the server side.
8707//
8708//   * OpsItemNotFoundException
8709//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
8710//
8711// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem
8712func (c *SSM) GetOpsItem(input *GetOpsItemInput) (*GetOpsItemOutput, error) {
8713	req, out := c.GetOpsItemRequest(input)
8714	return out, req.Send()
8715}
8716
8717// GetOpsItemWithContext is the same as GetOpsItem with the addition of
8718// the ability to pass a context and additional request options.
8719//
8720// See GetOpsItem for details on how to use this API operation.
8721//
8722// The context must be non-nil and will be used for request cancellation. If
8723// the context is nil a panic will occur. In the future the SDK may create
8724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8725// for more information on using Contexts.
8726func (c *SSM) GetOpsItemWithContext(ctx aws.Context, input *GetOpsItemInput, opts ...request.Option) (*GetOpsItemOutput, error) {
8727	req, out := c.GetOpsItemRequest(input)
8728	req.SetContext(ctx)
8729	req.ApplyOptions(opts...)
8730	return out, req.Send()
8731}
8732
8733const opGetOpsMetadata = "GetOpsMetadata"
8734
8735// GetOpsMetadataRequest generates a "aws/request.Request" representing the
8736// client's request for the GetOpsMetadata operation. The "output" return
8737// value will be populated with the request's response once the request completes
8738// successfully.
8739//
8740// Use "Send" method on the returned Request to send the API call to the service.
8741// the "output" return value is not valid until after Send returns without error.
8742//
8743// See GetOpsMetadata for more information on using the GetOpsMetadata
8744// API call, and error handling.
8745//
8746// This method is useful when you want to inject custom logic or configuration
8747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8748//
8749//
8750//    // Example sending a request using the GetOpsMetadataRequest method.
8751//    req, resp := client.GetOpsMetadataRequest(params)
8752//
8753//    err := req.Send()
8754//    if err == nil { // resp is now filled
8755//        fmt.Println(resp)
8756//    }
8757//
8758// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsMetadata
8759func (c *SSM) GetOpsMetadataRequest(input *GetOpsMetadataInput) (req *request.Request, output *GetOpsMetadataOutput) {
8760	op := &request.Operation{
8761		Name:       opGetOpsMetadata,
8762		HTTPMethod: "POST",
8763		HTTPPath:   "/",
8764	}
8765
8766	if input == nil {
8767		input = &GetOpsMetadataInput{}
8768	}
8769
8770	output = &GetOpsMetadataOutput{}
8771	req = c.newRequest(op, input, output)
8772	return
8773}
8774
8775// GetOpsMetadata API operation for Amazon Simple Systems Manager (SSM).
8776//
8777// View operational metadata related to an application in Application Manager.
8778//
8779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8780// with awserr.Error's Code and Message methods to get detailed information about
8781// the error.
8782//
8783// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8784// API operation GetOpsMetadata for usage and error information.
8785//
8786// Returned Error Types:
8787//   * OpsMetadataNotFoundException
8788//   The OpsMetadata object doesn't exist.
8789//
8790//   * OpsMetadataInvalidArgumentException
8791//   One of the arguments passed is invalid.
8792//
8793//   * InternalServerError
8794//   An error occurred on the server side.
8795//
8796// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsMetadata
8797func (c *SSM) GetOpsMetadata(input *GetOpsMetadataInput) (*GetOpsMetadataOutput, error) {
8798	req, out := c.GetOpsMetadataRequest(input)
8799	return out, req.Send()
8800}
8801
8802// GetOpsMetadataWithContext is the same as GetOpsMetadata with the addition of
8803// the ability to pass a context and additional request options.
8804//
8805// See GetOpsMetadata for details on how to use this API operation.
8806//
8807// The context must be non-nil and will be used for request cancellation. If
8808// the context is nil a panic will occur. In the future the SDK may create
8809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8810// for more information on using Contexts.
8811func (c *SSM) GetOpsMetadataWithContext(ctx aws.Context, input *GetOpsMetadataInput, opts ...request.Option) (*GetOpsMetadataOutput, error) {
8812	req, out := c.GetOpsMetadataRequest(input)
8813	req.SetContext(ctx)
8814	req.ApplyOptions(opts...)
8815	return out, req.Send()
8816}
8817
8818const opGetOpsSummary = "GetOpsSummary"
8819
8820// GetOpsSummaryRequest generates a "aws/request.Request" representing the
8821// client's request for the GetOpsSummary operation. The "output" return
8822// value will be populated with the request's response once the request completes
8823// successfully.
8824//
8825// Use "Send" method on the returned Request to send the API call to the service.
8826// the "output" return value is not valid until after Send returns without error.
8827//
8828// See GetOpsSummary for more information on using the GetOpsSummary
8829// API call, and error handling.
8830//
8831// This method is useful when you want to inject custom logic or configuration
8832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8833//
8834//
8835//    // Example sending a request using the GetOpsSummaryRequest method.
8836//    req, resp := client.GetOpsSummaryRequest(params)
8837//
8838//    err := req.Send()
8839//    if err == nil { // resp is now filled
8840//        fmt.Println(resp)
8841//    }
8842//
8843// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
8844func (c *SSM) GetOpsSummaryRequest(input *GetOpsSummaryInput) (req *request.Request, output *GetOpsSummaryOutput) {
8845	op := &request.Operation{
8846		Name:       opGetOpsSummary,
8847		HTTPMethod: "POST",
8848		HTTPPath:   "/",
8849		Paginator: &request.Paginator{
8850			InputTokens:     []string{"NextToken"},
8851			OutputTokens:    []string{"NextToken"},
8852			LimitToken:      "MaxResults",
8853			TruncationToken: "",
8854		},
8855	}
8856
8857	if input == nil {
8858		input = &GetOpsSummaryInput{}
8859	}
8860
8861	output = &GetOpsSummaryOutput{}
8862	req = c.newRequest(op, input, output)
8863	return
8864}
8865
8866// GetOpsSummary API operation for Amazon Simple Systems Manager (SSM).
8867//
8868// View a summary of operations metadata (OpsData) based on specified filters
8869// and aggregators. OpsData can include information about Amazon Web Services
8870// Systems Manager OpsCenter operational workitems (OpsItems) as well as information
8871// about any Amazon Web Services resource or service configured to report OpsData
8872// to Amazon Web Services Systems Manager Explorer.
8873//
8874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8875// with awserr.Error's Code and Message methods to get detailed information about
8876// the error.
8877//
8878// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
8879// API operation GetOpsSummary for usage and error information.
8880//
8881// Returned Error Types:
8882//   * InternalServerError
8883//   An error occurred on the server side.
8884//
8885//   * ResourceDataSyncNotFoundException
8886//   The specified sync name wasn't found.
8887//
8888//   * InvalidFilter
8889//   The filter name isn't valid. Verify the you entered the correct name and
8890//   try again.
8891//
8892//   * InvalidNextToken
8893//   The specified token isn't valid.
8894//
8895//   * InvalidTypeNameException
8896//   The parameter type name isn't valid.
8897//
8898//   * InvalidAggregatorException
8899//   The specified aggregator isn't valid for inventory groups. Verify that the
8900//   aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
8901//
8902// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary
8903func (c *SSM) GetOpsSummary(input *GetOpsSummaryInput) (*GetOpsSummaryOutput, error) {
8904	req, out := c.GetOpsSummaryRequest(input)
8905	return out, req.Send()
8906}
8907
8908// GetOpsSummaryWithContext is the same as GetOpsSummary with the addition of
8909// the ability to pass a context and additional request options.
8910//
8911// See GetOpsSummary for details on how to use this API operation.
8912//
8913// The context must be non-nil and will be used for request cancellation. If
8914// the context is nil a panic will occur. In the future the SDK may create
8915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8916// for more information on using Contexts.
8917func (c *SSM) GetOpsSummaryWithContext(ctx aws.Context, input *GetOpsSummaryInput, opts ...request.Option) (*GetOpsSummaryOutput, error) {
8918	req, out := c.GetOpsSummaryRequest(input)
8919	req.SetContext(ctx)
8920	req.ApplyOptions(opts...)
8921	return out, req.Send()
8922}
8923
8924// GetOpsSummaryPages iterates over the pages of a GetOpsSummary operation,
8925// calling the "fn" function with the response data for each page. To stop
8926// iterating, return false from the fn function.
8927//
8928// See GetOpsSummary method for more information on how to use this operation.
8929//
8930// Note: This operation can generate multiple requests to a service.
8931//
8932//    // Example iterating over at most 3 pages of a GetOpsSummary operation.
8933//    pageNum := 0
8934//    err := client.GetOpsSummaryPages(params,
8935//        func(page *ssm.GetOpsSummaryOutput, lastPage bool) bool {
8936//            pageNum++
8937//            fmt.Println(page)
8938//            return pageNum <= 3
8939//        })
8940//
8941func (c *SSM) GetOpsSummaryPages(input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool) error {
8942	return c.GetOpsSummaryPagesWithContext(aws.BackgroundContext(), input, fn)
8943}
8944
8945// GetOpsSummaryPagesWithContext same as GetOpsSummaryPages except
8946// it takes a Context and allows setting request options on the pages.
8947//
8948// The context must be non-nil and will be used for request cancellation. If
8949// the context is nil a panic will occur. In the future the SDK may create
8950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8951// for more information on using Contexts.
8952func (c *SSM) GetOpsSummaryPagesWithContext(ctx aws.Context, input *GetOpsSummaryInput, fn func(*GetOpsSummaryOutput, bool) bool, opts ...request.Option) error {
8953	p := request.Pagination{
8954		NewRequest: func() (*request.Request, error) {
8955			var inCpy *GetOpsSummaryInput
8956			if input != nil {
8957				tmp := *input
8958				inCpy = &tmp
8959			}
8960			req, _ := c.GetOpsSummaryRequest(inCpy)
8961			req.SetContext(ctx)
8962			req.ApplyOptions(opts...)
8963			return req, nil
8964		},
8965	}
8966
8967	for p.Next() {
8968		if !fn(p.Page().(*GetOpsSummaryOutput), !p.HasNextPage()) {
8969			break
8970		}
8971	}
8972
8973	return p.Err()
8974}
8975
8976const opGetParameter = "GetParameter"
8977
8978// GetParameterRequest generates a "aws/request.Request" representing the
8979// client's request for the GetParameter operation. The "output" return
8980// value will be populated with the request's response once the request completes
8981// successfully.
8982//
8983// Use "Send" method on the returned Request to send the API call to the service.
8984// the "output" return value is not valid until after Send returns without error.
8985//
8986// See GetParameter for more information on using the GetParameter
8987// API call, and error handling.
8988//
8989// This method is useful when you want to inject custom logic or configuration
8990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8991//
8992//
8993//    // Example sending a request using the GetParameterRequest method.
8994//    req, resp := client.GetParameterRequest(params)
8995//
8996//    err := req.Send()
8997//    if err == nil { // resp is now filled
8998//        fmt.Println(resp)
8999//    }
9000//
9001// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
9002func (c *SSM) GetParameterRequest(input *GetParameterInput) (req *request.Request, output *GetParameterOutput) {
9003	op := &request.Operation{
9004		Name:       opGetParameter,
9005		HTTPMethod: "POST",
9006		HTTPPath:   "/",
9007	}
9008
9009	if input == nil {
9010		input = &GetParameterInput{}
9011	}
9012
9013	output = &GetParameterOutput{}
9014	req = c.newRequest(op, input, output)
9015	return
9016}
9017
9018// GetParameter API operation for Amazon Simple Systems Manager (SSM).
9019//
9020// Get information about a single parameter by specifying the parameter name.
9021//
9022// To get information about more than one parameter at a time, use the GetParameters
9023// operation.
9024//
9025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9026// with awserr.Error's Code and Message methods to get detailed information about
9027// the error.
9028//
9029// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9030// API operation GetParameter for usage and error information.
9031//
9032// Returned Error Types:
9033//   * InternalServerError
9034//   An error occurred on the server side.
9035//
9036//   * InvalidKeyId
9037//   The query key ID isn't valid.
9038//
9039//   * ParameterNotFound
9040//   The parameter couldn't be found. Verify the name and try again.
9041//
9042//   * ParameterVersionNotFound
9043//   The specified parameter version wasn't found. Verify the parameter name and
9044//   version, and try again.
9045//
9046// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter
9047func (c *SSM) GetParameter(input *GetParameterInput) (*GetParameterOutput, error) {
9048	req, out := c.GetParameterRequest(input)
9049	return out, req.Send()
9050}
9051
9052// GetParameterWithContext is the same as GetParameter with the addition of
9053// the ability to pass a context and additional request options.
9054//
9055// See GetParameter for details on how to use this API operation.
9056//
9057// The context must be non-nil and will be used for request cancellation. If
9058// the context is nil a panic will occur. In the future the SDK may create
9059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9060// for more information on using Contexts.
9061func (c *SSM) GetParameterWithContext(ctx aws.Context, input *GetParameterInput, opts ...request.Option) (*GetParameterOutput, error) {
9062	req, out := c.GetParameterRequest(input)
9063	req.SetContext(ctx)
9064	req.ApplyOptions(opts...)
9065	return out, req.Send()
9066}
9067
9068const opGetParameterHistory = "GetParameterHistory"
9069
9070// GetParameterHistoryRequest generates a "aws/request.Request" representing the
9071// client's request for the GetParameterHistory operation. The "output" return
9072// value will be populated with the request's response once the request completes
9073// successfully.
9074//
9075// Use "Send" method on the returned Request to send the API call to the service.
9076// the "output" return value is not valid until after Send returns without error.
9077//
9078// See GetParameterHistory for more information on using the GetParameterHistory
9079// API call, and error handling.
9080//
9081// This method is useful when you want to inject custom logic or configuration
9082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9083//
9084//
9085//    // Example sending a request using the GetParameterHistoryRequest method.
9086//    req, resp := client.GetParameterHistoryRequest(params)
9087//
9088//    err := req.Send()
9089//    if err == nil { // resp is now filled
9090//        fmt.Println(resp)
9091//    }
9092//
9093// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
9094func (c *SSM) GetParameterHistoryRequest(input *GetParameterHistoryInput) (req *request.Request, output *GetParameterHistoryOutput) {
9095	op := &request.Operation{
9096		Name:       opGetParameterHistory,
9097		HTTPMethod: "POST",
9098		HTTPPath:   "/",
9099		Paginator: &request.Paginator{
9100			InputTokens:     []string{"NextToken"},
9101			OutputTokens:    []string{"NextToken"},
9102			LimitToken:      "MaxResults",
9103			TruncationToken: "",
9104		},
9105	}
9106
9107	if input == nil {
9108		input = &GetParameterHistoryInput{}
9109	}
9110
9111	output = &GetParameterHistoryOutput{}
9112	req = c.newRequest(op, input, output)
9113	return
9114}
9115
9116// GetParameterHistory API operation for Amazon Simple Systems Manager (SSM).
9117//
9118// Retrieves the history of all changes to a parameter.
9119//
9120// If you change the KMS key alias for the KMS key used to encrypt a parameter,
9121// then you must also update the key alias the parameter uses to reference KMS.
9122// Otherwise, GetParameterHistory retrieves whatever the original key alias
9123// was referencing.
9124//
9125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9126// with awserr.Error's Code and Message methods to get detailed information about
9127// the error.
9128//
9129// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9130// API operation GetParameterHistory for usage and error information.
9131//
9132// Returned Error Types:
9133//   * InternalServerError
9134//   An error occurred on the server side.
9135//
9136//   * ParameterNotFound
9137//   The parameter couldn't be found. Verify the name and try again.
9138//
9139//   * InvalidNextToken
9140//   The specified token isn't valid.
9141//
9142//   * InvalidKeyId
9143//   The query key ID isn't valid.
9144//
9145// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory
9146func (c *SSM) GetParameterHistory(input *GetParameterHistoryInput) (*GetParameterHistoryOutput, error) {
9147	req, out := c.GetParameterHistoryRequest(input)
9148	return out, req.Send()
9149}
9150
9151// GetParameterHistoryWithContext is the same as GetParameterHistory with the addition of
9152// the ability to pass a context and additional request options.
9153//
9154// See GetParameterHistory for details on how to use this API operation.
9155//
9156// The context must be non-nil and will be used for request cancellation. If
9157// the context is nil a panic will occur. In the future the SDK may create
9158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9159// for more information on using Contexts.
9160func (c *SSM) GetParameterHistoryWithContext(ctx aws.Context, input *GetParameterHistoryInput, opts ...request.Option) (*GetParameterHistoryOutput, error) {
9161	req, out := c.GetParameterHistoryRequest(input)
9162	req.SetContext(ctx)
9163	req.ApplyOptions(opts...)
9164	return out, req.Send()
9165}
9166
9167// GetParameterHistoryPages iterates over the pages of a GetParameterHistory operation,
9168// calling the "fn" function with the response data for each page. To stop
9169// iterating, return false from the fn function.
9170//
9171// See GetParameterHistory method for more information on how to use this operation.
9172//
9173// Note: This operation can generate multiple requests to a service.
9174//
9175//    // Example iterating over at most 3 pages of a GetParameterHistory operation.
9176//    pageNum := 0
9177//    err := client.GetParameterHistoryPages(params,
9178//        func(page *ssm.GetParameterHistoryOutput, lastPage bool) bool {
9179//            pageNum++
9180//            fmt.Println(page)
9181//            return pageNum <= 3
9182//        })
9183//
9184func (c *SSM) GetParameterHistoryPages(input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool) error {
9185	return c.GetParameterHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
9186}
9187
9188// GetParameterHistoryPagesWithContext same as GetParameterHistoryPages except
9189// it takes a Context and allows setting request options on the pages.
9190//
9191// The context must be non-nil and will be used for request cancellation. If
9192// the context is nil a panic will occur. In the future the SDK may create
9193// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9194// for more information on using Contexts.
9195func (c *SSM) GetParameterHistoryPagesWithContext(ctx aws.Context, input *GetParameterHistoryInput, fn func(*GetParameterHistoryOutput, bool) bool, opts ...request.Option) error {
9196	p := request.Pagination{
9197		NewRequest: func() (*request.Request, error) {
9198			var inCpy *GetParameterHistoryInput
9199			if input != nil {
9200				tmp := *input
9201				inCpy = &tmp
9202			}
9203			req, _ := c.GetParameterHistoryRequest(inCpy)
9204			req.SetContext(ctx)
9205			req.ApplyOptions(opts...)
9206			return req, nil
9207		},
9208	}
9209
9210	for p.Next() {
9211		if !fn(p.Page().(*GetParameterHistoryOutput), !p.HasNextPage()) {
9212			break
9213		}
9214	}
9215
9216	return p.Err()
9217}
9218
9219const opGetParameters = "GetParameters"
9220
9221// GetParametersRequest generates a "aws/request.Request" representing the
9222// client's request for the GetParameters operation. The "output" return
9223// value will be populated with the request's response once the request completes
9224// successfully.
9225//
9226// Use "Send" method on the returned Request to send the API call to the service.
9227// the "output" return value is not valid until after Send returns without error.
9228//
9229// See GetParameters for more information on using the GetParameters
9230// API call, and error handling.
9231//
9232// This method is useful when you want to inject custom logic or configuration
9233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9234//
9235//
9236//    // Example sending a request using the GetParametersRequest method.
9237//    req, resp := client.GetParametersRequest(params)
9238//
9239//    err := req.Send()
9240//    if err == nil { // resp is now filled
9241//        fmt.Println(resp)
9242//    }
9243//
9244// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
9245func (c *SSM) GetParametersRequest(input *GetParametersInput) (req *request.Request, output *GetParametersOutput) {
9246	op := &request.Operation{
9247		Name:       opGetParameters,
9248		HTTPMethod: "POST",
9249		HTTPPath:   "/",
9250	}
9251
9252	if input == nil {
9253		input = &GetParametersInput{}
9254	}
9255
9256	output = &GetParametersOutput{}
9257	req = c.newRequest(op, input, output)
9258	return
9259}
9260
9261// GetParameters API operation for Amazon Simple Systems Manager (SSM).
9262//
9263// Get information about one or more parameters by specifying multiple parameter
9264// names.
9265//
9266// To get information about a single parameter, you can use the GetParameter
9267// operation instead.
9268//
9269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9270// with awserr.Error's Code and Message methods to get detailed information about
9271// the error.
9272//
9273// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9274// API operation GetParameters for usage and error information.
9275//
9276// Returned Error Types:
9277//   * InvalidKeyId
9278//   The query key ID isn't valid.
9279//
9280//   * InternalServerError
9281//   An error occurred on the server side.
9282//
9283// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters
9284func (c *SSM) GetParameters(input *GetParametersInput) (*GetParametersOutput, error) {
9285	req, out := c.GetParametersRequest(input)
9286	return out, req.Send()
9287}
9288
9289// GetParametersWithContext is the same as GetParameters with the addition of
9290// the ability to pass a context and additional request options.
9291//
9292// See GetParameters for details on how to use this API operation.
9293//
9294// The context must be non-nil and will be used for request cancellation. If
9295// the context is nil a panic will occur. In the future the SDK may create
9296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9297// for more information on using Contexts.
9298func (c *SSM) GetParametersWithContext(ctx aws.Context, input *GetParametersInput, opts ...request.Option) (*GetParametersOutput, error) {
9299	req, out := c.GetParametersRequest(input)
9300	req.SetContext(ctx)
9301	req.ApplyOptions(opts...)
9302	return out, req.Send()
9303}
9304
9305const opGetParametersByPath = "GetParametersByPath"
9306
9307// GetParametersByPathRequest generates a "aws/request.Request" representing the
9308// client's request for the GetParametersByPath operation. The "output" return
9309// value will be populated with the request's response once the request completes
9310// successfully.
9311//
9312// Use "Send" method on the returned Request to send the API call to the service.
9313// the "output" return value is not valid until after Send returns without error.
9314//
9315// See GetParametersByPath for more information on using the GetParametersByPath
9316// API call, and error handling.
9317//
9318// This method is useful when you want to inject custom logic or configuration
9319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9320//
9321//
9322//    // Example sending a request using the GetParametersByPathRequest method.
9323//    req, resp := client.GetParametersByPathRequest(params)
9324//
9325//    err := req.Send()
9326//    if err == nil { // resp is now filled
9327//        fmt.Println(resp)
9328//    }
9329//
9330// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
9331func (c *SSM) GetParametersByPathRequest(input *GetParametersByPathInput) (req *request.Request, output *GetParametersByPathOutput) {
9332	op := &request.Operation{
9333		Name:       opGetParametersByPath,
9334		HTTPMethod: "POST",
9335		HTTPPath:   "/",
9336		Paginator: &request.Paginator{
9337			InputTokens:     []string{"NextToken"},
9338			OutputTokens:    []string{"NextToken"},
9339			LimitToken:      "MaxResults",
9340			TruncationToken: "",
9341		},
9342	}
9343
9344	if input == nil {
9345		input = &GetParametersByPathInput{}
9346	}
9347
9348	output = &GetParametersByPathOutput{}
9349	req = c.newRequest(op, input, output)
9350	return
9351}
9352
9353// GetParametersByPath API operation for Amazon Simple Systems Manager (SSM).
9354//
9355// Retrieve information about one or more parameters in a specific hierarchy.
9356//
9357// Request results are returned on a best-effort basis. If you specify MaxResults
9358// in the request, the response includes information up to the limit specified.
9359// The number of items returned, however, can be between zero and the value
9360// of MaxResults. If the service reaches an internal limit while processing
9361// the results, it stops the operation and returns the matching values up to
9362// that point and a NextToken. You can specify the NextToken in a subsequent
9363// call to get the next set of results.
9364//
9365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9366// with awserr.Error's Code and Message methods to get detailed information about
9367// the error.
9368//
9369// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9370// API operation GetParametersByPath for usage and error information.
9371//
9372// Returned Error Types:
9373//   * InternalServerError
9374//   An error occurred on the server side.
9375//
9376//   * InvalidFilterKey
9377//   The specified key isn't valid.
9378//
9379//   * InvalidFilterOption
9380//   The specified filter option isn't valid. Valid options are Equals and BeginsWith.
9381//   For Path filter, valid options are Recursive and OneLevel.
9382//
9383//   * InvalidFilterValue
9384//   The filter value isn't valid. Verify the value and try again.
9385//
9386//   * InvalidKeyId
9387//   The query key ID isn't valid.
9388//
9389//   * InvalidNextToken
9390//   The specified token isn't valid.
9391//
9392// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath
9393func (c *SSM) GetParametersByPath(input *GetParametersByPathInput) (*GetParametersByPathOutput, error) {
9394	req, out := c.GetParametersByPathRequest(input)
9395	return out, req.Send()
9396}
9397
9398// GetParametersByPathWithContext is the same as GetParametersByPath with the addition of
9399// the ability to pass a context and additional request options.
9400//
9401// See GetParametersByPath for details on how to use this API operation.
9402//
9403// The context must be non-nil and will be used for request cancellation. If
9404// the context is nil a panic will occur. In the future the SDK may create
9405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9406// for more information on using Contexts.
9407func (c *SSM) GetParametersByPathWithContext(ctx aws.Context, input *GetParametersByPathInput, opts ...request.Option) (*GetParametersByPathOutput, error) {
9408	req, out := c.GetParametersByPathRequest(input)
9409	req.SetContext(ctx)
9410	req.ApplyOptions(opts...)
9411	return out, req.Send()
9412}
9413
9414// GetParametersByPathPages iterates over the pages of a GetParametersByPath operation,
9415// calling the "fn" function with the response data for each page. To stop
9416// iterating, return false from the fn function.
9417//
9418// See GetParametersByPath method for more information on how to use this operation.
9419//
9420// Note: This operation can generate multiple requests to a service.
9421//
9422//    // Example iterating over at most 3 pages of a GetParametersByPath operation.
9423//    pageNum := 0
9424//    err := client.GetParametersByPathPages(params,
9425//        func(page *ssm.GetParametersByPathOutput, lastPage bool) bool {
9426//            pageNum++
9427//            fmt.Println(page)
9428//            return pageNum <= 3
9429//        })
9430//
9431func (c *SSM) GetParametersByPathPages(input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool) error {
9432	return c.GetParametersByPathPagesWithContext(aws.BackgroundContext(), input, fn)
9433}
9434
9435// GetParametersByPathPagesWithContext same as GetParametersByPathPages except
9436// it takes a Context and allows setting request options on the pages.
9437//
9438// The context must be non-nil and will be used for request cancellation. If
9439// the context is nil a panic will occur. In the future the SDK may create
9440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9441// for more information on using Contexts.
9442func (c *SSM) GetParametersByPathPagesWithContext(ctx aws.Context, input *GetParametersByPathInput, fn func(*GetParametersByPathOutput, bool) bool, opts ...request.Option) error {
9443	p := request.Pagination{
9444		NewRequest: func() (*request.Request, error) {
9445			var inCpy *GetParametersByPathInput
9446			if input != nil {
9447				tmp := *input
9448				inCpy = &tmp
9449			}
9450			req, _ := c.GetParametersByPathRequest(inCpy)
9451			req.SetContext(ctx)
9452			req.ApplyOptions(opts...)
9453			return req, nil
9454		},
9455	}
9456
9457	for p.Next() {
9458		if !fn(p.Page().(*GetParametersByPathOutput), !p.HasNextPage()) {
9459			break
9460		}
9461	}
9462
9463	return p.Err()
9464}
9465
9466const opGetPatchBaseline = "GetPatchBaseline"
9467
9468// GetPatchBaselineRequest generates a "aws/request.Request" representing the
9469// client's request for the GetPatchBaseline operation. The "output" return
9470// value will be populated with the request's response once the request completes
9471// successfully.
9472//
9473// Use "Send" method on the returned Request to send the API call to the service.
9474// the "output" return value is not valid until after Send returns without error.
9475//
9476// See GetPatchBaseline for more information on using the GetPatchBaseline
9477// API call, and error handling.
9478//
9479// This method is useful when you want to inject custom logic or configuration
9480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9481//
9482//
9483//    // Example sending a request using the GetPatchBaselineRequest method.
9484//    req, resp := client.GetPatchBaselineRequest(params)
9485//
9486//    err := req.Send()
9487//    if err == nil { // resp is now filled
9488//        fmt.Println(resp)
9489//    }
9490//
9491// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
9492func (c *SSM) GetPatchBaselineRequest(input *GetPatchBaselineInput) (req *request.Request, output *GetPatchBaselineOutput) {
9493	op := &request.Operation{
9494		Name:       opGetPatchBaseline,
9495		HTTPMethod: "POST",
9496		HTTPPath:   "/",
9497	}
9498
9499	if input == nil {
9500		input = &GetPatchBaselineInput{}
9501	}
9502
9503	output = &GetPatchBaselineOutput{}
9504	req = c.newRequest(op, input, output)
9505	return
9506}
9507
9508// GetPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
9509//
9510// Retrieves information about a patch baseline.
9511//
9512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9513// with awserr.Error's Code and Message methods to get detailed information about
9514// the error.
9515//
9516// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9517// API operation GetPatchBaseline for usage and error information.
9518//
9519// Returned Error Types:
9520//   * DoesNotExistException
9521//   Error returned when the ID specified for a resource, such as a maintenance
9522//   window or patch baseline, doesn't exist.
9523//
9524//   For information about resource quotas in Amazon Web Services Systems Manager,
9525//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
9526//   in the Amazon Web Services General Reference.
9527//
9528//   * InvalidResourceId
9529//   The resource ID isn't valid. Verify that you entered the correct ID and try
9530//   again.
9531//
9532//   * InternalServerError
9533//   An error occurred on the server side.
9534//
9535// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline
9536func (c *SSM) GetPatchBaseline(input *GetPatchBaselineInput) (*GetPatchBaselineOutput, error) {
9537	req, out := c.GetPatchBaselineRequest(input)
9538	return out, req.Send()
9539}
9540
9541// GetPatchBaselineWithContext is the same as GetPatchBaseline with the addition of
9542// the ability to pass a context and additional request options.
9543//
9544// See GetPatchBaseline for details on how to use this API operation.
9545//
9546// The context must be non-nil and will be used for request cancellation. If
9547// the context is nil a panic will occur. In the future the SDK may create
9548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9549// for more information on using Contexts.
9550func (c *SSM) GetPatchBaselineWithContext(ctx aws.Context, input *GetPatchBaselineInput, opts ...request.Option) (*GetPatchBaselineOutput, error) {
9551	req, out := c.GetPatchBaselineRequest(input)
9552	req.SetContext(ctx)
9553	req.ApplyOptions(opts...)
9554	return out, req.Send()
9555}
9556
9557const opGetPatchBaselineForPatchGroup = "GetPatchBaselineForPatchGroup"
9558
9559// GetPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
9560// client's request for the GetPatchBaselineForPatchGroup operation. The "output" return
9561// value will be populated with the request's response once the request completes
9562// successfully.
9563//
9564// Use "Send" method on the returned Request to send the API call to the service.
9565// the "output" return value is not valid until after Send returns without error.
9566//
9567// See GetPatchBaselineForPatchGroup for more information on using the GetPatchBaselineForPatchGroup
9568// API call, and error handling.
9569//
9570// This method is useful when you want to inject custom logic or configuration
9571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9572//
9573//
9574//    // Example sending a request using the GetPatchBaselineForPatchGroupRequest method.
9575//    req, resp := client.GetPatchBaselineForPatchGroupRequest(params)
9576//
9577//    err := req.Send()
9578//    if err == nil { // resp is now filled
9579//        fmt.Println(resp)
9580//    }
9581//
9582// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
9583func (c *SSM) GetPatchBaselineForPatchGroupRequest(input *GetPatchBaselineForPatchGroupInput) (req *request.Request, output *GetPatchBaselineForPatchGroupOutput) {
9584	op := &request.Operation{
9585		Name:       opGetPatchBaselineForPatchGroup,
9586		HTTPMethod: "POST",
9587		HTTPPath:   "/",
9588	}
9589
9590	if input == nil {
9591		input = &GetPatchBaselineForPatchGroupInput{}
9592	}
9593
9594	output = &GetPatchBaselineForPatchGroupOutput{}
9595	req = c.newRequest(op, input, output)
9596	return
9597}
9598
9599// GetPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
9600//
9601// Retrieves the patch baseline that should be used for the specified patch
9602// group.
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 GetPatchBaselineForPatchGroup for usage and error information.
9610//
9611// Returned Error Types:
9612//   * InternalServerError
9613//   An error occurred on the server side.
9614//
9615// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup
9616func (c *SSM) GetPatchBaselineForPatchGroup(input *GetPatchBaselineForPatchGroupInput) (*GetPatchBaselineForPatchGroupOutput, error) {
9617	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
9618	return out, req.Send()
9619}
9620
9621// GetPatchBaselineForPatchGroupWithContext is the same as GetPatchBaselineForPatchGroup with the addition of
9622// the ability to pass a context and additional request options.
9623//
9624// See GetPatchBaselineForPatchGroup for details on how to use this API operation.
9625//
9626// The context must be non-nil and will be used for request cancellation. If
9627// the context is nil a panic will occur. In the future the SDK may create
9628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9629// for more information on using Contexts.
9630func (c *SSM) GetPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *GetPatchBaselineForPatchGroupInput, opts ...request.Option) (*GetPatchBaselineForPatchGroupOutput, error) {
9631	req, out := c.GetPatchBaselineForPatchGroupRequest(input)
9632	req.SetContext(ctx)
9633	req.ApplyOptions(opts...)
9634	return out, req.Send()
9635}
9636
9637const opGetServiceSetting = "GetServiceSetting"
9638
9639// GetServiceSettingRequest generates a "aws/request.Request" representing the
9640// client's request for the GetServiceSetting operation. The "output" return
9641// value will be populated with the request's response once the request completes
9642// successfully.
9643//
9644// Use "Send" method on the returned Request to send the API call to the service.
9645// the "output" return value is not valid until after Send returns without error.
9646//
9647// See GetServiceSetting for more information on using the GetServiceSetting
9648// API call, and error handling.
9649//
9650// This method is useful when you want to inject custom logic or configuration
9651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9652//
9653//
9654//    // Example sending a request using the GetServiceSettingRequest method.
9655//    req, resp := client.GetServiceSettingRequest(params)
9656//
9657//    err := req.Send()
9658//    if err == nil { // resp is now filled
9659//        fmt.Println(resp)
9660//    }
9661//
9662// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
9663func (c *SSM) GetServiceSettingRequest(input *GetServiceSettingInput) (req *request.Request, output *GetServiceSettingOutput) {
9664	op := &request.Operation{
9665		Name:       opGetServiceSetting,
9666		HTTPMethod: "POST",
9667		HTTPPath:   "/",
9668	}
9669
9670	if input == nil {
9671		input = &GetServiceSettingInput{}
9672	}
9673
9674	output = &GetServiceSettingOutput{}
9675	req = c.newRequest(op, input, output)
9676	return
9677}
9678
9679// GetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
9680//
9681// ServiceSetting is an account-level setting for an Amazon Web Services service.
9682// This setting defines how a user interacts with or uses a service or a feature
9683// of a service. For example, if an Amazon Web Services service charges money
9684// to the account based on feature or service usage, then the Amazon Web Services
9685// service team might create a default setting of false. This means the user
9686// can't use this feature unless they change the setting to true and intentionally
9687// opt in for a paid feature.
9688//
9689// Services map a SettingId object to a setting value. Amazon Web Services services
9690// teams define the default value for a SettingId. You can't create a new SettingId,
9691// but you can overwrite the default value if you have the ssm:UpdateServiceSetting
9692// permission for the setting. Use the UpdateServiceSetting API operation to
9693// change the default setting. Or use the ResetServiceSetting to change the
9694// value back to the original value defined by the Amazon Web Services service
9695// team.
9696//
9697// Query the current service setting for the Amazon Web Services account.
9698//
9699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9700// with awserr.Error's Code and Message methods to get detailed information about
9701// the error.
9702//
9703// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9704// API operation GetServiceSetting for usage and error information.
9705//
9706// Returned Error Types:
9707//   * InternalServerError
9708//   An error occurred on the server side.
9709//
9710//   * ServiceSettingNotFound
9711//   The specified service setting wasn't found. Either the service name or the
9712//   setting hasn't been provisioned by the Amazon Web Services service team.
9713//
9714// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting
9715func (c *SSM) GetServiceSetting(input *GetServiceSettingInput) (*GetServiceSettingOutput, error) {
9716	req, out := c.GetServiceSettingRequest(input)
9717	return out, req.Send()
9718}
9719
9720// GetServiceSettingWithContext is the same as GetServiceSetting with the addition of
9721// the ability to pass a context and additional request options.
9722//
9723// See GetServiceSetting for details on how to use this API operation.
9724//
9725// The context must be non-nil and will be used for request cancellation. If
9726// the context is nil a panic will occur. In the future the SDK may create
9727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9728// for more information on using Contexts.
9729func (c *SSM) GetServiceSettingWithContext(ctx aws.Context, input *GetServiceSettingInput, opts ...request.Option) (*GetServiceSettingOutput, error) {
9730	req, out := c.GetServiceSettingRequest(input)
9731	req.SetContext(ctx)
9732	req.ApplyOptions(opts...)
9733	return out, req.Send()
9734}
9735
9736const opLabelParameterVersion = "LabelParameterVersion"
9737
9738// LabelParameterVersionRequest generates a "aws/request.Request" representing the
9739// client's request for the LabelParameterVersion operation. The "output" return
9740// value will be populated with the request's response once the request completes
9741// successfully.
9742//
9743// Use "Send" method on the returned Request to send the API call to the service.
9744// the "output" return value is not valid until after Send returns without error.
9745//
9746// See LabelParameterVersion for more information on using the LabelParameterVersion
9747// API call, and error handling.
9748//
9749// This method is useful when you want to inject custom logic or configuration
9750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9751//
9752//
9753//    // Example sending a request using the LabelParameterVersionRequest method.
9754//    req, resp := client.LabelParameterVersionRequest(params)
9755//
9756//    err := req.Send()
9757//    if err == nil { // resp is now filled
9758//        fmt.Println(resp)
9759//    }
9760//
9761// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
9762func (c *SSM) LabelParameterVersionRequest(input *LabelParameterVersionInput) (req *request.Request, output *LabelParameterVersionOutput) {
9763	op := &request.Operation{
9764		Name:       opLabelParameterVersion,
9765		HTTPMethod: "POST",
9766		HTTPPath:   "/",
9767	}
9768
9769	if input == nil {
9770		input = &LabelParameterVersionInput{}
9771	}
9772
9773	output = &LabelParameterVersionOutput{}
9774	req = c.newRequest(op, input, output)
9775	return
9776}
9777
9778// LabelParameterVersion API operation for Amazon Simple Systems Manager (SSM).
9779//
9780// A parameter label is a user-defined alias to help you manage different versions
9781// of a parameter. When you modify a parameter, Amazon Web Services Systems
9782// Manager automatically saves a new version and increments the version number
9783// by one. A label can help you remember the purpose of a parameter when there
9784// are multiple versions.
9785//
9786// Parameter labels have the following requirements and restrictions.
9787//
9788//    * A version of a parameter can have a maximum of 10 labels.
9789//
9790//    * You can't attach the same label to different versions of the same parameter.
9791//    For example, if version 1 has the label Production, then you can't attach
9792//    Production to version 2.
9793//
9794//    * You can move a label from one version of a parameter to another.
9795//
9796//    * You can't create a label when you create a new parameter. You must attach
9797//    a label to a specific version of a parameter.
9798//
9799//    * If you no longer want to use a parameter label, then you can either
9800//    delete it or move it to a different version of a parameter.
9801//
9802//    * A label can have a maximum of 100 characters.
9803//
9804//    * Labels can contain letters (case sensitive), numbers, periods (.), hyphens
9805//    (-), or underscores (_).
9806//
9807//    * Labels can't begin with a number, "aws" or "ssm" (not case sensitive).
9808//    If a label fails to meet these requirements, then the label isn't associated
9809//    with a parameter and the system displays it in the list of InvalidLabels.
9810//
9811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9812// with awserr.Error's Code and Message methods to get detailed information about
9813// the error.
9814//
9815// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9816// API operation LabelParameterVersion for usage and error information.
9817//
9818// Returned Error Types:
9819//   * InternalServerError
9820//   An error occurred on the server side.
9821//
9822//   * TooManyUpdates
9823//   There are concurrent updates for a resource that supports one update at a
9824//   time.
9825//
9826//   * ParameterNotFound
9827//   The parameter couldn't be found. Verify the name and try again.
9828//
9829//   * ParameterVersionNotFound
9830//   The specified parameter version wasn't found. Verify the parameter name and
9831//   version, and try again.
9832//
9833//   * ParameterVersionLabelLimitExceeded
9834//   A parameter version can have a maximum of ten labels.
9835//
9836// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion
9837func (c *SSM) LabelParameterVersion(input *LabelParameterVersionInput) (*LabelParameterVersionOutput, error) {
9838	req, out := c.LabelParameterVersionRequest(input)
9839	return out, req.Send()
9840}
9841
9842// LabelParameterVersionWithContext is the same as LabelParameterVersion with the addition of
9843// the ability to pass a context and additional request options.
9844//
9845// See LabelParameterVersion for details on how to use this API operation.
9846//
9847// The context must be non-nil and will be used for request cancellation. If
9848// the context is nil a panic will occur. In the future the SDK may create
9849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9850// for more information on using Contexts.
9851func (c *SSM) LabelParameterVersionWithContext(ctx aws.Context, input *LabelParameterVersionInput, opts ...request.Option) (*LabelParameterVersionOutput, error) {
9852	req, out := c.LabelParameterVersionRequest(input)
9853	req.SetContext(ctx)
9854	req.ApplyOptions(opts...)
9855	return out, req.Send()
9856}
9857
9858const opListAssociationVersions = "ListAssociationVersions"
9859
9860// ListAssociationVersionsRequest generates a "aws/request.Request" representing the
9861// client's request for the ListAssociationVersions operation. The "output" return
9862// value will be populated with the request's response once the request completes
9863// successfully.
9864//
9865// Use "Send" method on the returned Request to send the API call to the service.
9866// the "output" return value is not valid until after Send returns without error.
9867//
9868// See ListAssociationVersions for more information on using the ListAssociationVersions
9869// API call, and error handling.
9870//
9871// This method is useful when you want to inject custom logic or configuration
9872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9873//
9874//
9875//    // Example sending a request using the ListAssociationVersionsRequest method.
9876//    req, resp := client.ListAssociationVersionsRequest(params)
9877//
9878//    err := req.Send()
9879//    if err == nil { // resp is now filled
9880//        fmt.Println(resp)
9881//    }
9882//
9883// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
9884func (c *SSM) ListAssociationVersionsRequest(input *ListAssociationVersionsInput) (req *request.Request, output *ListAssociationVersionsOutput) {
9885	op := &request.Operation{
9886		Name:       opListAssociationVersions,
9887		HTTPMethod: "POST",
9888		HTTPPath:   "/",
9889		Paginator: &request.Paginator{
9890			InputTokens:     []string{"NextToken"},
9891			OutputTokens:    []string{"NextToken"},
9892			LimitToken:      "MaxResults",
9893			TruncationToken: "",
9894		},
9895	}
9896
9897	if input == nil {
9898		input = &ListAssociationVersionsInput{}
9899	}
9900
9901	output = &ListAssociationVersionsOutput{}
9902	req = c.newRequest(op, input, output)
9903	return
9904}
9905
9906// ListAssociationVersions API operation for Amazon Simple Systems Manager (SSM).
9907//
9908// Retrieves all versions of an association for a specific association ID.
9909//
9910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9911// with awserr.Error's Code and Message methods to get detailed information about
9912// the error.
9913//
9914// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
9915// API operation ListAssociationVersions for usage and error information.
9916//
9917// Returned Error Types:
9918//   * InternalServerError
9919//   An error occurred on the server side.
9920//
9921//   * InvalidNextToken
9922//   The specified token isn't valid.
9923//
9924//   * AssociationDoesNotExist
9925//   The specified association doesn't exist.
9926//
9927// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions
9928func (c *SSM) ListAssociationVersions(input *ListAssociationVersionsInput) (*ListAssociationVersionsOutput, error) {
9929	req, out := c.ListAssociationVersionsRequest(input)
9930	return out, req.Send()
9931}
9932
9933// ListAssociationVersionsWithContext is the same as ListAssociationVersions with the addition of
9934// the ability to pass a context and additional request options.
9935//
9936// See ListAssociationVersions for details on how to use this API operation.
9937//
9938// The context must be non-nil and will be used for request cancellation. If
9939// the context is nil a panic will occur. In the future the SDK may create
9940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9941// for more information on using Contexts.
9942func (c *SSM) ListAssociationVersionsWithContext(ctx aws.Context, input *ListAssociationVersionsInput, opts ...request.Option) (*ListAssociationVersionsOutput, error) {
9943	req, out := c.ListAssociationVersionsRequest(input)
9944	req.SetContext(ctx)
9945	req.ApplyOptions(opts...)
9946	return out, req.Send()
9947}
9948
9949// ListAssociationVersionsPages iterates over the pages of a ListAssociationVersions operation,
9950// calling the "fn" function with the response data for each page. To stop
9951// iterating, return false from the fn function.
9952//
9953// See ListAssociationVersions method for more information on how to use this operation.
9954//
9955// Note: This operation can generate multiple requests to a service.
9956//
9957//    // Example iterating over at most 3 pages of a ListAssociationVersions operation.
9958//    pageNum := 0
9959//    err := client.ListAssociationVersionsPages(params,
9960//        func(page *ssm.ListAssociationVersionsOutput, lastPage bool) bool {
9961//            pageNum++
9962//            fmt.Println(page)
9963//            return pageNum <= 3
9964//        })
9965//
9966func (c *SSM) ListAssociationVersionsPages(input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool) error {
9967	return c.ListAssociationVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
9968}
9969
9970// ListAssociationVersionsPagesWithContext same as ListAssociationVersionsPages except
9971// it takes a Context and allows setting request options on the pages.
9972//
9973// The context must be non-nil and will be used for request cancellation. If
9974// the context is nil a panic will occur. In the future the SDK may create
9975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9976// for more information on using Contexts.
9977func (c *SSM) ListAssociationVersionsPagesWithContext(ctx aws.Context, input *ListAssociationVersionsInput, fn func(*ListAssociationVersionsOutput, bool) bool, opts ...request.Option) error {
9978	p := request.Pagination{
9979		NewRequest: func() (*request.Request, error) {
9980			var inCpy *ListAssociationVersionsInput
9981			if input != nil {
9982				tmp := *input
9983				inCpy = &tmp
9984			}
9985			req, _ := c.ListAssociationVersionsRequest(inCpy)
9986			req.SetContext(ctx)
9987			req.ApplyOptions(opts...)
9988			return req, nil
9989		},
9990	}
9991
9992	for p.Next() {
9993		if !fn(p.Page().(*ListAssociationVersionsOutput), !p.HasNextPage()) {
9994			break
9995		}
9996	}
9997
9998	return p.Err()
9999}
10000
10001const opListAssociations = "ListAssociations"
10002
10003// ListAssociationsRequest generates a "aws/request.Request" representing the
10004// client's request for the ListAssociations operation. The "output" return
10005// value will be populated with the request's response once the request completes
10006// successfully.
10007//
10008// Use "Send" method on the returned Request to send the API call to the service.
10009// the "output" return value is not valid until after Send returns without error.
10010//
10011// See ListAssociations for more information on using the ListAssociations
10012// API call, and error handling.
10013//
10014// This method is useful when you want to inject custom logic or configuration
10015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10016//
10017//
10018//    // Example sending a request using the ListAssociationsRequest method.
10019//    req, resp := client.ListAssociationsRequest(params)
10020//
10021//    err := req.Send()
10022//    if err == nil { // resp is now filled
10023//        fmt.Println(resp)
10024//    }
10025//
10026// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
10027func (c *SSM) ListAssociationsRequest(input *ListAssociationsInput) (req *request.Request, output *ListAssociationsOutput) {
10028	op := &request.Operation{
10029		Name:       opListAssociations,
10030		HTTPMethod: "POST",
10031		HTTPPath:   "/",
10032		Paginator: &request.Paginator{
10033			InputTokens:     []string{"NextToken"},
10034			OutputTokens:    []string{"NextToken"},
10035			LimitToken:      "MaxResults",
10036			TruncationToken: "",
10037		},
10038	}
10039
10040	if input == nil {
10041		input = &ListAssociationsInput{}
10042	}
10043
10044	output = &ListAssociationsOutput{}
10045	req = c.newRequest(op, input, output)
10046	return
10047}
10048
10049// ListAssociations API operation for Amazon Simple Systems Manager (SSM).
10050//
10051// Returns all State Manager associations in the current Amazon Web Services
10052// account and Amazon Web Services Region. You can limit the results to a specific
10053// State Manager association document or instance by specifying a filter. State
10054// Manager is a capability of Amazon Web Services Systems Manager.
10055//
10056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10057// with awserr.Error's Code and Message methods to get detailed information about
10058// the error.
10059//
10060// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10061// API operation ListAssociations for usage and error information.
10062//
10063// Returned Error Types:
10064//   * InternalServerError
10065//   An error occurred on the server side.
10066//
10067//   * InvalidNextToken
10068//   The specified token isn't valid.
10069//
10070// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations
10071func (c *SSM) ListAssociations(input *ListAssociationsInput) (*ListAssociationsOutput, error) {
10072	req, out := c.ListAssociationsRequest(input)
10073	return out, req.Send()
10074}
10075
10076// ListAssociationsWithContext is the same as ListAssociations with the addition of
10077// the ability to pass a context and additional request options.
10078//
10079// See ListAssociations for details on how to use this API operation.
10080//
10081// The context must be non-nil and will be used for request cancellation. If
10082// the context is nil a panic will occur. In the future the SDK may create
10083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10084// for more information on using Contexts.
10085func (c *SSM) ListAssociationsWithContext(ctx aws.Context, input *ListAssociationsInput, opts ...request.Option) (*ListAssociationsOutput, error) {
10086	req, out := c.ListAssociationsRequest(input)
10087	req.SetContext(ctx)
10088	req.ApplyOptions(opts...)
10089	return out, req.Send()
10090}
10091
10092// ListAssociationsPages iterates over the pages of a ListAssociations operation,
10093// calling the "fn" function with the response data for each page. To stop
10094// iterating, return false from the fn function.
10095//
10096// See ListAssociations method for more information on how to use this operation.
10097//
10098// Note: This operation can generate multiple requests to a service.
10099//
10100//    // Example iterating over at most 3 pages of a ListAssociations operation.
10101//    pageNum := 0
10102//    err := client.ListAssociationsPages(params,
10103//        func(page *ssm.ListAssociationsOutput, lastPage bool) bool {
10104//            pageNum++
10105//            fmt.Println(page)
10106//            return pageNum <= 3
10107//        })
10108//
10109func (c *SSM) ListAssociationsPages(input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool) error {
10110	return c.ListAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
10111}
10112
10113// ListAssociationsPagesWithContext same as ListAssociationsPages except
10114// it takes a Context and allows setting request options on the pages.
10115//
10116// The context must be non-nil and will be used for request cancellation. If
10117// the context is nil a panic will occur. In the future the SDK may create
10118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10119// for more information on using Contexts.
10120func (c *SSM) ListAssociationsPagesWithContext(ctx aws.Context, input *ListAssociationsInput, fn func(*ListAssociationsOutput, bool) bool, opts ...request.Option) error {
10121	p := request.Pagination{
10122		NewRequest: func() (*request.Request, error) {
10123			var inCpy *ListAssociationsInput
10124			if input != nil {
10125				tmp := *input
10126				inCpy = &tmp
10127			}
10128			req, _ := c.ListAssociationsRequest(inCpy)
10129			req.SetContext(ctx)
10130			req.ApplyOptions(opts...)
10131			return req, nil
10132		},
10133	}
10134
10135	for p.Next() {
10136		if !fn(p.Page().(*ListAssociationsOutput), !p.HasNextPage()) {
10137			break
10138		}
10139	}
10140
10141	return p.Err()
10142}
10143
10144const opListCommandInvocations = "ListCommandInvocations"
10145
10146// ListCommandInvocationsRequest generates a "aws/request.Request" representing the
10147// client's request for the ListCommandInvocations operation. The "output" return
10148// value will be populated with the request's response once the request completes
10149// successfully.
10150//
10151// Use "Send" method on the returned Request to send the API call to the service.
10152// the "output" return value is not valid until after Send returns without error.
10153//
10154// See ListCommandInvocations for more information on using the ListCommandInvocations
10155// API call, and error handling.
10156//
10157// This method is useful when you want to inject custom logic or configuration
10158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10159//
10160//
10161//    // Example sending a request using the ListCommandInvocationsRequest method.
10162//    req, resp := client.ListCommandInvocationsRequest(params)
10163//
10164//    err := req.Send()
10165//    if err == nil { // resp is now filled
10166//        fmt.Println(resp)
10167//    }
10168//
10169// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
10170func (c *SSM) ListCommandInvocationsRequest(input *ListCommandInvocationsInput) (req *request.Request, output *ListCommandInvocationsOutput) {
10171	op := &request.Operation{
10172		Name:       opListCommandInvocations,
10173		HTTPMethod: "POST",
10174		HTTPPath:   "/",
10175		Paginator: &request.Paginator{
10176			InputTokens:     []string{"NextToken"},
10177			OutputTokens:    []string{"NextToken"},
10178			LimitToken:      "MaxResults",
10179			TruncationToken: "",
10180		},
10181	}
10182
10183	if input == nil {
10184		input = &ListCommandInvocationsInput{}
10185	}
10186
10187	output = &ListCommandInvocationsOutput{}
10188	req = c.newRequest(op, input, output)
10189	return
10190}
10191
10192// ListCommandInvocations API operation for Amazon Simple Systems Manager (SSM).
10193//
10194// An invocation is copy of a command sent to a specific instance. A command
10195// can apply to one or more instances. A command invocation applies to one instance.
10196// For example, if a user runs SendCommand against three instances, then a command
10197// invocation is created for each requested instance ID. ListCommandInvocations
10198// provide status about command execution.
10199//
10200// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10201// with awserr.Error's Code and Message methods to get detailed information about
10202// the error.
10203//
10204// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10205// API operation ListCommandInvocations for usage and error information.
10206//
10207// Returned Error Types:
10208//   * InternalServerError
10209//   An error occurred on the server side.
10210//
10211//   * InvalidCommandId
10212//   The specified command ID isn't valid. Verify the ID and try again.
10213//
10214//   * InvalidInstanceId
10215//   The following problems can cause this exception:
10216//
10217//      * You don't have permission to access the instance.
10218//
10219//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
10220//      Verify that SSM Agent is running.
10221//
10222//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
10223//      Agent.
10224//
10225//      * The instance isn't in valid state. Valid states are: Running, Pending,
10226//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
10227//
10228//   * InvalidFilterKey
10229//   The specified key isn't valid.
10230//
10231//   * InvalidNextToken
10232//   The specified token isn't valid.
10233//
10234// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations
10235func (c *SSM) ListCommandInvocations(input *ListCommandInvocationsInput) (*ListCommandInvocationsOutput, error) {
10236	req, out := c.ListCommandInvocationsRequest(input)
10237	return out, req.Send()
10238}
10239
10240// ListCommandInvocationsWithContext is the same as ListCommandInvocations with the addition of
10241// the ability to pass a context and additional request options.
10242//
10243// See ListCommandInvocations for details on how to use this API operation.
10244//
10245// The context must be non-nil and will be used for request cancellation. If
10246// the context is nil a panic will occur. In the future the SDK may create
10247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10248// for more information on using Contexts.
10249func (c *SSM) ListCommandInvocationsWithContext(ctx aws.Context, input *ListCommandInvocationsInput, opts ...request.Option) (*ListCommandInvocationsOutput, error) {
10250	req, out := c.ListCommandInvocationsRequest(input)
10251	req.SetContext(ctx)
10252	req.ApplyOptions(opts...)
10253	return out, req.Send()
10254}
10255
10256// ListCommandInvocationsPages iterates over the pages of a ListCommandInvocations operation,
10257// calling the "fn" function with the response data for each page. To stop
10258// iterating, return false from the fn function.
10259//
10260// See ListCommandInvocations method for more information on how to use this operation.
10261//
10262// Note: This operation can generate multiple requests to a service.
10263//
10264//    // Example iterating over at most 3 pages of a ListCommandInvocations operation.
10265//    pageNum := 0
10266//    err := client.ListCommandInvocationsPages(params,
10267//        func(page *ssm.ListCommandInvocationsOutput, lastPage bool) bool {
10268//            pageNum++
10269//            fmt.Println(page)
10270//            return pageNum <= 3
10271//        })
10272//
10273func (c *SSM) ListCommandInvocationsPages(input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool) error {
10274	return c.ListCommandInvocationsPagesWithContext(aws.BackgroundContext(), input, fn)
10275}
10276
10277// ListCommandInvocationsPagesWithContext same as ListCommandInvocationsPages except
10278// it takes a Context and allows setting request options on the pages.
10279//
10280// The context must be non-nil and will be used for request cancellation. If
10281// the context is nil a panic will occur. In the future the SDK may create
10282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10283// for more information on using Contexts.
10284func (c *SSM) ListCommandInvocationsPagesWithContext(ctx aws.Context, input *ListCommandInvocationsInput, fn func(*ListCommandInvocationsOutput, bool) bool, opts ...request.Option) error {
10285	p := request.Pagination{
10286		NewRequest: func() (*request.Request, error) {
10287			var inCpy *ListCommandInvocationsInput
10288			if input != nil {
10289				tmp := *input
10290				inCpy = &tmp
10291			}
10292			req, _ := c.ListCommandInvocationsRequest(inCpy)
10293			req.SetContext(ctx)
10294			req.ApplyOptions(opts...)
10295			return req, nil
10296		},
10297	}
10298
10299	for p.Next() {
10300		if !fn(p.Page().(*ListCommandInvocationsOutput), !p.HasNextPage()) {
10301			break
10302		}
10303	}
10304
10305	return p.Err()
10306}
10307
10308const opListCommands = "ListCommands"
10309
10310// ListCommandsRequest generates a "aws/request.Request" representing the
10311// client's request for the ListCommands operation. The "output" return
10312// value will be populated with the request's response once the request completes
10313// successfully.
10314//
10315// Use "Send" method on the returned Request to send the API call to the service.
10316// the "output" return value is not valid until after Send returns without error.
10317//
10318// See ListCommands for more information on using the ListCommands
10319// API call, and error handling.
10320//
10321// This method is useful when you want to inject custom logic or configuration
10322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10323//
10324//
10325//    // Example sending a request using the ListCommandsRequest method.
10326//    req, resp := client.ListCommandsRequest(params)
10327//
10328//    err := req.Send()
10329//    if err == nil { // resp is now filled
10330//        fmt.Println(resp)
10331//    }
10332//
10333// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
10334func (c *SSM) ListCommandsRequest(input *ListCommandsInput) (req *request.Request, output *ListCommandsOutput) {
10335	op := &request.Operation{
10336		Name:       opListCommands,
10337		HTTPMethod: "POST",
10338		HTTPPath:   "/",
10339		Paginator: &request.Paginator{
10340			InputTokens:     []string{"NextToken"},
10341			OutputTokens:    []string{"NextToken"},
10342			LimitToken:      "MaxResults",
10343			TruncationToken: "",
10344		},
10345	}
10346
10347	if input == nil {
10348		input = &ListCommandsInput{}
10349	}
10350
10351	output = &ListCommandsOutput{}
10352	req = c.newRequest(op, input, output)
10353	return
10354}
10355
10356// ListCommands API operation for Amazon Simple Systems Manager (SSM).
10357//
10358// Lists the commands requested by users of the Amazon Web Services account.
10359//
10360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10361// with awserr.Error's Code and Message methods to get detailed information about
10362// the error.
10363//
10364// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10365// API operation ListCommands for usage and error information.
10366//
10367// Returned Error Types:
10368//   * InternalServerError
10369//   An error occurred on the server side.
10370//
10371//   * InvalidCommandId
10372//   The specified command ID isn't valid. Verify the ID and try again.
10373//
10374//   * InvalidInstanceId
10375//   The following problems can cause this exception:
10376//
10377//      * You don't have permission to access the instance.
10378//
10379//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
10380//      Verify that SSM Agent is running.
10381//
10382//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
10383//      Agent.
10384//
10385//      * The instance isn't in valid state. Valid states are: Running, Pending,
10386//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
10387//
10388//   * InvalidFilterKey
10389//   The specified key isn't valid.
10390//
10391//   * InvalidNextToken
10392//   The specified token isn't valid.
10393//
10394// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands
10395func (c *SSM) ListCommands(input *ListCommandsInput) (*ListCommandsOutput, error) {
10396	req, out := c.ListCommandsRequest(input)
10397	return out, req.Send()
10398}
10399
10400// ListCommandsWithContext is the same as ListCommands with the addition of
10401// the ability to pass a context and additional request options.
10402//
10403// See ListCommands for details on how to use this API operation.
10404//
10405// The context must be non-nil and will be used for request cancellation. If
10406// the context is nil a panic will occur. In the future the SDK may create
10407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10408// for more information on using Contexts.
10409func (c *SSM) ListCommandsWithContext(ctx aws.Context, input *ListCommandsInput, opts ...request.Option) (*ListCommandsOutput, error) {
10410	req, out := c.ListCommandsRequest(input)
10411	req.SetContext(ctx)
10412	req.ApplyOptions(opts...)
10413	return out, req.Send()
10414}
10415
10416// ListCommandsPages iterates over the pages of a ListCommands operation,
10417// calling the "fn" function with the response data for each page. To stop
10418// iterating, return false from the fn function.
10419//
10420// See ListCommands method for more information on how to use this operation.
10421//
10422// Note: This operation can generate multiple requests to a service.
10423//
10424//    // Example iterating over at most 3 pages of a ListCommands operation.
10425//    pageNum := 0
10426//    err := client.ListCommandsPages(params,
10427//        func(page *ssm.ListCommandsOutput, lastPage bool) bool {
10428//            pageNum++
10429//            fmt.Println(page)
10430//            return pageNum <= 3
10431//        })
10432//
10433func (c *SSM) ListCommandsPages(input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool) error {
10434	return c.ListCommandsPagesWithContext(aws.BackgroundContext(), input, fn)
10435}
10436
10437// ListCommandsPagesWithContext same as ListCommandsPages except
10438// it takes a Context and allows setting request options on the pages.
10439//
10440// The context must be non-nil and will be used for request cancellation. If
10441// the context is nil a panic will occur. In the future the SDK may create
10442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10443// for more information on using Contexts.
10444func (c *SSM) ListCommandsPagesWithContext(ctx aws.Context, input *ListCommandsInput, fn func(*ListCommandsOutput, bool) bool, opts ...request.Option) error {
10445	p := request.Pagination{
10446		NewRequest: func() (*request.Request, error) {
10447			var inCpy *ListCommandsInput
10448			if input != nil {
10449				tmp := *input
10450				inCpy = &tmp
10451			}
10452			req, _ := c.ListCommandsRequest(inCpy)
10453			req.SetContext(ctx)
10454			req.ApplyOptions(opts...)
10455			return req, nil
10456		},
10457	}
10458
10459	for p.Next() {
10460		if !fn(p.Page().(*ListCommandsOutput), !p.HasNextPage()) {
10461			break
10462		}
10463	}
10464
10465	return p.Err()
10466}
10467
10468const opListComplianceItems = "ListComplianceItems"
10469
10470// ListComplianceItemsRequest generates a "aws/request.Request" representing the
10471// client's request for the ListComplianceItems operation. The "output" return
10472// value will be populated with the request's response once the request completes
10473// successfully.
10474//
10475// Use "Send" method on the returned Request to send the API call to the service.
10476// the "output" return value is not valid until after Send returns without error.
10477//
10478// See ListComplianceItems for more information on using the ListComplianceItems
10479// API call, and error handling.
10480//
10481// This method is useful when you want to inject custom logic or configuration
10482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10483//
10484//
10485//    // Example sending a request using the ListComplianceItemsRequest method.
10486//    req, resp := client.ListComplianceItemsRequest(params)
10487//
10488//    err := req.Send()
10489//    if err == nil { // resp is now filled
10490//        fmt.Println(resp)
10491//    }
10492//
10493// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
10494func (c *SSM) ListComplianceItemsRequest(input *ListComplianceItemsInput) (req *request.Request, output *ListComplianceItemsOutput) {
10495	op := &request.Operation{
10496		Name:       opListComplianceItems,
10497		HTTPMethod: "POST",
10498		HTTPPath:   "/",
10499		Paginator: &request.Paginator{
10500			InputTokens:     []string{"NextToken"},
10501			OutputTokens:    []string{"NextToken"},
10502			LimitToken:      "MaxResults",
10503			TruncationToken: "",
10504		},
10505	}
10506
10507	if input == nil {
10508		input = &ListComplianceItemsInput{}
10509	}
10510
10511	output = &ListComplianceItemsOutput{}
10512	req = c.newRequest(op, input, output)
10513	return
10514}
10515
10516// ListComplianceItems API operation for Amazon Simple Systems Manager (SSM).
10517//
10518// For a specified resource ID, this API operation returns a list of compliance
10519// statuses for different resource types. Currently, you can only specify one
10520// resource ID per call. List results depend on the criteria specified in the
10521// filter.
10522//
10523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10524// with awserr.Error's Code and Message methods to get detailed information about
10525// the error.
10526//
10527// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10528// API operation ListComplianceItems for usage and error information.
10529//
10530// Returned Error Types:
10531//   * InvalidResourceType
10532//   The resource type isn't valid. For example, if you are attempting to tag
10533//   an instance, the instance must be a registered, managed instance.
10534//
10535//   * InvalidResourceId
10536//   The resource ID isn't valid. Verify that you entered the correct ID and try
10537//   again.
10538//
10539//   * InternalServerError
10540//   An error occurred on the server side.
10541//
10542//   * InvalidFilter
10543//   The filter name isn't valid. Verify the you entered the correct name and
10544//   try again.
10545//
10546//   * InvalidNextToken
10547//   The specified token isn't valid.
10548//
10549// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems
10550func (c *SSM) ListComplianceItems(input *ListComplianceItemsInput) (*ListComplianceItemsOutput, error) {
10551	req, out := c.ListComplianceItemsRequest(input)
10552	return out, req.Send()
10553}
10554
10555// ListComplianceItemsWithContext is the same as ListComplianceItems with the addition of
10556// the ability to pass a context and additional request options.
10557//
10558// See ListComplianceItems for details on how to use this API operation.
10559//
10560// The context must be non-nil and will be used for request cancellation. If
10561// the context is nil a panic will occur. In the future the SDK may create
10562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10563// for more information on using Contexts.
10564func (c *SSM) ListComplianceItemsWithContext(ctx aws.Context, input *ListComplianceItemsInput, opts ...request.Option) (*ListComplianceItemsOutput, error) {
10565	req, out := c.ListComplianceItemsRequest(input)
10566	req.SetContext(ctx)
10567	req.ApplyOptions(opts...)
10568	return out, req.Send()
10569}
10570
10571// ListComplianceItemsPages iterates over the pages of a ListComplianceItems operation,
10572// calling the "fn" function with the response data for each page. To stop
10573// iterating, return false from the fn function.
10574//
10575// See ListComplianceItems method for more information on how to use this operation.
10576//
10577// Note: This operation can generate multiple requests to a service.
10578//
10579//    // Example iterating over at most 3 pages of a ListComplianceItems operation.
10580//    pageNum := 0
10581//    err := client.ListComplianceItemsPages(params,
10582//        func(page *ssm.ListComplianceItemsOutput, lastPage bool) bool {
10583//            pageNum++
10584//            fmt.Println(page)
10585//            return pageNum <= 3
10586//        })
10587//
10588func (c *SSM) ListComplianceItemsPages(input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool) error {
10589	return c.ListComplianceItemsPagesWithContext(aws.BackgroundContext(), input, fn)
10590}
10591
10592// ListComplianceItemsPagesWithContext same as ListComplianceItemsPages except
10593// it takes a Context and allows setting request options on the pages.
10594//
10595// The context must be non-nil and will be used for request cancellation. If
10596// the context is nil a panic will occur. In the future the SDK may create
10597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10598// for more information on using Contexts.
10599func (c *SSM) ListComplianceItemsPagesWithContext(ctx aws.Context, input *ListComplianceItemsInput, fn func(*ListComplianceItemsOutput, bool) bool, opts ...request.Option) error {
10600	p := request.Pagination{
10601		NewRequest: func() (*request.Request, error) {
10602			var inCpy *ListComplianceItemsInput
10603			if input != nil {
10604				tmp := *input
10605				inCpy = &tmp
10606			}
10607			req, _ := c.ListComplianceItemsRequest(inCpy)
10608			req.SetContext(ctx)
10609			req.ApplyOptions(opts...)
10610			return req, nil
10611		},
10612	}
10613
10614	for p.Next() {
10615		if !fn(p.Page().(*ListComplianceItemsOutput), !p.HasNextPage()) {
10616			break
10617		}
10618	}
10619
10620	return p.Err()
10621}
10622
10623const opListComplianceSummaries = "ListComplianceSummaries"
10624
10625// ListComplianceSummariesRequest generates a "aws/request.Request" representing the
10626// client's request for the ListComplianceSummaries operation. The "output" return
10627// value will be populated with the request's response once the request completes
10628// successfully.
10629//
10630// Use "Send" method on the returned Request to send the API call to the service.
10631// the "output" return value is not valid until after Send returns without error.
10632//
10633// See ListComplianceSummaries for more information on using the ListComplianceSummaries
10634// API call, and error handling.
10635//
10636// This method is useful when you want to inject custom logic or configuration
10637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10638//
10639//
10640//    // Example sending a request using the ListComplianceSummariesRequest method.
10641//    req, resp := client.ListComplianceSummariesRequest(params)
10642//
10643//    err := req.Send()
10644//    if err == nil { // resp is now filled
10645//        fmt.Println(resp)
10646//    }
10647//
10648// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
10649func (c *SSM) ListComplianceSummariesRequest(input *ListComplianceSummariesInput) (req *request.Request, output *ListComplianceSummariesOutput) {
10650	op := &request.Operation{
10651		Name:       opListComplianceSummaries,
10652		HTTPMethod: "POST",
10653		HTTPPath:   "/",
10654		Paginator: &request.Paginator{
10655			InputTokens:     []string{"NextToken"},
10656			OutputTokens:    []string{"NextToken"},
10657			LimitToken:      "MaxResults",
10658			TruncationToken: "",
10659		},
10660	}
10661
10662	if input == nil {
10663		input = &ListComplianceSummariesInput{}
10664	}
10665
10666	output = &ListComplianceSummariesOutput{}
10667	req = c.newRequest(op, input, output)
10668	return
10669}
10670
10671// ListComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
10672//
10673// Returns a summary count of compliant and non-compliant resources for a compliance
10674// type. For example, this call can return State Manager associations, patches,
10675// or custom compliance types according to the filter criteria that you specify.
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 ListComplianceSummaries for usage and error information.
10683//
10684// Returned Error Types:
10685//   * InvalidFilter
10686//   The filter name isn't valid. Verify the you entered the correct name and
10687//   try again.
10688//
10689//   * InvalidNextToken
10690//   The specified token isn't valid.
10691//
10692//   * InternalServerError
10693//   An error occurred on the server side.
10694//
10695// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries
10696func (c *SSM) ListComplianceSummaries(input *ListComplianceSummariesInput) (*ListComplianceSummariesOutput, error) {
10697	req, out := c.ListComplianceSummariesRequest(input)
10698	return out, req.Send()
10699}
10700
10701// ListComplianceSummariesWithContext is the same as ListComplianceSummaries with the addition of
10702// the ability to pass a context and additional request options.
10703//
10704// See ListComplianceSummaries 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) ListComplianceSummariesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, opts ...request.Option) (*ListComplianceSummariesOutput, error) {
10711	req, out := c.ListComplianceSummariesRequest(input)
10712	req.SetContext(ctx)
10713	req.ApplyOptions(opts...)
10714	return out, req.Send()
10715}
10716
10717// ListComplianceSummariesPages iterates over the pages of a ListComplianceSummaries operation,
10718// calling the "fn" function with the response data for each page. To stop
10719// iterating, return false from the fn function.
10720//
10721// See ListComplianceSummaries method for more information on how to use this operation.
10722//
10723// Note: This operation can generate multiple requests to a service.
10724//
10725//    // Example iterating over at most 3 pages of a ListComplianceSummaries operation.
10726//    pageNum := 0
10727//    err := client.ListComplianceSummariesPages(params,
10728//        func(page *ssm.ListComplianceSummariesOutput, lastPage bool) bool {
10729//            pageNum++
10730//            fmt.Println(page)
10731//            return pageNum <= 3
10732//        })
10733//
10734func (c *SSM) ListComplianceSummariesPages(input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool) error {
10735	return c.ListComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
10736}
10737
10738// ListComplianceSummariesPagesWithContext same as ListComplianceSummariesPages except
10739// it takes a Context and allows setting request options on the pages.
10740//
10741// The context must be non-nil and will be used for request cancellation. If
10742// the context is nil a panic will occur. In the future the SDK may create
10743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10744// for more information on using Contexts.
10745func (c *SSM) ListComplianceSummariesPagesWithContext(ctx aws.Context, input *ListComplianceSummariesInput, fn func(*ListComplianceSummariesOutput, bool) bool, opts ...request.Option) error {
10746	p := request.Pagination{
10747		NewRequest: func() (*request.Request, error) {
10748			var inCpy *ListComplianceSummariesInput
10749			if input != nil {
10750				tmp := *input
10751				inCpy = &tmp
10752			}
10753			req, _ := c.ListComplianceSummariesRequest(inCpy)
10754			req.SetContext(ctx)
10755			req.ApplyOptions(opts...)
10756			return req, nil
10757		},
10758	}
10759
10760	for p.Next() {
10761		if !fn(p.Page().(*ListComplianceSummariesOutput), !p.HasNextPage()) {
10762			break
10763		}
10764	}
10765
10766	return p.Err()
10767}
10768
10769const opListDocumentMetadataHistory = "ListDocumentMetadataHistory"
10770
10771// ListDocumentMetadataHistoryRequest generates a "aws/request.Request" representing the
10772// client's request for the ListDocumentMetadataHistory operation. The "output" return
10773// value will be populated with the request's response once the request completes
10774// successfully.
10775//
10776// Use "Send" method on the returned Request to send the API call to the service.
10777// the "output" return value is not valid until after Send returns without error.
10778//
10779// See ListDocumentMetadataHistory for more information on using the ListDocumentMetadataHistory
10780// API call, and error handling.
10781//
10782// This method is useful when you want to inject custom logic or configuration
10783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10784//
10785//
10786//    // Example sending a request using the ListDocumentMetadataHistoryRequest method.
10787//    req, resp := client.ListDocumentMetadataHistoryRequest(params)
10788//
10789//    err := req.Send()
10790//    if err == nil { // resp is now filled
10791//        fmt.Println(resp)
10792//    }
10793//
10794// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentMetadataHistory
10795func (c *SSM) ListDocumentMetadataHistoryRequest(input *ListDocumentMetadataHistoryInput) (req *request.Request, output *ListDocumentMetadataHistoryOutput) {
10796	op := &request.Operation{
10797		Name:       opListDocumentMetadataHistory,
10798		HTTPMethod: "POST",
10799		HTTPPath:   "/",
10800	}
10801
10802	if input == nil {
10803		input = &ListDocumentMetadataHistoryInput{}
10804	}
10805
10806	output = &ListDocumentMetadataHistoryOutput{}
10807	req = c.newRequest(op, input, output)
10808	return
10809}
10810
10811// ListDocumentMetadataHistory API operation for Amazon Simple Systems Manager (SSM).
10812//
10813// Information about approval reviews for a version of a change template in
10814// Change Manager.
10815//
10816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10817// with awserr.Error's Code and Message methods to get detailed information about
10818// the error.
10819//
10820// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10821// API operation ListDocumentMetadataHistory for usage and error information.
10822//
10823// Returned Error Types:
10824//   * InternalServerError
10825//   An error occurred on the server side.
10826//
10827//   * InvalidDocument
10828//   The specified SSM document doesn't exist.
10829//
10830//   * InvalidDocumentVersion
10831//   The document version isn't valid or doesn't exist.
10832//
10833//   * InvalidNextToken
10834//   The specified token isn't valid.
10835//
10836// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentMetadataHistory
10837func (c *SSM) ListDocumentMetadataHistory(input *ListDocumentMetadataHistoryInput) (*ListDocumentMetadataHistoryOutput, error) {
10838	req, out := c.ListDocumentMetadataHistoryRequest(input)
10839	return out, req.Send()
10840}
10841
10842// ListDocumentMetadataHistoryWithContext is the same as ListDocumentMetadataHistory with the addition of
10843// the ability to pass a context and additional request options.
10844//
10845// See ListDocumentMetadataHistory for details on how to use this API operation.
10846//
10847// The context must be non-nil and will be used for request cancellation. If
10848// the context is nil a panic will occur. In the future the SDK may create
10849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10850// for more information on using Contexts.
10851func (c *SSM) ListDocumentMetadataHistoryWithContext(ctx aws.Context, input *ListDocumentMetadataHistoryInput, opts ...request.Option) (*ListDocumentMetadataHistoryOutput, error) {
10852	req, out := c.ListDocumentMetadataHistoryRequest(input)
10853	req.SetContext(ctx)
10854	req.ApplyOptions(opts...)
10855	return out, req.Send()
10856}
10857
10858const opListDocumentVersions = "ListDocumentVersions"
10859
10860// ListDocumentVersionsRequest generates a "aws/request.Request" representing the
10861// client's request for the ListDocumentVersions operation. The "output" return
10862// value will be populated with the request's response once the request completes
10863// successfully.
10864//
10865// Use "Send" method on the returned Request to send the API call to the service.
10866// the "output" return value is not valid until after Send returns without error.
10867//
10868// See ListDocumentVersions for more information on using the ListDocumentVersions
10869// API call, and error handling.
10870//
10871// This method is useful when you want to inject custom logic or configuration
10872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10873//
10874//
10875//    // Example sending a request using the ListDocumentVersionsRequest method.
10876//    req, resp := client.ListDocumentVersionsRequest(params)
10877//
10878//    err := req.Send()
10879//    if err == nil { // resp is now filled
10880//        fmt.Println(resp)
10881//    }
10882//
10883// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
10884func (c *SSM) ListDocumentVersionsRequest(input *ListDocumentVersionsInput) (req *request.Request, output *ListDocumentVersionsOutput) {
10885	op := &request.Operation{
10886		Name:       opListDocumentVersions,
10887		HTTPMethod: "POST",
10888		HTTPPath:   "/",
10889		Paginator: &request.Paginator{
10890			InputTokens:     []string{"NextToken"},
10891			OutputTokens:    []string{"NextToken"},
10892			LimitToken:      "MaxResults",
10893			TruncationToken: "",
10894		},
10895	}
10896
10897	if input == nil {
10898		input = &ListDocumentVersionsInput{}
10899	}
10900
10901	output = &ListDocumentVersionsOutput{}
10902	req = c.newRequest(op, input, output)
10903	return
10904}
10905
10906// ListDocumentVersions API operation for Amazon Simple Systems Manager (SSM).
10907//
10908// List all versions for a document.
10909//
10910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10911// with awserr.Error's Code and Message methods to get detailed information about
10912// the error.
10913//
10914// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
10915// API operation ListDocumentVersions for usage and error information.
10916//
10917// Returned Error Types:
10918//   * InternalServerError
10919//   An error occurred on the server side.
10920//
10921//   * InvalidNextToken
10922//   The specified token isn't valid.
10923//
10924//   * InvalidDocument
10925//   The specified SSM document doesn't exist.
10926//
10927// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions
10928func (c *SSM) ListDocumentVersions(input *ListDocumentVersionsInput) (*ListDocumentVersionsOutput, error) {
10929	req, out := c.ListDocumentVersionsRequest(input)
10930	return out, req.Send()
10931}
10932
10933// ListDocumentVersionsWithContext is the same as ListDocumentVersions with the addition of
10934// the ability to pass a context and additional request options.
10935//
10936// See ListDocumentVersions for details on how to use this API operation.
10937//
10938// The context must be non-nil and will be used for request cancellation. If
10939// the context is nil a panic will occur. In the future the SDK may create
10940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10941// for more information on using Contexts.
10942func (c *SSM) ListDocumentVersionsWithContext(ctx aws.Context, input *ListDocumentVersionsInput, opts ...request.Option) (*ListDocumentVersionsOutput, error) {
10943	req, out := c.ListDocumentVersionsRequest(input)
10944	req.SetContext(ctx)
10945	req.ApplyOptions(opts...)
10946	return out, req.Send()
10947}
10948
10949// ListDocumentVersionsPages iterates over the pages of a ListDocumentVersions operation,
10950// calling the "fn" function with the response data for each page. To stop
10951// iterating, return false from the fn function.
10952//
10953// See ListDocumentVersions method for more information on how to use this operation.
10954//
10955// Note: This operation can generate multiple requests to a service.
10956//
10957//    // Example iterating over at most 3 pages of a ListDocumentVersions operation.
10958//    pageNum := 0
10959//    err := client.ListDocumentVersionsPages(params,
10960//        func(page *ssm.ListDocumentVersionsOutput, lastPage bool) bool {
10961//            pageNum++
10962//            fmt.Println(page)
10963//            return pageNum <= 3
10964//        })
10965//
10966func (c *SSM) ListDocumentVersionsPages(input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool) error {
10967	return c.ListDocumentVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
10968}
10969
10970// ListDocumentVersionsPagesWithContext same as ListDocumentVersionsPages except
10971// it takes a Context and allows setting request options on the pages.
10972//
10973// The context must be non-nil and will be used for request cancellation. If
10974// the context is nil a panic will occur. In the future the SDK may create
10975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10976// for more information on using Contexts.
10977func (c *SSM) ListDocumentVersionsPagesWithContext(ctx aws.Context, input *ListDocumentVersionsInput, fn func(*ListDocumentVersionsOutput, bool) bool, opts ...request.Option) error {
10978	p := request.Pagination{
10979		NewRequest: func() (*request.Request, error) {
10980			var inCpy *ListDocumentVersionsInput
10981			if input != nil {
10982				tmp := *input
10983				inCpy = &tmp
10984			}
10985			req, _ := c.ListDocumentVersionsRequest(inCpy)
10986			req.SetContext(ctx)
10987			req.ApplyOptions(opts...)
10988			return req, nil
10989		},
10990	}
10991
10992	for p.Next() {
10993		if !fn(p.Page().(*ListDocumentVersionsOutput), !p.HasNextPage()) {
10994			break
10995		}
10996	}
10997
10998	return p.Err()
10999}
11000
11001const opListDocuments = "ListDocuments"
11002
11003// ListDocumentsRequest generates a "aws/request.Request" representing the
11004// client's request for the ListDocuments operation. The "output" return
11005// value will be populated with the request's response once the request completes
11006// successfully.
11007//
11008// Use "Send" method on the returned Request to send the API call to the service.
11009// the "output" return value is not valid until after Send returns without error.
11010//
11011// See ListDocuments for more information on using the ListDocuments
11012// API call, and error handling.
11013//
11014// This method is useful when you want to inject custom logic or configuration
11015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11016//
11017//
11018//    // Example sending a request using the ListDocumentsRequest method.
11019//    req, resp := client.ListDocumentsRequest(params)
11020//
11021//    err := req.Send()
11022//    if err == nil { // resp is now filled
11023//        fmt.Println(resp)
11024//    }
11025//
11026// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
11027func (c *SSM) ListDocumentsRequest(input *ListDocumentsInput) (req *request.Request, output *ListDocumentsOutput) {
11028	op := &request.Operation{
11029		Name:       opListDocuments,
11030		HTTPMethod: "POST",
11031		HTTPPath:   "/",
11032		Paginator: &request.Paginator{
11033			InputTokens:     []string{"NextToken"},
11034			OutputTokens:    []string{"NextToken"},
11035			LimitToken:      "MaxResults",
11036			TruncationToken: "",
11037		},
11038	}
11039
11040	if input == nil {
11041		input = &ListDocumentsInput{}
11042	}
11043
11044	output = &ListDocumentsOutput{}
11045	req = c.newRequest(op, input, output)
11046	return
11047}
11048
11049// ListDocuments API operation for Amazon Simple Systems Manager (SSM).
11050//
11051// Returns all Systems Manager (SSM) documents in the current Amazon Web Services
11052// account and Amazon Web Services Region. You can limit the results of this
11053// request by using a filter.
11054//
11055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11056// with awserr.Error's Code and Message methods to get detailed information about
11057// the error.
11058//
11059// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11060// API operation ListDocuments for usage and error information.
11061//
11062// Returned Error Types:
11063//   * InternalServerError
11064//   An error occurred on the server side.
11065//
11066//   * InvalidNextToken
11067//   The specified token isn't valid.
11068//
11069//   * InvalidFilterKey
11070//   The specified key isn't valid.
11071//
11072// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments
11073func (c *SSM) ListDocuments(input *ListDocumentsInput) (*ListDocumentsOutput, error) {
11074	req, out := c.ListDocumentsRequest(input)
11075	return out, req.Send()
11076}
11077
11078// ListDocumentsWithContext is the same as ListDocuments with the addition of
11079// the ability to pass a context and additional request options.
11080//
11081// See ListDocuments for details on how to use this API operation.
11082//
11083// The context must be non-nil and will be used for request cancellation. If
11084// the context is nil a panic will occur. In the future the SDK may create
11085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11086// for more information on using Contexts.
11087func (c *SSM) ListDocumentsWithContext(ctx aws.Context, input *ListDocumentsInput, opts ...request.Option) (*ListDocumentsOutput, error) {
11088	req, out := c.ListDocumentsRequest(input)
11089	req.SetContext(ctx)
11090	req.ApplyOptions(opts...)
11091	return out, req.Send()
11092}
11093
11094// ListDocumentsPages iterates over the pages of a ListDocuments operation,
11095// calling the "fn" function with the response data for each page. To stop
11096// iterating, return false from the fn function.
11097//
11098// See ListDocuments method for more information on how to use this operation.
11099//
11100// Note: This operation can generate multiple requests to a service.
11101//
11102//    // Example iterating over at most 3 pages of a ListDocuments operation.
11103//    pageNum := 0
11104//    err := client.ListDocumentsPages(params,
11105//        func(page *ssm.ListDocumentsOutput, lastPage bool) bool {
11106//            pageNum++
11107//            fmt.Println(page)
11108//            return pageNum <= 3
11109//        })
11110//
11111func (c *SSM) ListDocumentsPages(input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool) error {
11112	return c.ListDocumentsPagesWithContext(aws.BackgroundContext(), input, fn)
11113}
11114
11115// ListDocumentsPagesWithContext same as ListDocumentsPages except
11116// it takes a Context and allows setting request options on the pages.
11117//
11118// The context must be non-nil and will be used for request cancellation. If
11119// the context is nil a panic will occur. In the future the SDK may create
11120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11121// for more information on using Contexts.
11122func (c *SSM) ListDocumentsPagesWithContext(ctx aws.Context, input *ListDocumentsInput, fn func(*ListDocumentsOutput, bool) bool, opts ...request.Option) error {
11123	p := request.Pagination{
11124		NewRequest: func() (*request.Request, error) {
11125			var inCpy *ListDocumentsInput
11126			if input != nil {
11127				tmp := *input
11128				inCpy = &tmp
11129			}
11130			req, _ := c.ListDocumentsRequest(inCpy)
11131			req.SetContext(ctx)
11132			req.ApplyOptions(opts...)
11133			return req, nil
11134		},
11135	}
11136
11137	for p.Next() {
11138		if !fn(p.Page().(*ListDocumentsOutput), !p.HasNextPage()) {
11139			break
11140		}
11141	}
11142
11143	return p.Err()
11144}
11145
11146const opListInventoryEntries = "ListInventoryEntries"
11147
11148// ListInventoryEntriesRequest generates a "aws/request.Request" representing the
11149// client's request for the ListInventoryEntries operation. The "output" return
11150// value will be populated with the request's response once the request completes
11151// successfully.
11152//
11153// Use "Send" method on the returned Request to send the API call to the service.
11154// the "output" return value is not valid until after Send returns without error.
11155//
11156// See ListInventoryEntries for more information on using the ListInventoryEntries
11157// API call, and error handling.
11158//
11159// This method is useful when you want to inject custom logic or configuration
11160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11161//
11162//
11163//    // Example sending a request using the ListInventoryEntriesRequest method.
11164//    req, resp := client.ListInventoryEntriesRequest(params)
11165//
11166//    err := req.Send()
11167//    if err == nil { // resp is now filled
11168//        fmt.Println(resp)
11169//    }
11170//
11171// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
11172func (c *SSM) ListInventoryEntriesRequest(input *ListInventoryEntriesInput) (req *request.Request, output *ListInventoryEntriesOutput) {
11173	op := &request.Operation{
11174		Name:       opListInventoryEntries,
11175		HTTPMethod: "POST",
11176		HTTPPath:   "/",
11177	}
11178
11179	if input == nil {
11180		input = &ListInventoryEntriesInput{}
11181	}
11182
11183	output = &ListInventoryEntriesOutput{}
11184	req = c.newRequest(op, input, output)
11185	return
11186}
11187
11188// ListInventoryEntries API operation for Amazon Simple Systems Manager (SSM).
11189//
11190// A list of inventory items returned by the request.
11191//
11192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11193// with awserr.Error's Code and Message methods to get detailed information about
11194// the error.
11195//
11196// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11197// API operation ListInventoryEntries for usage and error information.
11198//
11199// Returned Error Types:
11200//   * InternalServerError
11201//   An error occurred on the server side.
11202//
11203//   * InvalidInstanceId
11204//   The following problems can cause this exception:
11205//
11206//      * You don't have permission to access the instance.
11207//
11208//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
11209//      Verify that SSM Agent is running.
11210//
11211//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
11212//      Agent.
11213//
11214//      * The instance isn't in valid state. Valid states are: Running, Pending,
11215//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
11216//
11217//   * InvalidTypeNameException
11218//   The parameter type name isn't valid.
11219//
11220//   * InvalidFilter
11221//   The filter name isn't valid. Verify the you entered the correct name and
11222//   try again.
11223//
11224//   * InvalidNextToken
11225//   The specified token isn't valid.
11226//
11227// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries
11228func (c *SSM) ListInventoryEntries(input *ListInventoryEntriesInput) (*ListInventoryEntriesOutput, error) {
11229	req, out := c.ListInventoryEntriesRequest(input)
11230	return out, req.Send()
11231}
11232
11233// ListInventoryEntriesWithContext is the same as ListInventoryEntries with the addition of
11234// the ability to pass a context and additional request options.
11235//
11236// See ListInventoryEntries for details on how to use this API operation.
11237//
11238// The context must be non-nil and will be used for request cancellation. If
11239// the context is nil a panic will occur. In the future the SDK may create
11240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11241// for more information on using Contexts.
11242func (c *SSM) ListInventoryEntriesWithContext(ctx aws.Context, input *ListInventoryEntriesInput, opts ...request.Option) (*ListInventoryEntriesOutput, error) {
11243	req, out := c.ListInventoryEntriesRequest(input)
11244	req.SetContext(ctx)
11245	req.ApplyOptions(opts...)
11246	return out, req.Send()
11247}
11248
11249const opListOpsItemEvents = "ListOpsItemEvents"
11250
11251// ListOpsItemEventsRequest generates a "aws/request.Request" representing the
11252// client's request for the ListOpsItemEvents operation. The "output" return
11253// value will be populated with the request's response once the request completes
11254// successfully.
11255//
11256// Use "Send" method on the returned Request to send the API call to the service.
11257// the "output" return value is not valid until after Send returns without error.
11258//
11259// See ListOpsItemEvents for more information on using the ListOpsItemEvents
11260// API call, and error handling.
11261//
11262// This method is useful when you want to inject custom logic or configuration
11263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11264//
11265//
11266//    // Example sending a request using the ListOpsItemEventsRequest method.
11267//    req, resp := client.ListOpsItemEventsRequest(params)
11268//
11269//    err := req.Send()
11270//    if err == nil { // resp is now filled
11271//        fmt.Println(resp)
11272//    }
11273//
11274// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemEvents
11275func (c *SSM) ListOpsItemEventsRequest(input *ListOpsItemEventsInput) (req *request.Request, output *ListOpsItemEventsOutput) {
11276	op := &request.Operation{
11277		Name:       opListOpsItemEvents,
11278		HTTPMethod: "POST",
11279		HTTPPath:   "/",
11280		Paginator: &request.Paginator{
11281			InputTokens:     []string{"NextToken"},
11282			OutputTokens:    []string{"NextToken"},
11283			LimitToken:      "MaxResults",
11284			TruncationToken: "",
11285		},
11286	}
11287
11288	if input == nil {
11289		input = &ListOpsItemEventsInput{}
11290	}
11291
11292	output = &ListOpsItemEventsOutput{}
11293	req = c.newRequest(op, input, output)
11294	return
11295}
11296
11297// ListOpsItemEvents API operation for Amazon Simple Systems Manager (SSM).
11298//
11299// Returns a list of all OpsItem events in the current Amazon Web Services Region
11300// and Amazon Web Services account. You can limit the results to events associated
11301// with specific OpsItems by specifying a filter.
11302//
11303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11304// with awserr.Error's Code and Message methods to get detailed information about
11305// the error.
11306//
11307// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11308// API operation ListOpsItemEvents for usage and error information.
11309//
11310// Returned Error Types:
11311//   * InternalServerError
11312//   An error occurred on the server side.
11313//
11314//   * OpsItemNotFoundException
11315//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
11316//
11317//   * OpsItemLimitExceededException
11318//   The request caused OpsItems to exceed one or more quotas. For information
11319//   about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
11320//
11321//   * OpsItemInvalidParameterException
11322//   A specified parameter argument isn't valid. Verify the available arguments
11323//   and try again.
11324//
11325// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemEvents
11326func (c *SSM) ListOpsItemEvents(input *ListOpsItemEventsInput) (*ListOpsItemEventsOutput, error) {
11327	req, out := c.ListOpsItemEventsRequest(input)
11328	return out, req.Send()
11329}
11330
11331// ListOpsItemEventsWithContext is the same as ListOpsItemEvents with the addition of
11332// the ability to pass a context and additional request options.
11333//
11334// See ListOpsItemEvents for details on how to use this API operation.
11335//
11336// The context must be non-nil and will be used for request cancellation. If
11337// the context is nil a panic will occur. In the future the SDK may create
11338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11339// for more information on using Contexts.
11340func (c *SSM) ListOpsItemEventsWithContext(ctx aws.Context, input *ListOpsItemEventsInput, opts ...request.Option) (*ListOpsItemEventsOutput, error) {
11341	req, out := c.ListOpsItemEventsRequest(input)
11342	req.SetContext(ctx)
11343	req.ApplyOptions(opts...)
11344	return out, req.Send()
11345}
11346
11347// ListOpsItemEventsPages iterates over the pages of a ListOpsItemEvents operation,
11348// calling the "fn" function with the response data for each page. To stop
11349// iterating, return false from the fn function.
11350//
11351// See ListOpsItemEvents method for more information on how to use this operation.
11352//
11353// Note: This operation can generate multiple requests to a service.
11354//
11355//    // Example iterating over at most 3 pages of a ListOpsItemEvents operation.
11356//    pageNum := 0
11357//    err := client.ListOpsItemEventsPages(params,
11358//        func(page *ssm.ListOpsItemEventsOutput, lastPage bool) bool {
11359//            pageNum++
11360//            fmt.Println(page)
11361//            return pageNum <= 3
11362//        })
11363//
11364func (c *SSM) ListOpsItemEventsPages(input *ListOpsItemEventsInput, fn func(*ListOpsItemEventsOutput, bool) bool) error {
11365	return c.ListOpsItemEventsPagesWithContext(aws.BackgroundContext(), input, fn)
11366}
11367
11368// ListOpsItemEventsPagesWithContext same as ListOpsItemEventsPages except
11369// it takes a Context and allows setting request options on the pages.
11370//
11371// The context must be non-nil and will be used for request cancellation. If
11372// the context is nil a panic will occur. In the future the SDK may create
11373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11374// for more information on using Contexts.
11375func (c *SSM) ListOpsItemEventsPagesWithContext(ctx aws.Context, input *ListOpsItemEventsInput, fn func(*ListOpsItemEventsOutput, bool) bool, opts ...request.Option) error {
11376	p := request.Pagination{
11377		NewRequest: func() (*request.Request, error) {
11378			var inCpy *ListOpsItemEventsInput
11379			if input != nil {
11380				tmp := *input
11381				inCpy = &tmp
11382			}
11383			req, _ := c.ListOpsItemEventsRequest(inCpy)
11384			req.SetContext(ctx)
11385			req.ApplyOptions(opts...)
11386			return req, nil
11387		},
11388	}
11389
11390	for p.Next() {
11391		if !fn(p.Page().(*ListOpsItemEventsOutput), !p.HasNextPage()) {
11392			break
11393		}
11394	}
11395
11396	return p.Err()
11397}
11398
11399const opListOpsItemRelatedItems = "ListOpsItemRelatedItems"
11400
11401// ListOpsItemRelatedItemsRequest generates a "aws/request.Request" representing the
11402// client's request for the ListOpsItemRelatedItems operation. The "output" return
11403// value will be populated with the request's response once the request completes
11404// successfully.
11405//
11406// Use "Send" method on the returned Request to send the API call to the service.
11407// the "output" return value is not valid until after Send returns without error.
11408//
11409// See ListOpsItemRelatedItems for more information on using the ListOpsItemRelatedItems
11410// API call, and error handling.
11411//
11412// This method is useful when you want to inject custom logic or configuration
11413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11414//
11415//
11416//    // Example sending a request using the ListOpsItemRelatedItemsRequest method.
11417//    req, resp := client.ListOpsItemRelatedItemsRequest(params)
11418//
11419//    err := req.Send()
11420//    if err == nil { // resp is now filled
11421//        fmt.Println(resp)
11422//    }
11423//
11424// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemRelatedItems
11425func (c *SSM) ListOpsItemRelatedItemsRequest(input *ListOpsItemRelatedItemsInput) (req *request.Request, output *ListOpsItemRelatedItemsOutput) {
11426	op := &request.Operation{
11427		Name:       opListOpsItemRelatedItems,
11428		HTTPMethod: "POST",
11429		HTTPPath:   "/",
11430		Paginator: &request.Paginator{
11431			InputTokens:     []string{"NextToken"},
11432			OutputTokens:    []string{"NextToken"},
11433			LimitToken:      "MaxResults",
11434			TruncationToken: "",
11435		},
11436	}
11437
11438	if input == nil {
11439		input = &ListOpsItemRelatedItemsInput{}
11440	}
11441
11442	output = &ListOpsItemRelatedItemsOutput{}
11443	req = c.newRequest(op, input, output)
11444	return
11445}
11446
11447// ListOpsItemRelatedItems API operation for Amazon Simple Systems Manager (SSM).
11448//
11449// Lists all related-item resources associated with a Systems Manager OpsCenter
11450// OpsItem. OpsCenter is a capability of Amazon Web Services Systems Manager.
11451//
11452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11453// with awserr.Error's Code and Message methods to get detailed information about
11454// the error.
11455//
11456// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11457// API operation ListOpsItemRelatedItems for usage and error information.
11458//
11459// Returned Error Types:
11460//   * InternalServerError
11461//   An error occurred on the server side.
11462//
11463//   * OpsItemInvalidParameterException
11464//   A specified parameter argument isn't valid. Verify the available arguments
11465//   and try again.
11466//
11467// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsItemRelatedItems
11468func (c *SSM) ListOpsItemRelatedItems(input *ListOpsItemRelatedItemsInput) (*ListOpsItemRelatedItemsOutput, error) {
11469	req, out := c.ListOpsItemRelatedItemsRequest(input)
11470	return out, req.Send()
11471}
11472
11473// ListOpsItemRelatedItemsWithContext is the same as ListOpsItemRelatedItems with the addition of
11474// the ability to pass a context and additional request options.
11475//
11476// See ListOpsItemRelatedItems for details on how to use this API operation.
11477//
11478// The context must be non-nil and will be used for request cancellation. If
11479// the context is nil a panic will occur. In the future the SDK may create
11480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11481// for more information on using Contexts.
11482func (c *SSM) ListOpsItemRelatedItemsWithContext(ctx aws.Context, input *ListOpsItemRelatedItemsInput, opts ...request.Option) (*ListOpsItemRelatedItemsOutput, error) {
11483	req, out := c.ListOpsItemRelatedItemsRequest(input)
11484	req.SetContext(ctx)
11485	req.ApplyOptions(opts...)
11486	return out, req.Send()
11487}
11488
11489// ListOpsItemRelatedItemsPages iterates over the pages of a ListOpsItemRelatedItems operation,
11490// calling the "fn" function with the response data for each page. To stop
11491// iterating, return false from the fn function.
11492//
11493// See ListOpsItemRelatedItems method for more information on how to use this operation.
11494//
11495// Note: This operation can generate multiple requests to a service.
11496//
11497//    // Example iterating over at most 3 pages of a ListOpsItemRelatedItems operation.
11498//    pageNum := 0
11499//    err := client.ListOpsItemRelatedItemsPages(params,
11500//        func(page *ssm.ListOpsItemRelatedItemsOutput, lastPage bool) bool {
11501//            pageNum++
11502//            fmt.Println(page)
11503//            return pageNum <= 3
11504//        })
11505//
11506func (c *SSM) ListOpsItemRelatedItemsPages(input *ListOpsItemRelatedItemsInput, fn func(*ListOpsItemRelatedItemsOutput, bool) bool) error {
11507	return c.ListOpsItemRelatedItemsPagesWithContext(aws.BackgroundContext(), input, fn)
11508}
11509
11510// ListOpsItemRelatedItemsPagesWithContext same as ListOpsItemRelatedItemsPages except
11511// it takes a Context and allows setting request options on the pages.
11512//
11513// The context must be non-nil and will be used for request cancellation. If
11514// the context is nil a panic will occur. In the future the SDK may create
11515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11516// for more information on using Contexts.
11517func (c *SSM) ListOpsItemRelatedItemsPagesWithContext(ctx aws.Context, input *ListOpsItemRelatedItemsInput, fn func(*ListOpsItemRelatedItemsOutput, bool) bool, opts ...request.Option) error {
11518	p := request.Pagination{
11519		NewRequest: func() (*request.Request, error) {
11520			var inCpy *ListOpsItemRelatedItemsInput
11521			if input != nil {
11522				tmp := *input
11523				inCpy = &tmp
11524			}
11525			req, _ := c.ListOpsItemRelatedItemsRequest(inCpy)
11526			req.SetContext(ctx)
11527			req.ApplyOptions(opts...)
11528			return req, nil
11529		},
11530	}
11531
11532	for p.Next() {
11533		if !fn(p.Page().(*ListOpsItemRelatedItemsOutput), !p.HasNextPage()) {
11534			break
11535		}
11536	}
11537
11538	return p.Err()
11539}
11540
11541const opListOpsMetadata = "ListOpsMetadata"
11542
11543// ListOpsMetadataRequest generates a "aws/request.Request" representing the
11544// client's request for the ListOpsMetadata operation. The "output" return
11545// value will be populated with the request's response once the request completes
11546// successfully.
11547//
11548// Use "Send" method on the returned Request to send the API call to the service.
11549// the "output" return value is not valid until after Send returns without error.
11550//
11551// See ListOpsMetadata for more information on using the ListOpsMetadata
11552// API call, and error handling.
11553//
11554// This method is useful when you want to inject custom logic or configuration
11555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11556//
11557//
11558//    // Example sending a request using the ListOpsMetadataRequest method.
11559//    req, resp := client.ListOpsMetadataRequest(params)
11560//
11561//    err := req.Send()
11562//    if err == nil { // resp is now filled
11563//        fmt.Println(resp)
11564//    }
11565//
11566// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsMetadata
11567func (c *SSM) ListOpsMetadataRequest(input *ListOpsMetadataInput) (req *request.Request, output *ListOpsMetadataOutput) {
11568	op := &request.Operation{
11569		Name:       opListOpsMetadata,
11570		HTTPMethod: "POST",
11571		HTTPPath:   "/",
11572		Paginator: &request.Paginator{
11573			InputTokens:     []string{"NextToken"},
11574			OutputTokens:    []string{"NextToken"},
11575			LimitToken:      "MaxResults",
11576			TruncationToken: "",
11577		},
11578	}
11579
11580	if input == nil {
11581		input = &ListOpsMetadataInput{}
11582	}
11583
11584	output = &ListOpsMetadataOutput{}
11585	req = c.newRequest(op, input, output)
11586	return
11587}
11588
11589// ListOpsMetadata API operation for Amazon Simple Systems Manager (SSM).
11590//
11591// Amazon Web Services Systems Manager calls this API operation when displaying
11592// all Application Manager OpsMetadata objects or blobs.
11593//
11594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11595// with awserr.Error's Code and Message methods to get detailed information about
11596// the error.
11597//
11598// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11599// API operation ListOpsMetadata for usage and error information.
11600//
11601// Returned Error Types:
11602//   * OpsMetadataInvalidArgumentException
11603//   One of the arguments passed is invalid.
11604//
11605//   * InternalServerError
11606//   An error occurred on the server side.
11607//
11608// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListOpsMetadata
11609func (c *SSM) ListOpsMetadata(input *ListOpsMetadataInput) (*ListOpsMetadataOutput, error) {
11610	req, out := c.ListOpsMetadataRequest(input)
11611	return out, req.Send()
11612}
11613
11614// ListOpsMetadataWithContext is the same as ListOpsMetadata with the addition of
11615// the ability to pass a context and additional request options.
11616//
11617// See ListOpsMetadata for details on how to use this API operation.
11618//
11619// The context must be non-nil and will be used for request cancellation. If
11620// the context is nil a panic will occur. In the future the SDK may create
11621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11622// for more information on using Contexts.
11623func (c *SSM) ListOpsMetadataWithContext(ctx aws.Context, input *ListOpsMetadataInput, opts ...request.Option) (*ListOpsMetadataOutput, error) {
11624	req, out := c.ListOpsMetadataRequest(input)
11625	req.SetContext(ctx)
11626	req.ApplyOptions(opts...)
11627	return out, req.Send()
11628}
11629
11630// ListOpsMetadataPages iterates over the pages of a ListOpsMetadata operation,
11631// calling the "fn" function with the response data for each page. To stop
11632// iterating, return false from the fn function.
11633//
11634// See ListOpsMetadata method for more information on how to use this operation.
11635//
11636// Note: This operation can generate multiple requests to a service.
11637//
11638//    // Example iterating over at most 3 pages of a ListOpsMetadata operation.
11639//    pageNum := 0
11640//    err := client.ListOpsMetadataPages(params,
11641//        func(page *ssm.ListOpsMetadataOutput, lastPage bool) bool {
11642//            pageNum++
11643//            fmt.Println(page)
11644//            return pageNum <= 3
11645//        })
11646//
11647func (c *SSM) ListOpsMetadataPages(input *ListOpsMetadataInput, fn func(*ListOpsMetadataOutput, bool) bool) error {
11648	return c.ListOpsMetadataPagesWithContext(aws.BackgroundContext(), input, fn)
11649}
11650
11651// ListOpsMetadataPagesWithContext same as ListOpsMetadataPages except
11652// it takes a Context and allows setting request options on the pages.
11653//
11654// The context must be non-nil and will be used for request cancellation. If
11655// the context is nil a panic will occur. In the future the SDK may create
11656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11657// for more information on using Contexts.
11658func (c *SSM) ListOpsMetadataPagesWithContext(ctx aws.Context, input *ListOpsMetadataInput, fn func(*ListOpsMetadataOutput, bool) bool, opts ...request.Option) error {
11659	p := request.Pagination{
11660		NewRequest: func() (*request.Request, error) {
11661			var inCpy *ListOpsMetadataInput
11662			if input != nil {
11663				tmp := *input
11664				inCpy = &tmp
11665			}
11666			req, _ := c.ListOpsMetadataRequest(inCpy)
11667			req.SetContext(ctx)
11668			req.ApplyOptions(opts...)
11669			return req, nil
11670		},
11671	}
11672
11673	for p.Next() {
11674		if !fn(p.Page().(*ListOpsMetadataOutput), !p.HasNextPage()) {
11675			break
11676		}
11677	}
11678
11679	return p.Err()
11680}
11681
11682const opListResourceComplianceSummaries = "ListResourceComplianceSummaries"
11683
11684// ListResourceComplianceSummariesRequest generates a "aws/request.Request" representing the
11685// client's request for the ListResourceComplianceSummaries operation. The "output" return
11686// value will be populated with the request's response once the request completes
11687// successfully.
11688//
11689// Use "Send" method on the returned Request to send the API call to the service.
11690// the "output" return value is not valid until after Send returns without error.
11691//
11692// See ListResourceComplianceSummaries for more information on using the ListResourceComplianceSummaries
11693// API call, and error handling.
11694//
11695// This method is useful when you want to inject custom logic or configuration
11696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11697//
11698//
11699//    // Example sending a request using the ListResourceComplianceSummariesRequest method.
11700//    req, resp := client.ListResourceComplianceSummariesRequest(params)
11701//
11702//    err := req.Send()
11703//    if err == nil { // resp is now filled
11704//        fmt.Println(resp)
11705//    }
11706//
11707// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
11708func (c *SSM) ListResourceComplianceSummariesRequest(input *ListResourceComplianceSummariesInput) (req *request.Request, output *ListResourceComplianceSummariesOutput) {
11709	op := &request.Operation{
11710		Name:       opListResourceComplianceSummaries,
11711		HTTPMethod: "POST",
11712		HTTPPath:   "/",
11713		Paginator: &request.Paginator{
11714			InputTokens:     []string{"NextToken"},
11715			OutputTokens:    []string{"NextToken"},
11716			LimitToken:      "MaxResults",
11717			TruncationToken: "",
11718		},
11719	}
11720
11721	if input == nil {
11722		input = &ListResourceComplianceSummariesInput{}
11723	}
11724
11725	output = &ListResourceComplianceSummariesOutput{}
11726	req = c.newRequest(op, input, output)
11727	return
11728}
11729
11730// ListResourceComplianceSummaries API operation for Amazon Simple Systems Manager (SSM).
11731//
11732// Returns a resource-level summary count. The summary includes information
11733// about compliant and non-compliant statuses and detailed compliance-item severity
11734// counts, according to the filter criteria you specify.
11735//
11736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11737// with awserr.Error's Code and Message methods to get detailed information about
11738// the error.
11739//
11740// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11741// API operation ListResourceComplianceSummaries for usage and error information.
11742//
11743// Returned Error Types:
11744//   * InvalidFilter
11745//   The filter name isn't valid. Verify the you entered the correct name and
11746//   try again.
11747//
11748//   * InvalidNextToken
11749//   The specified token isn't valid.
11750//
11751//   * InternalServerError
11752//   An error occurred on the server side.
11753//
11754// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries
11755func (c *SSM) ListResourceComplianceSummaries(input *ListResourceComplianceSummariesInput) (*ListResourceComplianceSummariesOutput, error) {
11756	req, out := c.ListResourceComplianceSummariesRequest(input)
11757	return out, req.Send()
11758}
11759
11760// ListResourceComplianceSummariesWithContext is the same as ListResourceComplianceSummaries with the addition of
11761// the ability to pass a context and additional request options.
11762//
11763// See ListResourceComplianceSummaries for details on how to use this API operation.
11764//
11765// The context must be non-nil and will be used for request cancellation. If
11766// the context is nil a panic will occur. In the future the SDK may create
11767// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11768// for more information on using Contexts.
11769func (c *SSM) ListResourceComplianceSummariesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, opts ...request.Option) (*ListResourceComplianceSummariesOutput, error) {
11770	req, out := c.ListResourceComplianceSummariesRequest(input)
11771	req.SetContext(ctx)
11772	req.ApplyOptions(opts...)
11773	return out, req.Send()
11774}
11775
11776// ListResourceComplianceSummariesPages iterates over the pages of a ListResourceComplianceSummaries operation,
11777// calling the "fn" function with the response data for each page. To stop
11778// iterating, return false from the fn function.
11779//
11780// See ListResourceComplianceSummaries method for more information on how to use this operation.
11781//
11782// Note: This operation can generate multiple requests to a service.
11783//
11784//    // Example iterating over at most 3 pages of a ListResourceComplianceSummaries operation.
11785//    pageNum := 0
11786//    err := client.ListResourceComplianceSummariesPages(params,
11787//        func(page *ssm.ListResourceComplianceSummariesOutput, lastPage bool) bool {
11788//            pageNum++
11789//            fmt.Println(page)
11790//            return pageNum <= 3
11791//        })
11792//
11793func (c *SSM) ListResourceComplianceSummariesPages(input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool) error {
11794	return c.ListResourceComplianceSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
11795}
11796
11797// ListResourceComplianceSummariesPagesWithContext same as ListResourceComplianceSummariesPages except
11798// it takes a Context and allows setting request options on the pages.
11799//
11800// The context must be non-nil and will be used for request cancellation. If
11801// the context is nil a panic will occur. In the future the SDK may create
11802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11803// for more information on using Contexts.
11804func (c *SSM) ListResourceComplianceSummariesPagesWithContext(ctx aws.Context, input *ListResourceComplianceSummariesInput, fn func(*ListResourceComplianceSummariesOutput, bool) bool, opts ...request.Option) error {
11805	p := request.Pagination{
11806		NewRequest: func() (*request.Request, error) {
11807			var inCpy *ListResourceComplianceSummariesInput
11808			if input != nil {
11809				tmp := *input
11810				inCpy = &tmp
11811			}
11812			req, _ := c.ListResourceComplianceSummariesRequest(inCpy)
11813			req.SetContext(ctx)
11814			req.ApplyOptions(opts...)
11815			return req, nil
11816		},
11817	}
11818
11819	for p.Next() {
11820		if !fn(p.Page().(*ListResourceComplianceSummariesOutput), !p.HasNextPage()) {
11821			break
11822		}
11823	}
11824
11825	return p.Err()
11826}
11827
11828const opListResourceDataSync = "ListResourceDataSync"
11829
11830// ListResourceDataSyncRequest generates a "aws/request.Request" representing the
11831// client's request for the ListResourceDataSync operation. The "output" return
11832// value will be populated with the request's response once the request completes
11833// successfully.
11834//
11835// Use "Send" method on the returned Request to send the API call to the service.
11836// the "output" return value is not valid until after Send returns without error.
11837//
11838// See ListResourceDataSync for more information on using the ListResourceDataSync
11839// API call, and error handling.
11840//
11841// This method is useful when you want to inject custom logic or configuration
11842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11843//
11844//
11845//    // Example sending a request using the ListResourceDataSyncRequest method.
11846//    req, resp := client.ListResourceDataSyncRequest(params)
11847//
11848//    err := req.Send()
11849//    if err == nil { // resp is now filled
11850//        fmt.Println(resp)
11851//    }
11852//
11853// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
11854func (c *SSM) ListResourceDataSyncRequest(input *ListResourceDataSyncInput) (req *request.Request, output *ListResourceDataSyncOutput) {
11855	op := &request.Operation{
11856		Name:       opListResourceDataSync,
11857		HTTPMethod: "POST",
11858		HTTPPath:   "/",
11859		Paginator: &request.Paginator{
11860			InputTokens:     []string{"NextToken"},
11861			OutputTokens:    []string{"NextToken"},
11862			LimitToken:      "MaxResults",
11863			TruncationToken: "",
11864		},
11865	}
11866
11867	if input == nil {
11868		input = &ListResourceDataSyncInput{}
11869	}
11870
11871	output = &ListResourceDataSyncOutput{}
11872	req = c.newRequest(op, input, output)
11873	return
11874}
11875
11876// ListResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
11877//
11878// Lists your resource data sync configurations. Includes information about
11879// the last time a sync attempted to start, the last sync status, and the last
11880// time a sync successfully completed.
11881//
11882// The number of sync configurations might be too large to return using a single
11883// call to ListResourceDataSync. You can limit the number of sync configurations
11884// returned by using the MaxResults parameter. To determine whether there are
11885// more sync configurations to list, check the value of NextToken in the output.
11886// If there are more sync configurations to list, you can request them by specifying
11887// the NextToken returned in the call to the parameter of a subsequent call.
11888//
11889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11890// with awserr.Error's Code and Message methods to get detailed information about
11891// the error.
11892//
11893// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
11894// API operation ListResourceDataSync for usage and error information.
11895//
11896// Returned Error Types:
11897//   * ResourceDataSyncInvalidConfigurationException
11898//   The specified sync configuration is invalid.
11899//
11900//   * InternalServerError
11901//   An error occurred on the server side.
11902//
11903//   * InvalidNextToken
11904//   The specified token isn't valid.
11905//
11906// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync
11907func (c *SSM) ListResourceDataSync(input *ListResourceDataSyncInput) (*ListResourceDataSyncOutput, error) {
11908	req, out := c.ListResourceDataSyncRequest(input)
11909	return out, req.Send()
11910}
11911
11912// ListResourceDataSyncWithContext is the same as ListResourceDataSync with the addition of
11913// the ability to pass a context and additional request options.
11914//
11915// See ListResourceDataSync for details on how to use this API operation.
11916//
11917// The context must be non-nil and will be used for request cancellation. If
11918// the context is nil a panic will occur. In the future the SDK may create
11919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11920// for more information on using Contexts.
11921func (c *SSM) ListResourceDataSyncWithContext(ctx aws.Context, input *ListResourceDataSyncInput, opts ...request.Option) (*ListResourceDataSyncOutput, error) {
11922	req, out := c.ListResourceDataSyncRequest(input)
11923	req.SetContext(ctx)
11924	req.ApplyOptions(opts...)
11925	return out, req.Send()
11926}
11927
11928// ListResourceDataSyncPages iterates over the pages of a ListResourceDataSync operation,
11929// calling the "fn" function with the response data for each page. To stop
11930// iterating, return false from the fn function.
11931//
11932// See ListResourceDataSync method for more information on how to use this operation.
11933//
11934// Note: This operation can generate multiple requests to a service.
11935//
11936//    // Example iterating over at most 3 pages of a ListResourceDataSync operation.
11937//    pageNum := 0
11938//    err := client.ListResourceDataSyncPages(params,
11939//        func(page *ssm.ListResourceDataSyncOutput, lastPage bool) bool {
11940//            pageNum++
11941//            fmt.Println(page)
11942//            return pageNum <= 3
11943//        })
11944//
11945func (c *SSM) ListResourceDataSyncPages(input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool) error {
11946	return c.ListResourceDataSyncPagesWithContext(aws.BackgroundContext(), input, fn)
11947}
11948
11949// ListResourceDataSyncPagesWithContext same as ListResourceDataSyncPages except
11950// it takes a Context and allows setting request options on the pages.
11951//
11952// The context must be non-nil and will be used for request cancellation. If
11953// the context is nil a panic will occur. In the future the SDK may create
11954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11955// for more information on using Contexts.
11956func (c *SSM) ListResourceDataSyncPagesWithContext(ctx aws.Context, input *ListResourceDataSyncInput, fn func(*ListResourceDataSyncOutput, bool) bool, opts ...request.Option) error {
11957	p := request.Pagination{
11958		NewRequest: func() (*request.Request, error) {
11959			var inCpy *ListResourceDataSyncInput
11960			if input != nil {
11961				tmp := *input
11962				inCpy = &tmp
11963			}
11964			req, _ := c.ListResourceDataSyncRequest(inCpy)
11965			req.SetContext(ctx)
11966			req.ApplyOptions(opts...)
11967			return req, nil
11968		},
11969	}
11970
11971	for p.Next() {
11972		if !fn(p.Page().(*ListResourceDataSyncOutput), !p.HasNextPage()) {
11973			break
11974		}
11975	}
11976
11977	return p.Err()
11978}
11979
11980const opListTagsForResource = "ListTagsForResource"
11981
11982// ListTagsForResourceRequest generates a "aws/request.Request" representing the
11983// client's request for the ListTagsForResource operation. The "output" return
11984// value will be populated with the request's response once the request completes
11985// successfully.
11986//
11987// Use "Send" method on the returned Request to send the API call to the service.
11988// the "output" return value is not valid until after Send returns without error.
11989//
11990// See ListTagsForResource for more information on using the ListTagsForResource
11991// API call, and error handling.
11992//
11993// This method is useful when you want to inject custom logic or configuration
11994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11995//
11996//
11997//    // Example sending a request using the ListTagsForResourceRequest method.
11998//    req, resp := client.ListTagsForResourceRequest(params)
11999//
12000//    err := req.Send()
12001//    if err == nil { // resp is now filled
12002//        fmt.Println(resp)
12003//    }
12004//
12005// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
12006func (c *SSM) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
12007	op := &request.Operation{
12008		Name:       opListTagsForResource,
12009		HTTPMethod: "POST",
12010		HTTPPath:   "/",
12011	}
12012
12013	if input == nil {
12014		input = &ListTagsForResourceInput{}
12015	}
12016
12017	output = &ListTagsForResourceOutput{}
12018	req = c.newRequest(op, input, output)
12019	return
12020}
12021
12022// ListTagsForResource API operation for Amazon Simple Systems Manager (SSM).
12023//
12024// Returns a list of the tags assigned to the specified resource.
12025//
12026// For information about the ID format for each supported resource type, see
12027// AddTagsToResource.
12028//
12029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12030// with awserr.Error's Code and Message methods to get detailed information about
12031// the error.
12032//
12033// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12034// API operation ListTagsForResource for usage and error information.
12035//
12036// Returned Error Types:
12037//   * InvalidResourceType
12038//   The resource type isn't valid. For example, if you are attempting to tag
12039//   an instance, the instance must be a registered, managed instance.
12040//
12041//   * InvalidResourceId
12042//   The resource ID isn't valid. Verify that you entered the correct ID and try
12043//   again.
12044//
12045//   * InternalServerError
12046//   An error occurred on the server side.
12047//
12048// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource
12049func (c *SSM) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
12050	req, out := c.ListTagsForResourceRequest(input)
12051	return out, req.Send()
12052}
12053
12054// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
12055// the ability to pass a context and additional request options.
12056//
12057// See ListTagsForResource for details on how to use this API operation.
12058//
12059// The context must be non-nil and will be used for request cancellation. If
12060// the context is nil a panic will occur. In the future the SDK may create
12061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12062// for more information on using Contexts.
12063func (c *SSM) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
12064	req, out := c.ListTagsForResourceRequest(input)
12065	req.SetContext(ctx)
12066	req.ApplyOptions(opts...)
12067	return out, req.Send()
12068}
12069
12070const opModifyDocumentPermission = "ModifyDocumentPermission"
12071
12072// ModifyDocumentPermissionRequest generates a "aws/request.Request" representing the
12073// client's request for the ModifyDocumentPermission operation. The "output" return
12074// value will be populated with the request's response once the request completes
12075// successfully.
12076//
12077// Use "Send" method on the returned Request to send the API call to the service.
12078// the "output" return value is not valid until after Send returns without error.
12079//
12080// See ModifyDocumentPermission for more information on using the ModifyDocumentPermission
12081// API call, and error handling.
12082//
12083// This method is useful when you want to inject custom logic or configuration
12084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12085//
12086//
12087//    // Example sending a request using the ModifyDocumentPermissionRequest method.
12088//    req, resp := client.ModifyDocumentPermissionRequest(params)
12089//
12090//    err := req.Send()
12091//    if err == nil { // resp is now filled
12092//        fmt.Println(resp)
12093//    }
12094//
12095// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
12096func (c *SSM) ModifyDocumentPermissionRequest(input *ModifyDocumentPermissionInput) (req *request.Request, output *ModifyDocumentPermissionOutput) {
12097	op := &request.Operation{
12098		Name:       opModifyDocumentPermission,
12099		HTTPMethod: "POST",
12100		HTTPPath:   "/",
12101	}
12102
12103	if input == nil {
12104		input = &ModifyDocumentPermissionInput{}
12105	}
12106
12107	output = &ModifyDocumentPermissionOutput{}
12108	req = c.newRequest(op, input, output)
12109	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12110	return
12111}
12112
12113// ModifyDocumentPermission API operation for Amazon Simple Systems Manager (SSM).
12114//
12115// Shares a Amazon Web Services Systems Manager document (SSM document)publicly
12116// or privately. If you share a document privately, you must specify the Amazon
12117// Web Services user account IDs for those people who can use the document.
12118// If you share a document publicly, you must specify All as the account ID.
12119//
12120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12121// with awserr.Error's Code and Message methods to get detailed information about
12122// the error.
12123//
12124// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12125// API operation ModifyDocumentPermission for usage and error information.
12126//
12127// Returned Error Types:
12128//   * InternalServerError
12129//   An error occurred on the server side.
12130//
12131//   * InvalidDocument
12132//   The specified SSM document doesn't exist.
12133//
12134//   * InvalidPermissionType
12135//   The permission type isn't supported. Share is the only supported permission
12136//   type.
12137//
12138//   * DocumentPermissionLimit
12139//   The document can't be shared with more Amazon Web Services user accounts.
12140//   You can share a document with a maximum of 20 accounts. You can publicly
12141//   share up to five documents. If you need to increase this limit, contact Amazon
12142//   Web Services Support.
12143//
12144//   * DocumentLimitExceeded
12145//   You can have at most 500 active SSM documents.
12146//
12147// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission
12148func (c *SSM) ModifyDocumentPermission(input *ModifyDocumentPermissionInput) (*ModifyDocumentPermissionOutput, error) {
12149	req, out := c.ModifyDocumentPermissionRequest(input)
12150	return out, req.Send()
12151}
12152
12153// ModifyDocumentPermissionWithContext is the same as ModifyDocumentPermission with the addition of
12154// the ability to pass a context and additional request options.
12155//
12156// See ModifyDocumentPermission for details on how to use this API operation.
12157//
12158// The context must be non-nil and will be used for request cancellation. If
12159// the context is nil a panic will occur. In the future the SDK may create
12160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12161// for more information on using Contexts.
12162func (c *SSM) ModifyDocumentPermissionWithContext(ctx aws.Context, input *ModifyDocumentPermissionInput, opts ...request.Option) (*ModifyDocumentPermissionOutput, error) {
12163	req, out := c.ModifyDocumentPermissionRequest(input)
12164	req.SetContext(ctx)
12165	req.ApplyOptions(opts...)
12166	return out, req.Send()
12167}
12168
12169const opPutComplianceItems = "PutComplianceItems"
12170
12171// PutComplianceItemsRequest generates a "aws/request.Request" representing the
12172// client's request for the PutComplianceItems operation. The "output" return
12173// value will be populated with the request's response once the request completes
12174// successfully.
12175//
12176// Use "Send" method on the returned Request to send the API call to the service.
12177// the "output" return value is not valid until after Send returns without error.
12178//
12179// See PutComplianceItems for more information on using the PutComplianceItems
12180// API call, and error handling.
12181//
12182// This method is useful when you want to inject custom logic or configuration
12183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12184//
12185//
12186//    // Example sending a request using the PutComplianceItemsRequest method.
12187//    req, resp := client.PutComplianceItemsRequest(params)
12188//
12189//    err := req.Send()
12190//    if err == nil { // resp is now filled
12191//        fmt.Println(resp)
12192//    }
12193//
12194// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
12195func (c *SSM) PutComplianceItemsRequest(input *PutComplianceItemsInput) (req *request.Request, output *PutComplianceItemsOutput) {
12196	op := &request.Operation{
12197		Name:       opPutComplianceItems,
12198		HTTPMethod: "POST",
12199		HTTPPath:   "/",
12200	}
12201
12202	if input == nil {
12203		input = &PutComplianceItemsInput{}
12204	}
12205
12206	output = &PutComplianceItemsOutput{}
12207	req = c.newRequest(op, input, output)
12208	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
12209	return
12210}
12211
12212// PutComplianceItems API operation for Amazon Simple Systems Manager (SSM).
12213//
12214// Registers a compliance type and other compliance details on a designated
12215// resource. This operation lets you register custom compliance details with
12216// a resource. This call overwrites existing compliance information on the resource,
12217// so you must provide a full list of compliance items each time that you send
12218// the request.
12219//
12220// ComplianceType can be one of the following:
12221//
12222//    * ExecutionId: The execution ID when the patch, association, or custom
12223//    compliance item was applied.
12224//
12225//    * ExecutionType: Specify patch, association, or Custom:string.
12226//
12227//    * ExecutionTime. The time the patch, association, or custom compliance
12228//    item was applied to the instance.
12229//
12230//    * Id: The patch, association, or custom compliance ID.
12231//
12232//    * Title: A title.
12233//
12234//    * Status: The status of the compliance item. For example, approved for
12235//    patches, or Failed for associations.
12236//
12237//    * Severity: A patch severity. For example, critical.
12238//
12239//    * DocumentName: An SSM document name. For example, AWS-RunPatchBaseline.
12240//
12241//    * DocumentVersion: An SSM document version number. For example, 4.
12242//
12243//    * Classification: A patch classification. For example, security updates.
12244//
12245//    * PatchBaselineId: A patch baseline ID.
12246//
12247//    * PatchSeverity: A patch severity. For example, Critical.
12248//
12249//    * PatchState: A patch state. For example, InstancesWithFailedPatches.
12250//
12251//    * PatchGroup: The name of a patch group.
12252//
12253//    * InstalledTime: The time the association, patch, or custom compliance
12254//    item was applied to the resource. Specify the time by using the following
12255//    format: yyyy-MM-dd'T'HH:mm:ss'Z'
12256//
12257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12258// with awserr.Error's Code and Message methods to get detailed information about
12259// the error.
12260//
12261// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12262// API operation PutComplianceItems for usage and error information.
12263//
12264// Returned Error Types:
12265//   * InternalServerError
12266//   An error occurred on the server side.
12267//
12268//   * InvalidItemContentException
12269//   One or more content items isn't valid.
12270//
12271//   * TotalSizeLimitExceededException
12272//   The size of inventory data has exceeded the total size limit for the resource.
12273//
12274//   * ItemSizeLimitExceededException
12275//   The inventory item size has exceeded the size limit.
12276//
12277//   * ComplianceTypeCountLimitExceededException
12278//   You specified too many custom compliance types. You can specify a maximum
12279//   of 10 different types.
12280//
12281//   * InvalidResourceType
12282//   The resource type isn't valid. For example, if you are attempting to tag
12283//   an instance, the instance must be a registered, managed instance.
12284//
12285//   * InvalidResourceId
12286//   The resource ID isn't valid. Verify that you entered the correct ID and try
12287//   again.
12288//
12289// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems
12290func (c *SSM) PutComplianceItems(input *PutComplianceItemsInput) (*PutComplianceItemsOutput, error) {
12291	req, out := c.PutComplianceItemsRequest(input)
12292	return out, req.Send()
12293}
12294
12295// PutComplianceItemsWithContext is the same as PutComplianceItems with the addition of
12296// the ability to pass a context and additional request options.
12297//
12298// See PutComplianceItems for details on how to use this API operation.
12299//
12300// The context must be non-nil and will be used for request cancellation. If
12301// the context is nil a panic will occur. In the future the SDK may create
12302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12303// for more information on using Contexts.
12304func (c *SSM) PutComplianceItemsWithContext(ctx aws.Context, input *PutComplianceItemsInput, opts ...request.Option) (*PutComplianceItemsOutput, error) {
12305	req, out := c.PutComplianceItemsRequest(input)
12306	req.SetContext(ctx)
12307	req.ApplyOptions(opts...)
12308	return out, req.Send()
12309}
12310
12311const opPutInventory = "PutInventory"
12312
12313// PutInventoryRequest generates a "aws/request.Request" representing the
12314// client's request for the PutInventory operation. The "output" return
12315// value will be populated with the request's response once the request completes
12316// successfully.
12317//
12318// Use "Send" method on the returned Request to send the API call to the service.
12319// the "output" return value is not valid until after Send returns without error.
12320//
12321// See PutInventory for more information on using the PutInventory
12322// API call, and error handling.
12323//
12324// This method is useful when you want to inject custom logic or configuration
12325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12326//
12327//
12328//    // Example sending a request using the PutInventoryRequest method.
12329//    req, resp := client.PutInventoryRequest(params)
12330//
12331//    err := req.Send()
12332//    if err == nil { // resp is now filled
12333//        fmt.Println(resp)
12334//    }
12335//
12336// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
12337func (c *SSM) PutInventoryRequest(input *PutInventoryInput) (req *request.Request, output *PutInventoryOutput) {
12338	op := &request.Operation{
12339		Name:       opPutInventory,
12340		HTTPMethod: "POST",
12341		HTTPPath:   "/",
12342	}
12343
12344	if input == nil {
12345		input = &PutInventoryInput{}
12346	}
12347
12348	output = &PutInventoryOutput{}
12349	req = c.newRequest(op, input, output)
12350	return
12351}
12352
12353// PutInventory API operation for Amazon Simple Systems Manager (SSM).
12354//
12355// Bulk update custom inventory items on one more instance. The request adds
12356// an inventory item, if it doesn't already exist, or updates an inventory item,
12357// if it does exist.
12358//
12359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12360// with awserr.Error's Code and Message methods to get detailed information about
12361// the error.
12362//
12363// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12364// API operation PutInventory for usage and error information.
12365//
12366// Returned Error Types:
12367//   * InternalServerError
12368//   An error occurred on the server side.
12369//
12370//   * InvalidInstanceId
12371//   The following problems can cause this exception:
12372//
12373//      * You don't have permission to access the instance.
12374//
12375//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
12376//      Verify that SSM Agent is running.
12377//
12378//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
12379//      Agent.
12380//
12381//      * The instance isn't in valid state. Valid states are: Running, Pending,
12382//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
12383//
12384//   * InvalidTypeNameException
12385//   The parameter type name isn't valid.
12386//
12387//   * InvalidItemContentException
12388//   One or more content items isn't valid.
12389//
12390//   * TotalSizeLimitExceededException
12391//   The size of inventory data has exceeded the total size limit for the resource.
12392//
12393//   * ItemSizeLimitExceededException
12394//   The inventory item size has exceeded the size limit.
12395//
12396//   * ItemContentMismatchException
12397//   The inventory item has invalid content.
12398//
12399//   * CustomSchemaCountLimitExceededException
12400//   You have exceeded the limit for custom schemas. Delete one or more custom
12401//   schemas and try again.
12402//
12403//   * UnsupportedInventorySchemaVersionException
12404//   Inventory item type schema version has to match supported versions in the
12405//   service. Check output of GetInventorySchema to see the available schema version
12406//   for each type.
12407//
12408//   * UnsupportedInventoryItemContextException
12409//   The Context attribute that you specified for the InventoryItem isn't allowed
12410//   for this inventory type. You can only use the Context attribute with inventory
12411//   types like AWS:ComplianceItem.
12412//
12413//   * InvalidInventoryItemContextException
12414//   You specified invalid keys or values in the Context attribute for InventoryItem.
12415//   Verify the keys and values, and try again.
12416//
12417//   * SubTypeCountLimitExceededException
12418//   The sub-type count exceeded the limit for the inventory type.
12419//
12420// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory
12421func (c *SSM) PutInventory(input *PutInventoryInput) (*PutInventoryOutput, error) {
12422	req, out := c.PutInventoryRequest(input)
12423	return out, req.Send()
12424}
12425
12426// PutInventoryWithContext is the same as PutInventory with the addition of
12427// the ability to pass a context and additional request options.
12428//
12429// See PutInventory for details on how to use this API operation.
12430//
12431// The context must be non-nil and will be used for request cancellation. If
12432// the context is nil a panic will occur. In the future the SDK may create
12433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12434// for more information on using Contexts.
12435func (c *SSM) PutInventoryWithContext(ctx aws.Context, input *PutInventoryInput, opts ...request.Option) (*PutInventoryOutput, error) {
12436	req, out := c.PutInventoryRequest(input)
12437	req.SetContext(ctx)
12438	req.ApplyOptions(opts...)
12439	return out, req.Send()
12440}
12441
12442const opPutParameter = "PutParameter"
12443
12444// PutParameterRequest generates a "aws/request.Request" representing the
12445// client's request for the PutParameter operation. The "output" return
12446// value will be populated with the request's response once the request completes
12447// successfully.
12448//
12449// Use "Send" method on the returned Request to send the API call to the service.
12450// the "output" return value is not valid until after Send returns without error.
12451//
12452// See PutParameter for more information on using the PutParameter
12453// API call, and error handling.
12454//
12455// This method is useful when you want to inject custom logic or configuration
12456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12457//
12458//
12459//    // Example sending a request using the PutParameterRequest method.
12460//    req, resp := client.PutParameterRequest(params)
12461//
12462//    err := req.Send()
12463//    if err == nil { // resp is now filled
12464//        fmt.Println(resp)
12465//    }
12466//
12467// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
12468func (c *SSM) PutParameterRequest(input *PutParameterInput) (req *request.Request, output *PutParameterOutput) {
12469	op := &request.Operation{
12470		Name:       opPutParameter,
12471		HTTPMethod: "POST",
12472		HTTPPath:   "/",
12473	}
12474
12475	if input == nil {
12476		input = &PutParameterInput{}
12477	}
12478
12479	output = &PutParameterOutput{}
12480	req = c.newRequest(op, input, output)
12481	return
12482}
12483
12484// PutParameter API operation for Amazon Simple Systems Manager (SSM).
12485//
12486// Add a parameter to the system.
12487//
12488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12489// with awserr.Error's Code and Message methods to get detailed information about
12490// the error.
12491//
12492// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12493// API operation PutParameter for usage and error information.
12494//
12495// Returned Error Types:
12496//   * InternalServerError
12497//   An error occurred on the server side.
12498//
12499//   * InvalidKeyId
12500//   The query key ID isn't valid.
12501//
12502//   * ParameterLimitExceeded
12503//   You have exceeded the number of parameters for this Amazon Web Services account.
12504//   Delete one or more parameters and try again.
12505//
12506//   * TooManyUpdates
12507//   There are concurrent updates for a resource that supports one update at a
12508//   time.
12509//
12510//   * ParameterAlreadyExists
12511//   The parameter already exists. You can't create duplicate parameters.
12512//
12513//   * HierarchyLevelLimitExceededException
12514//   A hierarchy can have a maximum of 15 levels. For more information, see Requirements
12515//   and constraints for parameter names (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
12516//   in the Amazon Web Services Systems Manager User Guide.
12517//
12518//   * HierarchyTypeMismatchException
12519//   Parameter Store doesn't support changing a parameter type in a hierarchy.
12520//   For example, you can't change a parameter from a String type to a SecureString
12521//   type. You must create a new, unique parameter.
12522//
12523//   * InvalidAllowedPatternException
12524//   The request doesn't meet the regular expression requirement.
12525//
12526//   * ParameterMaxVersionLimitExceeded
12527//   Parameter Store retains the 100 most recently created versions of a parameter.
12528//   After this number of versions has been created, Parameter Store deletes the
12529//   oldest version when a new one is created. However, if the oldest version
12530//   has a label attached to it, Parameter Store won't delete the version and
12531//   instead presents this error message:
12532//
12533//   An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter
12534//   operation: You attempted to create a new version of parameter-name by calling
12535//   the PutParameter API with the overwrite flag. Version version-number, the
12536//   oldest version, can't be deleted because it has a label associated with it.
12537//   Move the label to another version of the parameter, and try again.
12538//
12539//   This safeguard is to prevent parameter versions with mission critical labels
12540//   assigned to them from being deleted. To continue creating new parameters,
12541//   first move the label from the oldest version of the parameter to a newer
12542//   one for use in your operations. For information about moving parameter labels,
12543//   see Move a parameter label (console) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move)
12544//   or Move a parameter label (CLI) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move)
12545//   in the Amazon Web Services Systems Manager User Guide.
12546//
12547//   * ParameterPatternMismatchException
12548//   The parameter name isn't valid.
12549//
12550//   * UnsupportedParameterType
12551//   The parameter type isn't supported.
12552//
12553//   * PoliciesLimitExceededException
12554//   You specified more than the maximum number of allowed policies for the parameter.
12555//   The maximum is 10.
12556//
12557//   * InvalidPolicyTypeException
12558//   The policy type isn't supported. Parameter Store supports the following policy
12559//   types: Expiration, ExpirationNotification, and NoChangeNotification.
12560//
12561//   * InvalidPolicyAttributeException
12562//   A policy attribute or its value is invalid.
12563//
12564//   * IncompatiblePolicyException
12565//   There is a conflict in the policies specified for this parameter. You can't,
12566//   for example, specify two Expiration policies for a parameter. Review your
12567//   policies, and try again.
12568//
12569// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter
12570func (c *SSM) PutParameter(input *PutParameterInput) (*PutParameterOutput, error) {
12571	req, out := c.PutParameterRequest(input)
12572	return out, req.Send()
12573}
12574
12575// PutParameterWithContext is the same as PutParameter with the addition of
12576// the ability to pass a context and additional request options.
12577//
12578// See PutParameter for details on how to use this API operation.
12579//
12580// The context must be non-nil and will be used for request cancellation. If
12581// the context is nil a panic will occur. In the future the SDK may create
12582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12583// for more information on using Contexts.
12584func (c *SSM) PutParameterWithContext(ctx aws.Context, input *PutParameterInput, opts ...request.Option) (*PutParameterOutput, error) {
12585	req, out := c.PutParameterRequest(input)
12586	req.SetContext(ctx)
12587	req.ApplyOptions(opts...)
12588	return out, req.Send()
12589}
12590
12591const opRegisterDefaultPatchBaseline = "RegisterDefaultPatchBaseline"
12592
12593// RegisterDefaultPatchBaselineRequest generates a "aws/request.Request" representing the
12594// client's request for the RegisterDefaultPatchBaseline operation. The "output" return
12595// value will be populated with the request's response once the request completes
12596// successfully.
12597//
12598// Use "Send" method on the returned Request to send the API call to the service.
12599// the "output" return value is not valid until after Send returns without error.
12600//
12601// See RegisterDefaultPatchBaseline for more information on using the RegisterDefaultPatchBaseline
12602// API call, and error handling.
12603//
12604// This method is useful when you want to inject custom logic or configuration
12605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12606//
12607//
12608//    // Example sending a request using the RegisterDefaultPatchBaselineRequest method.
12609//    req, resp := client.RegisterDefaultPatchBaselineRequest(params)
12610//
12611//    err := req.Send()
12612//    if err == nil { // resp is now filled
12613//        fmt.Println(resp)
12614//    }
12615//
12616// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
12617func (c *SSM) RegisterDefaultPatchBaselineRequest(input *RegisterDefaultPatchBaselineInput) (req *request.Request, output *RegisterDefaultPatchBaselineOutput) {
12618	op := &request.Operation{
12619		Name:       opRegisterDefaultPatchBaseline,
12620		HTTPMethod: "POST",
12621		HTTPPath:   "/",
12622	}
12623
12624	if input == nil {
12625		input = &RegisterDefaultPatchBaselineInput{}
12626	}
12627
12628	output = &RegisterDefaultPatchBaselineOutput{}
12629	req = c.newRequest(op, input, output)
12630	return
12631}
12632
12633// RegisterDefaultPatchBaseline API operation for Amazon Simple Systems Manager (SSM).
12634//
12635// Defines the default patch baseline for the relevant operating system.
12636//
12637// To reset the Amazon Web Services-predefined patch baseline as the default,
12638// specify the full patch baseline Amazon Resource Name (ARN) as the baseline
12639// ID value. For example, for CentOS, specify arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed
12640// instead of pb-0574b43a65ea646ed.
12641//
12642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12643// with awserr.Error's Code and Message methods to get detailed information about
12644// the error.
12645//
12646// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12647// API operation RegisterDefaultPatchBaseline for usage and error information.
12648//
12649// Returned Error Types:
12650//   * InvalidResourceId
12651//   The resource ID isn't valid. Verify that you entered the correct ID and try
12652//   again.
12653//
12654//   * DoesNotExistException
12655//   Error returned when the ID specified for a resource, such as a maintenance
12656//   window or patch baseline, doesn't exist.
12657//
12658//   For information about resource quotas in Amazon Web Services Systems Manager,
12659//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12660//   in the Amazon Web Services General Reference.
12661//
12662//   * InternalServerError
12663//   An error occurred on the server side.
12664//
12665// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline
12666func (c *SSM) RegisterDefaultPatchBaseline(input *RegisterDefaultPatchBaselineInput) (*RegisterDefaultPatchBaselineOutput, error) {
12667	req, out := c.RegisterDefaultPatchBaselineRequest(input)
12668	return out, req.Send()
12669}
12670
12671// RegisterDefaultPatchBaselineWithContext is the same as RegisterDefaultPatchBaseline with the addition of
12672// the ability to pass a context and additional request options.
12673//
12674// See RegisterDefaultPatchBaseline for details on how to use this API operation.
12675//
12676// The context must be non-nil and will be used for request cancellation. If
12677// the context is nil a panic will occur. In the future the SDK may create
12678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12679// for more information on using Contexts.
12680func (c *SSM) RegisterDefaultPatchBaselineWithContext(ctx aws.Context, input *RegisterDefaultPatchBaselineInput, opts ...request.Option) (*RegisterDefaultPatchBaselineOutput, error) {
12681	req, out := c.RegisterDefaultPatchBaselineRequest(input)
12682	req.SetContext(ctx)
12683	req.ApplyOptions(opts...)
12684	return out, req.Send()
12685}
12686
12687const opRegisterPatchBaselineForPatchGroup = "RegisterPatchBaselineForPatchGroup"
12688
12689// RegisterPatchBaselineForPatchGroupRequest generates a "aws/request.Request" representing the
12690// client's request for the RegisterPatchBaselineForPatchGroup operation. The "output" return
12691// value will be populated with the request's response once the request completes
12692// successfully.
12693//
12694// Use "Send" method on the returned Request to send the API call to the service.
12695// the "output" return value is not valid until after Send returns without error.
12696//
12697// See RegisterPatchBaselineForPatchGroup for more information on using the RegisterPatchBaselineForPatchGroup
12698// API call, and error handling.
12699//
12700// This method is useful when you want to inject custom logic or configuration
12701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12702//
12703//
12704//    // Example sending a request using the RegisterPatchBaselineForPatchGroupRequest method.
12705//    req, resp := client.RegisterPatchBaselineForPatchGroupRequest(params)
12706//
12707//    err := req.Send()
12708//    if err == nil { // resp is now filled
12709//        fmt.Println(resp)
12710//    }
12711//
12712// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
12713func (c *SSM) RegisterPatchBaselineForPatchGroupRequest(input *RegisterPatchBaselineForPatchGroupInput) (req *request.Request, output *RegisterPatchBaselineForPatchGroupOutput) {
12714	op := &request.Operation{
12715		Name:       opRegisterPatchBaselineForPatchGroup,
12716		HTTPMethod: "POST",
12717		HTTPPath:   "/",
12718	}
12719
12720	if input == nil {
12721		input = &RegisterPatchBaselineForPatchGroupInput{}
12722	}
12723
12724	output = &RegisterPatchBaselineForPatchGroupOutput{}
12725	req = c.newRequest(op, input, output)
12726	return
12727}
12728
12729// RegisterPatchBaselineForPatchGroup API operation for Amazon Simple Systems Manager (SSM).
12730//
12731// Registers a patch baseline for a patch group.
12732//
12733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12734// with awserr.Error's Code and Message methods to get detailed information about
12735// the error.
12736//
12737// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12738// API operation RegisterPatchBaselineForPatchGroup for usage and error information.
12739//
12740// Returned Error Types:
12741//   * AlreadyExistsException
12742//   Error returned if an attempt is made to register a patch group with a patch
12743//   baseline that is already registered with a different patch baseline.
12744//
12745//   * DoesNotExistException
12746//   Error returned when the ID specified for a resource, such as a maintenance
12747//   window or patch baseline, doesn't exist.
12748//
12749//   For information about resource quotas in Amazon Web Services Systems Manager,
12750//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12751//   in the Amazon Web Services General Reference.
12752//
12753//   * InvalidResourceId
12754//   The resource ID isn't valid. Verify that you entered the correct ID and try
12755//   again.
12756//
12757//   * ResourceLimitExceededException
12758//   Error returned when the caller has exceeded the default resource quotas.
12759//   For example, too many maintenance windows or patch baselines have been created.
12760//
12761//   For information about resource quotas in Systems Manager, see Systems Manager
12762//   service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12763//   in the Amazon Web Services General Reference.
12764//
12765//   * InternalServerError
12766//   An error occurred on the server side.
12767//
12768// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup
12769func (c *SSM) RegisterPatchBaselineForPatchGroup(input *RegisterPatchBaselineForPatchGroupInput) (*RegisterPatchBaselineForPatchGroupOutput, error) {
12770	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
12771	return out, req.Send()
12772}
12773
12774// RegisterPatchBaselineForPatchGroupWithContext is the same as RegisterPatchBaselineForPatchGroup with the addition of
12775// the ability to pass a context and additional request options.
12776//
12777// See RegisterPatchBaselineForPatchGroup for details on how to use this API operation.
12778//
12779// The context must be non-nil and will be used for request cancellation. If
12780// the context is nil a panic will occur. In the future the SDK may create
12781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12782// for more information on using Contexts.
12783func (c *SSM) RegisterPatchBaselineForPatchGroupWithContext(ctx aws.Context, input *RegisterPatchBaselineForPatchGroupInput, opts ...request.Option) (*RegisterPatchBaselineForPatchGroupOutput, error) {
12784	req, out := c.RegisterPatchBaselineForPatchGroupRequest(input)
12785	req.SetContext(ctx)
12786	req.ApplyOptions(opts...)
12787	return out, req.Send()
12788}
12789
12790const opRegisterTargetWithMaintenanceWindow = "RegisterTargetWithMaintenanceWindow"
12791
12792// RegisterTargetWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
12793// client's request for the RegisterTargetWithMaintenanceWindow operation. The "output" return
12794// value will be populated with the request's response once the request completes
12795// successfully.
12796//
12797// Use "Send" method on the returned Request to send the API call to the service.
12798// the "output" return value is not valid until after Send returns without error.
12799//
12800// See RegisterTargetWithMaintenanceWindow for more information on using the RegisterTargetWithMaintenanceWindow
12801// API call, and error handling.
12802//
12803// This method is useful when you want to inject custom logic or configuration
12804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12805//
12806//
12807//    // Example sending a request using the RegisterTargetWithMaintenanceWindowRequest method.
12808//    req, resp := client.RegisterTargetWithMaintenanceWindowRequest(params)
12809//
12810//    err := req.Send()
12811//    if err == nil { // resp is now filled
12812//        fmt.Println(resp)
12813//    }
12814//
12815// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
12816func (c *SSM) RegisterTargetWithMaintenanceWindowRequest(input *RegisterTargetWithMaintenanceWindowInput) (req *request.Request, output *RegisterTargetWithMaintenanceWindowOutput) {
12817	op := &request.Operation{
12818		Name:       opRegisterTargetWithMaintenanceWindow,
12819		HTTPMethod: "POST",
12820		HTTPPath:   "/",
12821	}
12822
12823	if input == nil {
12824		input = &RegisterTargetWithMaintenanceWindowInput{}
12825	}
12826
12827	output = &RegisterTargetWithMaintenanceWindowOutput{}
12828	req = c.newRequest(op, input, output)
12829	return
12830}
12831
12832// RegisterTargetWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
12833//
12834// Registers a target with a maintenance window.
12835//
12836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12837// with awserr.Error's Code and Message methods to get detailed information about
12838// the error.
12839//
12840// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12841// API operation RegisterTargetWithMaintenanceWindow for usage and error information.
12842//
12843// Returned Error Types:
12844//   * IdempotentParameterMismatch
12845//   Error returned when an idempotent operation is retried and the parameters
12846//   don't match the original call to the API with the same idempotency token.
12847//
12848//   * DoesNotExistException
12849//   Error returned when the ID specified for a resource, such as a maintenance
12850//   window or patch baseline, doesn't exist.
12851//
12852//   For information about resource quotas in Amazon Web Services Systems Manager,
12853//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12854//   in the Amazon Web Services General Reference.
12855//
12856//   * ResourceLimitExceededException
12857//   Error returned when the caller has exceeded the default resource quotas.
12858//   For example, too many maintenance windows or patch baselines have been created.
12859//
12860//   For information about resource quotas in Systems Manager, see Systems Manager
12861//   service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12862//   in the Amazon Web Services General Reference.
12863//
12864//   * InternalServerError
12865//   An error occurred on the server side.
12866//
12867// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow
12868func (c *SSM) RegisterTargetWithMaintenanceWindow(input *RegisterTargetWithMaintenanceWindowInput) (*RegisterTargetWithMaintenanceWindowOutput, error) {
12869	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
12870	return out, req.Send()
12871}
12872
12873// RegisterTargetWithMaintenanceWindowWithContext is the same as RegisterTargetWithMaintenanceWindow with the addition of
12874// the ability to pass a context and additional request options.
12875//
12876// See RegisterTargetWithMaintenanceWindow for details on how to use this API operation.
12877//
12878// The context must be non-nil and will be used for request cancellation. If
12879// the context is nil a panic will occur. In the future the SDK may create
12880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12881// for more information on using Contexts.
12882func (c *SSM) RegisterTargetWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTargetWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTargetWithMaintenanceWindowOutput, error) {
12883	req, out := c.RegisterTargetWithMaintenanceWindowRequest(input)
12884	req.SetContext(ctx)
12885	req.ApplyOptions(opts...)
12886	return out, req.Send()
12887}
12888
12889const opRegisterTaskWithMaintenanceWindow = "RegisterTaskWithMaintenanceWindow"
12890
12891// RegisterTaskWithMaintenanceWindowRequest generates a "aws/request.Request" representing the
12892// client's request for the RegisterTaskWithMaintenanceWindow operation. The "output" return
12893// value will be populated with the request's response once the request completes
12894// successfully.
12895//
12896// Use "Send" method on the returned Request to send the API call to the service.
12897// the "output" return value is not valid until after Send returns without error.
12898//
12899// See RegisterTaskWithMaintenanceWindow for more information on using the RegisterTaskWithMaintenanceWindow
12900// API call, and error handling.
12901//
12902// This method is useful when you want to inject custom logic or configuration
12903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12904//
12905//
12906//    // Example sending a request using the RegisterTaskWithMaintenanceWindowRequest method.
12907//    req, resp := client.RegisterTaskWithMaintenanceWindowRequest(params)
12908//
12909//    err := req.Send()
12910//    if err == nil { // resp is now filled
12911//        fmt.Println(resp)
12912//    }
12913//
12914// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
12915func (c *SSM) RegisterTaskWithMaintenanceWindowRequest(input *RegisterTaskWithMaintenanceWindowInput) (req *request.Request, output *RegisterTaskWithMaintenanceWindowOutput) {
12916	op := &request.Operation{
12917		Name:       opRegisterTaskWithMaintenanceWindow,
12918		HTTPMethod: "POST",
12919		HTTPPath:   "/",
12920	}
12921
12922	if input == nil {
12923		input = &RegisterTaskWithMaintenanceWindowInput{}
12924	}
12925
12926	output = &RegisterTaskWithMaintenanceWindowOutput{}
12927	req = c.newRequest(op, input, output)
12928	return
12929}
12930
12931// RegisterTaskWithMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
12932//
12933// Adds a new task to a maintenance window.
12934//
12935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12936// with awserr.Error's Code and Message methods to get detailed information about
12937// the error.
12938//
12939// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
12940// API operation RegisterTaskWithMaintenanceWindow for usage and error information.
12941//
12942// Returned Error Types:
12943//   * IdempotentParameterMismatch
12944//   Error returned when an idempotent operation is retried and the parameters
12945//   don't match the original call to the API with the same idempotency token.
12946//
12947//   * DoesNotExistException
12948//   Error returned when the ID specified for a resource, such as a maintenance
12949//   window or patch baseline, doesn't exist.
12950//
12951//   For information about resource quotas in Amazon Web Services Systems Manager,
12952//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12953//   in the Amazon Web Services General Reference.
12954//
12955//   * ResourceLimitExceededException
12956//   Error returned when the caller has exceeded the default resource quotas.
12957//   For example, too many maintenance windows or patch baselines have been created.
12958//
12959//   For information about resource quotas in Systems Manager, see Systems Manager
12960//   service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
12961//   in the Amazon Web Services General Reference.
12962//
12963//   * FeatureNotAvailableException
12964//   You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where
12965//   the corresponding service isn't available.
12966//
12967//   * InternalServerError
12968//   An error occurred on the server side.
12969//
12970// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow
12971func (c *SSM) RegisterTaskWithMaintenanceWindow(input *RegisterTaskWithMaintenanceWindowInput) (*RegisterTaskWithMaintenanceWindowOutput, error) {
12972	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
12973	return out, req.Send()
12974}
12975
12976// RegisterTaskWithMaintenanceWindowWithContext is the same as RegisterTaskWithMaintenanceWindow with the addition of
12977// the ability to pass a context and additional request options.
12978//
12979// See RegisterTaskWithMaintenanceWindow for details on how to use this API operation.
12980//
12981// The context must be non-nil and will be used for request cancellation. If
12982// the context is nil a panic will occur. In the future the SDK may create
12983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12984// for more information on using Contexts.
12985func (c *SSM) RegisterTaskWithMaintenanceWindowWithContext(ctx aws.Context, input *RegisterTaskWithMaintenanceWindowInput, opts ...request.Option) (*RegisterTaskWithMaintenanceWindowOutput, error) {
12986	req, out := c.RegisterTaskWithMaintenanceWindowRequest(input)
12987	req.SetContext(ctx)
12988	req.ApplyOptions(opts...)
12989	return out, req.Send()
12990}
12991
12992const opRemoveTagsFromResource = "RemoveTagsFromResource"
12993
12994// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
12995// client's request for the RemoveTagsFromResource operation. The "output" return
12996// value will be populated with the request's response once the request completes
12997// successfully.
12998//
12999// Use "Send" method on the returned Request to send the API call to the service.
13000// the "output" return value is not valid until after Send returns without error.
13001//
13002// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
13003// API call, and error handling.
13004//
13005// This method is useful when you want to inject custom logic or configuration
13006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13007//
13008//
13009//    // Example sending a request using the RemoveTagsFromResourceRequest method.
13010//    req, resp := client.RemoveTagsFromResourceRequest(params)
13011//
13012//    err := req.Send()
13013//    if err == nil { // resp is now filled
13014//        fmt.Println(resp)
13015//    }
13016//
13017// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
13018func (c *SSM) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
13019	op := &request.Operation{
13020		Name:       opRemoveTagsFromResource,
13021		HTTPMethod: "POST",
13022		HTTPPath:   "/",
13023	}
13024
13025	if input == nil {
13026		input = &RemoveTagsFromResourceInput{}
13027	}
13028
13029	output = &RemoveTagsFromResourceOutput{}
13030	req = c.newRequest(op, input, output)
13031	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13032	return
13033}
13034
13035// RemoveTagsFromResource API operation for Amazon Simple Systems Manager (SSM).
13036//
13037// Removes tag keys from the specified resource.
13038//
13039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13040// with awserr.Error's Code and Message methods to get detailed information about
13041// the error.
13042//
13043// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13044// API operation RemoveTagsFromResource for usage and error information.
13045//
13046// Returned Error Types:
13047//   * InvalidResourceType
13048//   The resource type isn't valid. For example, if you are attempting to tag
13049//   an instance, the instance must be a registered, managed instance.
13050//
13051//   * InvalidResourceId
13052//   The resource ID isn't valid. Verify that you entered the correct ID and try
13053//   again.
13054//
13055//   * InternalServerError
13056//   An error occurred on the server side.
13057//
13058//   * TooManyUpdates
13059//   There are concurrent updates for a resource that supports one update at a
13060//   time.
13061//
13062// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource
13063func (c *SSM) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
13064	req, out := c.RemoveTagsFromResourceRequest(input)
13065	return out, req.Send()
13066}
13067
13068// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
13069// the ability to pass a context and additional request options.
13070//
13071// See RemoveTagsFromResource for details on how to use this API operation.
13072//
13073// The context must be non-nil and will be used for request cancellation. If
13074// the context is nil a panic will occur. In the future the SDK may create
13075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13076// for more information on using Contexts.
13077func (c *SSM) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
13078	req, out := c.RemoveTagsFromResourceRequest(input)
13079	req.SetContext(ctx)
13080	req.ApplyOptions(opts...)
13081	return out, req.Send()
13082}
13083
13084const opResetServiceSetting = "ResetServiceSetting"
13085
13086// ResetServiceSettingRequest generates a "aws/request.Request" representing the
13087// client's request for the ResetServiceSetting operation. The "output" return
13088// value will be populated with the request's response once the request completes
13089// successfully.
13090//
13091// Use "Send" method on the returned Request to send the API call to the service.
13092// the "output" return value is not valid until after Send returns without error.
13093//
13094// See ResetServiceSetting for more information on using the ResetServiceSetting
13095// API call, and error handling.
13096//
13097// This method is useful when you want to inject custom logic or configuration
13098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13099//
13100//
13101//    // Example sending a request using the ResetServiceSettingRequest method.
13102//    req, resp := client.ResetServiceSettingRequest(params)
13103//
13104//    err := req.Send()
13105//    if err == nil { // resp is now filled
13106//        fmt.Println(resp)
13107//    }
13108//
13109// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
13110func (c *SSM) ResetServiceSettingRequest(input *ResetServiceSettingInput) (req *request.Request, output *ResetServiceSettingOutput) {
13111	op := &request.Operation{
13112		Name:       opResetServiceSetting,
13113		HTTPMethod: "POST",
13114		HTTPPath:   "/",
13115	}
13116
13117	if input == nil {
13118		input = &ResetServiceSettingInput{}
13119	}
13120
13121	output = &ResetServiceSettingOutput{}
13122	req = c.newRequest(op, input, output)
13123	return
13124}
13125
13126// ResetServiceSetting API operation for Amazon Simple Systems Manager (SSM).
13127//
13128// ServiceSetting is an account-level setting for an Amazon Web Services service.
13129// This setting defines how a user interacts with or uses a service or a feature
13130// of a service. For example, if an Amazon Web Services service charges money
13131// to the account based on feature or service usage, then the Amazon Web Services
13132// service team might create a default setting of "false". This means the user
13133// can't use this feature unless they change the setting to "true" and intentionally
13134// opt in for a paid feature.
13135//
13136// Services map a SettingId object to a setting value. Amazon Web Services services
13137// teams define the default value for a SettingId. You can't create a new SettingId,
13138// but you can overwrite the default value if you have the ssm:UpdateServiceSetting
13139// permission for the setting. Use the GetServiceSetting API operation to view
13140// the current value. Use the UpdateServiceSetting API operation to change the
13141// default setting.
13142//
13143// Reset the service setting for the account to the default value as provisioned
13144// by the Amazon Web Services service team.
13145//
13146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13147// with awserr.Error's Code and Message methods to get detailed information about
13148// the error.
13149//
13150// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13151// API operation ResetServiceSetting for usage and error information.
13152//
13153// Returned Error Types:
13154//   * InternalServerError
13155//   An error occurred on the server side.
13156//
13157//   * ServiceSettingNotFound
13158//   The specified service setting wasn't found. Either the service name or the
13159//   setting hasn't been provisioned by the Amazon Web Services service team.
13160//
13161//   * TooManyUpdates
13162//   There are concurrent updates for a resource that supports one update at a
13163//   time.
13164//
13165// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting
13166func (c *SSM) ResetServiceSetting(input *ResetServiceSettingInput) (*ResetServiceSettingOutput, error) {
13167	req, out := c.ResetServiceSettingRequest(input)
13168	return out, req.Send()
13169}
13170
13171// ResetServiceSettingWithContext is the same as ResetServiceSetting with the addition of
13172// the ability to pass a context and additional request options.
13173//
13174// See ResetServiceSetting for details on how to use this API operation.
13175//
13176// The context must be non-nil and will be used for request cancellation. If
13177// the context is nil a panic will occur. In the future the SDK may create
13178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13179// for more information on using Contexts.
13180func (c *SSM) ResetServiceSettingWithContext(ctx aws.Context, input *ResetServiceSettingInput, opts ...request.Option) (*ResetServiceSettingOutput, error) {
13181	req, out := c.ResetServiceSettingRequest(input)
13182	req.SetContext(ctx)
13183	req.ApplyOptions(opts...)
13184	return out, req.Send()
13185}
13186
13187const opResumeSession = "ResumeSession"
13188
13189// ResumeSessionRequest generates a "aws/request.Request" representing the
13190// client's request for the ResumeSession operation. The "output" return
13191// value will be populated with the request's response once the request completes
13192// successfully.
13193//
13194// Use "Send" method on the returned Request to send the API call to the service.
13195// the "output" return value is not valid until after Send returns without error.
13196//
13197// See ResumeSession for more information on using the ResumeSession
13198// API call, and error handling.
13199//
13200// This method is useful when you want to inject custom logic or configuration
13201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13202//
13203//
13204//    // Example sending a request using the ResumeSessionRequest method.
13205//    req, resp := client.ResumeSessionRequest(params)
13206//
13207//    err := req.Send()
13208//    if err == nil { // resp is now filled
13209//        fmt.Println(resp)
13210//    }
13211//
13212// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
13213func (c *SSM) ResumeSessionRequest(input *ResumeSessionInput) (req *request.Request, output *ResumeSessionOutput) {
13214	op := &request.Operation{
13215		Name:       opResumeSession,
13216		HTTPMethod: "POST",
13217		HTTPPath:   "/",
13218	}
13219
13220	if input == nil {
13221		input = &ResumeSessionInput{}
13222	}
13223
13224	output = &ResumeSessionOutput{}
13225	req = c.newRequest(op, input, output)
13226	return
13227}
13228
13229// ResumeSession API operation for Amazon Simple Systems Manager (SSM).
13230//
13231// Reconnects a session to an instance after it has been disconnected. Connections
13232// can be resumed for disconnected sessions, but not terminated sessions.
13233//
13234// This command is primarily for use by client machines to automatically reconnect
13235// during intermittent network issues. It isn't intended for any other use.
13236//
13237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13238// with awserr.Error's Code and Message methods to get detailed information about
13239// the error.
13240//
13241// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13242// API operation ResumeSession for usage and error information.
13243//
13244// Returned Error Types:
13245//   * DoesNotExistException
13246//   Error returned when the ID specified for a resource, such as a maintenance
13247//   window or patch baseline, doesn't exist.
13248//
13249//   For information about resource quotas in Amazon Web Services Systems Manager,
13250//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
13251//   in the Amazon Web Services General Reference.
13252//
13253//   * InternalServerError
13254//   An error occurred on the server side.
13255//
13256// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession
13257func (c *SSM) ResumeSession(input *ResumeSessionInput) (*ResumeSessionOutput, error) {
13258	req, out := c.ResumeSessionRequest(input)
13259	return out, req.Send()
13260}
13261
13262// ResumeSessionWithContext is the same as ResumeSession with the addition of
13263// the ability to pass a context and additional request options.
13264//
13265// See ResumeSession for details on how to use this API operation.
13266//
13267// The context must be non-nil and will be used for request cancellation. If
13268// the context is nil a panic will occur. In the future the SDK may create
13269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13270// for more information on using Contexts.
13271func (c *SSM) ResumeSessionWithContext(ctx aws.Context, input *ResumeSessionInput, opts ...request.Option) (*ResumeSessionOutput, error) {
13272	req, out := c.ResumeSessionRequest(input)
13273	req.SetContext(ctx)
13274	req.ApplyOptions(opts...)
13275	return out, req.Send()
13276}
13277
13278const opSendAutomationSignal = "SendAutomationSignal"
13279
13280// SendAutomationSignalRequest generates a "aws/request.Request" representing the
13281// client's request for the SendAutomationSignal operation. The "output" return
13282// value will be populated with the request's response once the request completes
13283// successfully.
13284//
13285// Use "Send" method on the returned Request to send the API call to the service.
13286// the "output" return value is not valid until after Send returns without error.
13287//
13288// See SendAutomationSignal for more information on using the SendAutomationSignal
13289// API call, and error handling.
13290//
13291// This method is useful when you want to inject custom logic or configuration
13292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13293//
13294//
13295//    // Example sending a request using the SendAutomationSignalRequest method.
13296//    req, resp := client.SendAutomationSignalRequest(params)
13297//
13298//    err := req.Send()
13299//    if err == nil { // resp is now filled
13300//        fmt.Println(resp)
13301//    }
13302//
13303// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
13304func (c *SSM) SendAutomationSignalRequest(input *SendAutomationSignalInput) (req *request.Request, output *SendAutomationSignalOutput) {
13305	op := &request.Operation{
13306		Name:       opSendAutomationSignal,
13307		HTTPMethod: "POST",
13308		HTTPPath:   "/",
13309	}
13310
13311	if input == nil {
13312		input = &SendAutomationSignalInput{}
13313	}
13314
13315	output = &SendAutomationSignalOutput{}
13316	req = c.newRequest(op, input, output)
13317	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13318	return
13319}
13320
13321// SendAutomationSignal API operation for Amazon Simple Systems Manager (SSM).
13322//
13323// Sends a signal to an Automation execution to change the current behavior
13324// or status of the execution.
13325//
13326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13327// with awserr.Error's Code and Message methods to get detailed information about
13328// the error.
13329//
13330// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13331// API operation SendAutomationSignal for usage and error information.
13332//
13333// Returned Error Types:
13334//   * AutomationExecutionNotFoundException
13335//   There is no automation execution information for the requested automation
13336//   execution ID.
13337//
13338//   * AutomationStepNotFoundException
13339//   The specified step name and execution ID don't exist. Verify the information
13340//   and try again.
13341//
13342//   * InvalidAutomationSignalException
13343//   The signal isn't valid for the current Automation execution.
13344//
13345//   * InternalServerError
13346//   An error occurred on the server side.
13347//
13348// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal
13349func (c *SSM) SendAutomationSignal(input *SendAutomationSignalInput) (*SendAutomationSignalOutput, error) {
13350	req, out := c.SendAutomationSignalRequest(input)
13351	return out, req.Send()
13352}
13353
13354// SendAutomationSignalWithContext is the same as SendAutomationSignal with the addition of
13355// the ability to pass a context and additional request options.
13356//
13357// See SendAutomationSignal for details on how to use this API operation.
13358//
13359// The context must be non-nil and will be used for request cancellation. If
13360// the context is nil a panic will occur. In the future the SDK may create
13361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13362// for more information on using Contexts.
13363func (c *SSM) SendAutomationSignalWithContext(ctx aws.Context, input *SendAutomationSignalInput, opts ...request.Option) (*SendAutomationSignalOutput, error) {
13364	req, out := c.SendAutomationSignalRequest(input)
13365	req.SetContext(ctx)
13366	req.ApplyOptions(opts...)
13367	return out, req.Send()
13368}
13369
13370const opSendCommand = "SendCommand"
13371
13372// SendCommandRequest generates a "aws/request.Request" representing the
13373// client's request for the SendCommand operation. The "output" return
13374// value will be populated with the request's response once the request completes
13375// successfully.
13376//
13377// Use "Send" method on the returned Request to send the API call to the service.
13378// the "output" return value is not valid until after Send returns without error.
13379//
13380// See SendCommand for more information on using the SendCommand
13381// API call, and error handling.
13382//
13383// This method is useful when you want to inject custom logic or configuration
13384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13385//
13386//
13387//    // Example sending a request using the SendCommandRequest method.
13388//    req, resp := client.SendCommandRequest(params)
13389//
13390//    err := req.Send()
13391//    if err == nil { // resp is now filled
13392//        fmt.Println(resp)
13393//    }
13394//
13395// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
13396func (c *SSM) SendCommandRequest(input *SendCommandInput) (req *request.Request, output *SendCommandOutput) {
13397	op := &request.Operation{
13398		Name:       opSendCommand,
13399		HTTPMethod: "POST",
13400		HTTPPath:   "/",
13401	}
13402
13403	if input == nil {
13404		input = &SendCommandInput{}
13405	}
13406
13407	output = &SendCommandOutput{}
13408	req = c.newRequest(op, input, output)
13409	return
13410}
13411
13412// SendCommand API operation for Amazon Simple Systems Manager (SSM).
13413//
13414// Runs commands on one or more managed instances.
13415//
13416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13417// with awserr.Error's Code and Message methods to get detailed information about
13418// the error.
13419//
13420// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13421// API operation SendCommand for usage and error information.
13422//
13423// Returned Error Types:
13424//   * DuplicateInstanceId
13425//   You can't specify an instance ID in more than one association.
13426//
13427//   * InternalServerError
13428//   An error occurred on the server side.
13429//
13430//   * InvalidInstanceId
13431//   The following problems can cause this exception:
13432//
13433//      * You don't have permission to access the instance.
13434//
13435//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
13436//      Verify that SSM Agent is running.
13437//
13438//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
13439//      Agent.
13440//
13441//      * The instance isn't in valid state. Valid states are: Running, Pending,
13442//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
13443//
13444//   * InvalidDocument
13445//   The specified SSM document doesn't exist.
13446//
13447//   * InvalidDocumentVersion
13448//   The document version isn't valid or doesn't exist.
13449//
13450//   * InvalidOutputFolder
13451//   The S3 bucket doesn't exist.
13452//
13453//   * InvalidParameters
13454//   You must specify values for all required parameters in the Amazon Web Services
13455//   Systems Manager document (SSM document). You can only supply values to parameters
13456//   defined in the SSM document.
13457//
13458//   * UnsupportedPlatformType
13459//   The document doesn't support the platform type of the given instance ID(s).
13460//   For example, you sent an document for a Windows instance to a Linux instance.
13461//
13462//   * MaxDocumentSizeExceeded
13463//   The size limit of a document is 64 KB.
13464//
13465//   * InvalidRole
13466//   The role name can't contain invalid characters. Also verify that you specified
13467//   an IAM role for notifications that includes the required trust policy. For
13468//   information about configuring the IAM role for Run Command notifications,
13469//   see Configuring Amazon SNS Notifications for Run Command (https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html)
13470//   in the Amazon Web Services Systems Manager User Guide.
13471//
13472//   * InvalidNotificationConfig
13473//   One or more configuration items isn't valid. Verify that a valid Amazon Resource
13474//   Name (ARN) was provided for an Amazon Simple Notification Service topic.
13475//
13476// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand
13477func (c *SSM) SendCommand(input *SendCommandInput) (*SendCommandOutput, error) {
13478	req, out := c.SendCommandRequest(input)
13479	return out, req.Send()
13480}
13481
13482// SendCommandWithContext is the same as SendCommand with the addition of
13483// the ability to pass a context and additional request options.
13484//
13485// See SendCommand for details on how to use this API operation.
13486//
13487// The context must be non-nil and will be used for request cancellation. If
13488// the context is nil a panic will occur. In the future the SDK may create
13489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13490// for more information on using Contexts.
13491func (c *SSM) SendCommandWithContext(ctx aws.Context, input *SendCommandInput, opts ...request.Option) (*SendCommandOutput, error) {
13492	req, out := c.SendCommandRequest(input)
13493	req.SetContext(ctx)
13494	req.ApplyOptions(opts...)
13495	return out, req.Send()
13496}
13497
13498const opStartAssociationsOnce = "StartAssociationsOnce"
13499
13500// StartAssociationsOnceRequest generates a "aws/request.Request" representing the
13501// client's request for the StartAssociationsOnce operation. The "output" return
13502// value will be populated with the request's response once the request completes
13503// successfully.
13504//
13505// Use "Send" method on the returned Request to send the API call to the service.
13506// the "output" return value is not valid until after Send returns without error.
13507//
13508// See StartAssociationsOnce for more information on using the StartAssociationsOnce
13509// API call, and error handling.
13510//
13511// This method is useful when you want to inject custom logic or configuration
13512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13513//
13514//
13515//    // Example sending a request using the StartAssociationsOnceRequest method.
13516//    req, resp := client.StartAssociationsOnceRequest(params)
13517//
13518//    err := req.Send()
13519//    if err == nil { // resp is now filled
13520//        fmt.Println(resp)
13521//    }
13522//
13523// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
13524func (c *SSM) StartAssociationsOnceRequest(input *StartAssociationsOnceInput) (req *request.Request, output *StartAssociationsOnceOutput) {
13525	op := &request.Operation{
13526		Name:       opStartAssociationsOnce,
13527		HTTPMethod: "POST",
13528		HTTPPath:   "/",
13529	}
13530
13531	if input == nil {
13532		input = &StartAssociationsOnceInput{}
13533	}
13534
13535	output = &StartAssociationsOnceOutput{}
13536	req = c.newRequest(op, input, output)
13537	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13538	return
13539}
13540
13541// StartAssociationsOnce API operation for Amazon Simple Systems Manager (SSM).
13542//
13543// Runs an association immediately and only one time. This operation can be
13544// helpful when troubleshooting associations.
13545//
13546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13547// with awserr.Error's Code and Message methods to get detailed information about
13548// the error.
13549//
13550// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13551// API operation StartAssociationsOnce for usage and error information.
13552//
13553// Returned Error Types:
13554//   * InvalidAssociation
13555//   The association isn't valid or doesn't exist.
13556//
13557//   * AssociationDoesNotExist
13558//   The specified association doesn't exist.
13559//
13560// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce
13561func (c *SSM) StartAssociationsOnce(input *StartAssociationsOnceInput) (*StartAssociationsOnceOutput, error) {
13562	req, out := c.StartAssociationsOnceRequest(input)
13563	return out, req.Send()
13564}
13565
13566// StartAssociationsOnceWithContext is the same as StartAssociationsOnce with the addition of
13567// the ability to pass a context and additional request options.
13568//
13569// See StartAssociationsOnce for details on how to use this API operation.
13570//
13571// The context must be non-nil and will be used for request cancellation. If
13572// the context is nil a panic will occur. In the future the SDK may create
13573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13574// for more information on using Contexts.
13575func (c *SSM) StartAssociationsOnceWithContext(ctx aws.Context, input *StartAssociationsOnceInput, opts ...request.Option) (*StartAssociationsOnceOutput, error) {
13576	req, out := c.StartAssociationsOnceRequest(input)
13577	req.SetContext(ctx)
13578	req.ApplyOptions(opts...)
13579	return out, req.Send()
13580}
13581
13582const opStartAutomationExecution = "StartAutomationExecution"
13583
13584// StartAutomationExecutionRequest generates a "aws/request.Request" representing the
13585// client's request for the StartAutomationExecution operation. The "output" return
13586// value will be populated with the request's response once the request completes
13587// successfully.
13588//
13589// Use "Send" method on the returned Request to send the API call to the service.
13590// the "output" return value is not valid until after Send returns without error.
13591//
13592// See StartAutomationExecution for more information on using the StartAutomationExecution
13593// API call, and error handling.
13594//
13595// This method is useful when you want to inject custom logic or configuration
13596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13597//
13598//
13599//    // Example sending a request using the StartAutomationExecutionRequest method.
13600//    req, resp := client.StartAutomationExecutionRequest(params)
13601//
13602//    err := req.Send()
13603//    if err == nil { // resp is now filled
13604//        fmt.Println(resp)
13605//    }
13606//
13607// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
13608func (c *SSM) StartAutomationExecutionRequest(input *StartAutomationExecutionInput) (req *request.Request, output *StartAutomationExecutionOutput) {
13609	op := &request.Operation{
13610		Name:       opStartAutomationExecution,
13611		HTTPMethod: "POST",
13612		HTTPPath:   "/",
13613	}
13614
13615	if input == nil {
13616		input = &StartAutomationExecutionInput{}
13617	}
13618
13619	output = &StartAutomationExecutionOutput{}
13620	req = c.newRequest(op, input, output)
13621	return
13622}
13623
13624// StartAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
13625//
13626// Initiates execution of an Automation runbook.
13627//
13628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13629// with awserr.Error's Code and Message methods to get detailed information about
13630// the error.
13631//
13632// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13633// API operation StartAutomationExecution for usage and error information.
13634//
13635// Returned Error Types:
13636//   * AutomationDefinitionNotFoundException
13637//   An Automation runbook with the specified name couldn't be found.
13638//
13639//   * InvalidAutomationExecutionParametersException
13640//   The supplied parameters for invoking the specified Automation runbook are
13641//   incorrect. For example, they may not match the set of parameters permitted
13642//   for the specified Automation document.
13643//
13644//   * AutomationExecutionLimitExceededException
13645//   The number of simultaneously running Automation executions exceeded the allowable
13646//   limit.
13647//
13648//   * AutomationDefinitionVersionNotFoundException
13649//   An Automation runbook with the specified name and version couldn't be found.
13650//
13651//   * IdempotentParameterMismatch
13652//   Error returned when an idempotent operation is retried and the parameters
13653//   don't match the original call to the API with the same idempotency token.
13654//
13655//   * InvalidTarget
13656//   The target isn't valid or doesn't exist. It might not be configured for Systems
13657//   Manager or you might not have permission to perform the operation.
13658//
13659//   * InternalServerError
13660//   An error occurred on the server side.
13661//
13662// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution
13663func (c *SSM) StartAutomationExecution(input *StartAutomationExecutionInput) (*StartAutomationExecutionOutput, error) {
13664	req, out := c.StartAutomationExecutionRequest(input)
13665	return out, req.Send()
13666}
13667
13668// StartAutomationExecutionWithContext is the same as StartAutomationExecution with the addition of
13669// the ability to pass a context and additional request options.
13670//
13671// See StartAutomationExecution for details on how to use this API operation.
13672//
13673// The context must be non-nil and will be used for request cancellation. If
13674// the context is nil a panic will occur. In the future the SDK may create
13675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13676// for more information on using Contexts.
13677func (c *SSM) StartAutomationExecutionWithContext(ctx aws.Context, input *StartAutomationExecutionInput, opts ...request.Option) (*StartAutomationExecutionOutput, error) {
13678	req, out := c.StartAutomationExecutionRequest(input)
13679	req.SetContext(ctx)
13680	req.ApplyOptions(opts...)
13681	return out, req.Send()
13682}
13683
13684const opStartChangeRequestExecution = "StartChangeRequestExecution"
13685
13686// StartChangeRequestExecutionRequest generates a "aws/request.Request" representing the
13687// client's request for the StartChangeRequestExecution operation. The "output" return
13688// value will be populated with the request's response once the request completes
13689// successfully.
13690//
13691// Use "Send" method on the returned Request to send the API call to the service.
13692// the "output" return value is not valid until after Send returns without error.
13693//
13694// See StartChangeRequestExecution for more information on using the StartChangeRequestExecution
13695// API call, and error handling.
13696//
13697// This method is useful when you want to inject custom logic or configuration
13698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13699//
13700//
13701//    // Example sending a request using the StartChangeRequestExecutionRequest method.
13702//    req, resp := client.StartChangeRequestExecutionRequest(params)
13703//
13704//    err := req.Send()
13705//    if err == nil { // resp is now filled
13706//        fmt.Println(resp)
13707//    }
13708//
13709// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartChangeRequestExecution
13710func (c *SSM) StartChangeRequestExecutionRequest(input *StartChangeRequestExecutionInput) (req *request.Request, output *StartChangeRequestExecutionOutput) {
13711	op := &request.Operation{
13712		Name:       opStartChangeRequestExecution,
13713		HTTPMethod: "POST",
13714		HTTPPath:   "/",
13715	}
13716
13717	if input == nil {
13718		input = &StartChangeRequestExecutionInput{}
13719	}
13720
13721	output = &StartChangeRequestExecutionOutput{}
13722	req = c.newRequest(op, input, output)
13723	return
13724}
13725
13726// StartChangeRequestExecution API operation for Amazon Simple Systems Manager (SSM).
13727//
13728// Creates a change request for Change Manager. The Automation runbooks specified
13729// in the change request run only after all required approvals for the change
13730// request have been received.
13731//
13732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13733// with awserr.Error's Code and Message methods to get detailed information about
13734// the error.
13735//
13736// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13737// API operation StartChangeRequestExecution for usage and error information.
13738//
13739// Returned Error Types:
13740//   * AutomationDefinitionNotFoundException
13741//   An Automation runbook with the specified name couldn't be found.
13742//
13743//   * InvalidAutomationExecutionParametersException
13744//   The supplied parameters for invoking the specified Automation runbook are
13745//   incorrect. For example, they may not match the set of parameters permitted
13746//   for the specified Automation document.
13747//
13748//   * AutomationExecutionLimitExceededException
13749//   The number of simultaneously running Automation executions exceeded the allowable
13750//   limit.
13751//
13752//   * AutomationDefinitionVersionNotFoundException
13753//   An Automation runbook with the specified name and version couldn't be found.
13754//
13755//   * IdempotentParameterMismatch
13756//   Error returned when an idempotent operation is retried and the parameters
13757//   don't match the original call to the API with the same idempotency token.
13758//
13759//   * InternalServerError
13760//   An error occurred on the server side.
13761//
13762//   * AutomationDefinitionNotApprovedException
13763//   Indicates that the Change Manager change template used in the change request
13764//   was rejected or is still in a pending state.
13765//
13766// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartChangeRequestExecution
13767func (c *SSM) StartChangeRequestExecution(input *StartChangeRequestExecutionInput) (*StartChangeRequestExecutionOutput, error) {
13768	req, out := c.StartChangeRequestExecutionRequest(input)
13769	return out, req.Send()
13770}
13771
13772// StartChangeRequestExecutionWithContext is the same as StartChangeRequestExecution with the addition of
13773// the ability to pass a context and additional request options.
13774//
13775// See StartChangeRequestExecution for details on how to use this API operation.
13776//
13777// The context must be non-nil and will be used for request cancellation. If
13778// the context is nil a panic will occur. In the future the SDK may create
13779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13780// for more information on using Contexts.
13781func (c *SSM) StartChangeRequestExecutionWithContext(ctx aws.Context, input *StartChangeRequestExecutionInput, opts ...request.Option) (*StartChangeRequestExecutionOutput, error) {
13782	req, out := c.StartChangeRequestExecutionRequest(input)
13783	req.SetContext(ctx)
13784	req.ApplyOptions(opts...)
13785	return out, req.Send()
13786}
13787
13788const opStartSession = "StartSession"
13789
13790// StartSessionRequest generates a "aws/request.Request" representing the
13791// client's request for the StartSession operation. The "output" return
13792// value will be populated with the request's response once the request completes
13793// successfully.
13794//
13795// Use "Send" method on the returned Request to send the API call to the service.
13796// the "output" return value is not valid until after Send returns without error.
13797//
13798// See StartSession for more information on using the StartSession
13799// API call, and error handling.
13800//
13801// This method is useful when you want to inject custom logic or configuration
13802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13803//
13804//
13805//    // Example sending a request using the StartSessionRequest method.
13806//    req, resp := client.StartSessionRequest(params)
13807//
13808//    err := req.Send()
13809//    if err == nil { // resp is now filled
13810//        fmt.Println(resp)
13811//    }
13812//
13813// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
13814func (c *SSM) StartSessionRequest(input *StartSessionInput) (req *request.Request, output *StartSessionOutput) {
13815	op := &request.Operation{
13816		Name:       opStartSession,
13817		HTTPMethod: "POST",
13818		HTTPPath:   "/",
13819	}
13820
13821	if input == nil {
13822		input = &StartSessionInput{}
13823	}
13824
13825	output = &StartSessionOutput{}
13826	req = c.newRequest(op, input, output)
13827	return
13828}
13829
13830// StartSession API operation for Amazon Simple Systems Manager (SSM).
13831//
13832// Initiates a connection to a target (for example, an instance) for a Session
13833// Manager session. Returns a URL and token that can be used to open a WebSocket
13834// connection for sending input and receiving outputs.
13835//
13836// Amazon Web Services CLI usage: start-session is an interactive command that
13837// requires the Session Manager plugin to be installed on the client machine
13838// making the call. For information, see Install the Session Manager plugin
13839// for the Amazon Web Services CLI (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)
13840// in the Amazon Web Services Systems Manager User Guide.
13841//
13842// Amazon Web Services Tools for PowerShell usage: Start-SSMSession isn't currently
13843// supported by Amazon Web Services Tools for PowerShell on Windows local machines.
13844//
13845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13846// with awserr.Error's Code and Message methods to get detailed information about
13847// the error.
13848//
13849// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13850// API operation StartSession for usage and error information.
13851//
13852// Returned Error Types:
13853//   * InvalidDocument
13854//   The specified SSM document doesn't exist.
13855//
13856//   * TargetNotConnected
13857//   The specified target instance for the session isn't fully configured for
13858//   use with Session Manager. For more information, see Getting started with
13859//   Session Manager (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)
13860//   in the Amazon Web Services Systems Manager User Guide. This error is also
13861//   returned if you attempt to start a session on an instance that is located
13862//   in a different account or Region
13863//
13864//   * InternalServerError
13865//   An error occurred on the server side.
13866//
13867// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession
13868func (c *SSM) StartSession(input *StartSessionInput) (*StartSessionOutput, error) {
13869	req, out := c.StartSessionRequest(input)
13870	return out, req.Send()
13871}
13872
13873// StartSessionWithContext is the same as StartSession with the addition of
13874// the ability to pass a context and additional request options.
13875//
13876// See StartSession for details on how to use this API operation.
13877//
13878// The context must be non-nil and will be used for request cancellation. If
13879// the context is nil a panic will occur. In the future the SDK may create
13880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13881// for more information on using Contexts.
13882func (c *SSM) StartSessionWithContext(ctx aws.Context, input *StartSessionInput, opts ...request.Option) (*StartSessionOutput, error) {
13883	req, out := c.StartSessionRequest(input)
13884	req.SetContext(ctx)
13885	req.ApplyOptions(opts...)
13886	return out, req.Send()
13887}
13888
13889const opStopAutomationExecution = "StopAutomationExecution"
13890
13891// StopAutomationExecutionRequest generates a "aws/request.Request" representing the
13892// client's request for the StopAutomationExecution operation. The "output" return
13893// value will be populated with the request's response once the request completes
13894// successfully.
13895//
13896// Use "Send" method on the returned Request to send the API call to the service.
13897// the "output" return value is not valid until after Send returns without error.
13898//
13899// See StopAutomationExecution for more information on using the StopAutomationExecution
13900// API call, and error handling.
13901//
13902// This method is useful when you want to inject custom logic or configuration
13903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13904//
13905//
13906//    // Example sending a request using the StopAutomationExecutionRequest method.
13907//    req, resp := client.StopAutomationExecutionRequest(params)
13908//
13909//    err := req.Send()
13910//    if err == nil { // resp is now filled
13911//        fmt.Println(resp)
13912//    }
13913//
13914// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
13915func (c *SSM) StopAutomationExecutionRequest(input *StopAutomationExecutionInput) (req *request.Request, output *StopAutomationExecutionOutput) {
13916	op := &request.Operation{
13917		Name:       opStopAutomationExecution,
13918		HTTPMethod: "POST",
13919		HTTPPath:   "/",
13920	}
13921
13922	if input == nil {
13923		input = &StopAutomationExecutionInput{}
13924	}
13925
13926	output = &StopAutomationExecutionOutput{}
13927	req = c.newRequest(op, input, output)
13928	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
13929	return
13930}
13931
13932// StopAutomationExecution API operation for Amazon Simple Systems Manager (SSM).
13933//
13934// Stop an Automation that is currently running.
13935//
13936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13937// with awserr.Error's Code and Message methods to get detailed information about
13938// the error.
13939//
13940// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
13941// API operation StopAutomationExecution for usage and error information.
13942//
13943// Returned Error Types:
13944//   * AutomationExecutionNotFoundException
13945//   There is no automation execution information for the requested automation
13946//   execution ID.
13947//
13948//   * InvalidAutomationStatusUpdateException
13949//   The specified update status operation isn't valid.
13950//
13951//   * InternalServerError
13952//   An error occurred on the server side.
13953//
13954// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution
13955func (c *SSM) StopAutomationExecution(input *StopAutomationExecutionInput) (*StopAutomationExecutionOutput, error) {
13956	req, out := c.StopAutomationExecutionRequest(input)
13957	return out, req.Send()
13958}
13959
13960// StopAutomationExecutionWithContext is the same as StopAutomationExecution with the addition of
13961// the ability to pass a context and additional request options.
13962//
13963// See StopAutomationExecution for details on how to use this API operation.
13964//
13965// The context must be non-nil and will be used for request cancellation. If
13966// the context is nil a panic will occur. In the future the SDK may create
13967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13968// for more information on using Contexts.
13969func (c *SSM) StopAutomationExecutionWithContext(ctx aws.Context, input *StopAutomationExecutionInput, opts ...request.Option) (*StopAutomationExecutionOutput, error) {
13970	req, out := c.StopAutomationExecutionRequest(input)
13971	req.SetContext(ctx)
13972	req.ApplyOptions(opts...)
13973	return out, req.Send()
13974}
13975
13976const opTerminateSession = "TerminateSession"
13977
13978// TerminateSessionRequest generates a "aws/request.Request" representing the
13979// client's request for the TerminateSession operation. The "output" return
13980// value will be populated with the request's response once the request completes
13981// successfully.
13982//
13983// Use "Send" method on the returned Request to send the API call to the service.
13984// the "output" return value is not valid until after Send returns without error.
13985//
13986// See TerminateSession for more information on using the TerminateSession
13987// API call, and error handling.
13988//
13989// This method is useful when you want to inject custom logic or configuration
13990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13991//
13992//
13993//    // Example sending a request using the TerminateSessionRequest method.
13994//    req, resp := client.TerminateSessionRequest(params)
13995//
13996//    err := req.Send()
13997//    if err == nil { // resp is now filled
13998//        fmt.Println(resp)
13999//    }
14000//
14001// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
14002func (c *SSM) TerminateSessionRequest(input *TerminateSessionInput) (req *request.Request, output *TerminateSessionOutput) {
14003	op := &request.Operation{
14004		Name:       opTerminateSession,
14005		HTTPMethod: "POST",
14006		HTTPPath:   "/",
14007	}
14008
14009	if input == nil {
14010		input = &TerminateSessionInput{}
14011	}
14012
14013	output = &TerminateSessionOutput{}
14014	req = c.newRequest(op, input, output)
14015	return
14016}
14017
14018// TerminateSession API operation for Amazon Simple Systems Manager (SSM).
14019//
14020// Permanently ends a session and closes the data connection between the Session
14021// Manager client and SSM Agent on the instance. A terminated session isn't
14022// be resumed.
14023//
14024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14025// with awserr.Error's Code and Message methods to get detailed information about
14026// the error.
14027//
14028// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14029// API operation TerminateSession for usage and error information.
14030//
14031// Returned Error Types:
14032//   * DoesNotExistException
14033//   Error returned when the ID specified for a resource, such as a maintenance
14034//   window or patch baseline, doesn't exist.
14035//
14036//   For information about resource quotas in Amazon Web Services Systems Manager,
14037//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
14038//   in the Amazon Web Services General Reference.
14039//
14040//   * InternalServerError
14041//   An error occurred on the server side.
14042//
14043// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession
14044func (c *SSM) TerminateSession(input *TerminateSessionInput) (*TerminateSessionOutput, error) {
14045	req, out := c.TerminateSessionRequest(input)
14046	return out, req.Send()
14047}
14048
14049// TerminateSessionWithContext is the same as TerminateSession with the addition of
14050// the ability to pass a context and additional request options.
14051//
14052// See TerminateSession for details on how to use this API operation.
14053//
14054// The context must be non-nil and will be used for request cancellation. If
14055// the context is nil a panic will occur. In the future the SDK may create
14056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14057// for more information on using Contexts.
14058func (c *SSM) TerminateSessionWithContext(ctx aws.Context, input *TerminateSessionInput, opts ...request.Option) (*TerminateSessionOutput, error) {
14059	req, out := c.TerminateSessionRequest(input)
14060	req.SetContext(ctx)
14061	req.ApplyOptions(opts...)
14062	return out, req.Send()
14063}
14064
14065const opUnlabelParameterVersion = "UnlabelParameterVersion"
14066
14067// UnlabelParameterVersionRequest generates a "aws/request.Request" representing the
14068// client's request for the UnlabelParameterVersion operation. The "output" return
14069// value will be populated with the request's response once the request completes
14070// successfully.
14071//
14072// Use "Send" method on the returned Request to send the API call to the service.
14073// the "output" return value is not valid until after Send returns without error.
14074//
14075// See UnlabelParameterVersion for more information on using the UnlabelParameterVersion
14076// API call, and error handling.
14077//
14078// This method is useful when you want to inject custom logic or configuration
14079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14080//
14081//
14082//    // Example sending a request using the UnlabelParameterVersionRequest method.
14083//    req, resp := client.UnlabelParameterVersionRequest(params)
14084//
14085//    err := req.Send()
14086//    if err == nil { // resp is now filled
14087//        fmt.Println(resp)
14088//    }
14089//
14090// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UnlabelParameterVersion
14091func (c *SSM) UnlabelParameterVersionRequest(input *UnlabelParameterVersionInput) (req *request.Request, output *UnlabelParameterVersionOutput) {
14092	op := &request.Operation{
14093		Name:       opUnlabelParameterVersion,
14094		HTTPMethod: "POST",
14095		HTTPPath:   "/",
14096	}
14097
14098	if input == nil {
14099		input = &UnlabelParameterVersionInput{}
14100	}
14101
14102	output = &UnlabelParameterVersionOutput{}
14103	req = c.newRequest(op, input, output)
14104	return
14105}
14106
14107// UnlabelParameterVersion API operation for Amazon Simple Systems Manager (SSM).
14108//
14109// Remove a label or labels from a parameter.
14110//
14111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14112// with awserr.Error's Code and Message methods to get detailed information about
14113// the error.
14114//
14115// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14116// API operation UnlabelParameterVersion for usage and error information.
14117//
14118// Returned Error Types:
14119//   * InternalServerError
14120//   An error occurred on the server side.
14121//
14122//   * TooManyUpdates
14123//   There are concurrent updates for a resource that supports one update at a
14124//   time.
14125//
14126//   * ParameterNotFound
14127//   The parameter couldn't be found. Verify the name and try again.
14128//
14129//   * ParameterVersionNotFound
14130//   The specified parameter version wasn't found. Verify the parameter name and
14131//   version, and try again.
14132//
14133// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UnlabelParameterVersion
14134func (c *SSM) UnlabelParameterVersion(input *UnlabelParameterVersionInput) (*UnlabelParameterVersionOutput, error) {
14135	req, out := c.UnlabelParameterVersionRequest(input)
14136	return out, req.Send()
14137}
14138
14139// UnlabelParameterVersionWithContext is the same as UnlabelParameterVersion with the addition of
14140// the ability to pass a context and additional request options.
14141//
14142// See UnlabelParameterVersion for details on how to use this API operation.
14143//
14144// The context must be non-nil and will be used for request cancellation. If
14145// the context is nil a panic will occur. In the future the SDK may create
14146// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14147// for more information on using Contexts.
14148func (c *SSM) UnlabelParameterVersionWithContext(ctx aws.Context, input *UnlabelParameterVersionInput, opts ...request.Option) (*UnlabelParameterVersionOutput, error) {
14149	req, out := c.UnlabelParameterVersionRequest(input)
14150	req.SetContext(ctx)
14151	req.ApplyOptions(opts...)
14152	return out, req.Send()
14153}
14154
14155const opUpdateAssociation = "UpdateAssociation"
14156
14157// UpdateAssociationRequest generates a "aws/request.Request" representing the
14158// client's request for the UpdateAssociation operation. The "output" return
14159// value will be populated with the request's response once the request completes
14160// successfully.
14161//
14162// Use "Send" method on the returned Request to send the API call to the service.
14163// the "output" return value is not valid until after Send returns without error.
14164//
14165// See UpdateAssociation for more information on using the UpdateAssociation
14166// API call, and error handling.
14167//
14168// This method is useful when you want to inject custom logic or configuration
14169// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14170//
14171//
14172//    // Example sending a request using the UpdateAssociationRequest method.
14173//    req, resp := client.UpdateAssociationRequest(params)
14174//
14175//    err := req.Send()
14176//    if err == nil { // resp is now filled
14177//        fmt.Println(resp)
14178//    }
14179//
14180// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
14181func (c *SSM) UpdateAssociationRequest(input *UpdateAssociationInput) (req *request.Request, output *UpdateAssociationOutput) {
14182	op := &request.Operation{
14183		Name:       opUpdateAssociation,
14184		HTTPMethod: "POST",
14185		HTTPPath:   "/",
14186	}
14187
14188	if input == nil {
14189		input = &UpdateAssociationInput{}
14190	}
14191
14192	output = &UpdateAssociationOutput{}
14193	req = c.newRequest(op, input, output)
14194	return
14195}
14196
14197// UpdateAssociation API operation for Amazon Simple Systems Manager (SSM).
14198//
14199// Updates an association. You can update the association name and version,
14200// the document version, schedule, parameters, and Amazon Simple Storage Service
14201// (Amazon S3) output.
14202//
14203// In order to call this API operation, your Identity and Access Management
14204// (IAM) user account, group, or role must be configured with permission to
14205// call the DescribeAssociation API operation. If you don't have permission
14206// to call DescribeAssociation, then you receive the following error: An error
14207// occurred (AccessDeniedException) when calling the UpdateAssociation operation:
14208// User: <user_arn> isn't authorized to perform: ssm:DescribeAssociation on
14209// resource: <resource_arn>
14210//
14211// When you update an association, the association immediately runs against
14212// the specified targets.
14213//
14214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14215// with awserr.Error's Code and Message methods to get detailed information about
14216// the error.
14217//
14218// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14219// API operation UpdateAssociation for usage and error information.
14220//
14221// Returned Error Types:
14222//   * InternalServerError
14223//   An error occurred on the server side.
14224//
14225//   * InvalidSchedule
14226//   The schedule is invalid. Verify your cron or rate expression and try again.
14227//
14228//   * InvalidParameters
14229//   You must specify values for all required parameters in the Amazon Web Services
14230//   Systems Manager document (SSM document). You can only supply values to parameters
14231//   defined in the SSM document.
14232//
14233//   * InvalidOutputLocation
14234//   The output location isn't valid or doesn't exist.
14235//
14236//   * InvalidDocumentVersion
14237//   The document version isn't valid or doesn't exist.
14238//
14239//   * AssociationDoesNotExist
14240//   The specified association doesn't exist.
14241//
14242//   * InvalidUpdate
14243//   The update isn't valid.
14244//
14245//   * TooManyUpdates
14246//   There are concurrent updates for a resource that supports one update at a
14247//   time.
14248//
14249//   * InvalidDocument
14250//   The specified SSM document doesn't exist.
14251//
14252//   * InvalidTarget
14253//   The target isn't valid or doesn't exist. It might not be configured for Systems
14254//   Manager or you might not have permission to perform the operation.
14255//
14256//   * InvalidAssociationVersion
14257//   The version you specified isn't valid. Use ListAssociationVersions to view
14258//   all versions of an association according to the association ID. Or, use the
14259//   $LATEST parameter to view the latest version of the association.
14260//
14261//   * AssociationVersionLimitExceeded
14262//   You have reached the maximum number versions allowed for an association.
14263//   Each association has a limit of 1,000 versions.
14264//
14265// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation
14266func (c *SSM) UpdateAssociation(input *UpdateAssociationInput) (*UpdateAssociationOutput, error) {
14267	req, out := c.UpdateAssociationRequest(input)
14268	return out, req.Send()
14269}
14270
14271// UpdateAssociationWithContext is the same as UpdateAssociation with the addition of
14272// the ability to pass a context and additional request options.
14273//
14274// See UpdateAssociation for details on how to use this API operation.
14275//
14276// The context must be non-nil and will be used for request cancellation. If
14277// the context is nil a panic will occur. In the future the SDK may create
14278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14279// for more information on using Contexts.
14280func (c *SSM) UpdateAssociationWithContext(ctx aws.Context, input *UpdateAssociationInput, opts ...request.Option) (*UpdateAssociationOutput, error) {
14281	req, out := c.UpdateAssociationRequest(input)
14282	req.SetContext(ctx)
14283	req.ApplyOptions(opts...)
14284	return out, req.Send()
14285}
14286
14287const opUpdateAssociationStatus = "UpdateAssociationStatus"
14288
14289// UpdateAssociationStatusRequest generates a "aws/request.Request" representing the
14290// client's request for the UpdateAssociationStatus operation. The "output" return
14291// value will be populated with the request's response once the request completes
14292// successfully.
14293//
14294// Use "Send" method on the returned Request to send the API call to the service.
14295// the "output" return value is not valid until after Send returns without error.
14296//
14297// See UpdateAssociationStatus for more information on using the UpdateAssociationStatus
14298// API call, and error handling.
14299//
14300// This method is useful when you want to inject custom logic or configuration
14301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14302//
14303//
14304//    // Example sending a request using the UpdateAssociationStatusRequest method.
14305//    req, resp := client.UpdateAssociationStatusRequest(params)
14306//
14307//    err := req.Send()
14308//    if err == nil { // resp is now filled
14309//        fmt.Println(resp)
14310//    }
14311//
14312// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
14313func (c *SSM) UpdateAssociationStatusRequest(input *UpdateAssociationStatusInput) (req *request.Request, output *UpdateAssociationStatusOutput) {
14314	op := &request.Operation{
14315		Name:       opUpdateAssociationStatus,
14316		HTTPMethod: "POST",
14317		HTTPPath:   "/",
14318	}
14319
14320	if input == nil {
14321		input = &UpdateAssociationStatusInput{}
14322	}
14323
14324	output = &UpdateAssociationStatusOutput{}
14325	req = c.newRequest(op, input, output)
14326	return
14327}
14328
14329// UpdateAssociationStatus API operation for Amazon Simple Systems Manager (SSM).
14330//
14331// Updates the status of the Amazon Web Services Systems Manager document (SSM
14332// document) associated with the specified instance.
14333//
14334// UpdateAssociationStatus is primarily used by the Amazon Web Services Systems
14335// Manager Agent (SSM Agent) to report status updates about your associations
14336// and is only used for associations created with the InstanceId legacy parameter.
14337//
14338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14339// with awserr.Error's Code and Message methods to get detailed information about
14340// the error.
14341//
14342// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14343// API operation UpdateAssociationStatus for usage and error information.
14344//
14345// Returned Error Types:
14346//   * InternalServerError
14347//   An error occurred on the server side.
14348//
14349//   * InvalidInstanceId
14350//   The following problems can cause this exception:
14351//
14352//      * You don't have permission to access the instance.
14353//
14354//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
14355//      Verify that SSM Agent is running.
14356//
14357//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
14358//      Agent.
14359//
14360//      * The instance isn't in valid state. Valid states are: Running, Pending,
14361//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
14362//
14363//   * InvalidDocument
14364//   The specified SSM document doesn't exist.
14365//
14366//   * AssociationDoesNotExist
14367//   The specified association doesn't exist.
14368//
14369//   * StatusUnchanged
14370//   The updated status is the same as the current status.
14371//
14372//   * TooManyUpdates
14373//   There are concurrent updates for a resource that supports one update at a
14374//   time.
14375//
14376// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus
14377func (c *SSM) UpdateAssociationStatus(input *UpdateAssociationStatusInput) (*UpdateAssociationStatusOutput, error) {
14378	req, out := c.UpdateAssociationStatusRequest(input)
14379	return out, req.Send()
14380}
14381
14382// UpdateAssociationStatusWithContext is the same as UpdateAssociationStatus with the addition of
14383// the ability to pass a context and additional request options.
14384//
14385// See UpdateAssociationStatus for details on how to use this API operation.
14386//
14387// The context must be non-nil and will be used for request cancellation. If
14388// the context is nil a panic will occur. In the future the SDK may create
14389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14390// for more information on using Contexts.
14391func (c *SSM) UpdateAssociationStatusWithContext(ctx aws.Context, input *UpdateAssociationStatusInput, opts ...request.Option) (*UpdateAssociationStatusOutput, error) {
14392	req, out := c.UpdateAssociationStatusRequest(input)
14393	req.SetContext(ctx)
14394	req.ApplyOptions(opts...)
14395	return out, req.Send()
14396}
14397
14398const opUpdateDocument = "UpdateDocument"
14399
14400// UpdateDocumentRequest generates a "aws/request.Request" representing the
14401// client's request for the UpdateDocument operation. The "output" return
14402// value will be populated with the request's response once the request completes
14403// successfully.
14404//
14405// Use "Send" method on the returned Request to send the API call to the service.
14406// the "output" return value is not valid until after Send returns without error.
14407//
14408// See UpdateDocument for more information on using the UpdateDocument
14409// API call, and error handling.
14410//
14411// This method is useful when you want to inject custom logic or configuration
14412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14413//
14414//
14415//    // Example sending a request using the UpdateDocumentRequest method.
14416//    req, resp := client.UpdateDocumentRequest(params)
14417//
14418//    err := req.Send()
14419//    if err == nil { // resp is now filled
14420//        fmt.Println(resp)
14421//    }
14422//
14423// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
14424func (c *SSM) UpdateDocumentRequest(input *UpdateDocumentInput) (req *request.Request, output *UpdateDocumentOutput) {
14425	op := &request.Operation{
14426		Name:       opUpdateDocument,
14427		HTTPMethod: "POST",
14428		HTTPPath:   "/",
14429	}
14430
14431	if input == nil {
14432		input = &UpdateDocumentInput{}
14433	}
14434
14435	output = &UpdateDocumentOutput{}
14436	req = c.newRequest(op, input, output)
14437	return
14438}
14439
14440// UpdateDocument API operation for Amazon Simple Systems Manager (SSM).
14441//
14442// Updates one or more values for an SSM document.
14443//
14444// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14445// with awserr.Error's Code and Message methods to get detailed information about
14446// the error.
14447//
14448// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14449// API operation UpdateDocument for usage and error information.
14450//
14451// Returned Error Types:
14452//   * MaxDocumentSizeExceeded
14453//   The size limit of a document is 64 KB.
14454//
14455//   * DocumentVersionLimitExceeded
14456//   The document has too many versions. Delete one or more document versions
14457//   and try again.
14458//
14459//   * InternalServerError
14460//   An error occurred on the server side.
14461//
14462//   * DuplicateDocumentContent
14463//   The content of the association document matches another document. Change
14464//   the content of the document and try again.
14465//
14466//   * DuplicateDocumentVersionName
14467//   The version name has already been used in this document. Specify a different
14468//   version name, and then try again.
14469//
14470//   * InvalidDocumentContent
14471//   The content for the document isn't valid.
14472//
14473//   * InvalidDocumentVersion
14474//   The document version isn't valid or doesn't exist.
14475//
14476//   * InvalidDocumentSchemaVersion
14477//   The version of the document schema isn't supported.
14478//
14479//   * InvalidDocument
14480//   The specified SSM document doesn't exist.
14481//
14482//   * InvalidDocumentOperation
14483//   You attempted to delete a document while it is still shared. You must stop
14484//   sharing the document before you can delete it.
14485//
14486// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument
14487func (c *SSM) UpdateDocument(input *UpdateDocumentInput) (*UpdateDocumentOutput, error) {
14488	req, out := c.UpdateDocumentRequest(input)
14489	return out, req.Send()
14490}
14491
14492// UpdateDocumentWithContext is the same as UpdateDocument with the addition of
14493// the ability to pass a context and additional request options.
14494//
14495// See UpdateDocument for details on how to use this API operation.
14496//
14497// The context must be non-nil and will be used for request cancellation. If
14498// the context is nil a panic will occur. In the future the SDK may create
14499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14500// for more information on using Contexts.
14501func (c *SSM) UpdateDocumentWithContext(ctx aws.Context, input *UpdateDocumentInput, opts ...request.Option) (*UpdateDocumentOutput, error) {
14502	req, out := c.UpdateDocumentRequest(input)
14503	req.SetContext(ctx)
14504	req.ApplyOptions(opts...)
14505	return out, req.Send()
14506}
14507
14508const opUpdateDocumentDefaultVersion = "UpdateDocumentDefaultVersion"
14509
14510// UpdateDocumentDefaultVersionRequest generates a "aws/request.Request" representing the
14511// client's request for the UpdateDocumentDefaultVersion operation. The "output" return
14512// value will be populated with the request's response once the request completes
14513// successfully.
14514//
14515// Use "Send" method on the returned Request to send the API call to the service.
14516// the "output" return value is not valid until after Send returns without error.
14517//
14518// See UpdateDocumentDefaultVersion for more information on using the UpdateDocumentDefaultVersion
14519// API call, and error handling.
14520//
14521// This method is useful when you want to inject custom logic or configuration
14522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14523//
14524//
14525//    // Example sending a request using the UpdateDocumentDefaultVersionRequest method.
14526//    req, resp := client.UpdateDocumentDefaultVersionRequest(params)
14527//
14528//    err := req.Send()
14529//    if err == nil { // resp is now filled
14530//        fmt.Println(resp)
14531//    }
14532//
14533// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
14534func (c *SSM) UpdateDocumentDefaultVersionRequest(input *UpdateDocumentDefaultVersionInput) (req *request.Request, output *UpdateDocumentDefaultVersionOutput) {
14535	op := &request.Operation{
14536		Name:       opUpdateDocumentDefaultVersion,
14537		HTTPMethod: "POST",
14538		HTTPPath:   "/",
14539	}
14540
14541	if input == nil {
14542		input = &UpdateDocumentDefaultVersionInput{}
14543	}
14544
14545	output = &UpdateDocumentDefaultVersionOutput{}
14546	req = c.newRequest(op, input, output)
14547	return
14548}
14549
14550// UpdateDocumentDefaultVersion API operation for Amazon Simple Systems Manager (SSM).
14551//
14552// Set the default version of a document.
14553//
14554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14555// with awserr.Error's Code and Message methods to get detailed information about
14556// the error.
14557//
14558// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14559// API operation UpdateDocumentDefaultVersion for usage and error information.
14560//
14561// Returned Error Types:
14562//   * InternalServerError
14563//   An error occurred on the server side.
14564//
14565//   * InvalidDocument
14566//   The specified SSM document doesn't exist.
14567//
14568//   * InvalidDocumentVersion
14569//   The document version isn't valid or doesn't exist.
14570//
14571//   * InvalidDocumentSchemaVersion
14572//   The version of the document schema isn't supported.
14573//
14574// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion
14575func (c *SSM) UpdateDocumentDefaultVersion(input *UpdateDocumentDefaultVersionInput) (*UpdateDocumentDefaultVersionOutput, error) {
14576	req, out := c.UpdateDocumentDefaultVersionRequest(input)
14577	return out, req.Send()
14578}
14579
14580// UpdateDocumentDefaultVersionWithContext is the same as UpdateDocumentDefaultVersion with the addition of
14581// the ability to pass a context and additional request options.
14582//
14583// See UpdateDocumentDefaultVersion for details on how to use this API operation.
14584//
14585// The context must be non-nil and will be used for request cancellation. If
14586// the context is nil a panic will occur. In the future the SDK may create
14587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14588// for more information on using Contexts.
14589func (c *SSM) UpdateDocumentDefaultVersionWithContext(ctx aws.Context, input *UpdateDocumentDefaultVersionInput, opts ...request.Option) (*UpdateDocumentDefaultVersionOutput, error) {
14590	req, out := c.UpdateDocumentDefaultVersionRequest(input)
14591	req.SetContext(ctx)
14592	req.ApplyOptions(opts...)
14593	return out, req.Send()
14594}
14595
14596const opUpdateDocumentMetadata = "UpdateDocumentMetadata"
14597
14598// UpdateDocumentMetadataRequest generates a "aws/request.Request" representing the
14599// client's request for the UpdateDocumentMetadata operation. The "output" return
14600// value will be populated with the request's response once the request completes
14601// successfully.
14602//
14603// Use "Send" method on the returned Request to send the API call to the service.
14604// the "output" return value is not valid until after Send returns without error.
14605//
14606// See UpdateDocumentMetadata for more information on using the UpdateDocumentMetadata
14607// API call, and error handling.
14608//
14609// This method is useful when you want to inject custom logic or configuration
14610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14611//
14612//
14613//    // Example sending a request using the UpdateDocumentMetadataRequest method.
14614//    req, resp := client.UpdateDocumentMetadataRequest(params)
14615//
14616//    err := req.Send()
14617//    if err == nil { // resp is now filled
14618//        fmt.Println(resp)
14619//    }
14620//
14621// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentMetadata
14622func (c *SSM) UpdateDocumentMetadataRequest(input *UpdateDocumentMetadataInput) (req *request.Request, output *UpdateDocumentMetadataOutput) {
14623	op := &request.Operation{
14624		Name:       opUpdateDocumentMetadata,
14625		HTTPMethod: "POST",
14626		HTTPPath:   "/",
14627	}
14628
14629	if input == nil {
14630		input = &UpdateDocumentMetadataInput{}
14631	}
14632
14633	output = &UpdateDocumentMetadataOutput{}
14634	req = c.newRequest(op, input, output)
14635	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
14636	return
14637}
14638
14639// UpdateDocumentMetadata API operation for Amazon Simple Systems Manager (SSM).
14640//
14641// Updates information related to approval reviews for a specific version of
14642// a change template in Change Manager.
14643//
14644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14645// with awserr.Error's Code and Message methods to get detailed information about
14646// the error.
14647//
14648// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14649// API operation UpdateDocumentMetadata for usage and error information.
14650//
14651// Returned Error Types:
14652//   * InternalServerError
14653//   An error occurred on the server side.
14654//
14655//   * InvalidDocument
14656//   The specified SSM document doesn't exist.
14657//
14658//   * InvalidDocumentOperation
14659//   You attempted to delete a document while it is still shared. You must stop
14660//   sharing the document before you can delete it.
14661//
14662//   * InvalidDocumentVersion
14663//   The document version isn't valid or doesn't exist.
14664//
14665// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentMetadata
14666func (c *SSM) UpdateDocumentMetadata(input *UpdateDocumentMetadataInput) (*UpdateDocumentMetadataOutput, error) {
14667	req, out := c.UpdateDocumentMetadataRequest(input)
14668	return out, req.Send()
14669}
14670
14671// UpdateDocumentMetadataWithContext is the same as UpdateDocumentMetadata with the addition of
14672// the ability to pass a context and additional request options.
14673//
14674// See UpdateDocumentMetadata for details on how to use this API operation.
14675//
14676// The context must be non-nil and will be used for request cancellation. If
14677// the context is nil a panic will occur. In the future the SDK may create
14678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14679// for more information on using Contexts.
14680func (c *SSM) UpdateDocumentMetadataWithContext(ctx aws.Context, input *UpdateDocumentMetadataInput, opts ...request.Option) (*UpdateDocumentMetadataOutput, error) {
14681	req, out := c.UpdateDocumentMetadataRequest(input)
14682	req.SetContext(ctx)
14683	req.ApplyOptions(opts...)
14684	return out, req.Send()
14685}
14686
14687const opUpdateMaintenanceWindow = "UpdateMaintenanceWindow"
14688
14689// UpdateMaintenanceWindowRequest generates a "aws/request.Request" representing the
14690// client's request for the UpdateMaintenanceWindow operation. The "output" return
14691// value will be populated with the request's response once the request completes
14692// successfully.
14693//
14694// Use "Send" method on the returned Request to send the API call to the service.
14695// the "output" return value is not valid until after Send returns without error.
14696//
14697// See UpdateMaintenanceWindow for more information on using the UpdateMaintenanceWindow
14698// API call, and error handling.
14699//
14700// This method is useful when you want to inject custom logic or configuration
14701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14702//
14703//
14704//    // Example sending a request using the UpdateMaintenanceWindowRequest method.
14705//    req, resp := client.UpdateMaintenanceWindowRequest(params)
14706//
14707//    err := req.Send()
14708//    if err == nil { // resp is now filled
14709//        fmt.Println(resp)
14710//    }
14711//
14712// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
14713func (c *SSM) UpdateMaintenanceWindowRequest(input *UpdateMaintenanceWindowInput) (req *request.Request, output *UpdateMaintenanceWindowOutput) {
14714	op := &request.Operation{
14715		Name:       opUpdateMaintenanceWindow,
14716		HTTPMethod: "POST",
14717		HTTPPath:   "/",
14718	}
14719
14720	if input == nil {
14721		input = &UpdateMaintenanceWindowInput{}
14722	}
14723
14724	output = &UpdateMaintenanceWindowOutput{}
14725	req = c.newRequest(op, input, output)
14726	return
14727}
14728
14729// UpdateMaintenanceWindow API operation for Amazon Simple Systems Manager (SSM).
14730//
14731// Updates an existing maintenance window. Only specified parameters are modified.
14732//
14733// The value you specify for Duration determines the specific end time for the
14734// maintenance window based on the time it begins. No maintenance window tasks
14735// are permitted to start after the resulting endtime minus the number of hours
14736// you specify for Cutoff. For example, if the maintenance window starts at
14737// 3 PM, the duration is three hours, and the value you specify for Cutoff is
14738// one hour, no maintenance window tasks can start after 5 PM.
14739//
14740// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14741// with awserr.Error's Code and Message methods to get detailed information about
14742// the error.
14743//
14744// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14745// API operation UpdateMaintenanceWindow for usage and error information.
14746//
14747// Returned Error Types:
14748//   * DoesNotExistException
14749//   Error returned when the ID specified for a resource, such as a maintenance
14750//   window or patch baseline, doesn't exist.
14751//
14752//   For information about resource quotas in Amazon Web Services Systems Manager,
14753//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
14754//   in the Amazon Web Services General Reference.
14755//
14756//   * InternalServerError
14757//   An error occurred on the server side.
14758//
14759// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow
14760func (c *SSM) UpdateMaintenanceWindow(input *UpdateMaintenanceWindowInput) (*UpdateMaintenanceWindowOutput, error) {
14761	req, out := c.UpdateMaintenanceWindowRequest(input)
14762	return out, req.Send()
14763}
14764
14765// UpdateMaintenanceWindowWithContext is the same as UpdateMaintenanceWindow with the addition of
14766// the ability to pass a context and additional request options.
14767//
14768// See UpdateMaintenanceWindow for details on how to use this API operation.
14769//
14770// The context must be non-nil and will be used for request cancellation. If
14771// the context is nil a panic will occur. In the future the SDK may create
14772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14773// for more information on using Contexts.
14774func (c *SSM) UpdateMaintenanceWindowWithContext(ctx aws.Context, input *UpdateMaintenanceWindowInput, opts ...request.Option) (*UpdateMaintenanceWindowOutput, error) {
14775	req, out := c.UpdateMaintenanceWindowRequest(input)
14776	req.SetContext(ctx)
14777	req.ApplyOptions(opts...)
14778	return out, req.Send()
14779}
14780
14781const opUpdateMaintenanceWindowTarget = "UpdateMaintenanceWindowTarget"
14782
14783// UpdateMaintenanceWindowTargetRequest generates a "aws/request.Request" representing the
14784// client's request for the UpdateMaintenanceWindowTarget operation. The "output" return
14785// value will be populated with the request's response once the request completes
14786// successfully.
14787//
14788// Use "Send" method on the returned Request to send the API call to the service.
14789// the "output" return value is not valid until after Send returns without error.
14790//
14791// See UpdateMaintenanceWindowTarget for more information on using the UpdateMaintenanceWindowTarget
14792// API call, and error handling.
14793//
14794// This method is useful when you want to inject custom logic or configuration
14795// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14796//
14797//
14798//    // Example sending a request using the UpdateMaintenanceWindowTargetRequest method.
14799//    req, resp := client.UpdateMaintenanceWindowTargetRequest(params)
14800//
14801//    err := req.Send()
14802//    if err == nil { // resp is now filled
14803//        fmt.Println(resp)
14804//    }
14805//
14806// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
14807func (c *SSM) UpdateMaintenanceWindowTargetRequest(input *UpdateMaintenanceWindowTargetInput) (req *request.Request, output *UpdateMaintenanceWindowTargetOutput) {
14808	op := &request.Operation{
14809		Name:       opUpdateMaintenanceWindowTarget,
14810		HTTPMethod: "POST",
14811		HTTPPath:   "/",
14812	}
14813
14814	if input == nil {
14815		input = &UpdateMaintenanceWindowTargetInput{}
14816	}
14817
14818	output = &UpdateMaintenanceWindowTargetOutput{}
14819	req = c.newRequest(op, input, output)
14820	return
14821}
14822
14823// UpdateMaintenanceWindowTarget API operation for Amazon Simple Systems Manager (SSM).
14824//
14825// Modifies the target of an existing maintenance window. You can change the
14826// following:
14827//
14828//    * Name
14829//
14830//    * Description
14831//
14832//    * Owner
14833//
14834//    * IDs for an ID target
14835//
14836//    * Tags for a Tag target
14837//
14838//    * From any supported tag type to another. The three supported tag types
14839//    are ID target, Tag target, and resource group. For more information, see
14840//    Target.
14841//
14842// If a parameter is null, then the corresponding field isn't modified.
14843//
14844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14845// with awserr.Error's Code and Message methods to get detailed information about
14846// the error.
14847//
14848// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14849// API operation UpdateMaintenanceWindowTarget for usage and error information.
14850//
14851// Returned Error Types:
14852//   * DoesNotExistException
14853//   Error returned when the ID specified for a resource, such as a maintenance
14854//   window or patch baseline, doesn't exist.
14855//
14856//   For information about resource quotas in Amazon Web Services Systems Manager,
14857//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
14858//   in the Amazon Web Services General Reference.
14859//
14860//   * InternalServerError
14861//   An error occurred on the server side.
14862//
14863// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget
14864func (c *SSM) UpdateMaintenanceWindowTarget(input *UpdateMaintenanceWindowTargetInput) (*UpdateMaintenanceWindowTargetOutput, error) {
14865	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
14866	return out, req.Send()
14867}
14868
14869// UpdateMaintenanceWindowTargetWithContext is the same as UpdateMaintenanceWindowTarget with the addition of
14870// the ability to pass a context and additional request options.
14871//
14872// See UpdateMaintenanceWindowTarget for details on how to use this API operation.
14873//
14874// The context must be non-nil and will be used for request cancellation. If
14875// the context is nil a panic will occur. In the future the SDK may create
14876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14877// for more information on using Contexts.
14878func (c *SSM) UpdateMaintenanceWindowTargetWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTargetInput, opts ...request.Option) (*UpdateMaintenanceWindowTargetOutput, error) {
14879	req, out := c.UpdateMaintenanceWindowTargetRequest(input)
14880	req.SetContext(ctx)
14881	req.ApplyOptions(opts...)
14882	return out, req.Send()
14883}
14884
14885const opUpdateMaintenanceWindowTask = "UpdateMaintenanceWindowTask"
14886
14887// UpdateMaintenanceWindowTaskRequest generates a "aws/request.Request" representing the
14888// client's request for the UpdateMaintenanceWindowTask operation. The "output" return
14889// value will be populated with the request's response once the request completes
14890// successfully.
14891//
14892// Use "Send" method on the returned Request to send the API call to the service.
14893// the "output" return value is not valid until after Send returns without error.
14894//
14895// See UpdateMaintenanceWindowTask for more information on using the UpdateMaintenanceWindowTask
14896// API call, and error handling.
14897//
14898// This method is useful when you want to inject custom logic or configuration
14899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14900//
14901//
14902//    // Example sending a request using the UpdateMaintenanceWindowTaskRequest method.
14903//    req, resp := client.UpdateMaintenanceWindowTaskRequest(params)
14904//
14905//    err := req.Send()
14906//    if err == nil { // resp is now filled
14907//        fmt.Println(resp)
14908//    }
14909//
14910// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
14911func (c *SSM) UpdateMaintenanceWindowTaskRequest(input *UpdateMaintenanceWindowTaskInput) (req *request.Request, output *UpdateMaintenanceWindowTaskOutput) {
14912	op := &request.Operation{
14913		Name:       opUpdateMaintenanceWindowTask,
14914		HTTPMethod: "POST",
14915		HTTPPath:   "/",
14916	}
14917
14918	if input == nil {
14919		input = &UpdateMaintenanceWindowTaskInput{}
14920	}
14921
14922	output = &UpdateMaintenanceWindowTaskOutput{}
14923	req = c.newRequest(op, input, output)
14924	return
14925}
14926
14927// UpdateMaintenanceWindowTask API operation for Amazon Simple Systems Manager (SSM).
14928//
14929// Modifies a task assigned to a maintenance window. You can't change the task
14930// type, but you can change the following values:
14931//
14932//    * TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript
14933//    to AWS-RunShellScript.
14934//
14935//    * ServiceRoleArn
14936//
14937//    * TaskInvocationParameters
14938//
14939//    * Priority
14940//
14941//    * MaxConcurrency
14942//
14943//    * MaxErrors
14944//
14945// One or more targets must be specified for maintenance window Run Command-type
14946// tasks. Depending on the task, targets are optional for other maintenance
14947// window task types (Automation, Lambda, and Step Functions). For more information
14948// about running tasks that don't specify targets, see Registering maintenance
14949// window tasks without targets (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html)
14950// in the Amazon Web Services Systems Manager User Guide.
14951//
14952// If the value for a parameter in UpdateMaintenanceWindowTask is null, then
14953// the corresponding field isn't modified. If you set Replace to true, then
14954// all fields required by the RegisterTaskWithMaintenanceWindow operation are
14955// required for this request. Optional fields that aren't specified are set
14956// to null.
14957//
14958// When you update a maintenance window task that has options specified in TaskInvocationParameters,
14959// you must provide again all the TaskInvocationParameters values that you want
14960// to retain. The values you don't specify again are removed. For example, suppose
14961// that when you registered a Run Command task, you specified TaskInvocationParameters
14962// values for Comment, NotificationConfig, and OutputS3BucketName. If you update
14963// the maintenance window task and specify only a different OutputS3BucketName
14964// value, the values for Comment and NotificationConfig are removed.
14965//
14966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14967// with awserr.Error's Code and Message methods to get detailed information about
14968// the error.
14969//
14970// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
14971// API operation UpdateMaintenanceWindowTask for usage and error information.
14972//
14973// Returned Error Types:
14974//   * DoesNotExistException
14975//   Error returned when the ID specified for a resource, such as a maintenance
14976//   window or patch baseline, doesn't exist.
14977//
14978//   For information about resource quotas in Amazon Web Services Systems Manager,
14979//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
14980//   in the Amazon Web Services General Reference.
14981//
14982//   * InternalServerError
14983//   An error occurred on the server side.
14984//
14985// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask
14986func (c *SSM) UpdateMaintenanceWindowTask(input *UpdateMaintenanceWindowTaskInput) (*UpdateMaintenanceWindowTaskOutput, error) {
14987	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
14988	return out, req.Send()
14989}
14990
14991// UpdateMaintenanceWindowTaskWithContext is the same as UpdateMaintenanceWindowTask with the addition of
14992// the ability to pass a context and additional request options.
14993//
14994// See UpdateMaintenanceWindowTask for details on how to use this API operation.
14995//
14996// The context must be non-nil and will be used for request cancellation. If
14997// the context is nil a panic will occur. In the future the SDK may create
14998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14999// for more information on using Contexts.
15000func (c *SSM) UpdateMaintenanceWindowTaskWithContext(ctx aws.Context, input *UpdateMaintenanceWindowTaskInput, opts ...request.Option) (*UpdateMaintenanceWindowTaskOutput, error) {
15001	req, out := c.UpdateMaintenanceWindowTaskRequest(input)
15002	req.SetContext(ctx)
15003	req.ApplyOptions(opts...)
15004	return out, req.Send()
15005}
15006
15007const opUpdateManagedInstanceRole = "UpdateManagedInstanceRole"
15008
15009// UpdateManagedInstanceRoleRequest generates a "aws/request.Request" representing the
15010// client's request for the UpdateManagedInstanceRole operation. The "output" return
15011// value will be populated with the request's response once the request completes
15012// successfully.
15013//
15014// Use "Send" method on the returned Request to send the API call to the service.
15015// the "output" return value is not valid until after Send returns without error.
15016//
15017// See UpdateManagedInstanceRole for more information on using the UpdateManagedInstanceRole
15018// API call, and error handling.
15019//
15020// This method is useful when you want to inject custom logic or configuration
15021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15022//
15023//
15024//    // Example sending a request using the UpdateManagedInstanceRoleRequest method.
15025//    req, resp := client.UpdateManagedInstanceRoleRequest(params)
15026//
15027//    err := req.Send()
15028//    if err == nil { // resp is now filled
15029//        fmt.Println(resp)
15030//    }
15031//
15032// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
15033func (c *SSM) UpdateManagedInstanceRoleRequest(input *UpdateManagedInstanceRoleInput) (req *request.Request, output *UpdateManagedInstanceRoleOutput) {
15034	op := &request.Operation{
15035		Name:       opUpdateManagedInstanceRole,
15036		HTTPMethod: "POST",
15037		HTTPPath:   "/",
15038	}
15039
15040	if input == nil {
15041		input = &UpdateManagedInstanceRoleInput{}
15042	}
15043
15044	output = &UpdateManagedInstanceRoleOutput{}
15045	req = c.newRequest(op, input, output)
15046	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15047	return
15048}
15049
15050// UpdateManagedInstanceRole API operation for Amazon Simple Systems Manager (SSM).
15051//
15052// Changes the Identity and Access Management (IAM) role that is assigned to
15053// the on-premises instance or virtual machines (VM). IAM roles are first assigned
15054// to these hybrid instances during the activation process. For more information,
15055// see CreateActivation.
15056//
15057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15058// with awserr.Error's Code and Message methods to get detailed information about
15059// the error.
15060//
15061// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15062// API operation UpdateManagedInstanceRole for usage and error information.
15063//
15064// Returned Error Types:
15065//   * InvalidInstanceId
15066//   The following problems can cause this exception:
15067//
15068//      * You don't have permission to access the instance.
15069//
15070//      * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
15071//      Verify that SSM Agent is running.
15072//
15073//      * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
15074//      Agent.
15075//
15076//      * The instance isn't in valid state. Valid states are: Running, Pending,
15077//      Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
15078//
15079//   * InternalServerError
15080//   An error occurred on the server side.
15081//
15082// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole
15083func (c *SSM) UpdateManagedInstanceRole(input *UpdateManagedInstanceRoleInput) (*UpdateManagedInstanceRoleOutput, error) {
15084	req, out := c.UpdateManagedInstanceRoleRequest(input)
15085	return out, req.Send()
15086}
15087
15088// UpdateManagedInstanceRoleWithContext is the same as UpdateManagedInstanceRole with the addition of
15089// the ability to pass a context and additional request options.
15090//
15091// See UpdateManagedInstanceRole for details on how to use this API operation.
15092//
15093// The context must be non-nil and will be used for request cancellation. If
15094// the context is nil a panic will occur. In the future the SDK may create
15095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15096// for more information on using Contexts.
15097func (c *SSM) UpdateManagedInstanceRoleWithContext(ctx aws.Context, input *UpdateManagedInstanceRoleInput, opts ...request.Option) (*UpdateManagedInstanceRoleOutput, error) {
15098	req, out := c.UpdateManagedInstanceRoleRequest(input)
15099	req.SetContext(ctx)
15100	req.ApplyOptions(opts...)
15101	return out, req.Send()
15102}
15103
15104const opUpdateOpsItem = "UpdateOpsItem"
15105
15106// UpdateOpsItemRequest generates a "aws/request.Request" representing the
15107// client's request for the UpdateOpsItem operation. The "output" return
15108// value will be populated with the request's response once the request completes
15109// successfully.
15110//
15111// Use "Send" method on the returned Request to send the API call to the service.
15112// the "output" return value is not valid until after Send returns without error.
15113//
15114// See UpdateOpsItem for more information on using the UpdateOpsItem
15115// API call, and error handling.
15116//
15117// This method is useful when you want to inject custom logic or configuration
15118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15119//
15120//
15121//    // Example sending a request using the UpdateOpsItemRequest method.
15122//    req, resp := client.UpdateOpsItemRequest(params)
15123//
15124//    err := req.Send()
15125//    if err == nil { // resp is now filled
15126//        fmt.Println(resp)
15127//    }
15128//
15129// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
15130func (c *SSM) UpdateOpsItemRequest(input *UpdateOpsItemInput) (req *request.Request, output *UpdateOpsItemOutput) {
15131	op := &request.Operation{
15132		Name:       opUpdateOpsItem,
15133		HTTPMethod: "POST",
15134		HTTPPath:   "/",
15135	}
15136
15137	if input == nil {
15138		input = &UpdateOpsItemInput{}
15139	}
15140
15141	output = &UpdateOpsItemOutput{}
15142	req = c.newRequest(op, input, output)
15143	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15144	return
15145}
15146
15147// UpdateOpsItem API operation for Amazon Simple Systems Manager (SSM).
15148//
15149// Edit or change an OpsItem. You must have permission in Identity and Access
15150// Management (IAM) to update an OpsItem. For more information, see Getting
15151// started with OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html)
15152// in the Amazon Web Services Systems Manager User Guide.
15153//
15154// Operations engineers and IT professionals use Amazon Web Services Systems
15155// Manager OpsCenter to view, investigate, and remediate operational issues
15156// impacting the performance and health of their Amazon Web Services resources.
15157// For more information, see OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
15158// in the Amazon Web Services Systems Manager User Guide.
15159//
15160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15161// with awserr.Error's Code and Message methods to get detailed information about
15162// the error.
15163//
15164// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15165// API operation UpdateOpsItem for usage and error information.
15166//
15167// Returned Error Types:
15168//   * InternalServerError
15169//   An error occurred on the server side.
15170//
15171//   * OpsItemNotFoundException
15172//   The specified OpsItem ID doesn't exist. Verify the ID and try again.
15173//
15174//   * OpsItemAlreadyExistsException
15175//   The OpsItem already exists.
15176//
15177//   * OpsItemLimitExceededException
15178//   The request caused OpsItems to exceed one or more quotas. For information
15179//   about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
15180//
15181//   * OpsItemInvalidParameterException
15182//   A specified parameter argument isn't valid. Verify the available arguments
15183//   and try again.
15184//
15185// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem
15186func (c *SSM) UpdateOpsItem(input *UpdateOpsItemInput) (*UpdateOpsItemOutput, error) {
15187	req, out := c.UpdateOpsItemRequest(input)
15188	return out, req.Send()
15189}
15190
15191// UpdateOpsItemWithContext is the same as UpdateOpsItem with the addition of
15192// the ability to pass a context and additional request options.
15193//
15194// See UpdateOpsItem for details on how to use this API operation.
15195//
15196// The context must be non-nil and will be used for request cancellation. If
15197// the context is nil a panic will occur. In the future the SDK may create
15198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15199// for more information on using Contexts.
15200func (c *SSM) UpdateOpsItemWithContext(ctx aws.Context, input *UpdateOpsItemInput, opts ...request.Option) (*UpdateOpsItemOutput, error) {
15201	req, out := c.UpdateOpsItemRequest(input)
15202	req.SetContext(ctx)
15203	req.ApplyOptions(opts...)
15204	return out, req.Send()
15205}
15206
15207const opUpdateOpsMetadata = "UpdateOpsMetadata"
15208
15209// UpdateOpsMetadataRequest generates a "aws/request.Request" representing the
15210// client's request for the UpdateOpsMetadata operation. The "output" return
15211// value will be populated with the request's response once the request completes
15212// successfully.
15213//
15214// Use "Send" method on the returned Request to send the API call to the service.
15215// the "output" return value is not valid until after Send returns without error.
15216//
15217// See UpdateOpsMetadata for more information on using the UpdateOpsMetadata
15218// API call, and error handling.
15219//
15220// This method is useful when you want to inject custom logic or configuration
15221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15222//
15223//
15224//    // Example sending a request using the UpdateOpsMetadataRequest method.
15225//    req, resp := client.UpdateOpsMetadataRequest(params)
15226//
15227//    err := req.Send()
15228//    if err == nil { // resp is now filled
15229//        fmt.Println(resp)
15230//    }
15231//
15232// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsMetadata
15233func (c *SSM) UpdateOpsMetadataRequest(input *UpdateOpsMetadataInput) (req *request.Request, output *UpdateOpsMetadataOutput) {
15234	op := &request.Operation{
15235		Name:       opUpdateOpsMetadata,
15236		HTTPMethod: "POST",
15237		HTTPPath:   "/",
15238	}
15239
15240	if input == nil {
15241		input = &UpdateOpsMetadataInput{}
15242	}
15243
15244	output = &UpdateOpsMetadataOutput{}
15245	req = c.newRequest(op, input, output)
15246	return
15247}
15248
15249// UpdateOpsMetadata API operation for Amazon Simple Systems Manager (SSM).
15250//
15251// Amazon Web Services Systems Manager calls this API operation when you edit
15252// OpsMetadata in Application Manager.
15253//
15254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15255// with awserr.Error's Code and Message methods to get detailed information about
15256// the error.
15257//
15258// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15259// API operation UpdateOpsMetadata for usage and error information.
15260//
15261// Returned Error Types:
15262//   * OpsMetadataNotFoundException
15263//   The OpsMetadata object doesn't exist.
15264//
15265//   * OpsMetadataInvalidArgumentException
15266//   One of the arguments passed is invalid.
15267//
15268//   * OpsMetadataKeyLimitExceededException
15269//   The OpsMetadata object exceeds the maximum number of OpsMetadata keys that
15270//   you can assign to an application in Application Manager.
15271//
15272//   * OpsMetadataTooManyUpdatesException
15273//   The system is processing too many concurrent updates. Wait a few moments
15274//   and try again.
15275//
15276//   * InternalServerError
15277//   An error occurred on the server side.
15278//
15279// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsMetadata
15280func (c *SSM) UpdateOpsMetadata(input *UpdateOpsMetadataInput) (*UpdateOpsMetadataOutput, error) {
15281	req, out := c.UpdateOpsMetadataRequest(input)
15282	return out, req.Send()
15283}
15284
15285// UpdateOpsMetadataWithContext is the same as UpdateOpsMetadata with the addition of
15286// the ability to pass a context and additional request options.
15287//
15288// See UpdateOpsMetadata for details on how to use this API operation.
15289//
15290// The context must be non-nil and will be used for request cancellation. If
15291// the context is nil a panic will occur. In the future the SDK may create
15292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15293// for more information on using Contexts.
15294func (c *SSM) UpdateOpsMetadataWithContext(ctx aws.Context, input *UpdateOpsMetadataInput, opts ...request.Option) (*UpdateOpsMetadataOutput, error) {
15295	req, out := c.UpdateOpsMetadataRequest(input)
15296	req.SetContext(ctx)
15297	req.ApplyOptions(opts...)
15298	return out, req.Send()
15299}
15300
15301const opUpdatePatchBaseline = "UpdatePatchBaseline"
15302
15303// UpdatePatchBaselineRequest generates a "aws/request.Request" representing the
15304// client's request for the UpdatePatchBaseline operation. The "output" return
15305// value will be populated with the request's response once the request completes
15306// successfully.
15307//
15308// Use "Send" method on the returned Request to send the API call to the service.
15309// the "output" return value is not valid until after Send returns without error.
15310//
15311// See UpdatePatchBaseline for more information on using the UpdatePatchBaseline
15312// API call, and error handling.
15313//
15314// This method is useful when you want to inject custom logic or configuration
15315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15316//
15317//
15318//    // Example sending a request using the UpdatePatchBaselineRequest method.
15319//    req, resp := client.UpdatePatchBaselineRequest(params)
15320//
15321//    err := req.Send()
15322//    if err == nil { // resp is now filled
15323//        fmt.Println(resp)
15324//    }
15325//
15326// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
15327func (c *SSM) UpdatePatchBaselineRequest(input *UpdatePatchBaselineInput) (req *request.Request, output *UpdatePatchBaselineOutput) {
15328	op := &request.Operation{
15329		Name:       opUpdatePatchBaseline,
15330		HTTPMethod: "POST",
15331		HTTPPath:   "/",
15332	}
15333
15334	if input == nil {
15335		input = &UpdatePatchBaselineInput{}
15336	}
15337
15338	output = &UpdatePatchBaselineOutput{}
15339	req = c.newRequest(op, input, output)
15340	return
15341}
15342
15343// UpdatePatchBaseline API operation for Amazon Simple Systems Manager (SSM).
15344//
15345// Modifies an existing patch baseline. Fields not specified in the request
15346// are left unchanged.
15347//
15348// For information about valid key-value pairs in PatchFilters for each supported
15349// operating system type, see PatchFilter.
15350//
15351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15352// with awserr.Error's Code and Message methods to get detailed information about
15353// the error.
15354//
15355// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15356// API operation UpdatePatchBaseline for usage and error information.
15357//
15358// Returned Error Types:
15359//   * DoesNotExistException
15360//   Error returned when the ID specified for a resource, such as a maintenance
15361//   window or patch baseline, doesn't exist.
15362//
15363//   For information about resource quotas in Amazon Web Services Systems Manager,
15364//   see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
15365//   in the Amazon Web Services General Reference.
15366//
15367//   * InternalServerError
15368//   An error occurred on the server side.
15369//
15370// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline
15371func (c *SSM) UpdatePatchBaseline(input *UpdatePatchBaselineInput) (*UpdatePatchBaselineOutput, error) {
15372	req, out := c.UpdatePatchBaselineRequest(input)
15373	return out, req.Send()
15374}
15375
15376// UpdatePatchBaselineWithContext is the same as UpdatePatchBaseline with the addition of
15377// the ability to pass a context and additional request options.
15378//
15379// See UpdatePatchBaseline for details on how to use this API operation.
15380//
15381// The context must be non-nil and will be used for request cancellation. If
15382// the context is nil a panic will occur. In the future the SDK may create
15383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15384// for more information on using Contexts.
15385func (c *SSM) UpdatePatchBaselineWithContext(ctx aws.Context, input *UpdatePatchBaselineInput, opts ...request.Option) (*UpdatePatchBaselineOutput, error) {
15386	req, out := c.UpdatePatchBaselineRequest(input)
15387	req.SetContext(ctx)
15388	req.ApplyOptions(opts...)
15389	return out, req.Send()
15390}
15391
15392const opUpdateResourceDataSync = "UpdateResourceDataSync"
15393
15394// UpdateResourceDataSyncRequest generates a "aws/request.Request" representing the
15395// client's request for the UpdateResourceDataSync operation. The "output" return
15396// value will be populated with the request's response once the request completes
15397// successfully.
15398//
15399// Use "Send" method on the returned Request to send the API call to the service.
15400// the "output" return value is not valid until after Send returns without error.
15401//
15402// See UpdateResourceDataSync for more information on using the UpdateResourceDataSync
15403// API call, and error handling.
15404//
15405// This method is useful when you want to inject custom logic or configuration
15406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15407//
15408//
15409//    // Example sending a request using the UpdateResourceDataSyncRequest method.
15410//    req, resp := client.UpdateResourceDataSyncRequest(params)
15411//
15412//    err := req.Send()
15413//    if err == nil { // resp is now filled
15414//        fmt.Println(resp)
15415//    }
15416//
15417// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync
15418func (c *SSM) UpdateResourceDataSyncRequest(input *UpdateResourceDataSyncInput) (req *request.Request, output *UpdateResourceDataSyncOutput) {
15419	op := &request.Operation{
15420		Name:       opUpdateResourceDataSync,
15421		HTTPMethod: "POST",
15422		HTTPPath:   "/",
15423	}
15424
15425	if input == nil {
15426		input = &UpdateResourceDataSyncInput{}
15427	}
15428
15429	output = &UpdateResourceDataSyncOutput{}
15430	req = c.newRequest(op, input, output)
15431	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15432	return
15433}
15434
15435// UpdateResourceDataSync API operation for Amazon Simple Systems Manager (SSM).
15436//
15437// Update a resource data sync. After you create a resource data sync for a
15438// Region, you can't change the account options for that sync. For example,
15439// if you create a sync in the us-east-2 (Ohio) Region and you choose the Include
15440// only the current account option, you can't edit that sync later and choose
15441// the Include all accounts from my Organizations configuration option. Instead,
15442// you must delete the first resource data sync, and create a new one.
15443//
15444// This API operation only supports a resource data sync that was created with
15445// a SyncFromSource SyncType.
15446//
15447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15448// with awserr.Error's Code and Message methods to get detailed information about
15449// the error.
15450//
15451// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15452// API operation UpdateResourceDataSync for usage and error information.
15453//
15454// Returned Error Types:
15455//   * ResourceDataSyncNotFoundException
15456//   The specified sync name wasn't found.
15457//
15458//   * ResourceDataSyncInvalidConfigurationException
15459//   The specified sync configuration is invalid.
15460//
15461//   * ResourceDataSyncConflictException
15462//   Another UpdateResourceDataSync request is being processed. Wait a few minutes
15463//   and try again.
15464//
15465//   * InternalServerError
15466//   An error occurred on the server side.
15467//
15468// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync
15469func (c *SSM) UpdateResourceDataSync(input *UpdateResourceDataSyncInput) (*UpdateResourceDataSyncOutput, error) {
15470	req, out := c.UpdateResourceDataSyncRequest(input)
15471	return out, req.Send()
15472}
15473
15474// UpdateResourceDataSyncWithContext is the same as UpdateResourceDataSync with the addition of
15475// the ability to pass a context and additional request options.
15476//
15477// See UpdateResourceDataSync for details on how to use this API operation.
15478//
15479// The context must be non-nil and will be used for request cancellation. If
15480// the context is nil a panic will occur. In the future the SDK may create
15481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15482// for more information on using Contexts.
15483func (c *SSM) UpdateResourceDataSyncWithContext(ctx aws.Context, input *UpdateResourceDataSyncInput, opts ...request.Option) (*UpdateResourceDataSyncOutput, error) {
15484	req, out := c.UpdateResourceDataSyncRequest(input)
15485	req.SetContext(ctx)
15486	req.ApplyOptions(opts...)
15487	return out, req.Send()
15488}
15489
15490const opUpdateServiceSetting = "UpdateServiceSetting"
15491
15492// UpdateServiceSettingRequest generates a "aws/request.Request" representing the
15493// client's request for the UpdateServiceSetting operation. The "output" return
15494// value will be populated with the request's response once the request completes
15495// successfully.
15496//
15497// Use "Send" method on the returned Request to send the API call to the service.
15498// the "output" return value is not valid until after Send returns without error.
15499//
15500// See UpdateServiceSetting for more information on using the UpdateServiceSetting
15501// API call, and error handling.
15502//
15503// This method is useful when you want to inject custom logic or configuration
15504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15505//
15506//
15507//    // Example sending a request using the UpdateServiceSettingRequest method.
15508//    req, resp := client.UpdateServiceSettingRequest(params)
15509//
15510//    err := req.Send()
15511//    if err == nil { // resp is now filled
15512//        fmt.Println(resp)
15513//    }
15514//
15515// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
15516func (c *SSM) UpdateServiceSettingRequest(input *UpdateServiceSettingInput) (req *request.Request, output *UpdateServiceSettingOutput) {
15517	op := &request.Operation{
15518		Name:       opUpdateServiceSetting,
15519		HTTPMethod: "POST",
15520		HTTPPath:   "/",
15521	}
15522
15523	if input == nil {
15524		input = &UpdateServiceSettingInput{}
15525	}
15526
15527	output = &UpdateServiceSettingOutput{}
15528	req = c.newRequest(op, input, output)
15529	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
15530	return
15531}
15532
15533// UpdateServiceSetting API operation for Amazon Simple Systems Manager (SSM).
15534//
15535// ServiceSetting is an account-level setting for an Amazon Web Services service.
15536// This setting defines how a user interacts with or uses a service or a feature
15537// of a service. For example, if an Amazon Web Services service charges money
15538// to the account based on feature or service usage, then the Amazon Web Services
15539// service team might create a default setting of "false". This means the user
15540// can't use this feature unless they change the setting to "true" and intentionally
15541// opt in for a paid feature.
15542//
15543// Services map a SettingId object to a setting value. Amazon Web Services services
15544// teams define the default value for a SettingId. You can't create a new SettingId,
15545// but you can overwrite the default value if you have the ssm:UpdateServiceSetting
15546// permission for the setting. Use the GetServiceSetting API operation to view
15547// the current value. Or, use the ResetServiceSetting to change the value back
15548// to the original value defined by the Amazon Web Services service team.
15549//
15550// Update the service setting for the account.
15551//
15552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15553// with awserr.Error's Code and Message methods to get detailed information about
15554// the error.
15555//
15556// See the AWS API reference guide for Amazon Simple Systems Manager (SSM)'s
15557// API operation UpdateServiceSetting for usage and error information.
15558//
15559// Returned Error Types:
15560//   * InternalServerError
15561//   An error occurred on the server side.
15562//
15563//   * ServiceSettingNotFound
15564//   The specified service setting wasn't found. Either the service name or the
15565//   setting hasn't been provisioned by the Amazon Web Services service team.
15566//
15567//   * TooManyUpdates
15568//   There are concurrent updates for a resource that supports one update at a
15569//   time.
15570//
15571// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting
15572func (c *SSM) UpdateServiceSetting(input *UpdateServiceSettingInput) (*UpdateServiceSettingOutput, error) {
15573	req, out := c.UpdateServiceSettingRequest(input)
15574	return out, req.Send()
15575}
15576
15577// UpdateServiceSettingWithContext is the same as UpdateServiceSetting with the addition of
15578// the ability to pass a context and additional request options.
15579//
15580// See UpdateServiceSetting for details on how to use this API operation.
15581//
15582// The context must be non-nil and will be used for request cancellation. If
15583// the context is nil a panic will occur. In the future the SDK may create
15584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15585// for more information on using Contexts.
15586func (c *SSM) UpdateServiceSettingWithContext(ctx aws.Context, input *UpdateServiceSettingInput, opts ...request.Option) (*UpdateServiceSettingOutput, error) {
15587	req, out := c.UpdateServiceSettingRequest(input)
15588	req.SetContext(ctx)
15589	req.ApplyOptions(opts...)
15590	return out, req.Send()
15591}
15592
15593// Information includes the Amazon Web Services account ID where the current
15594// document is shared and the version shared with that account.
15595type AccountSharingInfo struct {
15596	_ struct{} `type:"structure"`
15597
15598	// The Amazon Web Services account ID where the current document is shared.
15599	AccountId *string `type:"string"`
15600
15601	// The version of the current document shared with the account.
15602	SharedDocumentVersion *string `type:"string"`
15603}
15604
15605// String returns the string representation.
15606//
15607// API parameter values that are decorated as "sensitive" in the API will not
15608// be included in the string output. The member name will be present, but the
15609// value will be replaced with "sensitive".
15610func (s AccountSharingInfo) String() string {
15611	return awsutil.Prettify(s)
15612}
15613
15614// GoString returns the string representation.
15615//
15616// API parameter values that are decorated as "sensitive" in the API will not
15617// be included in the string output. The member name will be present, but the
15618// value will be replaced with "sensitive".
15619func (s AccountSharingInfo) GoString() string {
15620	return s.String()
15621}
15622
15623// SetAccountId sets the AccountId field's value.
15624func (s *AccountSharingInfo) SetAccountId(v string) *AccountSharingInfo {
15625	s.AccountId = &v
15626	return s
15627}
15628
15629// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
15630func (s *AccountSharingInfo) SetSharedDocumentVersion(v string) *AccountSharingInfo {
15631	s.SharedDocumentVersion = &v
15632	return s
15633}
15634
15635// An activation registers one or more on-premises servers or virtual machines
15636// (VMs) with Amazon Web Services so that you can configure those servers or
15637// VMs using Run Command. A server or VM that has been registered with Amazon
15638// Web Services Systems Manager is called a managed instance.
15639type Activation struct {
15640	_ struct{} `type:"structure"`
15641
15642	// The ID created by Systems Manager when you submitted the activation.
15643	ActivationId *string `type:"string"`
15644
15645	// The date the activation was created.
15646	CreatedDate *time.Time `type:"timestamp"`
15647
15648	// A name for the managed instance when it is created.
15649	DefaultInstanceName *string `type:"string"`
15650
15651	// A user defined description of the activation.
15652	Description *string `type:"string"`
15653
15654	// The date when this activation can no longer be used to register managed instances.
15655	ExpirationDate *time.Time `type:"timestamp"`
15656
15657	// Whether or not the activation is expired.
15658	Expired *bool `type:"boolean"`
15659
15660	// The Identity and Access Management (IAM) role to assign to the managed instance.
15661	IamRole *string `type:"string"`
15662
15663	// The maximum number of managed instances that can be registered using this
15664	// activation.
15665	RegistrationLimit *int64 `min:"1" type:"integer"`
15666
15667	// The number of managed instances already registered with this activation.
15668	RegistrationsCount *int64 `min:"1" type:"integer"`
15669
15670	// Tags assigned to the activation.
15671	Tags []*Tag `type:"list"`
15672}
15673
15674// String returns the string representation.
15675//
15676// API parameter values that are decorated as "sensitive" in the API will not
15677// be included in the string output. The member name will be present, but the
15678// value will be replaced with "sensitive".
15679func (s Activation) String() string {
15680	return awsutil.Prettify(s)
15681}
15682
15683// GoString returns the string representation.
15684//
15685// API parameter values that are decorated as "sensitive" in the API will not
15686// be included in the string output. The member name will be present, but the
15687// value will be replaced with "sensitive".
15688func (s Activation) GoString() string {
15689	return s.String()
15690}
15691
15692// SetActivationId sets the ActivationId field's value.
15693func (s *Activation) SetActivationId(v string) *Activation {
15694	s.ActivationId = &v
15695	return s
15696}
15697
15698// SetCreatedDate sets the CreatedDate field's value.
15699func (s *Activation) SetCreatedDate(v time.Time) *Activation {
15700	s.CreatedDate = &v
15701	return s
15702}
15703
15704// SetDefaultInstanceName sets the DefaultInstanceName field's value.
15705func (s *Activation) SetDefaultInstanceName(v string) *Activation {
15706	s.DefaultInstanceName = &v
15707	return s
15708}
15709
15710// SetDescription sets the Description field's value.
15711func (s *Activation) SetDescription(v string) *Activation {
15712	s.Description = &v
15713	return s
15714}
15715
15716// SetExpirationDate sets the ExpirationDate field's value.
15717func (s *Activation) SetExpirationDate(v time.Time) *Activation {
15718	s.ExpirationDate = &v
15719	return s
15720}
15721
15722// SetExpired sets the Expired field's value.
15723func (s *Activation) SetExpired(v bool) *Activation {
15724	s.Expired = &v
15725	return s
15726}
15727
15728// SetIamRole sets the IamRole field's value.
15729func (s *Activation) SetIamRole(v string) *Activation {
15730	s.IamRole = &v
15731	return s
15732}
15733
15734// SetRegistrationLimit sets the RegistrationLimit field's value.
15735func (s *Activation) SetRegistrationLimit(v int64) *Activation {
15736	s.RegistrationLimit = &v
15737	return s
15738}
15739
15740// SetRegistrationsCount sets the RegistrationsCount field's value.
15741func (s *Activation) SetRegistrationsCount(v int64) *Activation {
15742	s.RegistrationsCount = &v
15743	return s
15744}
15745
15746// SetTags sets the Tags field's value.
15747func (s *Activation) SetTags(v []*Tag) *Activation {
15748	s.Tags = v
15749	return s
15750}
15751
15752type AddTagsToResourceInput struct {
15753	_ struct{} `type:"structure"`
15754
15755	// The resource ID you want to tag.
15756	//
15757	// Use the ID of the resource. Here are some examples:
15758	//
15759	// MaintenanceWindow: mw-012345abcde
15760	//
15761	// PatchBaseline: pb-012345abcde
15762	//
15763	// OpsMetadata object: ResourceID for tagging is created from the Amazon Resource
15764	// Name (ARN) for the object. Specifically, ResourceID is created from the strings
15765	// that come after the word opsmetadata in the ARN. For example, an OpsMetadata
15766	// object with an ARN of arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager
15767	// has a ResourceID of either aws/ssm/MyGroup/appmanager or /aws/ssm/MyGroup/appmanager.
15768	//
15769	// For the Document and Parameter values, use the name of the resource.
15770	//
15771	// ManagedInstance: mi-012345abcde
15772	//
15773	// The ManagedInstance type for this API operation is only for on-premises managed
15774	// instances. You must specify the name of the managed instance in the following
15775	// format: mi-ID_number . For example, mi-1a2b3c4d5e6f.
15776	//
15777	// ResourceId is a required field
15778	ResourceId *string `type:"string" required:"true"`
15779
15780	// Specifies the type of resource you are tagging.
15781	//
15782	// The ManagedInstance type for this API operation is for on-premises managed
15783	// instances. You must specify the name of the managed instance in the following
15784	// format: mi-ID_number . For example, mi-1a2b3c4d5e6f.
15785	//
15786	// ResourceType is a required field
15787	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
15788
15789	// One or more tags. The value parameter is required.
15790	//
15791	// Don't enter personally identifiable information in this field.
15792	//
15793	// Tags is a required field
15794	Tags []*Tag `type:"list" required:"true"`
15795}
15796
15797// String returns the string representation.
15798//
15799// API parameter values that are decorated as "sensitive" in the API will not
15800// be included in the string output. The member name will be present, but the
15801// value will be replaced with "sensitive".
15802func (s AddTagsToResourceInput) String() string {
15803	return awsutil.Prettify(s)
15804}
15805
15806// GoString returns the string representation.
15807//
15808// API parameter values that are decorated as "sensitive" in the API will not
15809// be included in the string output. The member name will be present, but the
15810// value will be replaced with "sensitive".
15811func (s AddTagsToResourceInput) GoString() string {
15812	return s.String()
15813}
15814
15815// Validate inspects the fields of the type to determine if they are valid.
15816func (s *AddTagsToResourceInput) Validate() error {
15817	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
15818	if s.ResourceId == nil {
15819		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
15820	}
15821	if s.ResourceType == nil {
15822		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
15823	}
15824	if s.Tags == nil {
15825		invalidParams.Add(request.NewErrParamRequired("Tags"))
15826	}
15827	if s.Tags != nil {
15828		for i, v := range s.Tags {
15829			if v == nil {
15830				continue
15831			}
15832			if err := v.Validate(); err != nil {
15833				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15834			}
15835		}
15836	}
15837
15838	if invalidParams.Len() > 0 {
15839		return invalidParams
15840	}
15841	return nil
15842}
15843
15844// SetResourceId sets the ResourceId field's value.
15845func (s *AddTagsToResourceInput) SetResourceId(v string) *AddTagsToResourceInput {
15846	s.ResourceId = &v
15847	return s
15848}
15849
15850// SetResourceType sets the ResourceType field's value.
15851func (s *AddTagsToResourceInput) SetResourceType(v string) *AddTagsToResourceInput {
15852	s.ResourceType = &v
15853	return s
15854}
15855
15856// SetTags sets the Tags field's value.
15857func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
15858	s.Tags = v
15859	return s
15860}
15861
15862type AddTagsToResourceOutput struct {
15863	_ struct{} `type:"structure"`
15864}
15865
15866// String returns the string representation.
15867//
15868// API parameter values that are decorated as "sensitive" in the API will not
15869// be included in the string output. The member name will be present, but the
15870// value will be replaced with "sensitive".
15871func (s AddTagsToResourceOutput) String() string {
15872	return awsutil.Prettify(s)
15873}
15874
15875// GoString returns the string representation.
15876//
15877// API parameter values that are decorated as "sensitive" in the API will not
15878// be included in the string output. The member name will be present, but the
15879// value will be replaced with "sensitive".
15880func (s AddTagsToResourceOutput) GoString() string {
15881	return s.String()
15882}
15883
15884// Error returned if an attempt is made to register a patch group with a patch
15885// baseline that is already registered with a different patch baseline.
15886type AlreadyExistsException struct {
15887	_            struct{}                  `type:"structure"`
15888	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15889
15890	Message_ *string `locationName:"Message" type:"string"`
15891}
15892
15893// String returns the string representation.
15894//
15895// API parameter values that are decorated as "sensitive" in the API will not
15896// be included in the string output. The member name will be present, but the
15897// value will be replaced with "sensitive".
15898func (s AlreadyExistsException) String() string {
15899	return awsutil.Prettify(s)
15900}
15901
15902// GoString returns the string representation.
15903//
15904// API parameter values that are decorated as "sensitive" in the API will not
15905// be included in the string output. The member name will be present, but the
15906// value will be replaced with "sensitive".
15907func (s AlreadyExistsException) GoString() string {
15908	return s.String()
15909}
15910
15911func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error {
15912	return &AlreadyExistsException{
15913		RespMetadata: v,
15914	}
15915}
15916
15917// Code returns the exception type name.
15918func (s *AlreadyExistsException) Code() string {
15919	return "AlreadyExistsException"
15920}
15921
15922// Message returns the exception's message.
15923func (s *AlreadyExistsException) Message() string {
15924	if s.Message_ != nil {
15925		return *s.Message_
15926	}
15927	return ""
15928}
15929
15930// OrigErr always returns nil, satisfies awserr.Error interface.
15931func (s *AlreadyExistsException) OrigErr() error {
15932	return nil
15933}
15934
15935func (s *AlreadyExistsException) Error() string {
15936	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15937}
15938
15939// Status code returns the HTTP status code for the request's response error.
15940func (s *AlreadyExistsException) StatusCode() int {
15941	return s.RespMetadata.StatusCode
15942}
15943
15944// RequestID returns the service's response RequestID for request.
15945func (s *AlreadyExistsException) RequestID() string {
15946	return s.RespMetadata.RequestID
15947}
15948
15949type AssociateOpsItemRelatedItemInput struct {
15950	_ struct{} `type:"structure"`
15951
15952	// The type of association that you want to create between an OpsItem and a
15953	// resource. OpsCenter supports IsParentOf and RelatesTo association types.
15954	//
15955	// AssociationType is a required field
15956	AssociationType *string `type:"string" required:"true"`
15957
15958	// The ID of the OpsItem to which you want to associate a resource as a related
15959	// item.
15960	//
15961	// OpsItemId is a required field
15962	OpsItemId *string `type:"string" required:"true"`
15963
15964	// The type of resource that you want to associate with an OpsItem. OpsCenter
15965	// supports the following types:
15966	//
15967	// AWS::SSMIncidents::IncidentRecord: an Incident Manager incident.
15968	//
15969	// AWS::SSM::Document: a Systems Manager (SSM) document.
15970	//
15971	// ResourceType is a required field
15972	ResourceType *string `type:"string" required:"true"`
15973
15974	// The Amazon Resource Name (ARN) of the Amazon Web Services resource that you
15975	// want to associate with the OpsItem.
15976	//
15977	// ResourceUri is a required field
15978	ResourceUri *string `type:"string" required:"true"`
15979}
15980
15981// String returns the string representation.
15982//
15983// API parameter values that are decorated as "sensitive" in the API will not
15984// be included in the string output. The member name will be present, but the
15985// value will be replaced with "sensitive".
15986func (s AssociateOpsItemRelatedItemInput) String() string {
15987	return awsutil.Prettify(s)
15988}
15989
15990// GoString returns the string representation.
15991//
15992// API parameter values that are decorated as "sensitive" in the API will not
15993// be included in the string output. The member name will be present, but the
15994// value will be replaced with "sensitive".
15995func (s AssociateOpsItemRelatedItemInput) GoString() string {
15996	return s.String()
15997}
15998
15999// Validate inspects the fields of the type to determine if they are valid.
16000func (s *AssociateOpsItemRelatedItemInput) Validate() error {
16001	invalidParams := request.ErrInvalidParams{Context: "AssociateOpsItemRelatedItemInput"}
16002	if s.AssociationType == nil {
16003		invalidParams.Add(request.NewErrParamRequired("AssociationType"))
16004	}
16005	if s.OpsItemId == nil {
16006		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
16007	}
16008	if s.ResourceType == nil {
16009		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
16010	}
16011	if s.ResourceUri == nil {
16012		invalidParams.Add(request.NewErrParamRequired("ResourceUri"))
16013	}
16014
16015	if invalidParams.Len() > 0 {
16016		return invalidParams
16017	}
16018	return nil
16019}
16020
16021// SetAssociationType sets the AssociationType field's value.
16022func (s *AssociateOpsItemRelatedItemInput) SetAssociationType(v string) *AssociateOpsItemRelatedItemInput {
16023	s.AssociationType = &v
16024	return s
16025}
16026
16027// SetOpsItemId sets the OpsItemId field's value.
16028func (s *AssociateOpsItemRelatedItemInput) SetOpsItemId(v string) *AssociateOpsItemRelatedItemInput {
16029	s.OpsItemId = &v
16030	return s
16031}
16032
16033// SetResourceType sets the ResourceType field's value.
16034func (s *AssociateOpsItemRelatedItemInput) SetResourceType(v string) *AssociateOpsItemRelatedItemInput {
16035	s.ResourceType = &v
16036	return s
16037}
16038
16039// SetResourceUri sets the ResourceUri field's value.
16040func (s *AssociateOpsItemRelatedItemInput) SetResourceUri(v string) *AssociateOpsItemRelatedItemInput {
16041	s.ResourceUri = &v
16042	return s
16043}
16044
16045type AssociateOpsItemRelatedItemOutput struct {
16046	_ struct{} `type:"structure"`
16047
16048	// The association ID.
16049	AssociationId *string `type:"string"`
16050}
16051
16052// String returns the string representation.
16053//
16054// API parameter values that are decorated as "sensitive" in the API will not
16055// be included in the string output. The member name will be present, but the
16056// value will be replaced with "sensitive".
16057func (s AssociateOpsItemRelatedItemOutput) String() string {
16058	return awsutil.Prettify(s)
16059}
16060
16061// GoString returns the string representation.
16062//
16063// API parameter values that are decorated as "sensitive" in the API will not
16064// be included in the string output. The member name will be present, but the
16065// value will be replaced with "sensitive".
16066func (s AssociateOpsItemRelatedItemOutput) GoString() string {
16067	return s.String()
16068}
16069
16070// SetAssociationId sets the AssociationId field's value.
16071func (s *AssociateOpsItemRelatedItemOutput) SetAssociationId(v string) *AssociateOpsItemRelatedItemOutput {
16072	s.AssociationId = &v
16073	return s
16074}
16075
16076// You must disassociate a document from all instances before you can delete
16077// it.
16078type AssociatedInstances struct {
16079	_            struct{}                  `type:"structure"`
16080	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16081
16082	Message_ *string `locationName:"message" type:"string"`
16083}
16084
16085// String returns the string representation.
16086//
16087// API parameter values that are decorated as "sensitive" in the API will not
16088// be included in the string output. The member name will be present, but the
16089// value will be replaced with "sensitive".
16090func (s AssociatedInstances) String() string {
16091	return awsutil.Prettify(s)
16092}
16093
16094// GoString returns the string representation.
16095//
16096// API parameter values that are decorated as "sensitive" in the API will not
16097// be included in the string output. The member name will be present, but the
16098// value will be replaced with "sensitive".
16099func (s AssociatedInstances) GoString() string {
16100	return s.String()
16101}
16102
16103func newErrorAssociatedInstances(v protocol.ResponseMetadata) error {
16104	return &AssociatedInstances{
16105		RespMetadata: v,
16106	}
16107}
16108
16109// Code returns the exception type name.
16110func (s *AssociatedInstances) Code() string {
16111	return "AssociatedInstances"
16112}
16113
16114// Message returns the exception's message.
16115func (s *AssociatedInstances) Message() string {
16116	if s.Message_ != nil {
16117		return *s.Message_
16118	}
16119	return ""
16120}
16121
16122// OrigErr always returns nil, satisfies awserr.Error interface.
16123func (s *AssociatedInstances) OrigErr() error {
16124	return nil
16125}
16126
16127func (s *AssociatedInstances) Error() string {
16128	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16129}
16130
16131// Status code returns the HTTP status code for the request's response error.
16132func (s *AssociatedInstances) StatusCode() int {
16133	return s.RespMetadata.StatusCode
16134}
16135
16136// RequestID returns the service's response RequestID for request.
16137func (s *AssociatedInstances) RequestID() string {
16138	return s.RespMetadata.RequestID
16139}
16140
16141// Describes an association of a Amazon Web Services Systems Manager document
16142// (SSM document) and an instance.
16143type Association struct {
16144	_ struct{} `type:"structure"`
16145
16146	// The ID created by the system when you create an association. An association
16147	// is a binding between a document and a set of targets with a schedule.
16148	AssociationId *string `type:"string"`
16149
16150	// The association name.
16151	AssociationName *string `type:"string"`
16152
16153	// The association version.
16154	AssociationVersion *string `type:"string"`
16155
16156	// The version of the document used in the association.
16157	DocumentVersion *string `type:"string"`
16158
16159	// The instance ID.
16160	InstanceId *string `type:"string"`
16161
16162	// The date on which the association was last run.
16163	LastExecutionDate *time.Time `type:"timestamp"`
16164
16165	// The name of the SSM document.
16166	Name *string `type:"string"`
16167
16168	// Information about the association.
16169	Overview *AssociationOverview `type:"structure"`
16170
16171	// A cron expression that specifies a schedule when the association runs. The
16172	// schedule runs in Coordinated Universal Time (UTC).
16173	ScheduleExpression *string `min:"1" type:"string"`
16174
16175	// The instances targeted by the request to create an association. You can target
16176	// all instances in an Amazon Web Services account by specifying the InstanceIds
16177	// key with a value of *.
16178	Targets []*Target `type:"list"`
16179}
16180
16181// String returns the string representation.
16182//
16183// API parameter values that are decorated as "sensitive" in the API will not
16184// be included in the string output. The member name will be present, but the
16185// value will be replaced with "sensitive".
16186func (s Association) String() string {
16187	return awsutil.Prettify(s)
16188}
16189
16190// GoString returns the string representation.
16191//
16192// API parameter values that are decorated as "sensitive" in the API will not
16193// be included in the string output. The member name will be present, but the
16194// value will be replaced with "sensitive".
16195func (s Association) GoString() string {
16196	return s.String()
16197}
16198
16199// SetAssociationId sets the AssociationId field's value.
16200func (s *Association) SetAssociationId(v string) *Association {
16201	s.AssociationId = &v
16202	return s
16203}
16204
16205// SetAssociationName sets the AssociationName field's value.
16206func (s *Association) SetAssociationName(v string) *Association {
16207	s.AssociationName = &v
16208	return s
16209}
16210
16211// SetAssociationVersion sets the AssociationVersion field's value.
16212func (s *Association) SetAssociationVersion(v string) *Association {
16213	s.AssociationVersion = &v
16214	return s
16215}
16216
16217// SetDocumentVersion sets the DocumentVersion field's value.
16218func (s *Association) SetDocumentVersion(v string) *Association {
16219	s.DocumentVersion = &v
16220	return s
16221}
16222
16223// SetInstanceId sets the InstanceId field's value.
16224func (s *Association) SetInstanceId(v string) *Association {
16225	s.InstanceId = &v
16226	return s
16227}
16228
16229// SetLastExecutionDate sets the LastExecutionDate field's value.
16230func (s *Association) SetLastExecutionDate(v time.Time) *Association {
16231	s.LastExecutionDate = &v
16232	return s
16233}
16234
16235// SetName sets the Name field's value.
16236func (s *Association) SetName(v string) *Association {
16237	s.Name = &v
16238	return s
16239}
16240
16241// SetOverview sets the Overview field's value.
16242func (s *Association) SetOverview(v *AssociationOverview) *Association {
16243	s.Overview = v
16244	return s
16245}
16246
16247// SetScheduleExpression sets the ScheduleExpression field's value.
16248func (s *Association) SetScheduleExpression(v string) *Association {
16249	s.ScheduleExpression = &v
16250	return s
16251}
16252
16253// SetTargets sets the Targets field's value.
16254func (s *Association) SetTargets(v []*Target) *Association {
16255	s.Targets = v
16256	return s
16257}
16258
16259// The specified association already exists.
16260type AssociationAlreadyExists struct {
16261	_            struct{}                  `type:"structure"`
16262	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16263
16264	Message_ *string `locationName:"message" type:"string"`
16265}
16266
16267// String returns the string representation.
16268//
16269// API parameter values that are decorated as "sensitive" in the API will not
16270// be included in the string output. The member name will be present, but the
16271// value will be replaced with "sensitive".
16272func (s AssociationAlreadyExists) String() string {
16273	return awsutil.Prettify(s)
16274}
16275
16276// GoString returns the string representation.
16277//
16278// API parameter values that are decorated as "sensitive" in the API will not
16279// be included in the string output. The member name will be present, but the
16280// value will be replaced with "sensitive".
16281func (s AssociationAlreadyExists) GoString() string {
16282	return s.String()
16283}
16284
16285func newErrorAssociationAlreadyExists(v protocol.ResponseMetadata) error {
16286	return &AssociationAlreadyExists{
16287		RespMetadata: v,
16288	}
16289}
16290
16291// Code returns the exception type name.
16292func (s *AssociationAlreadyExists) Code() string {
16293	return "AssociationAlreadyExists"
16294}
16295
16296// Message returns the exception's message.
16297func (s *AssociationAlreadyExists) Message() string {
16298	if s.Message_ != nil {
16299		return *s.Message_
16300	}
16301	return ""
16302}
16303
16304// OrigErr always returns nil, satisfies awserr.Error interface.
16305func (s *AssociationAlreadyExists) OrigErr() error {
16306	return nil
16307}
16308
16309func (s *AssociationAlreadyExists) Error() string {
16310	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16311}
16312
16313// Status code returns the HTTP status code for the request's response error.
16314func (s *AssociationAlreadyExists) StatusCode() int {
16315	return s.RespMetadata.StatusCode
16316}
16317
16318// RequestID returns the service's response RequestID for request.
16319func (s *AssociationAlreadyExists) RequestID() string {
16320	return s.RespMetadata.RequestID
16321}
16322
16323// Describes the parameters for a document.
16324type AssociationDescription struct {
16325	_ struct{} `type:"structure"`
16326
16327	// By default, when you create a new associations, the system runs it immediately
16328	// after it is created and then according to the schedule you specified. Specify
16329	// this option if you don't want an association to run immediately after you
16330	// create it. This parameter isn't supported for rate expressions.
16331	ApplyOnlyAtCronInterval *bool `type:"boolean"`
16332
16333	// The association ID.
16334	AssociationId *string `type:"string"`
16335
16336	// The association name.
16337	AssociationName *string `type:"string"`
16338
16339	// The association version.
16340	AssociationVersion *string `type:"string"`
16341
16342	// Specify the target for the association. This target is required for associations
16343	// that use an Automation runbook and target resources by using rate controls.
16344	// Automation is a capability of Amazon Web Services Systems Manager.
16345	AutomationTargetParameterName *string `min:"1" type:"string"`
16346
16347	// The names or Amazon Resource Names (ARNs) of the Change Calendar type documents
16348	// your associations are gated under. The associations only run when that change
16349	// calendar is open. For more information, see Amazon Web Services Systems Manager
16350	// Change Calendar (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar).
16351	CalendarNames []*string `type:"list"`
16352
16353	// The severity level that is assigned to the association.
16354	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
16355
16356	// The date when the association was made.
16357	Date *time.Time `type:"timestamp"`
16358
16359	// The document version.
16360	DocumentVersion *string `type:"string"`
16361
16362	// The instance ID.
16363	InstanceId *string `type:"string"`
16364
16365	// The date on which the association was last run.
16366	LastExecutionDate *time.Time `type:"timestamp"`
16367
16368	// The last date on which the association was successfully run.
16369	LastSuccessfulExecutionDate *time.Time `type:"timestamp"`
16370
16371	// The date when the association was last updated.
16372	LastUpdateAssociationDate *time.Time `type:"timestamp"`
16373
16374	// The maximum number of targets allowed to run the association at the same
16375	// time. You can specify a number, for example 10, or a percentage of the target
16376	// set, for example 10%. The default value is 100%, which means all targets
16377	// run the association at the same time.
16378	//
16379	// If a new instance starts and attempts to run an association while Systems
16380	// Manager is running MaxConcurrency associations, the association is allowed
16381	// to run. During the next association interval, the new instance will process
16382	// its association within the limit specified for MaxConcurrency.
16383	MaxConcurrency *string `min:"1" type:"string"`
16384
16385	// The number of errors that are allowed before the system stops sending requests
16386	// to run the association on additional targets. You can specify either an absolute
16387	// number of errors, for example 10, or a percentage of the target set, for
16388	// example 10%. If you specify 3, for example, the system stops sending requests
16389	// when the fourth error is received. If you specify 0, then the system stops
16390	// sending requests after the first error is returned. If you run an association
16391	// on 50 instances and set MaxError to 10%, then the system stops sending the
16392	// request when the sixth error is received.
16393	//
16394	// Executions that are already running an association when MaxErrors is reached
16395	// are allowed to complete, but some of these executions may fail as well. If
16396	// you need to ensure that there won't be more than max-errors failed executions,
16397	// set MaxConcurrency to 1 so that executions proceed one at a time.
16398	MaxErrors *string `min:"1" type:"string"`
16399
16400	// The name of the SSM document.
16401	Name *string `type:"string"`
16402
16403	// An S3 bucket where you want to store the output details of the request.
16404	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
16405
16406	// Information about the association.
16407	Overview *AssociationOverview `type:"structure"`
16408
16409	// A description of the parameters for a document.
16410	Parameters map[string][]*string `type:"map"`
16411
16412	// A cron expression that specifies a schedule when the association runs.
16413	ScheduleExpression *string `min:"1" type:"string"`
16414
16415	// The association status.
16416	Status *AssociationStatus `type:"structure"`
16417
16418	// The mode for generating association compliance. You can specify AUTO or MANUAL.
16419	// In AUTO mode, the system uses the status of the association execution to
16420	// determine the compliance status. If the association execution runs successfully,
16421	// then the association is COMPLIANT. If the association execution doesn't run
16422	// successfully, the association is NON-COMPLIANT.
16423	//
16424	// In MANUAL mode, you must specify the AssociationId as a parameter for the
16425	// PutComplianceItems API operation. In this case, compliance data isn't managed
16426	// by State Manager, a capability of Amazon Web Services Systems Manager. It
16427	// is managed by your direct call to the PutComplianceItems API operation.
16428	//
16429	// By default, all associations use AUTO mode.
16430	SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"`
16431
16432	// The combination of Amazon Web Services Regions and Amazon Web Services accounts
16433	// where you want to run the association.
16434	TargetLocations []*TargetLocation `min:"1" type:"list"`
16435
16436	// The instances targeted by the request.
16437	Targets []*Target `type:"list"`
16438}
16439
16440// String returns the string representation.
16441//
16442// API parameter values that are decorated as "sensitive" in the API will not
16443// be included in the string output. The member name will be present, but the
16444// value will be replaced with "sensitive".
16445func (s AssociationDescription) String() string {
16446	return awsutil.Prettify(s)
16447}
16448
16449// GoString returns the string representation.
16450//
16451// API parameter values that are decorated as "sensitive" in the API will not
16452// be included in the string output. The member name will be present, but the
16453// value will be replaced with "sensitive".
16454func (s AssociationDescription) GoString() string {
16455	return s.String()
16456}
16457
16458// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value.
16459func (s *AssociationDescription) SetApplyOnlyAtCronInterval(v bool) *AssociationDescription {
16460	s.ApplyOnlyAtCronInterval = &v
16461	return s
16462}
16463
16464// SetAssociationId sets the AssociationId field's value.
16465func (s *AssociationDescription) SetAssociationId(v string) *AssociationDescription {
16466	s.AssociationId = &v
16467	return s
16468}
16469
16470// SetAssociationName sets the AssociationName field's value.
16471func (s *AssociationDescription) SetAssociationName(v string) *AssociationDescription {
16472	s.AssociationName = &v
16473	return s
16474}
16475
16476// SetAssociationVersion sets the AssociationVersion field's value.
16477func (s *AssociationDescription) SetAssociationVersion(v string) *AssociationDescription {
16478	s.AssociationVersion = &v
16479	return s
16480}
16481
16482// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
16483func (s *AssociationDescription) SetAutomationTargetParameterName(v string) *AssociationDescription {
16484	s.AutomationTargetParameterName = &v
16485	return s
16486}
16487
16488// SetCalendarNames sets the CalendarNames field's value.
16489func (s *AssociationDescription) SetCalendarNames(v []*string) *AssociationDescription {
16490	s.CalendarNames = v
16491	return s
16492}
16493
16494// SetComplianceSeverity sets the ComplianceSeverity field's value.
16495func (s *AssociationDescription) SetComplianceSeverity(v string) *AssociationDescription {
16496	s.ComplianceSeverity = &v
16497	return s
16498}
16499
16500// SetDate sets the Date field's value.
16501func (s *AssociationDescription) SetDate(v time.Time) *AssociationDescription {
16502	s.Date = &v
16503	return s
16504}
16505
16506// SetDocumentVersion sets the DocumentVersion field's value.
16507func (s *AssociationDescription) SetDocumentVersion(v string) *AssociationDescription {
16508	s.DocumentVersion = &v
16509	return s
16510}
16511
16512// SetInstanceId sets the InstanceId field's value.
16513func (s *AssociationDescription) SetInstanceId(v string) *AssociationDescription {
16514	s.InstanceId = &v
16515	return s
16516}
16517
16518// SetLastExecutionDate sets the LastExecutionDate field's value.
16519func (s *AssociationDescription) SetLastExecutionDate(v time.Time) *AssociationDescription {
16520	s.LastExecutionDate = &v
16521	return s
16522}
16523
16524// SetLastSuccessfulExecutionDate sets the LastSuccessfulExecutionDate field's value.
16525func (s *AssociationDescription) SetLastSuccessfulExecutionDate(v time.Time) *AssociationDescription {
16526	s.LastSuccessfulExecutionDate = &v
16527	return s
16528}
16529
16530// SetLastUpdateAssociationDate sets the LastUpdateAssociationDate field's value.
16531func (s *AssociationDescription) SetLastUpdateAssociationDate(v time.Time) *AssociationDescription {
16532	s.LastUpdateAssociationDate = &v
16533	return s
16534}
16535
16536// SetMaxConcurrency sets the MaxConcurrency field's value.
16537func (s *AssociationDescription) SetMaxConcurrency(v string) *AssociationDescription {
16538	s.MaxConcurrency = &v
16539	return s
16540}
16541
16542// SetMaxErrors sets the MaxErrors field's value.
16543func (s *AssociationDescription) SetMaxErrors(v string) *AssociationDescription {
16544	s.MaxErrors = &v
16545	return s
16546}
16547
16548// SetName sets the Name field's value.
16549func (s *AssociationDescription) SetName(v string) *AssociationDescription {
16550	s.Name = &v
16551	return s
16552}
16553
16554// SetOutputLocation sets the OutputLocation field's value.
16555func (s *AssociationDescription) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationDescription {
16556	s.OutputLocation = v
16557	return s
16558}
16559
16560// SetOverview sets the Overview field's value.
16561func (s *AssociationDescription) SetOverview(v *AssociationOverview) *AssociationDescription {
16562	s.Overview = v
16563	return s
16564}
16565
16566// SetParameters sets the Parameters field's value.
16567func (s *AssociationDescription) SetParameters(v map[string][]*string) *AssociationDescription {
16568	s.Parameters = v
16569	return s
16570}
16571
16572// SetScheduleExpression sets the ScheduleExpression field's value.
16573func (s *AssociationDescription) SetScheduleExpression(v string) *AssociationDescription {
16574	s.ScheduleExpression = &v
16575	return s
16576}
16577
16578// SetStatus sets the Status field's value.
16579func (s *AssociationDescription) SetStatus(v *AssociationStatus) *AssociationDescription {
16580	s.Status = v
16581	return s
16582}
16583
16584// SetSyncCompliance sets the SyncCompliance field's value.
16585func (s *AssociationDescription) SetSyncCompliance(v string) *AssociationDescription {
16586	s.SyncCompliance = &v
16587	return s
16588}
16589
16590// SetTargetLocations sets the TargetLocations field's value.
16591func (s *AssociationDescription) SetTargetLocations(v []*TargetLocation) *AssociationDescription {
16592	s.TargetLocations = v
16593	return s
16594}
16595
16596// SetTargets sets the Targets field's value.
16597func (s *AssociationDescription) SetTargets(v []*Target) *AssociationDescription {
16598	s.Targets = v
16599	return s
16600}
16601
16602// The specified association doesn't exist.
16603type AssociationDoesNotExist struct {
16604	_            struct{}                  `type:"structure"`
16605	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16606
16607	Message_ *string `locationName:"Message" type:"string"`
16608}
16609
16610// String returns the string representation.
16611//
16612// API parameter values that are decorated as "sensitive" in the API will not
16613// be included in the string output. The member name will be present, but the
16614// value will be replaced with "sensitive".
16615func (s AssociationDoesNotExist) String() string {
16616	return awsutil.Prettify(s)
16617}
16618
16619// GoString returns the string representation.
16620//
16621// API parameter values that are decorated as "sensitive" in the API will not
16622// be included in the string output. The member name will be present, but the
16623// value will be replaced with "sensitive".
16624func (s AssociationDoesNotExist) GoString() string {
16625	return s.String()
16626}
16627
16628func newErrorAssociationDoesNotExist(v protocol.ResponseMetadata) error {
16629	return &AssociationDoesNotExist{
16630		RespMetadata: v,
16631	}
16632}
16633
16634// Code returns the exception type name.
16635func (s *AssociationDoesNotExist) Code() string {
16636	return "AssociationDoesNotExist"
16637}
16638
16639// Message returns the exception's message.
16640func (s *AssociationDoesNotExist) Message() string {
16641	if s.Message_ != nil {
16642		return *s.Message_
16643	}
16644	return ""
16645}
16646
16647// OrigErr always returns nil, satisfies awserr.Error interface.
16648func (s *AssociationDoesNotExist) OrigErr() error {
16649	return nil
16650}
16651
16652func (s *AssociationDoesNotExist) Error() string {
16653	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16654}
16655
16656// Status code returns the HTTP status code for the request's response error.
16657func (s *AssociationDoesNotExist) StatusCode() int {
16658	return s.RespMetadata.StatusCode
16659}
16660
16661// RequestID returns the service's response RequestID for request.
16662func (s *AssociationDoesNotExist) RequestID() string {
16663	return s.RespMetadata.RequestID
16664}
16665
16666// Includes information about the specified association.
16667type AssociationExecution struct {
16668	_ struct{} `type:"structure"`
16669
16670	// The association ID.
16671	AssociationId *string `type:"string"`
16672
16673	// The association version.
16674	AssociationVersion *string `type:"string"`
16675
16676	// The time the execution started.
16677	CreatedTime *time.Time `type:"timestamp"`
16678
16679	// Detailed status information about the execution.
16680	DetailedStatus *string `type:"string"`
16681
16682	// The execution ID for the association.
16683	ExecutionId *string `type:"string"`
16684
16685	// The date of the last execution.
16686	LastExecutionDate *time.Time `type:"timestamp"`
16687
16688	// An aggregate status of the resources in the execution based on the status
16689	// type.
16690	ResourceCountByStatus *string `type:"string"`
16691
16692	// The status of the association execution.
16693	Status *string `type:"string"`
16694}
16695
16696// String returns the string representation.
16697//
16698// API parameter values that are decorated as "sensitive" in the API will not
16699// be included in the string output. The member name will be present, but the
16700// value will be replaced with "sensitive".
16701func (s AssociationExecution) String() string {
16702	return awsutil.Prettify(s)
16703}
16704
16705// GoString returns the string representation.
16706//
16707// API parameter values that are decorated as "sensitive" in the API will not
16708// be included in the string output. The member name will be present, but the
16709// value will be replaced with "sensitive".
16710func (s AssociationExecution) GoString() string {
16711	return s.String()
16712}
16713
16714// SetAssociationId sets the AssociationId field's value.
16715func (s *AssociationExecution) SetAssociationId(v string) *AssociationExecution {
16716	s.AssociationId = &v
16717	return s
16718}
16719
16720// SetAssociationVersion sets the AssociationVersion field's value.
16721func (s *AssociationExecution) SetAssociationVersion(v string) *AssociationExecution {
16722	s.AssociationVersion = &v
16723	return s
16724}
16725
16726// SetCreatedTime sets the CreatedTime field's value.
16727func (s *AssociationExecution) SetCreatedTime(v time.Time) *AssociationExecution {
16728	s.CreatedTime = &v
16729	return s
16730}
16731
16732// SetDetailedStatus sets the DetailedStatus field's value.
16733func (s *AssociationExecution) SetDetailedStatus(v string) *AssociationExecution {
16734	s.DetailedStatus = &v
16735	return s
16736}
16737
16738// SetExecutionId sets the ExecutionId field's value.
16739func (s *AssociationExecution) SetExecutionId(v string) *AssociationExecution {
16740	s.ExecutionId = &v
16741	return s
16742}
16743
16744// SetLastExecutionDate sets the LastExecutionDate field's value.
16745func (s *AssociationExecution) SetLastExecutionDate(v time.Time) *AssociationExecution {
16746	s.LastExecutionDate = &v
16747	return s
16748}
16749
16750// SetResourceCountByStatus sets the ResourceCountByStatus field's value.
16751func (s *AssociationExecution) SetResourceCountByStatus(v string) *AssociationExecution {
16752	s.ResourceCountByStatus = &v
16753	return s
16754}
16755
16756// SetStatus sets the Status field's value.
16757func (s *AssociationExecution) SetStatus(v string) *AssociationExecution {
16758	s.Status = &v
16759	return s
16760}
16761
16762// The specified execution ID doesn't exist. Verify the ID number and try again.
16763type AssociationExecutionDoesNotExist struct {
16764	_            struct{}                  `type:"structure"`
16765	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16766
16767	Message_ *string `locationName:"Message" type:"string"`
16768}
16769
16770// String returns the string representation.
16771//
16772// API parameter values that are decorated as "sensitive" in the API will not
16773// be included in the string output. The member name will be present, but the
16774// value will be replaced with "sensitive".
16775func (s AssociationExecutionDoesNotExist) String() string {
16776	return awsutil.Prettify(s)
16777}
16778
16779// GoString returns the string representation.
16780//
16781// API parameter values that are decorated as "sensitive" in the API will not
16782// be included in the string output. The member name will be present, but the
16783// value will be replaced with "sensitive".
16784func (s AssociationExecutionDoesNotExist) GoString() string {
16785	return s.String()
16786}
16787
16788func newErrorAssociationExecutionDoesNotExist(v protocol.ResponseMetadata) error {
16789	return &AssociationExecutionDoesNotExist{
16790		RespMetadata: v,
16791	}
16792}
16793
16794// Code returns the exception type name.
16795func (s *AssociationExecutionDoesNotExist) Code() string {
16796	return "AssociationExecutionDoesNotExist"
16797}
16798
16799// Message returns the exception's message.
16800func (s *AssociationExecutionDoesNotExist) Message() string {
16801	if s.Message_ != nil {
16802		return *s.Message_
16803	}
16804	return ""
16805}
16806
16807// OrigErr always returns nil, satisfies awserr.Error interface.
16808func (s *AssociationExecutionDoesNotExist) OrigErr() error {
16809	return nil
16810}
16811
16812func (s *AssociationExecutionDoesNotExist) Error() string {
16813	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16814}
16815
16816// Status code returns the HTTP status code for the request's response error.
16817func (s *AssociationExecutionDoesNotExist) StatusCode() int {
16818	return s.RespMetadata.StatusCode
16819}
16820
16821// RequestID returns the service's response RequestID for request.
16822func (s *AssociationExecutionDoesNotExist) RequestID() string {
16823	return s.RespMetadata.RequestID
16824}
16825
16826// Filters used in the request.
16827type AssociationExecutionFilter struct {
16828	_ struct{} `type:"structure"`
16829
16830	// The key value used in the request.
16831	//
16832	// Key is a required field
16833	Key *string `type:"string" required:"true" enum:"AssociationExecutionFilterKey"`
16834
16835	// The filter type specified in the request.
16836	//
16837	// Type is a required field
16838	Type *string `type:"string" required:"true" enum:"AssociationFilterOperatorType"`
16839
16840	// The value specified for the key.
16841	//
16842	// Value is a required field
16843	Value *string `min:"1" type:"string" required:"true"`
16844}
16845
16846// String returns the string representation.
16847//
16848// API parameter values that are decorated as "sensitive" in the API will not
16849// be included in the string output. The member name will be present, but the
16850// value will be replaced with "sensitive".
16851func (s AssociationExecutionFilter) String() string {
16852	return awsutil.Prettify(s)
16853}
16854
16855// GoString returns the string representation.
16856//
16857// API parameter values that are decorated as "sensitive" in the API will not
16858// be included in the string output. The member name will be present, but the
16859// value will be replaced with "sensitive".
16860func (s AssociationExecutionFilter) GoString() string {
16861	return s.String()
16862}
16863
16864// Validate inspects the fields of the type to determine if they are valid.
16865func (s *AssociationExecutionFilter) Validate() error {
16866	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionFilter"}
16867	if s.Key == nil {
16868		invalidParams.Add(request.NewErrParamRequired("Key"))
16869	}
16870	if s.Type == nil {
16871		invalidParams.Add(request.NewErrParamRequired("Type"))
16872	}
16873	if s.Value == nil {
16874		invalidParams.Add(request.NewErrParamRequired("Value"))
16875	}
16876	if s.Value != nil && len(*s.Value) < 1 {
16877		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16878	}
16879
16880	if invalidParams.Len() > 0 {
16881		return invalidParams
16882	}
16883	return nil
16884}
16885
16886// SetKey sets the Key field's value.
16887func (s *AssociationExecutionFilter) SetKey(v string) *AssociationExecutionFilter {
16888	s.Key = &v
16889	return s
16890}
16891
16892// SetType sets the Type field's value.
16893func (s *AssociationExecutionFilter) SetType(v string) *AssociationExecutionFilter {
16894	s.Type = &v
16895	return s
16896}
16897
16898// SetValue sets the Value field's value.
16899func (s *AssociationExecutionFilter) SetValue(v string) *AssociationExecutionFilter {
16900	s.Value = &v
16901	return s
16902}
16903
16904// Includes information about the specified association execution.
16905type AssociationExecutionTarget struct {
16906	_ struct{} `type:"structure"`
16907
16908	// The association ID.
16909	AssociationId *string `type:"string"`
16910
16911	// The association version.
16912	AssociationVersion *string `type:"string"`
16913
16914	// Detailed information about the execution status.
16915	DetailedStatus *string `type:"string"`
16916
16917	// The execution ID.
16918	ExecutionId *string `type:"string"`
16919
16920	// The date of the last execution.
16921	LastExecutionDate *time.Time `type:"timestamp"`
16922
16923	// The location where the association details are saved.
16924	OutputSource *OutputSource `type:"structure"`
16925
16926	// The resource ID, for example, the instance ID where the association ran.
16927	ResourceId *string `min:"1" type:"string"`
16928
16929	// The resource type, for example, instance.
16930	ResourceType *string `min:"1" type:"string"`
16931
16932	// The association execution status.
16933	Status *string `type:"string"`
16934}
16935
16936// String returns the string representation.
16937//
16938// API parameter values that are decorated as "sensitive" in the API will not
16939// be included in the string output. The member name will be present, but the
16940// value will be replaced with "sensitive".
16941func (s AssociationExecutionTarget) String() string {
16942	return awsutil.Prettify(s)
16943}
16944
16945// GoString returns the string representation.
16946//
16947// API parameter values that are decorated as "sensitive" in the API will not
16948// be included in the string output. The member name will be present, but the
16949// value will be replaced with "sensitive".
16950func (s AssociationExecutionTarget) GoString() string {
16951	return s.String()
16952}
16953
16954// SetAssociationId sets the AssociationId field's value.
16955func (s *AssociationExecutionTarget) SetAssociationId(v string) *AssociationExecutionTarget {
16956	s.AssociationId = &v
16957	return s
16958}
16959
16960// SetAssociationVersion sets the AssociationVersion field's value.
16961func (s *AssociationExecutionTarget) SetAssociationVersion(v string) *AssociationExecutionTarget {
16962	s.AssociationVersion = &v
16963	return s
16964}
16965
16966// SetDetailedStatus sets the DetailedStatus field's value.
16967func (s *AssociationExecutionTarget) SetDetailedStatus(v string) *AssociationExecutionTarget {
16968	s.DetailedStatus = &v
16969	return s
16970}
16971
16972// SetExecutionId sets the ExecutionId field's value.
16973func (s *AssociationExecutionTarget) SetExecutionId(v string) *AssociationExecutionTarget {
16974	s.ExecutionId = &v
16975	return s
16976}
16977
16978// SetLastExecutionDate sets the LastExecutionDate field's value.
16979func (s *AssociationExecutionTarget) SetLastExecutionDate(v time.Time) *AssociationExecutionTarget {
16980	s.LastExecutionDate = &v
16981	return s
16982}
16983
16984// SetOutputSource sets the OutputSource field's value.
16985func (s *AssociationExecutionTarget) SetOutputSource(v *OutputSource) *AssociationExecutionTarget {
16986	s.OutputSource = v
16987	return s
16988}
16989
16990// SetResourceId sets the ResourceId field's value.
16991func (s *AssociationExecutionTarget) SetResourceId(v string) *AssociationExecutionTarget {
16992	s.ResourceId = &v
16993	return s
16994}
16995
16996// SetResourceType sets the ResourceType field's value.
16997func (s *AssociationExecutionTarget) SetResourceType(v string) *AssociationExecutionTarget {
16998	s.ResourceType = &v
16999	return s
17000}
17001
17002// SetStatus sets the Status field's value.
17003func (s *AssociationExecutionTarget) SetStatus(v string) *AssociationExecutionTarget {
17004	s.Status = &v
17005	return s
17006}
17007
17008// Filters for the association execution.
17009type AssociationExecutionTargetsFilter struct {
17010	_ struct{} `type:"structure"`
17011
17012	// The key value used in the request.
17013	//
17014	// Key is a required field
17015	Key *string `type:"string" required:"true" enum:"AssociationExecutionTargetsFilterKey"`
17016
17017	// The value specified for the key.
17018	//
17019	// Value is a required field
17020	Value *string `min:"1" type:"string" required:"true"`
17021}
17022
17023// String returns the string representation.
17024//
17025// API parameter values that are decorated as "sensitive" in the API will not
17026// be included in the string output. The member name will be present, but the
17027// value will be replaced with "sensitive".
17028func (s AssociationExecutionTargetsFilter) String() string {
17029	return awsutil.Prettify(s)
17030}
17031
17032// GoString returns the string representation.
17033//
17034// API parameter values that are decorated as "sensitive" in the API will not
17035// be included in the string output. The member name will be present, but the
17036// value will be replaced with "sensitive".
17037func (s AssociationExecutionTargetsFilter) GoString() string {
17038	return s.String()
17039}
17040
17041// Validate inspects the fields of the type to determine if they are valid.
17042func (s *AssociationExecutionTargetsFilter) Validate() error {
17043	invalidParams := request.ErrInvalidParams{Context: "AssociationExecutionTargetsFilter"}
17044	if s.Key == nil {
17045		invalidParams.Add(request.NewErrParamRequired("Key"))
17046	}
17047	if s.Value == nil {
17048		invalidParams.Add(request.NewErrParamRequired("Value"))
17049	}
17050	if s.Value != nil && len(*s.Value) < 1 {
17051		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
17052	}
17053
17054	if invalidParams.Len() > 0 {
17055		return invalidParams
17056	}
17057	return nil
17058}
17059
17060// SetKey sets the Key field's value.
17061func (s *AssociationExecutionTargetsFilter) SetKey(v string) *AssociationExecutionTargetsFilter {
17062	s.Key = &v
17063	return s
17064}
17065
17066// SetValue sets the Value field's value.
17067func (s *AssociationExecutionTargetsFilter) SetValue(v string) *AssociationExecutionTargetsFilter {
17068	s.Value = &v
17069	return s
17070}
17071
17072// Describes a filter.
17073type AssociationFilter struct {
17074	_ struct{} `type:"structure"`
17075
17076	// The name of the filter.
17077	//
17078	// InstanceId has been deprecated.
17079	//
17080	// Key is a required field
17081	Key *string `locationName:"key" type:"string" required:"true" enum:"AssociationFilterKey"`
17082
17083	// The filter value.
17084	//
17085	// Value is a required field
17086	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
17087}
17088
17089// String returns the string representation.
17090//
17091// API parameter values that are decorated as "sensitive" in the API will not
17092// be included in the string output. The member name will be present, but the
17093// value will be replaced with "sensitive".
17094func (s AssociationFilter) String() string {
17095	return awsutil.Prettify(s)
17096}
17097
17098// GoString returns the string representation.
17099//
17100// API parameter values that are decorated as "sensitive" in the API will not
17101// be included in the string output. The member name will be present, but the
17102// value will be replaced with "sensitive".
17103func (s AssociationFilter) GoString() string {
17104	return s.String()
17105}
17106
17107// Validate inspects the fields of the type to determine if they are valid.
17108func (s *AssociationFilter) Validate() error {
17109	invalidParams := request.ErrInvalidParams{Context: "AssociationFilter"}
17110	if s.Key == nil {
17111		invalidParams.Add(request.NewErrParamRequired("Key"))
17112	}
17113	if s.Value == nil {
17114		invalidParams.Add(request.NewErrParamRequired("Value"))
17115	}
17116	if s.Value != nil && len(*s.Value) < 1 {
17117		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
17118	}
17119
17120	if invalidParams.Len() > 0 {
17121		return invalidParams
17122	}
17123	return nil
17124}
17125
17126// SetKey sets the Key field's value.
17127func (s *AssociationFilter) SetKey(v string) *AssociationFilter {
17128	s.Key = &v
17129	return s
17130}
17131
17132// SetValue sets the Value field's value.
17133func (s *AssociationFilter) SetValue(v string) *AssociationFilter {
17134	s.Value = &v
17135	return s
17136}
17137
17138// You can have at most 2,000 active associations.
17139type AssociationLimitExceeded struct {
17140	_            struct{}                  `type:"structure"`
17141	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17142
17143	Message_ *string `locationName:"message" type:"string"`
17144}
17145
17146// String returns the string representation.
17147//
17148// API parameter values that are decorated as "sensitive" in the API will not
17149// be included in the string output. The member name will be present, but the
17150// value will be replaced with "sensitive".
17151func (s AssociationLimitExceeded) String() string {
17152	return awsutil.Prettify(s)
17153}
17154
17155// GoString returns the string representation.
17156//
17157// API parameter values that are decorated as "sensitive" in the API will not
17158// be included in the string output. The member name will be present, but the
17159// value will be replaced with "sensitive".
17160func (s AssociationLimitExceeded) GoString() string {
17161	return s.String()
17162}
17163
17164func newErrorAssociationLimitExceeded(v protocol.ResponseMetadata) error {
17165	return &AssociationLimitExceeded{
17166		RespMetadata: v,
17167	}
17168}
17169
17170// Code returns the exception type name.
17171func (s *AssociationLimitExceeded) Code() string {
17172	return "AssociationLimitExceeded"
17173}
17174
17175// Message returns the exception's message.
17176func (s *AssociationLimitExceeded) Message() string {
17177	if s.Message_ != nil {
17178		return *s.Message_
17179	}
17180	return ""
17181}
17182
17183// OrigErr always returns nil, satisfies awserr.Error interface.
17184func (s *AssociationLimitExceeded) OrigErr() error {
17185	return nil
17186}
17187
17188func (s *AssociationLimitExceeded) Error() string {
17189	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17190}
17191
17192// Status code returns the HTTP status code for the request's response error.
17193func (s *AssociationLimitExceeded) StatusCode() int {
17194	return s.RespMetadata.StatusCode
17195}
17196
17197// RequestID returns the service's response RequestID for request.
17198func (s *AssociationLimitExceeded) RequestID() string {
17199	return s.RespMetadata.RequestID
17200}
17201
17202// Information about the association.
17203type AssociationOverview struct {
17204	_ struct{} `type:"structure"`
17205
17206	// Returns the number of targets for the association status. For example, if
17207	// you created an association with two instances, and one of them was successful,
17208	// this would return the count of instances by status.
17209	AssociationStatusAggregatedCount map[string]*int64 `type:"map"`
17210
17211	// A detailed status of the association.
17212	DetailedStatus *string `type:"string"`
17213
17214	// The status of the association. Status can be: Pending, Success, or Failed.
17215	Status *string `type:"string"`
17216}
17217
17218// String returns the string representation.
17219//
17220// API parameter values that are decorated as "sensitive" in the API will not
17221// be included in the string output. The member name will be present, but the
17222// value will be replaced with "sensitive".
17223func (s AssociationOverview) String() string {
17224	return awsutil.Prettify(s)
17225}
17226
17227// GoString returns the string representation.
17228//
17229// API parameter values that are decorated as "sensitive" in the API will not
17230// be included in the string output. The member name will be present, but the
17231// value will be replaced with "sensitive".
17232func (s AssociationOverview) GoString() string {
17233	return s.String()
17234}
17235
17236// SetAssociationStatusAggregatedCount sets the AssociationStatusAggregatedCount field's value.
17237func (s *AssociationOverview) SetAssociationStatusAggregatedCount(v map[string]*int64) *AssociationOverview {
17238	s.AssociationStatusAggregatedCount = v
17239	return s
17240}
17241
17242// SetDetailedStatus sets the DetailedStatus field's value.
17243func (s *AssociationOverview) SetDetailedStatus(v string) *AssociationOverview {
17244	s.DetailedStatus = &v
17245	return s
17246}
17247
17248// SetStatus sets the Status field's value.
17249func (s *AssociationOverview) SetStatus(v string) *AssociationOverview {
17250	s.Status = &v
17251	return s
17252}
17253
17254// Describes an association status.
17255type AssociationStatus struct {
17256	_ struct{} `type:"structure"`
17257
17258	// A user-defined string.
17259	AdditionalInfo *string `type:"string"`
17260
17261	// The date when the status changed.
17262	//
17263	// Date is a required field
17264	Date *time.Time `type:"timestamp" required:"true"`
17265
17266	// The reason for the status.
17267	//
17268	// Message is a required field
17269	Message *string `min:"1" type:"string" required:"true"`
17270
17271	// The status.
17272	//
17273	// Name is a required field
17274	Name *string `type:"string" required:"true" enum:"AssociationStatusName"`
17275}
17276
17277// String returns the string representation.
17278//
17279// API parameter values that are decorated as "sensitive" in the API will not
17280// be included in the string output. The member name will be present, but the
17281// value will be replaced with "sensitive".
17282func (s AssociationStatus) String() string {
17283	return awsutil.Prettify(s)
17284}
17285
17286// GoString returns the string representation.
17287//
17288// API parameter values that are decorated as "sensitive" in the API will not
17289// be included in the string output. The member name will be present, but the
17290// value will be replaced with "sensitive".
17291func (s AssociationStatus) GoString() string {
17292	return s.String()
17293}
17294
17295// Validate inspects the fields of the type to determine if they are valid.
17296func (s *AssociationStatus) Validate() error {
17297	invalidParams := request.ErrInvalidParams{Context: "AssociationStatus"}
17298	if s.Date == nil {
17299		invalidParams.Add(request.NewErrParamRequired("Date"))
17300	}
17301	if s.Message == nil {
17302		invalidParams.Add(request.NewErrParamRequired("Message"))
17303	}
17304	if s.Message != nil && len(*s.Message) < 1 {
17305		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
17306	}
17307	if s.Name == nil {
17308		invalidParams.Add(request.NewErrParamRequired("Name"))
17309	}
17310
17311	if invalidParams.Len() > 0 {
17312		return invalidParams
17313	}
17314	return nil
17315}
17316
17317// SetAdditionalInfo sets the AdditionalInfo field's value.
17318func (s *AssociationStatus) SetAdditionalInfo(v string) *AssociationStatus {
17319	s.AdditionalInfo = &v
17320	return s
17321}
17322
17323// SetDate sets the Date field's value.
17324func (s *AssociationStatus) SetDate(v time.Time) *AssociationStatus {
17325	s.Date = &v
17326	return s
17327}
17328
17329// SetMessage sets the Message field's value.
17330func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
17331	s.Message = &v
17332	return s
17333}
17334
17335// SetName sets the Name field's value.
17336func (s *AssociationStatus) SetName(v string) *AssociationStatus {
17337	s.Name = &v
17338	return s
17339}
17340
17341// Information about the association version.
17342type AssociationVersionInfo struct {
17343	_ struct{} `type:"structure"`
17344
17345	// By default, when you create a new associations, the system runs it immediately
17346	// after it is created and then according to the schedule you specified. Specify
17347	// this option if you don't want an association to run immediately after you
17348	// create it. This parameter isn't supported for rate expressions.
17349	ApplyOnlyAtCronInterval *bool `type:"boolean"`
17350
17351	// The ID created by the system when the association was created.
17352	AssociationId *string `type:"string"`
17353
17354	// The name specified for the association version when the association version
17355	// was created.
17356	AssociationName *string `type:"string"`
17357
17358	// The association version.
17359	AssociationVersion *string `type:"string"`
17360
17361	// The names or Amazon Resource Names (ARNs) of the Change Calendar type documents
17362	// your associations are gated under. The associations for this version only
17363	// run when that Change Calendar is open. For more information, see Amazon Web
17364	// Services Systems Manager Change Calendar (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar).
17365	CalendarNames []*string `type:"list"`
17366
17367	// The severity level that is assigned to the association.
17368	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
17369
17370	// The date the association version was created.
17371	CreatedDate *time.Time `type:"timestamp"`
17372
17373	// The version of an Amazon Web Services Systems Manager document (SSM document)
17374	// used when the association version was created.
17375	DocumentVersion *string `type:"string"`
17376
17377	// The maximum number of targets allowed to run the association at the same
17378	// time. You can specify a number, for example 10, or a percentage of the target
17379	// set, for example 10%. The default value is 100%, which means all targets
17380	// run the association at the same time.
17381	//
17382	// If a new instance starts and attempts to run an association while Systems
17383	// Manager is running MaxConcurrency associations, the association is allowed
17384	// to run. During the next association interval, the new instance will process
17385	// its association within the limit specified for MaxConcurrency.
17386	MaxConcurrency *string `min:"1" type:"string"`
17387
17388	// The number of errors that are allowed before the system stops sending requests
17389	// to run the association on additional targets. You can specify either an absolute
17390	// number of errors, for example 10, or a percentage of the target set, for
17391	// example 10%. If you specify 3, for example, the system stops sending requests
17392	// when the fourth error is received. If you specify 0, then the system stops
17393	// sending requests after the first error is returned. If you run an association
17394	// on 50 instances and set MaxError to 10%, then the system stops sending the
17395	// request when the sixth error is received.
17396	//
17397	// Executions that are already running an association when MaxErrors is reached
17398	// are allowed to complete, but some of these executions may fail as well. If
17399	// you need to ensure that there won't be more than max-errors failed executions,
17400	// set MaxConcurrency to 1 so that executions proceed one at a time.
17401	MaxErrors *string `min:"1" type:"string"`
17402
17403	// The name specified when the association was created.
17404	Name *string `type:"string"`
17405
17406	// The location in Amazon S3 specified for the association when the association
17407	// version was created.
17408	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
17409
17410	// Parameters specified when the association version was created.
17411	Parameters map[string][]*string `type:"map"`
17412
17413	// The cron or rate schedule specified for the association when the association
17414	// version was created.
17415	ScheduleExpression *string `min:"1" type:"string"`
17416
17417	// The mode for generating association compliance. You can specify AUTO or MANUAL.
17418	// In AUTO mode, the system uses the status of the association execution to
17419	// determine the compliance status. If the association execution runs successfully,
17420	// then the association is COMPLIANT. If the association execution doesn't run
17421	// successfully, the association is NON-COMPLIANT.
17422	//
17423	// In MANUAL mode, you must specify the AssociationId as a parameter for the
17424	// PutComplianceItems API operation. In this case, compliance data isn't managed
17425	// by State Manager, a capability of Amazon Web Services Systems Manager. It
17426	// is managed by your direct call to the PutComplianceItems API operation.
17427	//
17428	// By default, all associations use AUTO mode.
17429	SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"`
17430
17431	// The combination of Amazon Web Services Regions and Amazon Web Services accounts
17432	// where you wanted to run the association when this association version was
17433	// created.
17434	TargetLocations []*TargetLocation `min:"1" type:"list"`
17435
17436	// The targets specified for the association when the association version was
17437	// created.
17438	Targets []*Target `type:"list"`
17439}
17440
17441// String returns the string representation.
17442//
17443// API parameter values that are decorated as "sensitive" in the API will not
17444// be included in the string output. The member name will be present, but the
17445// value will be replaced with "sensitive".
17446func (s AssociationVersionInfo) String() string {
17447	return awsutil.Prettify(s)
17448}
17449
17450// GoString returns the string representation.
17451//
17452// API parameter values that are decorated as "sensitive" in the API will not
17453// be included in the string output. The member name will be present, but the
17454// value will be replaced with "sensitive".
17455func (s AssociationVersionInfo) GoString() string {
17456	return s.String()
17457}
17458
17459// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value.
17460func (s *AssociationVersionInfo) SetApplyOnlyAtCronInterval(v bool) *AssociationVersionInfo {
17461	s.ApplyOnlyAtCronInterval = &v
17462	return s
17463}
17464
17465// SetAssociationId sets the AssociationId field's value.
17466func (s *AssociationVersionInfo) SetAssociationId(v string) *AssociationVersionInfo {
17467	s.AssociationId = &v
17468	return s
17469}
17470
17471// SetAssociationName sets the AssociationName field's value.
17472func (s *AssociationVersionInfo) SetAssociationName(v string) *AssociationVersionInfo {
17473	s.AssociationName = &v
17474	return s
17475}
17476
17477// SetAssociationVersion sets the AssociationVersion field's value.
17478func (s *AssociationVersionInfo) SetAssociationVersion(v string) *AssociationVersionInfo {
17479	s.AssociationVersion = &v
17480	return s
17481}
17482
17483// SetCalendarNames sets the CalendarNames field's value.
17484func (s *AssociationVersionInfo) SetCalendarNames(v []*string) *AssociationVersionInfo {
17485	s.CalendarNames = v
17486	return s
17487}
17488
17489// SetComplianceSeverity sets the ComplianceSeverity field's value.
17490func (s *AssociationVersionInfo) SetComplianceSeverity(v string) *AssociationVersionInfo {
17491	s.ComplianceSeverity = &v
17492	return s
17493}
17494
17495// SetCreatedDate sets the CreatedDate field's value.
17496func (s *AssociationVersionInfo) SetCreatedDate(v time.Time) *AssociationVersionInfo {
17497	s.CreatedDate = &v
17498	return s
17499}
17500
17501// SetDocumentVersion sets the DocumentVersion field's value.
17502func (s *AssociationVersionInfo) SetDocumentVersion(v string) *AssociationVersionInfo {
17503	s.DocumentVersion = &v
17504	return s
17505}
17506
17507// SetMaxConcurrency sets the MaxConcurrency field's value.
17508func (s *AssociationVersionInfo) SetMaxConcurrency(v string) *AssociationVersionInfo {
17509	s.MaxConcurrency = &v
17510	return s
17511}
17512
17513// SetMaxErrors sets the MaxErrors field's value.
17514func (s *AssociationVersionInfo) SetMaxErrors(v string) *AssociationVersionInfo {
17515	s.MaxErrors = &v
17516	return s
17517}
17518
17519// SetName sets the Name field's value.
17520func (s *AssociationVersionInfo) SetName(v string) *AssociationVersionInfo {
17521	s.Name = &v
17522	return s
17523}
17524
17525// SetOutputLocation sets the OutputLocation field's value.
17526func (s *AssociationVersionInfo) SetOutputLocation(v *InstanceAssociationOutputLocation) *AssociationVersionInfo {
17527	s.OutputLocation = v
17528	return s
17529}
17530
17531// SetParameters sets the Parameters field's value.
17532func (s *AssociationVersionInfo) SetParameters(v map[string][]*string) *AssociationVersionInfo {
17533	s.Parameters = v
17534	return s
17535}
17536
17537// SetScheduleExpression sets the ScheduleExpression field's value.
17538func (s *AssociationVersionInfo) SetScheduleExpression(v string) *AssociationVersionInfo {
17539	s.ScheduleExpression = &v
17540	return s
17541}
17542
17543// SetSyncCompliance sets the SyncCompliance field's value.
17544func (s *AssociationVersionInfo) SetSyncCompliance(v string) *AssociationVersionInfo {
17545	s.SyncCompliance = &v
17546	return s
17547}
17548
17549// SetTargetLocations sets the TargetLocations field's value.
17550func (s *AssociationVersionInfo) SetTargetLocations(v []*TargetLocation) *AssociationVersionInfo {
17551	s.TargetLocations = v
17552	return s
17553}
17554
17555// SetTargets sets the Targets field's value.
17556func (s *AssociationVersionInfo) SetTargets(v []*Target) *AssociationVersionInfo {
17557	s.Targets = v
17558	return s
17559}
17560
17561// You have reached the maximum number versions allowed for an association.
17562// Each association has a limit of 1,000 versions.
17563type AssociationVersionLimitExceeded struct {
17564	_            struct{}                  `type:"structure"`
17565	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17566
17567	Message_ *string `locationName:"Message" type:"string"`
17568}
17569
17570// String returns the string representation.
17571//
17572// API parameter values that are decorated as "sensitive" in the API will not
17573// be included in the string output. The member name will be present, but the
17574// value will be replaced with "sensitive".
17575func (s AssociationVersionLimitExceeded) String() string {
17576	return awsutil.Prettify(s)
17577}
17578
17579// GoString returns the string representation.
17580//
17581// API parameter values that are decorated as "sensitive" in the API will not
17582// be included in the string output. The member name will be present, but the
17583// value will be replaced with "sensitive".
17584func (s AssociationVersionLimitExceeded) GoString() string {
17585	return s.String()
17586}
17587
17588func newErrorAssociationVersionLimitExceeded(v protocol.ResponseMetadata) error {
17589	return &AssociationVersionLimitExceeded{
17590		RespMetadata: v,
17591	}
17592}
17593
17594// Code returns the exception type name.
17595func (s *AssociationVersionLimitExceeded) Code() string {
17596	return "AssociationVersionLimitExceeded"
17597}
17598
17599// Message returns the exception's message.
17600func (s *AssociationVersionLimitExceeded) Message() string {
17601	if s.Message_ != nil {
17602		return *s.Message_
17603	}
17604	return ""
17605}
17606
17607// OrigErr always returns nil, satisfies awserr.Error interface.
17608func (s *AssociationVersionLimitExceeded) OrigErr() error {
17609	return nil
17610}
17611
17612func (s *AssociationVersionLimitExceeded) Error() string {
17613	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17614}
17615
17616// Status code returns the HTTP status code for the request's response error.
17617func (s *AssociationVersionLimitExceeded) StatusCode() int {
17618	return s.RespMetadata.StatusCode
17619}
17620
17621// RequestID returns the service's response RequestID for request.
17622func (s *AssociationVersionLimitExceeded) RequestID() string {
17623	return s.RespMetadata.RequestID
17624}
17625
17626// A structure that includes attributes that describe a document attachment.
17627type AttachmentContent struct {
17628	_ struct{} `type:"structure"`
17629
17630	// The cryptographic hash value of the document content.
17631	Hash *string `type:"string"`
17632
17633	// The hash algorithm used to calculate the hash value.
17634	HashType *string `type:"string" enum:"AttachmentHashType"`
17635
17636	// The name of an attachment.
17637	Name *string `type:"string"`
17638
17639	// The size of an attachment in bytes.
17640	Size *int64 `type:"long"`
17641
17642	// The URL location of the attachment content.
17643	Url *string `type:"string"`
17644}
17645
17646// String returns the string representation.
17647//
17648// API parameter values that are decorated as "sensitive" in the API will not
17649// be included in the string output. The member name will be present, but the
17650// value will be replaced with "sensitive".
17651func (s AttachmentContent) String() string {
17652	return awsutil.Prettify(s)
17653}
17654
17655// GoString returns the string representation.
17656//
17657// API parameter values that are decorated as "sensitive" in the API will not
17658// be included in the string output. The member name will be present, but the
17659// value will be replaced with "sensitive".
17660func (s AttachmentContent) GoString() string {
17661	return s.String()
17662}
17663
17664// SetHash sets the Hash field's value.
17665func (s *AttachmentContent) SetHash(v string) *AttachmentContent {
17666	s.Hash = &v
17667	return s
17668}
17669
17670// SetHashType sets the HashType field's value.
17671func (s *AttachmentContent) SetHashType(v string) *AttachmentContent {
17672	s.HashType = &v
17673	return s
17674}
17675
17676// SetName sets the Name field's value.
17677func (s *AttachmentContent) SetName(v string) *AttachmentContent {
17678	s.Name = &v
17679	return s
17680}
17681
17682// SetSize sets the Size field's value.
17683func (s *AttachmentContent) SetSize(v int64) *AttachmentContent {
17684	s.Size = &v
17685	return s
17686}
17687
17688// SetUrl sets the Url field's value.
17689func (s *AttachmentContent) SetUrl(v string) *AttachmentContent {
17690	s.Url = &v
17691	return s
17692}
17693
17694// An attribute of an attachment, such as the attachment name.
17695type AttachmentInformation struct {
17696	_ struct{} `type:"structure"`
17697
17698	// The name of the attachment.
17699	Name *string `type:"string"`
17700}
17701
17702// String returns the string representation.
17703//
17704// API parameter values that are decorated as "sensitive" in the API will not
17705// be included in the string output. The member name will be present, but the
17706// value will be replaced with "sensitive".
17707func (s AttachmentInformation) String() string {
17708	return awsutil.Prettify(s)
17709}
17710
17711// GoString returns the string representation.
17712//
17713// API parameter values that are decorated as "sensitive" in the API will not
17714// be included in the string output. The member name will be present, but the
17715// value will be replaced with "sensitive".
17716func (s AttachmentInformation) GoString() string {
17717	return s.String()
17718}
17719
17720// SetName sets the Name field's value.
17721func (s *AttachmentInformation) SetName(v string) *AttachmentInformation {
17722	s.Name = &v
17723	return s
17724}
17725
17726// Identifying information about a document attachment, including the file name
17727// and a key-value pair that identifies the location of an attachment to a document.
17728type AttachmentsSource struct {
17729	_ struct{} `type:"structure"`
17730
17731	// The key of a key-value pair that identifies the location of an attachment
17732	// to a document.
17733	Key *string `type:"string" enum:"AttachmentsSourceKey"`
17734
17735	// The name of the document attachment file.
17736	Name *string `type:"string"`
17737
17738	// The value of a key-value pair that identifies the location of an attachment
17739	// to a document. The format for Value depends on the type of key you specify.
17740	//
17741	//    * For the key SourceUrl, the value is an S3 bucket location. For example:
17742	//    "Values": [ "s3://doc-example-bucket/my-folder" ]
17743	//
17744	//    * For the key S3FileUrl, the value is a file in an S3 bucket. For example:
17745	//    "Values": [ "s3://doc-example-bucket/my-folder/my-file.py" ]
17746	//
17747	//    * For the key AttachmentReference, the value is constructed from the name
17748	//    of another SSM document in your account, a version number of that document,
17749	//    and a file attached to that document version that you want to reuse. For
17750	//    example: "Values": [ "MyOtherDocument/3/my-other-file.py" ] However, if
17751	//    the SSM document is shared with you from another account, the full SSM
17752	//    document ARN must be specified instead of the document name only. For
17753	//    example: "Values": [ "arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py"
17754	//    ]
17755	Values []*string `min:"1" type:"list"`
17756}
17757
17758// String returns the string representation.
17759//
17760// API parameter values that are decorated as "sensitive" in the API will not
17761// be included in the string output. The member name will be present, but the
17762// value will be replaced with "sensitive".
17763func (s AttachmentsSource) String() string {
17764	return awsutil.Prettify(s)
17765}
17766
17767// GoString returns the string representation.
17768//
17769// API parameter values that are decorated as "sensitive" in the API will not
17770// be included in the string output. The member name will be present, but the
17771// value will be replaced with "sensitive".
17772func (s AttachmentsSource) GoString() string {
17773	return s.String()
17774}
17775
17776// Validate inspects the fields of the type to determine if they are valid.
17777func (s *AttachmentsSource) Validate() error {
17778	invalidParams := request.ErrInvalidParams{Context: "AttachmentsSource"}
17779	if s.Values != nil && len(s.Values) < 1 {
17780		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
17781	}
17782
17783	if invalidParams.Len() > 0 {
17784		return invalidParams
17785	}
17786	return nil
17787}
17788
17789// SetKey sets the Key field's value.
17790func (s *AttachmentsSource) SetKey(v string) *AttachmentsSource {
17791	s.Key = &v
17792	return s
17793}
17794
17795// SetName sets the Name field's value.
17796func (s *AttachmentsSource) SetName(v string) *AttachmentsSource {
17797	s.Name = &v
17798	return s
17799}
17800
17801// SetValues sets the Values field's value.
17802func (s *AttachmentsSource) SetValues(v []*string) *AttachmentsSource {
17803	s.Values = v
17804	return s
17805}
17806
17807// Indicates that the Change Manager change template used in the change request
17808// was rejected or is still in a pending state.
17809type AutomationDefinitionNotApprovedException struct {
17810	_            struct{}                  `type:"structure"`
17811	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17812
17813	Message_ *string `locationName:"Message" type:"string"`
17814}
17815
17816// String returns the string representation.
17817//
17818// API parameter values that are decorated as "sensitive" in the API will not
17819// be included in the string output. The member name will be present, but the
17820// value will be replaced with "sensitive".
17821func (s AutomationDefinitionNotApprovedException) String() string {
17822	return awsutil.Prettify(s)
17823}
17824
17825// GoString returns the string representation.
17826//
17827// API parameter values that are decorated as "sensitive" in the API will not
17828// be included in the string output. The member name will be present, but the
17829// value will be replaced with "sensitive".
17830func (s AutomationDefinitionNotApprovedException) GoString() string {
17831	return s.String()
17832}
17833
17834func newErrorAutomationDefinitionNotApprovedException(v protocol.ResponseMetadata) error {
17835	return &AutomationDefinitionNotApprovedException{
17836		RespMetadata: v,
17837	}
17838}
17839
17840// Code returns the exception type name.
17841func (s *AutomationDefinitionNotApprovedException) Code() string {
17842	return "AutomationDefinitionNotApprovedException"
17843}
17844
17845// Message returns the exception's message.
17846func (s *AutomationDefinitionNotApprovedException) Message() string {
17847	if s.Message_ != nil {
17848		return *s.Message_
17849	}
17850	return ""
17851}
17852
17853// OrigErr always returns nil, satisfies awserr.Error interface.
17854func (s *AutomationDefinitionNotApprovedException) OrigErr() error {
17855	return nil
17856}
17857
17858func (s *AutomationDefinitionNotApprovedException) Error() string {
17859	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17860}
17861
17862// Status code returns the HTTP status code for the request's response error.
17863func (s *AutomationDefinitionNotApprovedException) StatusCode() int {
17864	return s.RespMetadata.StatusCode
17865}
17866
17867// RequestID returns the service's response RequestID for request.
17868func (s *AutomationDefinitionNotApprovedException) RequestID() string {
17869	return s.RespMetadata.RequestID
17870}
17871
17872// An Automation runbook with the specified name couldn't be found.
17873type AutomationDefinitionNotFoundException struct {
17874	_            struct{}                  `type:"structure"`
17875	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17876
17877	Message_ *string `locationName:"Message" type:"string"`
17878}
17879
17880// String returns the string representation.
17881//
17882// API parameter values that are decorated as "sensitive" in the API will not
17883// be included in the string output. The member name will be present, but the
17884// value will be replaced with "sensitive".
17885func (s AutomationDefinitionNotFoundException) String() string {
17886	return awsutil.Prettify(s)
17887}
17888
17889// GoString returns the string representation.
17890//
17891// API parameter values that are decorated as "sensitive" in the API will not
17892// be included in the string output. The member name will be present, but the
17893// value will be replaced with "sensitive".
17894func (s AutomationDefinitionNotFoundException) GoString() string {
17895	return s.String()
17896}
17897
17898func newErrorAutomationDefinitionNotFoundException(v protocol.ResponseMetadata) error {
17899	return &AutomationDefinitionNotFoundException{
17900		RespMetadata: v,
17901	}
17902}
17903
17904// Code returns the exception type name.
17905func (s *AutomationDefinitionNotFoundException) Code() string {
17906	return "AutomationDefinitionNotFoundException"
17907}
17908
17909// Message returns the exception's message.
17910func (s *AutomationDefinitionNotFoundException) Message() string {
17911	if s.Message_ != nil {
17912		return *s.Message_
17913	}
17914	return ""
17915}
17916
17917// OrigErr always returns nil, satisfies awserr.Error interface.
17918func (s *AutomationDefinitionNotFoundException) OrigErr() error {
17919	return nil
17920}
17921
17922func (s *AutomationDefinitionNotFoundException) Error() string {
17923	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17924}
17925
17926// Status code returns the HTTP status code for the request's response error.
17927func (s *AutomationDefinitionNotFoundException) StatusCode() int {
17928	return s.RespMetadata.StatusCode
17929}
17930
17931// RequestID returns the service's response RequestID for request.
17932func (s *AutomationDefinitionNotFoundException) RequestID() string {
17933	return s.RespMetadata.RequestID
17934}
17935
17936// An Automation runbook with the specified name and version couldn't be found.
17937type AutomationDefinitionVersionNotFoundException struct {
17938	_            struct{}                  `type:"structure"`
17939	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17940
17941	Message_ *string `locationName:"Message" type:"string"`
17942}
17943
17944// String returns the string representation.
17945//
17946// API parameter values that are decorated as "sensitive" in the API will not
17947// be included in the string output. The member name will be present, but the
17948// value will be replaced with "sensitive".
17949func (s AutomationDefinitionVersionNotFoundException) String() string {
17950	return awsutil.Prettify(s)
17951}
17952
17953// GoString returns the string representation.
17954//
17955// API parameter values that are decorated as "sensitive" in the API will not
17956// be included in the string output. The member name will be present, but the
17957// value will be replaced with "sensitive".
17958func (s AutomationDefinitionVersionNotFoundException) GoString() string {
17959	return s.String()
17960}
17961
17962func newErrorAutomationDefinitionVersionNotFoundException(v protocol.ResponseMetadata) error {
17963	return &AutomationDefinitionVersionNotFoundException{
17964		RespMetadata: v,
17965	}
17966}
17967
17968// Code returns the exception type name.
17969func (s *AutomationDefinitionVersionNotFoundException) Code() string {
17970	return "AutomationDefinitionVersionNotFoundException"
17971}
17972
17973// Message returns the exception's message.
17974func (s *AutomationDefinitionVersionNotFoundException) Message() string {
17975	if s.Message_ != nil {
17976		return *s.Message_
17977	}
17978	return ""
17979}
17980
17981// OrigErr always returns nil, satisfies awserr.Error interface.
17982func (s *AutomationDefinitionVersionNotFoundException) OrigErr() error {
17983	return nil
17984}
17985
17986func (s *AutomationDefinitionVersionNotFoundException) Error() string {
17987	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17988}
17989
17990// Status code returns the HTTP status code for the request's response error.
17991func (s *AutomationDefinitionVersionNotFoundException) StatusCode() int {
17992	return s.RespMetadata.StatusCode
17993}
17994
17995// RequestID returns the service's response RequestID for request.
17996func (s *AutomationDefinitionVersionNotFoundException) RequestID() string {
17997	return s.RespMetadata.RequestID
17998}
17999
18000// Detailed information about the current state of an individual Automation
18001// execution.
18002type AutomationExecution struct {
18003	_ struct{} `type:"structure"`
18004
18005	// The ID of a State Manager association used in the Automation operation.
18006	AssociationId *string `type:"string"`
18007
18008	// The execution ID.
18009	AutomationExecutionId *string `min:"36" type:"string"`
18010
18011	// The execution status of the Automation.
18012	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
18013
18014	// The subtype of the Automation operation. Currently, the only supported value
18015	// is ChangeRequest.
18016	AutomationSubtype *string `type:"string" enum:"AutomationSubtype"`
18017
18018	// The name of the Change Manager change request.
18019	ChangeRequestName *string `min:"1" type:"string"`
18020
18021	// The action of the step that is currently running.
18022	CurrentAction *string `type:"string"`
18023
18024	// The name of the step that is currently running.
18025	CurrentStepName *string `type:"string"`
18026
18027	// The name of the Automation runbook used during the execution.
18028	DocumentName *string `type:"string"`
18029
18030	// The version of the document to use during execution.
18031	DocumentVersion *string `type:"string"`
18032
18033	// The Amazon Resource Name (ARN) of the user who ran the automation.
18034	ExecutedBy *string `type:"string"`
18035
18036	// The time the execution finished.
18037	ExecutionEndTime *time.Time `type:"timestamp"`
18038
18039	// The time the execution started.
18040	ExecutionStartTime *time.Time `type:"timestamp"`
18041
18042	// A message describing why an execution has failed, if the status is set to
18043	// Failed.
18044	FailureMessage *string `type:"string"`
18045
18046	// The MaxConcurrency value specified by the user when the execution started.
18047	MaxConcurrency *string `min:"1" type:"string"`
18048
18049	// The MaxErrors value specified by the user when the execution started.
18050	MaxErrors *string `min:"1" type:"string"`
18051
18052	// The automation execution mode.
18053	Mode *string `type:"string" enum:"ExecutionMode"`
18054
18055	// The ID of an OpsItem that is created to represent a Change Manager change
18056	// request.
18057	OpsItemId *string `type:"string"`
18058
18059	// The list of execution outputs as defined in the Automation runbook.
18060	Outputs map[string][]*string `min:"1" type:"map"`
18061
18062	// The key-value map of execution parameters, which were supplied when calling
18063	// StartAutomationExecution.
18064	Parameters map[string][]*string `min:"1" type:"map"`
18065
18066	// The AutomationExecutionId of the parent automation.
18067	ParentAutomationExecutionId *string `min:"36" type:"string"`
18068
18069	// An aggregate of step execution statuses displayed in the Amazon Web Services
18070	// Systems Manager console for a multi-Region and multi-account Automation execution.
18071	ProgressCounters *ProgressCounters `type:"structure"`
18072
18073	// A list of resolved targets in the rate control execution.
18074	ResolvedTargets *ResolvedTargets `type:"structure"`
18075
18076	// Information about the Automation runbooks that are run as part of a runbook
18077	// workflow.
18078	//
18079	// The Automation runbooks specified for the runbook workflow can't run until
18080	// all required approvals for the change request have been received.
18081	Runbooks []*Runbook `min:"1" type:"list"`
18082
18083	// The date and time the Automation operation is scheduled to start.
18084	ScheduledTime *time.Time `type:"timestamp"`
18085
18086	// A list of details about the current state of all steps that comprise an execution.
18087	// An Automation runbook contains a list of steps that are run in order.
18088	StepExecutions []*StepExecution `type:"list"`
18089
18090	// A boolean value that indicates if the response contains the full list of
18091	// the Automation step executions. If true, use the DescribeAutomationStepExecutions
18092	// API operation to get the full list of step executions.
18093	StepExecutionsTruncated *bool `type:"boolean"`
18094
18095	// The target of the execution.
18096	Target *string `type:"string"`
18097
18098	// The combination of Amazon Web Services Regions and/or Amazon Web Services
18099	// accounts where you want to run the Automation.
18100	TargetLocations []*TargetLocation `min:"1" type:"list"`
18101
18102	// The specified key-value mapping of document parameters to target resources.
18103	TargetMaps []map[string][]*string `type:"list"`
18104
18105	// The parameter name.
18106	TargetParameterName *string `min:"1" type:"string"`
18107
18108	// The specified targets.
18109	Targets []*Target `type:"list"`
18110}
18111
18112// String returns the string representation.
18113//
18114// API parameter values that are decorated as "sensitive" in the API will not
18115// be included in the string output. The member name will be present, but the
18116// value will be replaced with "sensitive".
18117func (s AutomationExecution) String() string {
18118	return awsutil.Prettify(s)
18119}
18120
18121// GoString returns the string representation.
18122//
18123// API parameter values that are decorated as "sensitive" in the API will not
18124// be included in the string output. The member name will be present, but the
18125// value will be replaced with "sensitive".
18126func (s AutomationExecution) GoString() string {
18127	return s.String()
18128}
18129
18130// SetAssociationId sets the AssociationId field's value.
18131func (s *AutomationExecution) SetAssociationId(v string) *AutomationExecution {
18132	s.AssociationId = &v
18133	return s
18134}
18135
18136// SetAutomationExecutionId sets the AutomationExecutionId field's value.
18137func (s *AutomationExecution) SetAutomationExecutionId(v string) *AutomationExecution {
18138	s.AutomationExecutionId = &v
18139	return s
18140}
18141
18142// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
18143func (s *AutomationExecution) SetAutomationExecutionStatus(v string) *AutomationExecution {
18144	s.AutomationExecutionStatus = &v
18145	return s
18146}
18147
18148// SetAutomationSubtype sets the AutomationSubtype field's value.
18149func (s *AutomationExecution) SetAutomationSubtype(v string) *AutomationExecution {
18150	s.AutomationSubtype = &v
18151	return s
18152}
18153
18154// SetChangeRequestName sets the ChangeRequestName field's value.
18155func (s *AutomationExecution) SetChangeRequestName(v string) *AutomationExecution {
18156	s.ChangeRequestName = &v
18157	return s
18158}
18159
18160// SetCurrentAction sets the CurrentAction field's value.
18161func (s *AutomationExecution) SetCurrentAction(v string) *AutomationExecution {
18162	s.CurrentAction = &v
18163	return s
18164}
18165
18166// SetCurrentStepName sets the CurrentStepName field's value.
18167func (s *AutomationExecution) SetCurrentStepName(v string) *AutomationExecution {
18168	s.CurrentStepName = &v
18169	return s
18170}
18171
18172// SetDocumentName sets the DocumentName field's value.
18173func (s *AutomationExecution) SetDocumentName(v string) *AutomationExecution {
18174	s.DocumentName = &v
18175	return s
18176}
18177
18178// SetDocumentVersion sets the DocumentVersion field's value.
18179func (s *AutomationExecution) SetDocumentVersion(v string) *AutomationExecution {
18180	s.DocumentVersion = &v
18181	return s
18182}
18183
18184// SetExecutedBy sets the ExecutedBy field's value.
18185func (s *AutomationExecution) SetExecutedBy(v string) *AutomationExecution {
18186	s.ExecutedBy = &v
18187	return s
18188}
18189
18190// SetExecutionEndTime sets the ExecutionEndTime field's value.
18191func (s *AutomationExecution) SetExecutionEndTime(v time.Time) *AutomationExecution {
18192	s.ExecutionEndTime = &v
18193	return s
18194}
18195
18196// SetExecutionStartTime sets the ExecutionStartTime field's value.
18197func (s *AutomationExecution) SetExecutionStartTime(v time.Time) *AutomationExecution {
18198	s.ExecutionStartTime = &v
18199	return s
18200}
18201
18202// SetFailureMessage sets the FailureMessage field's value.
18203func (s *AutomationExecution) SetFailureMessage(v string) *AutomationExecution {
18204	s.FailureMessage = &v
18205	return s
18206}
18207
18208// SetMaxConcurrency sets the MaxConcurrency field's value.
18209func (s *AutomationExecution) SetMaxConcurrency(v string) *AutomationExecution {
18210	s.MaxConcurrency = &v
18211	return s
18212}
18213
18214// SetMaxErrors sets the MaxErrors field's value.
18215func (s *AutomationExecution) SetMaxErrors(v string) *AutomationExecution {
18216	s.MaxErrors = &v
18217	return s
18218}
18219
18220// SetMode sets the Mode field's value.
18221func (s *AutomationExecution) SetMode(v string) *AutomationExecution {
18222	s.Mode = &v
18223	return s
18224}
18225
18226// SetOpsItemId sets the OpsItemId field's value.
18227func (s *AutomationExecution) SetOpsItemId(v string) *AutomationExecution {
18228	s.OpsItemId = &v
18229	return s
18230}
18231
18232// SetOutputs sets the Outputs field's value.
18233func (s *AutomationExecution) SetOutputs(v map[string][]*string) *AutomationExecution {
18234	s.Outputs = v
18235	return s
18236}
18237
18238// SetParameters sets the Parameters field's value.
18239func (s *AutomationExecution) SetParameters(v map[string][]*string) *AutomationExecution {
18240	s.Parameters = v
18241	return s
18242}
18243
18244// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
18245func (s *AutomationExecution) SetParentAutomationExecutionId(v string) *AutomationExecution {
18246	s.ParentAutomationExecutionId = &v
18247	return s
18248}
18249
18250// SetProgressCounters sets the ProgressCounters field's value.
18251func (s *AutomationExecution) SetProgressCounters(v *ProgressCounters) *AutomationExecution {
18252	s.ProgressCounters = v
18253	return s
18254}
18255
18256// SetResolvedTargets sets the ResolvedTargets field's value.
18257func (s *AutomationExecution) SetResolvedTargets(v *ResolvedTargets) *AutomationExecution {
18258	s.ResolvedTargets = v
18259	return s
18260}
18261
18262// SetRunbooks sets the Runbooks field's value.
18263func (s *AutomationExecution) SetRunbooks(v []*Runbook) *AutomationExecution {
18264	s.Runbooks = v
18265	return s
18266}
18267
18268// SetScheduledTime sets the ScheduledTime field's value.
18269func (s *AutomationExecution) SetScheduledTime(v time.Time) *AutomationExecution {
18270	s.ScheduledTime = &v
18271	return s
18272}
18273
18274// SetStepExecutions sets the StepExecutions field's value.
18275func (s *AutomationExecution) SetStepExecutions(v []*StepExecution) *AutomationExecution {
18276	s.StepExecutions = v
18277	return s
18278}
18279
18280// SetStepExecutionsTruncated sets the StepExecutionsTruncated field's value.
18281func (s *AutomationExecution) SetStepExecutionsTruncated(v bool) *AutomationExecution {
18282	s.StepExecutionsTruncated = &v
18283	return s
18284}
18285
18286// SetTarget sets the Target field's value.
18287func (s *AutomationExecution) SetTarget(v string) *AutomationExecution {
18288	s.Target = &v
18289	return s
18290}
18291
18292// SetTargetLocations sets the TargetLocations field's value.
18293func (s *AutomationExecution) SetTargetLocations(v []*TargetLocation) *AutomationExecution {
18294	s.TargetLocations = v
18295	return s
18296}
18297
18298// SetTargetMaps sets the TargetMaps field's value.
18299func (s *AutomationExecution) SetTargetMaps(v []map[string][]*string) *AutomationExecution {
18300	s.TargetMaps = v
18301	return s
18302}
18303
18304// SetTargetParameterName sets the TargetParameterName field's value.
18305func (s *AutomationExecution) SetTargetParameterName(v string) *AutomationExecution {
18306	s.TargetParameterName = &v
18307	return s
18308}
18309
18310// SetTargets sets the Targets field's value.
18311func (s *AutomationExecution) SetTargets(v []*Target) *AutomationExecution {
18312	s.Targets = v
18313	return s
18314}
18315
18316// A filter used to match specific automation executions. This is used to limit
18317// the scope of Automation execution information returned.
18318type AutomationExecutionFilter struct {
18319	_ struct{} `type:"structure"`
18320
18321	// One or more keys to limit the results.
18322	//
18323	// Key is a required field
18324	Key *string `type:"string" required:"true" enum:"AutomationExecutionFilterKey"`
18325
18326	// The values used to limit the execution information associated with the filter's
18327	// key.
18328	//
18329	// Values is a required field
18330	Values []*string `min:"1" type:"list" required:"true"`
18331}
18332
18333// String returns the string representation.
18334//
18335// API parameter values that are decorated as "sensitive" in the API will not
18336// be included in the string output. The member name will be present, but the
18337// value will be replaced with "sensitive".
18338func (s AutomationExecutionFilter) String() string {
18339	return awsutil.Prettify(s)
18340}
18341
18342// GoString returns the string representation.
18343//
18344// API parameter values that are decorated as "sensitive" in the API will not
18345// be included in the string output. The member name will be present, but the
18346// value will be replaced with "sensitive".
18347func (s AutomationExecutionFilter) GoString() string {
18348	return s.String()
18349}
18350
18351// Validate inspects the fields of the type to determine if they are valid.
18352func (s *AutomationExecutionFilter) Validate() error {
18353	invalidParams := request.ErrInvalidParams{Context: "AutomationExecutionFilter"}
18354	if s.Key == nil {
18355		invalidParams.Add(request.NewErrParamRequired("Key"))
18356	}
18357	if s.Values == nil {
18358		invalidParams.Add(request.NewErrParamRequired("Values"))
18359	}
18360	if s.Values != nil && len(s.Values) < 1 {
18361		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
18362	}
18363
18364	if invalidParams.Len() > 0 {
18365		return invalidParams
18366	}
18367	return nil
18368}
18369
18370// SetKey sets the Key field's value.
18371func (s *AutomationExecutionFilter) SetKey(v string) *AutomationExecutionFilter {
18372	s.Key = &v
18373	return s
18374}
18375
18376// SetValues sets the Values field's value.
18377func (s *AutomationExecutionFilter) SetValues(v []*string) *AutomationExecutionFilter {
18378	s.Values = v
18379	return s
18380}
18381
18382// The number of simultaneously running Automation executions exceeded the allowable
18383// limit.
18384type AutomationExecutionLimitExceededException struct {
18385	_            struct{}                  `type:"structure"`
18386	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18387
18388	Message_ *string `locationName:"Message" type:"string"`
18389}
18390
18391// String returns the string representation.
18392//
18393// API parameter values that are decorated as "sensitive" in the API will not
18394// be included in the string output. The member name will be present, but the
18395// value will be replaced with "sensitive".
18396func (s AutomationExecutionLimitExceededException) String() string {
18397	return awsutil.Prettify(s)
18398}
18399
18400// GoString returns the string representation.
18401//
18402// API parameter values that are decorated as "sensitive" in the API will not
18403// be included in the string output. The member name will be present, but the
18404// value will be replaced with "sensitive".
18405func (s AutomationExecutionLimitExceededException) GoString() string {
18406	return s.String()
18407}
18408
18409func newErrorAutomationExecutionLimitExceededException(v protocol.ResponseMetadata) error {
18410	return &AutomationExecutionLimitExceededException{
18411		RespMetadata: v,
18412	}
18413}
18414
18415// Code returns the exception type name.
18416func (s *AutomationExecutionLimitExceededException) Code() string {
18417	return "AutomationExecutionLimitExceededException"
18418}
18419
18420// Message returns the exception's message.
18421func (s *AutomationExecutionLimitExceededException) Message() string {
18422	if s.Message_ != nil {
18423		return *s.Message_
18424	}
18425	return ""
18426}
18427
18428// OrigErr always returns nil, satisfies awserr.Error interface.
18429func (s *AutomationExecutionLimitExceededException) OrigErr() error {
18430	return nil
18431}
18432
18433func (s *AutomationExecutionLimitExceededException) Error() string {
18434	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18435}
18436
18437// Status code returns the HTTP status code for the request's response error.
18438func (s *AutomationExecutionLimitExceededException) StatusCode() int {
18439	return s.RespMetadata.StatusCode
18440}
18441
18442// RequestID returns the service's response RequestID for request.
18443func (s *AutomationExecutionLimitExceededException) RequestID() string {
18444	return s.RespMetadata.RequestID
18445}
18446
18447// Details about a specific Automation execution.
18448type AutomationExecutionMetadata struct {
18449	_ struct{} `type:"structure"`
18450
18451	// The ID of a State Manager association used in the Automation operation.
18452	AssociationId *string `type:"string"`
18453
18454	// The execution ID.
18455	AutomationExecutionId *string `min:"36" type:"string"`
18456
18457	// The status of the execution.
18458	AutomationExecutionStatus *string `type:"string" enum:"AutomationExecutionStatus"`
18459
18460	// The subtype of the Automation operation. Currently, the only supported value
18461	// is ChangeRequest.
18462	AutomationSubtype *string `type:"string" enum:"AutomationSubtype"`
18463
18464	// Use this filter with DescribeAutomationExecutions. Specify either Local or
18465	// CrossAccount. CrossAccount is an Automation that runs in multiple Amazon
18466	// Web Services Regions and Amazon Web Services accounts. For more information,
18467	// see Running Automation workflows in multiple Amazon Web Services Regions
18468	// and accounts (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
18469	// in the Amazon Web Services Systems Manager User Guide.
18470	AutomationType *string `type:"string" enum:"AutomationType"`
18471
18472	// The name of the Change Manager change request.
18473	ChangeRequestName *string `min:"1" type:"string"`
18474
18475	// The action of the step that is currently running.
18476	CurrentAction *string `type:"string"`
18477
18478	// The name of the step that is currently running.
18479	CurrentStepName *string `type:"string"`
18480
18481	// The name of the Automation runbook used during execution.
18482	DocumentName *string `type:"string"`
18483
18484	// The document version used during the execution.
18485	DocumentVersion *string `type:"string"`
18486
18487	// The IAM role ARN of the user who ran the automation.
18488	ExecutedBy *string `type:"string"`
18489
18490	// The time the execution finished. This isn't populated if the execution is
18491	// still in progress.
18492	ExecutionEndTime *time.Time `type:"timestamp"`
18493
18494	// The time the execution started.
18495	ExecutionStartTime *time.Time `type:"timestamp"`
18496
18497	// The list of execution outputs as defined in the Automation runbook.
18498	FailureMessage *string `type:"string"`
18499
18500	// An S3 bucket where execution information is stored.
18501	LogFile *string `type:"string"`
18502
18503	// The MaxConcurrency value specified by the user when starting the automation.
18504	MaxConcurrency *string `min:"1" type:"string"`
18505
18506	// The MaxErrors value specified by the user when starting the automation.
18507	MaxErrors *string `min:"1" type:"string"`
18508
18509	// The Automation execution mode.
18510	Mode *string `type:"string" enum:"ExecutionMode"`
18511
18512	// The ID of an OpsItem that is created to represent a Change Manager change
18513	// request.
18514	OpsItemId *string `type:"string"`
18515
18516	// The list of execution outputs as defined in the Automation runbook.
18517	Outputs map[string][]*string `min:"1" type:"map"`
18518
18519	// The execution ID of the parent automation.
18520	ParentAutomationExecutionId *string `min:"36" type:"string"`
18521
18522	// A list of targets that resolved during the execution.
18523	ResolvedTargets *ResolvedTargets `type:"structure"`
18524
18525	// Information about the Automation runbooks that are run during a runbook workflow
18526	// in Change Manager.
18527	//
18528	// The Automation runbooks specified for the runbook workflow can't run until
18529	// all required approvals for the change request have been received.
18530	Runbooks []*Runbook `min:"1" type:"list"`
18531
18532	// The date and time the Automation operation is scheduled to start.
18533	ScheduledTime *time.Time `type:"timestamp"`
18534
18535	// The list of execution outputs as defined in the Automation runbook.
18536	Target *string `type:"string"`
18537
18538	// The specified key-value mapping of document parameters to target resources.
18539	TargetMaps []map[string][]*string `type:"list"`
18540
18541	// The list of execution outputs as defined in the Automation runbook.
18542	TargetParameterName *string `min:"1" type:"string"`
18543
18544	// The targets defined by the user when starting the automation.
18545	Targets []*Target `type:"list"`
18546}
18547
18548// String returns the string representation.
18549//
18550// API parameter values that are decorated as "sensitive" in the API will not
18551// be included in the string output. The member name will be present, but the
18552// value will be replaced with "sensitive".
18553func (s AutomationExecutionMetadata) String() string {
18554	return awsutil.Prettify(s)
18555}
18556
18557// GoString returns the string representation.
18558//
18559// API parameter values that are decorated as "sensitive" in the API will not
18560// be included in the string output. The member name will be present, but the
18561// value will be replaced with "sensitive".
18562func (s AutomationExecutionMetadata) GoString() string {
18563	return s.String()
18564}
18565
18566// SetAssociationId sets the AssociationId field's value.
18567func (s *AutomationExecutionMetadata) SetAssociationId(v string) *AutomationExecutionMetadata {
18568	s.AssociationId = &v
18569	return s
18570}
18571
18572// SetAutomationExecutionId sets the AutomationExecutionId field's value.
18573func (s *AutomationExecutionMetadata) SetAutomationExecutionId(v string) *AutomationExecutionMetadata {
18574	s.AutomationExecutionId = &v
18575	return s
18576}
18577
18578// SetAutomationExecutionStatus sets the AutomationExecutionStatus field's value.
18579func (s *AutomationExecutionMetadata) SetAutomationExecutionStatus(v string) *AutomationExecutionMetadata {
18580	s.AutomationExecutionStatus = &v
18581	return s
18582}
18583
18584// SetAutomationSubtype sets the AutomationSubtype field's value.
18585func (s *AutomationExecutionMetadata) SetAutomationSubtype(v string) *AutomationExecutionMetadata {
18586	s.AutomationSubtype = &v
18587	return s
18588}
18589
18590// SetAutomationType sets the AutomationType field's value.
18591func (s *AutomationExecutionMetadata) SetAutomationType(v string) *AutomationExecutionMetadata {
18592	s.AutomationType = &v
18593	return s
18594}
18595
18596// SetChangeRequestName sets the ChangeRequestName field's value.
18597func (s *AutomationExecutionMetadata) SetChangeRequestName(v string) *AutomationExecutionMetadata {
18598	s.ChangeRequestName = &v
18599	return s
18600}
18601
18602// SetCurrentAction sets the CurrentAction field's value.
18603func (s *AutomationExecutionMetadata) SetCurrentAction(v string) *AutomationExecutionMetadata {
18604	s.CurrentAction = &v
18605	return s
18606}
18607
18608// SetCurrentStepName sets the CurrentStepName field's value.
18609func (s *AutomationExecutionMetadata) SetCurrentStepName(v string) *AutomationExecutionMetadata {
18610	s.CurrentStepName = &v
18611	return s
18612}
18613
18614// SetDocumentName sets the DocumentName field's value.
18615func (s *AutomationExecutionMetadata) SetDocumentName(v string) *AutomationExecutionMetadata {
18616	s.DocumentName = &v
18617	return s
18618}
18619
18620// SetDocumentVersion sets the DocumentVersion field's value.
18621func (s *AutomationExecutionMetadata) SetDocumentVersion(v string) *AutomationExecutionMetadata {
18622	s.DocumentVersion = &v
18623	return s
18624}
18625
18626// SetExecutedBy sets the ExecutedBy field's value.
18627func (s *AutomationExecutionMetadata) SetExecutedBy(v string) *AutomationExecutionMetadata {
18628	s.ExecutedBy = &v
18629	return s
18630}
18631
18632// SetExecutionEndTime sets the ExecutionEndTime field's value.
18633func (s *AutomationExecutionMetadata) SetExecutionEndTime(v time.Time) *AutomationExecutionMetadata {
18634	s.ExecutionEndTime = &v
18635	return s
18636}
18637
18638// SetExecutionStartTime sets the ExecutionStartTime field's value.
18639func (s *AutomationExecutionMetadata) SetExecutionStartTime(v time.Time) *AutomationExecutionMetadata {
18640	s.ExecutionStartTime = &v
18641	return s
18642}
18643
18644// SetFailureMessage sets the FailureMessage field's value.
18645func (s *AutomationExecutionMetadata) SetFailureMessage(v string) *AutomationExecutionMetadata {
18646	s.FailureMessage = &v
18647	return s
18648}
18649
18650// SetLogFile sets the LogFile field's value.
18651func (s *AutomationExecutionMetadata) SetLogFile(v string) *AutomationExecutionMetadata {
18652	s.LogFile = &v
18653	return s
18654}
18655
18656// SetMaxConcurrency sets the MaxConcurrency field's value.
18657func (s *AutomationExecutionMetadata) SetMaxConcurrency(v string) *AutomationExecutionMetadata {
18658	s.MaxConcurrency = &v
18659	return s
18660}
18661
18662// SetMaxErrors sets the MaxErrors field's value.
18663func (s *AutomationExecutionMetadata) SetMaxErrors(v string) *AutomationExecutionMetadata {
18664	s.MaxErrors = &v
18665	return s
18666}
18667
18668// SetMode sets the Mode field's value.
18669func (s *AutomationExecutionMetadata) SetMode(v string) *AutomationExecutionMetadata {
18670	s.Mode = &v
18671	return s
18672}
18673
18674// SetOpsItemId sets the OpsItemId field's value.
18675func (s *AutomationExecutionMetadata) SetOpsItemId(v string) *AutomationExecutionMetadata {
18676	s.OpsItemId = &v
18677	return s
18678}
18679
18680// SetOutputs sets the Outputs field's value.
18681func (s *AutomationExecutionMetadata) SetOutputs(v map[string][]*string) *AutomationExecutionMetadata {
18682	s.Outputs = v
18683	return s
18684}
18685
18686// SetParentAutomationExecutionId sets the ParentAutomationExecutionId field's value.
18687func (s *AutomationExecutionMetadata) SetParentAutomationExecutionId(v string) *AutomationExecutionMetadata {
18688	s.ParentAutomationExecutionId = &v
18689	return s
18690}
18691
18692// SetResolvedTargets sets the ResolvedTargets field's value.
18693func (s *AutomationExecutionMetadata) SetResolvedTargets(v *ResolvedTargets) *AutomationExecutionMetadata {
18694	s.ResolvedTargets = v
18695	return s
18696}
18697
18698// SetRunbooks sets the Runbooks field's value.
18699func (s *AutomationExecutionMetadata) SetRunbooks(v []*Runbook) *AutomationExecutionMetadata {
18700	s.Runbooks = v
18701	return s
18702}
18703
18704// SetScheduledTime sets the ScheduledTime field's value.
18705func (s *AutomationExecutionMetadata) SetScheduledTime(v time.Time) *AutomationExecutionMetadata {
18706	s.ScheduledTime = &v
18707	return s
18708}
18709
18710// SetTarget sets the Target field's value.
18711func (s *AutomationExecutionMetadata) SetTarget(v string) *AutomationExecutionMetadata {
18712	s.Target = &v
18713	return s
18714}
18715
18716// SetTargetMaps sets the TargetMaps field's value.
18717func (s *AutomationExecutionMetadata) SetTargetMaps(v []map[string][]*string) *AutomationExecutionMetadata {
18718	s.TargetMaps = v
18719	return s
18720}
18721
18722// SetTargetParameterName sets the TargetParameterName field's value.
18723func (s *AutomationExecutionMetadata) SetTargetParameterName(v string) *AutomationExecutionMetadata {
18724	s.TargetParameterName = &v
18725	return s
18726}
18727
18728// SetTargets sets the Targets field's value.
18729func (s *AutomationExecutionMetadata) SetTargets(v []*Target) *AutomationExecutionMetadata {
18730	s.Targets = v
18731	return s
18732}
18733
18734// There is no automation execution information for the requested automation
18735// execution ID.
18736type AutomationExecutionNotFoundException struct {
18737	_            struct{}                  `type:"structure"`
18738	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18739
18740	Message_ *string `locationName:"Message" type:"string"`
18741}
18742
18743// String returns the string representation.
18744//
18745// API parameter values that are decorated as "sensitive" in the API will not
18746// be included in the string output. The member name will be present, but the
18747// value will be replaced with "sensitive".
18748func (s AutomationExecutionNotFoundException) String() string {
18749	return awsutil.Prettify(s)
18750}
18751
18752// GoString returns the string representation.
18753//
18754// API parameter values that are decorated as "sensitive" in the API will not
18755// be included in the string output. The member name will be present, but the
18756// value will be replaced with "sensitive".
18757func (s AutomationExecutionNotFoundException) GoString() string {
18758	return s.String()
18759}
18760
18761func newErrorAutomationExecutionNotFoundException(v protocol.ResponseMetadata) error {
18762	return &AutomationExecutionNotFoundException{
18763		RespMetadata: v,
18764	}
18765}
18766
18767// Code returns the exception type name.
18768func (s *AutomationExecutionNotFoundException) Code() string {
18769	return "AutomationExecutionNotFoundException"
18770}
18771
18772// Message returns the exception's message.
18773func (s *AutomationExecutionNotFoundException) Message() string {
18774	if s.Message_ != nil {
18775		return *s.Message_
18776	}
18777	return ""
18778}
18779
18780// OrigErr always returns nil, satisfies awserr.Error interface.
18781func (s *AutomationExecutionNotFoundException) OrigErr() error {
18782	return nil
18783}
18784
18785func (s *AutomationExecutionNotFoundException) Error() string {
18786	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18787}
18788
18789// Status code returns the HTTP status code for the request's response error.
18790func (s *AutomationExecutionNotFoundException) StatusCode() int {
18791	return s.RespMetadata.StatusCode
18792}
18793
18794// RequestID returns the service's response RequestID for request.
18795func (s *AutomationExecutionNotFoundException) RequestID() string {
18796	return s.RespMetadata.RequestID
18797}
18798
18799// The specified step name and execution ID don't exist. Verify the information
18800// and try again.
18801type AutomationStepNotFoundException struct {
18802	_            struct{}                  `type:"structure"`
18803	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18804
18805	Message_ *string `locationName:"Message" type:"string"`
18806}
18807
18808// String returns the string representation.
18809//
18810// API parameter values that are decorated as "sensitive" in the API will not
18811// be included in the string output. The member name will be present, but the
18812// value will be replaced with "sensitive".
18813func (s AutomationStepNotFoundException) String() string {
18814	return awsutil.Prettify(s)
18815}
18816
18817// GoString returns the string representation.
18818//
18819// API parameter values that are decorated as "sensitive" in the API will not
18820// be included in the string output. The member name will be present, but the
18821// value will be replaced with "sensitive".
18822func (s AutomationStepNotFoundException) GoString() string {
18823	return s.String()
18824}
18825
18826func newErrorAutomationStepNotFoundException(v protocol.ResponseMetadata) error {
18827	return &AutomationStepNotFoundException{
18828		RespMetadata: v,
18829	}
18830}
18831
18832// Code returns the exception type name.
18833func (s *AutomationStepNotFoundException) Code() string {
18834	return "AutomationStepNotFoundException"
18835}
18836
18837// Message returns the exception's message.
18838func (s *AutomationStepNotFoundException) Message() string {
18839	if s.Message_ != nil {
18840		return *s.Message_
18841	}
18842	return ""
18843}
18844
18845// OrigErr always returns nil, satisfies awserr.Error interface.
18846func (s *AutomationStepNotFoundException) OrigErr() error {
18847	return nil
18848}
18849
18850func (s *AutomationStepNotFoundException) Error() string {
18851	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
18852}
18853
18854// Status code returns the HTTP status code for the request's response error.
18855func (s *AutomationStepNotFoundException) StatusCode() int {
18856	return s.RespMetadata.StatusCode
18857}
18858
18859// RequestID returns the service's response RequestID for request.
18860func (s *AutomationStepNotFoundException) RequestID() string {
18861	return s.RespMetadata.RequestID
18862}
18863
18864// Defines the basic information about a patch baseline override.
18865type BaselineOverride struct {
18866	_ struct{} `type:"structure"`
18867
18868	// A set of rules defining the approval rules for a patch baseline.
18869	ApprovalRules *PatchRuleGroup `type:"structure"`
18870
18871	// A list of explicitly approved patches for the baseline.
18872	//
18873	// For information about accepted formats for lists of approved patches and
18874	// rejected patches, see About package name formats for approved and rejected
18875	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
18876	// in the Amazon Web Services Systems Manager User Guide.
18877	ApprovedPatches []*string `type:"list"`
18878
18879	// Defines the compliance level for approved patches. When an approved patch
18880	// is reported as missing, this value describes the severity of the compliance
18881	// violation.
18882	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
18883
18884	// Indicates whether the list of approved patches includes non-security updates
18885	// that should be applied to the instances. The default value is false. Applies
18886	// to Linux instances only.
18887	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
18888
18889	// A set of patch filters, typically used for approval rules.
18890	GlobalFilters *PatchFilterGroup `type:"structure"`
18891
18892	// The operating system rule used by the patch baseline override.
18893	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
18894
18895	// A list of explicitly rejected patches for the baseline.
18896	//
18897	// For information about accepted formats for lists of approved patches and
18898	// rejected patches, see About package name formats for approved and rejected
18899	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
18900	// in the Amazon Web Services Systems Manager User Guide.
18901	RejectedPatches []*string `type:"list"`
18902
18903	// The action for Patch Manager to take on patches included in the RejectedPackages
18904	// list. A patch can be allowed only if it is a dependency of another package,
18905	// or blocked entirely along with packages that include it as a dependency.
18906	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
18907
18908	// Information about the patches to use to update the instances, including target
18909	// operating systems and source repositories. Applies to Linux instances only.
18910	Sources []*PatchSource `type:"list"`
18911}
18912
18913// String returns the string representation.
18914//
18915// API parameter values that are decorated as "sensitive" in the API will not
18916// be included in the string output. The member name will be present, but the
18917// value will be replaced with "sensitive".
18918func (s BaselineOverride) String() string {
18919	return awsutil.Prettify(s)
18920}
18921
18922// GoString returns the string representation.
18923//
18924// API parameter values that are decorated as "sensitive" in the API will not
18925// be included in the string output. The member name will be present, but the
18926// value will be replaced with "sensitive".
18927func (s BaselineOverride) GoString() string {
18928	return s.String()
18929}
18930
18931// Validate inspects the fields of the type to determine if they are valid.
18932func (s *BaselineOverride) Validate() error {
18933	invalidParams := request.ErrInvalidParams{Context: "BaselineOverride"}
18934	if s.ApprovalRules != nil {
18935		if err := s.ApprovalRules.Validate(); err != nil {
18936			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
18937		}
18938	}
18939	if s.GlobalFilters != nil {
18940		if err := s.GlobalFilters.Validate(); err != nil {
18941			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
18942		}
18943	}
18944	if s.Sources != nil {
18945		for i, v := range s.Sources {
18946			if v == nil {
18947				continue
18948			}
18949			if err := v.Validate(); err != nil {
18950				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
18951			}
18952		}
18953	}
18954
18955	if invalidParams.Len() > 0 {
18956		return invalidParams
18957	}
18958	return nil
18959}
18960
18961// SetApprovalRules sets the ApprovalRules field's value.
18962func (s *BaselineOverride) SetApprovalRules(v *PatchRuleGroup) *BaselineOverride {
18963	s.ApprovalRules = v
18964	return s
18965}
18966
18967// SetApprovedPatches sets the ApprovedPatches field's value.
18968func (s *BaselineOverride) SetApprovedPatches(v []*string) *BaselineOverride {
18969	s.ApprovedPatches = v
18970	return s
18971}
18972
18973// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
18974func (s *BaselineOverride) SetApprovedPatchesComplianceLevel(v string) *BaselineOverride {
18975	s.ApprovedPatchesComplianceLevel = &v
18976	return s
18977}
18978
18979// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
18980func (s *BaselineOverride) SetApprovedPatchesEnableNonSecurity(v bool) *BaselineOverride {
18981	s.ApprovedPatchesEnableNonSecurity = &v
18982	return s
18983}
18984
18985// SetGlobalFilters sets the GlobalFilters field's value.
18986func (s *BaselineOverride) SetGlobalFilters(v *PatchFilterGroup) *BaselineOverride {
18987	s.GlobalFilters = v
18988	return s
18989}
18990
18991// SetOperatingSystem sets the OperatingSystem field's value.
18992func (s *BaselineOverride) SetOperatingSystem(v string) *BaselineOverride {
18993	s.OperatingSystem = &v
18994	return s
18995}
18996
18997// SetRejectedPatches sets the RejectedPatches field's value.
18998func (s *BaselineOverride) SetRejectedPatches(v []*string) *BaselineOverride {
18999	s.RejectedPatches = v
19000	return s
19001}
19002
19003// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
19004func (s *BaselineOverride) SetRejectedPatchesAction(v string) *BaselineOverride {
19005	s.RejectedPatchesAction = &v
19006	return s
19007}
19008
19009// SetSources sets the Sources field's value.
19010func (s *BaselineOverride) SetSources(v []*PatchSource) *BaselineOverride {
19011	s.Sources = v
19012	return s
19013}
19014
19015type CancelCommandInput struct {
19016	_ struct{} `type:"structure"`
19017
19018	// The ID of the command you want to cancel.
19019	//
19020	// CommandId is a required field
19021	CommandId *string `min:"36" type:"string" required:"true"`
19022
19023	// (Optional) A list of instance IDs on which you want to cancel the command.
19024	// If not provided, the command is canceled on every instance on which it was
19025	// requested.
19026	InstanceIds []*string `type:"list"`
19027}
19028
19029// String returns the string representation.
19030//
19031// API parameter values that are decorated as "sensitive" in the API will not
19032// be included in the string output. The member name will be present, but the
19033// value will be replaced with "sensitive".
19034func (s CancelCommandInput) String() string {
19035	return awsutil.Prettify(s)
19036}
19037
19038// GoString returns the string representation.
19039//
19040// API parameter values that are decorated as "sensitive" in the API will not
19041// be included in the string output. The member name will be present, but the
19042// value will be replaced with "sensitive".
19043func (s CancelCommandInput) GoString() string {
19044	return s.String()
19045}
19046
19047// Validate inspects the fields of the type to determine if they are valid.
19048func (s *CancelCommandInput) Validate() error {
19049	invalidParams := request.ErrInvalidParams{Context: "CancelCommandInput"}
19050	if s.CommandId == nil {
19051		invalidParams.Add(request.NewErrParamRequired("CommandId"))
19052	}
19053	if s.CommandId != nil && len(*s.CommandId) < 36 {
19054		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
19055	}
19056
19057	if invalidParams.Len() > 0 {
19058		return invalidParams
19059	}
19060	return nil
19061}
19062
19063// SetCommandId sets the CommandId field's value.
19064func (s *CancelCommandInput) SetCommandId(v string) *CancelCommandInput {
19065	s.CommandId = &v
19066	return s
19067}
19068
19069// SetInstanceIds sets the InstanceIds field's value.
19070func (s *CancelCommandInput) SetInstanceIds(v []*string) *CancelCommandInput {
19071	s.InstanceIds = v
19072	return s
19073}
19074
19075// Whether or not the command was successfully canceled. There is no guarantee
19076// that a request can be canceled.
19077type CancelCommandOutput struct {
19078	_ struct{} `type:"structure"`
19079}
19080
19081// String returns the string representation.
19082//
19083// API parameter values that are decorated as "sensitive" in the API will not
19084// be included in the string output. The member name will be present, but the
19085// value will be replaced with "sensitive".
19086func (s CancelCommandOutput) String() string {
19087	return awsutil.Prettify(s)
19088}
19089
19090// GoString returns the string representation.
19091//
19092// API parameter values that are decorated as "sensitive" in the API will not
19093// be included in the string output. The member name will be present, but the
19094// value will be replaced with "sensitive".
19095func (s CancelCommandOutput) GoString() string {
19096	return s.String()
19097}
19098
19099type CancelMaintenanceWindowExecutionInput struct {
19100	_ struct{} `type:"structure"`
19101
19102	// The ID of the maintenance window execution to stop.
19103	//
19104	// WindowExecutionId is a required field
19105	WindowExecutionId *string `min:"36" type:"string" required:"true"`
19106}
19107
19108// String returns the string representation.
19109//
19110// API parameter values that are decorated as "sensitive" in the API will not
19111// be included in the string output. The member name will be present, but the
19112// value will be replaced with "sensitive".
19113func (s CancelMaintenanceWindowExecutionInput) String() string {
19114	return awsutil.Prettify(s)
19115}
19116
19117// GoString returns the string representation.
19118//
19119// API parameter values that are decorated as "sensitive" in the API will not
19120// be included in the string output. The member name will be present, but the
19121// value will be replaced with "sensitive".
19122func (s CancelMaintenanceWindowExecutionInput) GoString() string {
19123	return s.String()
19124}
19125
19126// Validate inspects the fields of the type to determine if they are valid.
19127func (s *CancelMaintenanceWindowExecutionInput) Validate() error {
19128	invalidParams := request.ErrInvalidParams{Context: "CancelMaintenanceWindowExecutionInput"}
19129	if s.WindowExecutionId == nil {
19130		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
19131	}
19132	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
19133		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
19134	}
19135
19136	if invalidParams.Len() > 0 {
19137		return invalidParams
19138	}
19139	return nil
19140}
19141
19142// SetWindowExecutionId sets the WindowExecutionId field's value.
19143func (s *CancelMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionInput {
19144	s.WindowExecutionId = &v
19145	return s
19146}
19147
19148type CancelMaintenanceWindowExecutionOutput struct {
19149	_ struct{} `type:"structure"`
19150
19151	// The ID of the maintenance window execution that has been stopped.
19152	WindowExecutionId *string `min:"36" type:"string"`
19153}
19154
19155// String returns the string representation.
19156//
19157// API parameter values that are decorated as "sensitive" in the API will not
19158// be included in the string output. The member name will be present, but the
19159// value will be replaced with "sensitive".
19160func (s CancelMaintenanceWindowExecutionOutput) String() string {
19161	return awsutil.Prettify(s)
19162}
19163
19164// GoString returns the string representation.
19165//
19166// API parameter values that are decorated as "sensitive" in the API will not
19167// be included in the string output. The member name will be present, but the
19168// value will be replaced with "sensitive".
19169func (s CancelMaintenanceWindowExecutionOutput) GoString() string {
19170	return s.String()
19171}
19172
19173// SetWindowExecutionId sets the WindowExecutionId field's value.
19174func (s *CancelMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *CancelMaintenanceWindowExecutionOutput {
19175	s.WindowExecutionId = &v
19176	return s
19177}
19178
19179// Configuration options for sending command output to Amazon CloudWatch Logs.
19180type CloudWatchOutputConfig struct {
19181	_ struct{} `type:"structure"`
19182
19183	// The name of the CloudWatch Logs log group where you want to send command
19184	// output. If you don't specify a group name, Amazon Web Services Systems Manager
19185	// automatically creates a log group for you. The log group uses the following
19186	// naming format:
19187	//
19188	// aws/ssm/SystemsManagerDocumentName
19189	CloudWatchLogGroupName *string `min:"1" type:"string"`
19190
19191	// Enables Systems Manager to send command output to CloudWatch Logs.
19192	CloudWatchOutputEnabled *bool `type:"boolean"`
19193}
19194
19195// String returns the string representation.
19196//
19197// API parameter values that are decorated as "sensitive" in the API will not
19198// be included in the string output. The member name will be present, but the
19199// value will be replaced with "sensitive".
19200func (s CloudWatchOutputConfig) String() string {
19201	return awsutil.Prettify(s)
19202}
19203
19204// GoString returns the string representation.
19205//
19206// API parameter values that are decorated as "sensitive" in the API will not
19207// be included in the string output. The member name will be present, but the
19208// value will be replaced with "sensitive".
19209func (s CloudWatchOutputConfig) GoString() string {
19210	return s.String()
19211}
19212
19213// Validate inspects the fields of the type to determine if they are valid.
19214func (s *CloudWatchOutputConfig) Validate() error {
19215	invalidParams := request.ErrInvalidParams{Context: "CloudWatchOutputConfig"}
19216	if s.CloudWatchLogGroupName != nil && len(*s.CloudWatchLogGroupName) < 1 {
19217		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupName", 1))
19218	}
19219
19220	if invalidParams.Len() > 0 {
19221		return invalidParams
19222	}
19223	return nil
19224}
19225
19226// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
19227func (s *CloudWatchOutputConfig) SetCloudWatchLogGroupName(v string) *CloudWatchOutputConfig {
19228	s.CloudWatchLogGroupName = &v
19229	return s
19230}
19231
19232// SetCloudWatchOutputEnabled sets the CloudWatchOutputEnabled field's value.
19233func (s *CloudWatchOutputConfig) SetCloudWatchOutputEnabled(v bool) *CloudWatchOutputConfig {
19234	s.CloudWatchOutputEnabled = &v
19235	return s
19236}
19237
19238// Describes a command request.
19239type Command struct {
19240	_ struct{} `type:"structure"`
19241
19242	// Amazon CloudWatch Logs information where you want Amazon Web Services Systems
19243	// Manager to send the command output.
19244	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
19245
19246	// A unique identifier for this command.
19247	CommandId *string `min:"36" type:"string"`
19248
19249	// User-specified information about the command, such as a brief description
19250	// of what the command should do.
19251	Comment *string `type:"string"`
19252
19253	// The number of targets for which the command invocation reached a terminal
19254	// state. Terminal states include the following: Success, Failed, Execution
19255	// Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.
19256	CompletedCount *int64 `type:"integer"`
19257
19258	// The number of targets for which the status is Delivery Timed Out.
19259	DeliveryTimedOutCount *int64 `type:"integer"`
19260
19261	// The name of the document requested for execution.
19262	DocumentName *string `type:"string"`
19263
19264	// The Systems Manager document (SSM document) version.
19265	DocumentVersion *string `type:"string"`
19266
19267	// The number of targets for which the status is Failed or Execution Timed Out.
19268	ErrorCount *int64 `type:"integer"`
19269
19270	// If this time is reached and the command hasn't already started running, it
19271	// won't run. Calculated based on the ExpiresAfter user input provided as part
19272	// of the SendCommand API operation.
19273	ExpiresAfter *time.Time `type:"timestamp"`
19274
19275	// The instance IDs against which this command was requested.
19276	InstanceIds []*string `type:"list"`
19277
19278	// The maximum number of instances that are allowed to run the command at the
19279	// same time. You can specify a number of instances, such as 10, or a percentage
19280	// of instances, such as 10%. The default value is 50. For more information
19281	// about how to use MaxConcurrency, see Running commands using Systems Manager
19282	// Run Command (https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
19283	// in the Amazon Web Services Systems Manager User Guide.
19284	MaxConcurrency *string `min:"1" type:"string"`
19285
19286	// The maximum number of errors allowed before the system stops sending the
19287	// command to additional targets. You can specify a number of errors, such as
19288	// 10, or a percentage or errors, such as 10%. The default value is 0. For more
19289	// information about how to use MaxErrors, see Running commands using Systems
19290	// Manager Run Command (https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
19291	// in the Amazon Web Services Systems Manager User Guide.
19292	MaxErrors *string `min:"1" type:"string"`
19293
19294	// Configurations for sending notifications about command status changes.
19295	NotificationConfig *NotificationConfig `type:"structure"`
19296
19297	// The S3 bucket where the responses to the command executions should be stored.
19298	// This was requested when issuing the command.
19299	OutputS3BucketName *string `min:"3" type:"string"`
19300
19301	// The S3 directory path inside the bucket where the responses to the command
19302	// executions should be stored. This was requested when issuing the command.
19303	OutputS3KeyPrefix *string `type:"string"`
19304
19305	// (Deprecated) You can no longer specify this parameter. The system ignores
19306	// it. Instead, Systems Manager automatically determines the Amazon Web Services
19307	// Region of the S3 bucket.
19308	OutputS3Region *string `min:"3" type:"string"`
19309
19310	// The parameter values to be inserted in the document when running the command.
19311	Parameters map[string][]*string `type:"map"`
19312
19313	// The date and time the command was requested.
19314	RequestedDateTime *time.Time `type:"timestamp"`
19315
19316	// The Identity and Access Management (IAM) service role that Run Command, a
19317	// capability of Amazon Web Services Systems Manager, uses to act on your behalf
19318	// when sending notifications about command status changes.
19319	ServiceRole *string `type:"string"`
19320
19321	// The status of the command.
19322	Status *string `type:"string" enum:"CommandStatus"`
19323
19324	// A detailed status of the command execution. StatusDetails includes more information
19325	// than Status because it includes states resulting from error and concurrency
19326	// control parameters. StatusDetails can show different results than Status.
19327	// For more information about these statuses, see Understanding command statuses
19328	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
19329	// in the Amazon Web Services Systems Manager User Guide. StatusDetails can
19330	// be one of the following values:
19331	//
19332	//    * Pending: The command hasn't been sent to any instances.
19333	//
19334	//    * In Progress: The command has been sent to at least one instance but
19335	//    hasn't reached a final state on all instances.
19336	//
19337	//    * Success: The command successfully ran on all invocations. This is a
19338	//    terminal state.
19339	//
19340	//    * Delivery Timed Out: The value of MaxErrors or more command invocations
19341	//    shows a status of Delivery Timed Out. This is a terminal state.
19342	//
19343	//    * Execution Timed Out: The value of MaxErrors or more command invocations
19344	//    shows a status of Execution Timed Out. This is a terminal state.
19345	//
19346	//    * Failed: The value of MaxErrors or more command invocations shows a status
19347	//    of Failed. This is a terminal state.
19348	//
19349	//    * Incomplete: The command was attempted on all instances and one or more
19350	//    invocations doesn't have a value of Success but not enough invocations
19351	//    failed for the status to be Failed. This is a terminal state.
19352	//
19353	//    * Canceled: The command was terminated before it was completed. This is
19354	//    a terminal state.
19355	//
19356	//    * Rate Exceeded: The number of instances targeted by the command exceeded
19357	//    the account limit for pending invocations. The system has canceled the
19358	//    command before running it on any instance. This is a terminal state.
19359	StatusDetails *string `type:"string"`
19360
19361	// The number of targets for the command.
19362	TargetCount *int64 `type:"integer"`
19363
19364	// An array of search criteria that targets instances using a Key,Value combination
19365	// that you specify. Targets is required if you don't provide one or more instance
19366	// IDs in the call.
19367	Targets []*Target `type:"list"`
19368
19369	// The TimeoutSeconds value specified for a command.
19370	TimeoutSeconds *int64 `min:"30" type:"integer"`
19371}
19372
19373// String returns the string representation.
19374//
19375// API parameter values that are decorated as "sensitive" in the API will not
19376// be included in the string output. The member name will be present, but the
19377// value will be replaced with "sensitive".
19378func (s Command) String() string {
19379	return awsutil.Prettify(s)
19380}
19381
19382// GoString returns the string representation.
19383//
19384// API parameter values that are decorated as "sensitive" in the API will not
19385// be included in the string output. The member name will be present, but the
19386// value will be replaced with "sensitive".
19387func (s Command) GoString() string {
19388	return s.String()
19389}
19390
19391// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
19392func (s *Command) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *Command {
19393	s.CloudWatchOutputConfig = v
19394	return s
19395}
19396
19397// SetCommandId sets the CommandId field's value.
19398func (s *Command) SetCommandId(v string) *Command {
19399	s.CommandId = &v
19400	return s
19401}
19402
19403// SetComment sets the Comment field's value.
19404func (s *Command) SetComment(v string) *Command {
19405	s.Comment = &v
19406	return s
19407}
19408
19409// SetCompletedCount sets the CompletedCount field's value.
19410func (s *Command) SetCompletedCount(v int64) *Command {
19411	s.CompletedCount = &v
19412	return s
19413}
19414
19415// SetDeliveryTimedOutCount sets the DeliveryTimedOutCount field's value.
19416func (s *Command) SetDeliveryTimedOutCount(v int64) *Command {
19417	s.DeliveryTimedOutCount = &v
19418	return s
19419}
19420
19421// SetDocumentName sets the DocumentName field's value.
19422func (s *Command) SetDocumentName(v string) *Command {
19423	s.DocumentName = &v
19424	return s
19425}
19426
19427// SetDocumentVersion sets the DocumentVersion field's value.
19428func (s *Command) SetDocumentVersion(v string) *Command {
19429	s.DocumentVersion = &v
19430	return s
19431}
19432
19433// SetErrorCount sets the ErrorCount field's value.
19434func (s *Command) SetErrorCount(v int64) *Command {
19435	s.ErrorCount = &v
19436	return s
19437}
19438
19439// SetExpiresAfter sets the ExpiresAfter field's value.
19440func (s *Command) SetExpiresAfter(v time.Time) *Command {
19441	s.ExpiresAfter = &v
19442	return s
19443}
19444
19445// SetInstanceIds sets the InstanceIds field's value.
19446func (s *Command) SetInstanceIds(v []*string) *Command {
19447	s.InstanceIds = v
19448	return s
19449}
19450
19451// SetMaxConcurrency sets the MaxConcurrency field's value.
19452func (s *Command) SetMaxConcurrency(v string) *Command {
19453	s.MaxConcurrency = &v
19454	return s
19455}
19456
19457// SetMaxErrors sets the MaxErrors field's value.
19458func (s *Command) SetMaxErrors(v string) *Command {
19459	s.MaxErrors = &v
19460	return s
19461}
19462
19463// SetNotificationConfig sets the NotificationConfig field's value.
19464func (s *Command) SetNotificationConfig(v *NotificationConfig) *Command {
19465	s.NotificationConfig = v
19466	return s
19467}
19468
19469// SetOutputS3BucketName sets the OutputS3BucketName field's value.
19470func (s *Command) SetOutputS3BucketName(v string) *Command {
19471	s.OutputS3BucketName = &v
19472	return s
19473}
19474
19475// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
19476func (s *Command) SetOutputS3KeyPrefix(v string) *Command {
19477	s.OutputS3KeyPrefix = &v
19478	return s
19479}
19480
19481// SetOutputS3Region sets the OutputS3Region field's value.
19482func (s *Command) SetOutputS3Region(v string) *Command {
19483	s.OutputS3Region = &v
19484	return s
19485}
19486
19487// SetParameters sets the Parameters field's value.
19488func (s *Command) SetParameters(v map[string][]*string) *Command {
19489	s.Parameters = v
19490	return s
19491}
19492
19493// SetRequestedDateTime sets the RequestedDateTime field's value.
19494func (s *Command) SetRequestedDateTime(v time.Time) *Command {
19495	s.RequestedDateTime = &v
19496	return s
19497}
19498
19499// SetServiceRole sets the ServiceRole field's value.
19500func (s *Command) SetServiceRole(v string) *Command {
19501	s.ServiceRole = &v
19502	return s
19503}
19504
19505// SetStatus sets the Status field's value.
19506func (s *Command) SetStatus(v string) *Command {
19507	s.Status = &v
19508	return s
19509}
19510
19511// SetStatusDetails sets the StatusDetails field's value.
19512func (s *Command) SetStatusDetails(v string) *Command {
19513	s.StatusDetails = &v
19514	return s
19515}
19516
19517// SetTargetCount sets the TargetCount field's value.
19518func (s *Command) SetTargetCount(v int64) *Command {
19519	s.TargetCount = &v
19520	return s
19521}
19522
19523// SetTargets sets the Targets field's value.
19524func (s *Command) SetTargets(v []*Target) *Command {
19525	s.Targets = v
19526	return s
19527}
19528
19529// SetTimeoutSeconds sets the TimeoutSeconds field's value.
19530func (s *Command) SetTimeoutSeconds(v int64) *Command {
19531	s.TimeoutSeconds = &v
19532	return s
19533}
19534
19535// Describes a command filter.
19536//
19537// An instance ID can't be specified when a command status is Pending because
19538// the command hasn't run on the instance yet.
19539type CommandFilter struct {
19540	_ struct{} `type:"structure"`
19541
19542	// The name of the filter.
19543	//
19544	// Key is a required field
19545	Key *string `locationName:"key" type:"string" required:"true" enum:"CommandFilterKey"`
19546
19547	// The filter value. Valid values for each filter key are as follows:
19548	//
19549	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
19550	//    specify 2021-07-07T00:00:00Z to see a list of command executions occurring
19551	//    July 7, 2021, and later.
19552	//
19553	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
19554	//    specify 2021-07-07T00:00:00Z to see a list of command executions from
19555	//    before July 7, 2021.
19556	//
19557	//    * Status: Specify a valid command status to see a list of all command
19558	//    executions with that status. The status choices depend on the API you
19559	//    call. The status values you can specify for ListCommands are: Pending
19560	//    InProgress Success Cancelled Failed TimedOut (this includes both Delivery
19561	//    and Execution time outs) AccessDenied DeliveryTimedOut ExecutionTimedOut
19562	//    Incomplete NoInstancesInTag LimitExceeded The status values you can specify
19563	//    for ListCommandInvocations are: Pending InProgress Delayed Success Cancelled
19564	//    Failed TimedOut (this includes both Delivery and Execution time outs)
19565	//    AccessDenied DeliveryTimedOut ExecutionTimedOut Undeliverable InvalidPlatform
19566	//    Terminated
19567	//
19568	//    * DocumentName: Specify name of the Amazon Web Services Systems Manager
19569	//    document (SSM document) for which you want to see command execution results.
19570	//    For example, specify AWS-RunPatchBaseline to see command executions that
19571	//    used this SSM document to perform security patching operations on instances.
19572	//
19573	//    * ExecutionStage: Specify one of the following values: Executing: Returns
19574	//    a list of command executions that are currently still running. Complete:
19575	//    Returns a list of command executions that have already completed.
19576	//
19577	// Value is a required field
19578	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
19579}
19580
19581// String returns the string representation.
19582//
19583// API parameter values that are decorated as "sensitive" in the API will not
19584// be included in the string output. The member name will be present, but the
19585// value will be replaced with "sensitive".
19586func (s CommandFilter) String() string {
19587	return awsutil.Prettify(s)
19588}
19589
19590// GoString returns the string representation.
19591//
19592// API parameter values that are decorated as "sensitive" in the API will not
19593// be included in the string output. The member name will be present, but the
19594// value will be replaced with "sensitive".
19595func (s CommandFilter) GoString() string {
19596	return s.String()
19597}
19598
19599// Validate inspects the fields of the type to determine if they are valid.
19600func (s *CommandFilter) Validate() error {
19601	invalidParams := request.ErrInvalidParams{Context: "CommandFilter"}
19602	if s.Key == nil {
19603		invalidParams.Add(request.NewErrParamRequired("Key"))
19604	}
19605	if s.Value == nil {
19606		invalidParams.Add(request.NewErrParamRequired("Value"))
19607	}
19608	if s.Value != nil && len(*s.Value) < 1 {
19609		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
19610	}
19611
19612	if invalidParams.Len() > 0 {
19613		return invalidParams
19614	}
19615	return nil
19616}
19617
19618// SetKey sets the Key field's value.
19619func (s *CommandFilter) SetKey(v string) *CommandFilter {
19620	s.Key = &v
19621	return s
19622}
19623
19624// SetValue sets the Value field's value.
19625func (s *CommandFilter) SetValue(v string) *CommandFilter {
19626	s.Value = &v
19627	return s
19628}
19629
19630// An invocation is copy of a command sent to a specific instance. A command
19631// can apply to one or more instances. A command invocation applies to one instance.
19632// For example, if a user runs SendCommand against three instances, then a command
19633// invocation is created for each requested instance ID. A command invocation
19634// returns status and detail information about a command you ran.
19635type CommandInvocation struct {
19636	_ struct{} `type:"structure"`
19637
19638	// Amazon CloudWatch Logs information where you want Amazon Web Services Systems
19639	// Manager to send the command output.
19640	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
19641
19642	// The command against which this invocation was requested.
19643	CommandId *string `min:"36" type:"string"`
19644
19645	// Plugins processed by the command.
19646	CommandPlugins []*CommandPlugin `type:"list"`
19647
19648	// User-specified information about the command, such as a brief description
19649	// of what the command should do.
19650	Comment *string `type:"string"`
19651
19652	// The document name that was requested for execution.
19653	DocumentName *string `type:"string"`
19654
19655	// The Systems Manager document (SSM document) version.
19656	DocumentVersion *string `type:"string"`
19657
19658	// The instance ID in which this invocation was requested.
19659	InstanceId *string `type:"string"`
19660
19661	// The fully qualified host name of the managed instance.
19662	InstanceName *string `type:"string"`
19663
19664	// Configurations for sending notifications about command status changes on
19665	// a per instance basis.
19666	NotificationConfig *NotificationConfig `type:"structure"`
19667
19668	// The time and date the request was sent to this instance.
19669	RequestedDateTime *time.Time `type:"timestamp"`
19670
19671	// The Identity and Access Management (IAM) service role that Run Command, a
19672	// capability of Amazon Web Services Systems Manager, uses to act on your behalf
19673	// when sending notifications about command status changes on a per instance
19674	// basis.
19675	ServiceRole *string `type:"string"`
19676
19677	// The URL to the plugin's StdErr file in Amazon Simple Storage Service (Amazon
19678	// S3), if the S3 bucket was defined for the parent command. For an invocation,
19679	// StandardErrorUrl is populated if there is just one plugin defined for the
19680	// command, and the S3 bucket was defined for the command.
19681	StandardErrorUrl *string `type:"string"`
19682
19683	// The URL to the plugin's StdOut file in Amazon Simple Storage Service (Amazon
19684	// S3), if the S3 bucket was defined for the parent command. For an invocation,
19685	// StandardOutputUrl is populated if there is just one plugin defined for the
19686	// command, and the S3 bucket was defined for the command.
19687	StandardOutputUrl *string `type:"string"`
19688
19689	// Whether or not the invocation succeeded, failed, or is pending.
19690	Status *string `type:"string" enum:"CommandInvocationStatus"`
19691
19692	// A detailed status of the command execution for each invocation (each instance
19693	// targeted by the command). StatusDetails includes more information than Status
19694	// because it includes states resulting from error and concurrency control parameters.
19695	// StatusDetails can show different results than Status. For more information
19696	// about these statuses, see Understanding command statuses (https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
19697	// in the Amazon Web Services Systems Manager User Guide. StatusDetails can
19698	// be one of the following values:
19699	//
19700	//    * Pending: The command hasn't been sent to the instance.
19701	//
19702	//    * In Progress: The command has been sent to the instance but hasn't reached
19703	//    a terminal state.
19704	//
19705	//    * Success: The execution of the command or plugin was successfully completed.
19706	//    This is a terminal state.
19707	//
19708	//    * Delivery Timed Out: The command wasn't delivered to the instance before
19709	//    the delivery timeout expired. Delivery timeouts don't count against the
19710	//    parent command's MaxErrors limit, but they do contribute to whether the
19711	//    parent command status is Success or Incomplete. This is a terminal state.
19712	//
19713	//    * Execution Timed Out: Command execution started on the instance, but
19714	//    the execution wasn't complete before the execution timeout expired. Execution
19715	//    timeouts count against the MaxErrors limit of the parent command. This
19716	//    is a terminal state.
19717	//
19718	//    * Failed: The command wasn't successful on the instance. For a plugin,
19719	//    this indicates that the result code wasn't zero. For a command invocation,
19720	//    this indicates that the result code for one or more plugins wasn't zero.
19721	//    Invocation failures count against the MaxErrors limit of the parent command.
19722	//    This is a terminal state.
19723	//
19724	//    * Canceled: The command was terminated before it was completed. This is
19725	//    a terminal state.
19726	//
19727	//    * Undeliverable: The command can't be delivered to the instance. The instance
19728	//    might not exist or might not be responding. Undeliverable invocations
19729	//    don't count against the parent command's MaxErrors limit and don't contribute
19730	//    to whether the parent command status is Success or Incomplete. This is
19731	//    a terminal state.
19732	//
19733	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
19734	//    command invocations were canceled by the system. This is a terminal state.
19735	StatusDetails *string `type:"string"`
19736
19737	// Gets the trace output sent by the agent.
19738	TraceOutput *string `type:"string"`
19739}
19740
19741// String returns the string representation.
19742//
19743// API parameter values that are decorated as "sensitive" in the API will not
19744// be included in the string output. The member name will be present, but the
19745// value will be replaced with "sensitive".
19746func (s CommandInvocation) String() string {
19747	return awsutil.Prettify(s)
19748}
19749
19750// GoString returns the string representation.
19751//
19752// API parameter values that are decorated as "sensitive" in the API will not
19753// be included in the string output. The member name will be present, but the
19754// value will be replaced with "sensitive".
19755func (s CommandInvocation) GoString() string {
19756	return s.String()
19757}
19758
19759// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
19760func (s *CommandInvocation) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *CommandInvocation {
19761	s.CloudWatchOutputConfig = v
19762	return s
19763}
19764
19765// SetCommandId sets the CommandId field's value.
19766func (s *CommandInvocation) SetCommandId(v string) *CommandInvocation {
19767	s.CommandId = &v
19768	return s
19769}
19770
19771// SetCommandPlugins sets the CommandPlugins field's value.
19772func (s *CommandInvocation) SetCommandPlugins(v []*CommandPlugin) *CommandInvocation {
19773	s.CommandPlugins = v
19774	return s
19775}
19776
19777// SetComment sets the Comment field's value.
19778func (s *CommandInvocation) SetComment(v string) *CommandInvocation {
19779	s.Comment = &v
19780	return s
19781}
19782
19783// SetDocumentName sets the DocumentName field's value.
19784func (s *CommandInvocation) SetDocumentName(v string) *CommandInvocation {
19785	s.DocumentName = &v
19786	return s
19787}
19788
19789// SetDocumentVersion sets the DocumentVersion field's value.
19790func (s *CommandInvocation) SetDocumentVersion(v string) *CommandInvocation {
19791	s.DocumentVersion = &v
19792	return s
19793}
19794
19795// SetInstanceId sets the InstanceId field's value.
19796func (s *CommandInvocation) SetInstanceId(v string) *CommandInvocation {
19797	s.InstanceId = &v
19798	return s
19799}
19800
19801// SetInstanceName sets the InstanceName field's value.
19802func (s *CommandInvocation) SetInstanceName(v string) *CommandInvocation {
19803	s.InstanceName = &v
19804	return s
19805}
19806
19807// SetNotificationConfig sets the NotificationConfig field's value.
19808func (s *CommandInvocation) SetNotificationConfig(v *NotificationConfig) *CommandInvocation {
19809	s.NotificationConfig = v
19810	return s
19811}
19812
19813// SetRequestedDateTime sets the RequestedDateTime field's value.
19814func (s *CommandInvocation) SetRequestedDateTime(v time.Time) *CommandInvocation {
19815	s.RequestedDateTime = &v
19816	return s
19817}
19818
19819// SetServiceRole sets the ServiceRole field's value.
19820func (s *CommandInvocation) SetServiceRole(v string) *CommandInvocation {
19821	s.ServiceRole = &v
19822	return s
19823}
19824
19825// SetStandardErrorUrl sets the StandardErrorUrl field's value.
19826func (s *CommandInvocation) SetStandardErrorUrl(v string) *CommandInvocation {
19827	s.StandardErrorUrl = &v
19828	return s
19829}
19830
19831// SetStandardOutputUrl sets the StandardOutputUrl field's value.
19832func (s *CommandInvocation) SetStandardOutputUrl(v string) *CommandInvocation {
19833	s.StandardOutputUrl = &v
19834	return s
19835}
19836
19837// SetStatus sets the Status field's value.
19838func (s *CommandInvocation) SetStatus(v string) *CommandInvocation {
19839	s.Status = &v
19840	return s
19841}
19842
19843// SetStatusDetails sets the StatusDetails field's value.
19844func (s *CommandInvocation) SetStatusDetails(v string) *CommandInvocation {
19845	s.StatusDetails = &v
19846	return s
19847}
19848
19849// SetTraceOutput sets the TraceOutput field's value.
19850func (s *CommandInvocation) SetTraceOutput(v string) *CommandInvocation {
19851	s.TraceOutput = &v
19852	return s
19853}
19854
19855// Describes plugin details.
19856type CommandPlugin struct {
19857	_ struct{} `type:"structure"`
19858
19859	// The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin,
19860	// aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch,
19861	// aws:runShellScript, or aws:updateSSMAgent.
19862	Name *string `min:"4" type:"string"`
19863
19864	// Output of the plugin execution.
19865	Output *string `type:"string"`
19866
19867	// The S3 bucket where the responses to the command executions should be stored.
19868	// This was requested when issuing the command. For example, in the following
19869	// response:
19870	//
19871	// doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript
19872	//
19873	// doc-example-bucket is the name of the S3 bucket;
19874	//
19875	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
19876	//
19877	// i-02573cafcfEXAMPLE is the instance ID;
19878	//
19879	// awsrunShellScript is the name of the plugin.
19880	OutputS3BucketName *string `min:"3" type:"string"`
19881
19882	// The S3 directory path inside the bucket where the responses to the command
19883	// executions should be stored. This was requested when issuing the command.
19884	// For example, in the following response:
19885	//
19886	// doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript
19887	//
19888	// doc-example-bucket is the name of the S3 bucket;
19889	//
19890	// ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;
19891	//
19892	// i-02573cafcfEXAMPLE is the instance ID;
19893	//
19894	// awsrunShellScript is the name of the plugin.
19895	OutputS3KeyPrefix *string `type:"string"`
19896
19897	// (Deprecated) You can no longer specify this parameter. The system ignores
19898	// it. Instead, Amazon Web Services Systems Manager automatically determines
19899	// the S3 bucket region.
19900	OutputS3Region *string `min:"3" type:"string"`
19901
19902	// A numeric response code generated after running the plugin.
19903	ResponseCode *int64 `type:"integer"`
19904
19905	// The time the plugin stopped running. Could stop prematurely if, for example,
19906	// a cancel command was sent.
19907	ResponseFinishDateTime *time.Time `type:"timestamp"`
19908
19909	// The time the plugin started running.
19910	ResponseStartDateTime *time.Time `type:"timestamp"`
19911
19912	// The URL for the complete text written by the plugin to stderr. If execution
19913	// isn't yet complete, then this string is empty.
19914	StandardErrorUrl *string `type:"string"`
19915
19916	// The URL for the complete text written by the plugin to stdout in Amazon S3.
19917	// If the S3 bucket for the command wasn't specified, then this string is empty.
19918	StandardOutputUrl *string `type:"string"`
19919
19920	// The status of this plugin. You can run a document with multiple plugins.
19921	Status *string `type:"string" enum:"CommandPluginStatus"`
19922
19923	// A detailed status of the plugin execution. StatusDetails includes more information
19924	// than Status because it includes states resulting from error and concurrency
19925	// control parameters. StatusDetails can show different results than Status.
19926	// For more information about these statuses, see Understanding command statuses
19927	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
19928	// in the Amazon Web Services Systems Manager User Guide. StatusDetails can
19929	// be one of the following values:
19930	//
19931	//    * Pending: The command hasn't been sent to the instance.
19932	//
19933	//    * In Progress: The command has been sent to the instance but hasn't reached
19934	//    a terminal state.
19935	//
19936	//    * Success: The execution of the command or plugin was successfully completed.
19937	//    This is a terminal state.
19938	//
19939	//    * Delivery Timed Out: The command wasn't delivered to the instance before
19940	//    the delivery timeout expired. Delivery timeouts don't count against the
19941	//    parent command's MaxErrors limit, but they do contribute to whether the
19942	//    parent command status is Success or Incomplete. This is a terminal state.
19943	//
19944	//    * Execution Timed Out: Command execution started on the instance, but
19945	//    the execution wasn't complete before the execution timeout expired. Execution
19946	//    timeouts count against the MaxErrors limit of the parent command. This
19947	//    is a terminal state.
19948	//
19949	//    * Failed: The command wasn't successful on the instance. For a plugin,
19950	//    this indicates that the result code wasn't zero. For a command invocation,
19951	//    this indicates that the result code for one or more plugins wasn't zero.
19952	//    Invocation failures count against the MaxErrors limit of the parent command.
19953	//    This is a terminal state.
19954	//
19955	//    * Canceled: The command was terminated before it was completed. This is
19956	//    a terminal state.
19957	//
19958	//    * Undeliverable: The command can't be delivered to the instance. The instance
19959	//    might not exist, or it might not be responding. Undeliverable invocations
19960	//    don't count against the parent command's MaxErrors limit, and they don't
19961	//    contribute to whether the parent command status is Success or Incomplete.
19962	//    This is a terminal state.
19963	//
19964	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
19965	//    command invocations were canceled by the system. This is a terminal state.
19966	StatusDetails *string `type:"string"`
19967}
19968
19969// String returns the string representation.
19970//
19971// API parameter values that are decorated as "sensitive" in the API will not
19972// be included in the string output. The member name will be present, but the
19973// value will be replaced with "sensitive".
19974func (s CommandPlugin) String() string {
19975	return awsutil.Prettify(s)
19976}
19977
19978// GoString returns the string representation.
19979//
19980// API parameter values that are decorated as "sensitive" in the API will not
19981// be included in the string output. The member name will be present, but the
19982// value will be replaced with "sensitive".
19983func (s CommandPlugin) GoString() string {
19984	return s.String()
19985}
19986
19987// SetName sets the Name field's value.
19988func (s *CommandPlugin) SetName(v string) *CommandPlugin {
19989	s.Name = &v
19990	return s
19991}
19992
19993// SetOutput sets the Output field's value.
19994func (s *CommandPlugin) SetOutput(v string) *CommandPlugin {
19995	s.Output = &v
19996	return s
19997}
19998
19999// SetOutputS3BucketName sets the OutputS3BucketName field's value.
20000func (s *CommandPlugin) SetOutputS3BucketName(v string) *CommandPlugin {
20001	s.OutputS3BucketName = &v
20002	return s
20003}
20004
20005// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
20006func (s *CommandPlugin) SetOutputS3KeyPrefix(v string) *CommandPlugin {
20007	s.OutputS3KeyPrefix = &v
20008	return s
20009}
20010
20011// SetOutputS3Region sets the OutputS3Region field's value.
20012func (s *CommandPlugin) SetOutputS3Region(v string) *CommandPlugin {
20013	s.OutputS3Region = &v
20014	return s
20015}
20016
20017// SetResponseCode sets the ResponseCode field's value.
20018func (s *CommandPlugin) SetResponseCode(v int64) *CommandPlugin {
20019	s.ResponseCode = &v
20020	return s
20021}
20022
20023// SetResponseFinishDateTime sets the ResponseFinishDateTime field's value.
20024func (s *CommandPlugin) SetResponseFinishDateTime(v time.Time) *CommandPlugin {
20025	s.ResponseFinishDateTime = &v
20026	return s
20027}
20028
20029// SetResponseStartDateTime sets the ResponseStartDateTime field's value.
20030func (s *CommandPlugin) SetResponseStartDateTime(v time.Time) *CommandPlugin {
20031	s.ResponseStartDateTime = &v
20032	return s
20033}
20034
20035// SetStandardErrorUrl sets the StandardErrorUrl field's value.
20036func (s *CommandPlugin) SetStandardErrorUrl(v string) *CommandPlugin {
20037	s.StandardErrorUrl = &v
20038	return s
20039}
20040
20041// SetStandardOutputUrl sets the StandardOutputUrl field's value.
20042func (s *CommandPlugin) SetStandardOutputUrl(v string) *CommandPlugin {
20043	s.StandardOutputUrl = &v
20044	return s
20045}
20046
20047// SetStatus sets the Status field's value.
20048func (s *CommandPlugin) SetStatus(v string) *CommandPlugin {
20049	s.Status = &v
20050	return s
20051}
20052
20053// SetStatusDetails sets the StatusDetails field's value.
20054func (s *CommandPlugin) SetStatusDetails(v string) *CommandPlugin {
20055	s.StatusDetails = &v
20056	return s
20057}
20058
20059// A summary of the call execution that includes an execution ID, the type of
20060// execution (for example, Command), and the date/time of the execution using
20061// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
20062type ComplianceExecutionSummary struct {
20063	_ struct{} `type:"structure"`
20064
20065	// An ID created by the system when PutComplianceItems was called. For example,
20066	// CommandID is a valid execution ID. You can use this ID in subsequent calls.
20067	ExecutionId *string `type:"string"`
20068
20069	// The time the execution ran as a datetime object that is saved in the following
20070	// format: yyyy-MM-dd'T'HH:mm:ss'Z'.
20071	//
20072	// ExecutionTime is a required field
20073	ExecutionTime *time.Time `type:"timestamp" required:"true"`
20074
20075	// The type of execution. For example, Command is a valid execution type.
20076	ExecutionType *string `type:"string"`
20077}
20078
20079// String returns the string representation.
20080//
20081// API parameter values that are decorated as "sensitive" in the API will not
20082// be included in the string output. The member name will be present, but the
20083// value will be replaced with "sensitive".
20084func (s ComplianceExecutionSummary) String() string {
20085	return awsutil.Prettify(s)
20086}
20087
20088// GoString returns the string representation.
20089//
20090// API parameter values that are decorated as "sensitive" in the API will not
20091// be included in the string output. The member name will be present, but the
20092// value will be replaced with "sensitive".
20093func (s ComplianceExecutionSummary) GoString() string {
20094	return s.String()
20095}
20096
20097// Validate inspects the fields of the type to determine if they are valid.
20098func (s *ComplianceExecutionSummary) Validate() error {
20099	invalidParams := request.ErrInvalidParams{Context: "ComplianceExecutionSummary"}
20100	if s.ExecutionTime == nil {
20101		invalidParams.Add(request.NewErrParamRequired("ExecutionTime"))
20102	}
20103
20104	if invalidParams.Len() > 0 {
20105		return invalidParams
20106	}
20107	return nil
20108}
20109
20110// SetExecutionId sets the ExecutionId field's value.
20111func (s *ComplianceExecutionSummary) SetExecutionId(v string) *ComplianceExecutionSummary {
20112	s.ExecutionId = &v
20113	return s
20114}
20115
20116// SetExecutionTime sets the ExecutionTime field's value.
20117func (s *ComplianceExecutionSummary) SetExecutionTime(v time.Time) *ComplianceExecutionSummary {
20118	s.ExecutionTime = &v
20119	return s
20120}
20121
20122// SetExecutionType sets the ExecutionType field's value.
20123func (s *ComplianceExecutionSummary) SetExecutionType(v string) *ComplianceExecutionSummary {
20124	s.ExecutionType = &v
20125	return s
20126}
20127
20128// Information about the compliance as defined by the resource type. For example,
20129// for a patch resource type, Items includes information about the PatchSeverity,
20130// Classification, and so on.
20131type ComplianceItem struct {
20132	_ struct{} `type:"structure"`
20133
20134	// The compliance type. For example, Association (for a State Manager association),
20135	// Patch, or Custom:string are all valid compliance types.
20136	ComplianceType *string `min:"1" type:"string"`
20137
20138	// A "Key": "Value" tag combination for the compliance item.
20139	Details map[string]*string `type:"map"`
20140
20141	// A summary for the compliance item. The summary includes an execution ID,
20142	// the execution type (for example, command), and the execution time.
20143	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
20144
20145	// An ID for the compliance item. For example, if the compliance item is a Windows
20146	// patch, the ID could be the number of the KB article; for example: KB4010320.
20147	Id *string `type:"string"`
20148
20149	// An ID for the resource. For a managed instance, this is the instance ID.
20150	ResourceId *string `min:"1" type:"string"`
20151
20152	// The type of resource. ManagedInstance is currently the only supported resource
20153	// type.
20154	ResourceType *string `min:"1" type:"string"`
20155
20156	// The severity of the compliance status. Severity can be one of the following:
20157	// Critical, High, Medium, Low, Informational, Unspecified.
20158	Severity *string `type:"string" enum:"ComplianceSeverity"`
20159
20160	// The status of the compliance item. An item is either COMPLIANT, NON_COMPLIANT,
20161	// or an empty string (for Windows patches that aren't applicable).
20162	Status *string `type:"string" enum:"ComplianceStatus"`
20163
20164	// A title for the compliance item. For example, if the compliance item is a
20165	// Windows patch, the title could be the title of the KB article for the patch;
20166	// for example: Security Update for Active Directory Federation Services.
20167	Title *string `type:"string"`
20168}
20169
20170// String returns the string representation.
20171//
20172// API parameter values that are decorated as "sensitive" in the API will not
20173// be included in the string output. The member name will be present, but the
20174// value will be replaced with "sensitive".
20175func (s ComplianceItem) String() string {
20176	return awsutil.Prettify(s)
20177}
20178
20179// GoString returns the string representation.
20180//
20181// API parameter values that are decorated as "sensitive" in the API will not
20182// be included in the string output. The member name will be present, but the
20183// value will be replaced with "sensitive".
20184func (s ComplianceItem) GoString() string {
20185	return s.String()
20186}
20187
20188// SetComplianceType sets the ComplianceType field's value.
20189func (s *ComplianceItem) SetComplianceType(v string) *ComplianceItem {
20190	s.ComplianceType = &v
20191	return s
20192}
20193
20194// SetDetails sets the Details field's value.
20195func (s *ComplianceItem) SetDetails(v map[string]*string) *ComplianceItem {
20196	s.Details = v
20197	return s
20198}
20199
20200// SetExecutionSummary sets the ExecutionSummary field's value.
20201func (s *ComplianceItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ComplianceItem {
20202	s.ExecutionSummary = v
20203	return s
20204}
20205
20206// SetId sets the Id field's value.
20207func (s *ComplianceItem) SetId(v string) *ComplianceItem {
20208	s.Id = &v
20209	return s
20210}
20211
20212// SetResourceId sets the ResourceId field's value.
20213func (s *ComplianceItem) SetResourceId(v string) *ComplianceItem {
20214	s.ResourceId = &v
20215	return s
20216}
20217
20218// SetResourceType sets the ResourceType field's value.
20219func (s *ComplianceItem) SetResourceType(v string) *ComplianceItem {
20220	s.ResourceType = &v
20221	return s
20222}
20223
20224// SetSeverity sets the Severity field's value.
20225func (s *ComplianceItem) SetSeverity(v string) *ComplianceItem {
20226	s.Severity = &v
20227	return s
20228}
20229
20230// SetStatus sets the Status field's value.
20231func (s *ComplianceItem) SetStatus(v string) *ComplianceItem {
20232	s.Status = &v
20233	return s
20234}
20235
20236// SetTitle sets the Title field's value.
20237func (s *ComplianceItem) SetTitle(v string) *ComplianceItem {
20238	s.Title = &v
20239	return s
20240}
20241
20242// Information about a compliance item.
20243type ComplianceItemEntry struct {
20244	_ struct{} `type:"structure"`
20245
20246	// A "Key": "Value" tag combination for the compliance item.
20247	Details map[string]*string `type:"map"`
20248
20249	// The compliance item ID. For example, if the compliance item is a Windows
20250	// patch, the ID could be the number of the KB article.
20251	Id *string `type:"string"`
20252
20253	// The severity of the compliance status. Severity can be one of the following:
20254	// Critical, High, Medium, Low, Informational, Unspecified.
20255	//
20256	// Severity is a required field
20257	Severity *string `type:"string" required:"true" enum:"ComplianceSeverity"`
20258
20259	// The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.
20260	//
20261	// Status is a required field
20262	Status *string `type:"string" required:"true" enum:"ComplianceStatus"`
20263
20264	// The title of the compliance item. For example, if the compliance item is
20265	// a Windows patch, the title could be the title of the KB article for the patch;
20266	// for example: Security Update for Active Directory Federation Services.
20267	Title *string `type:"string"`
20268}
20269
20270// String returns the string representation.
20271//
20272// API parameter values that are decorated as "sensitive" in the API will not
20273// be included in the string output. The member name will be present, but the
20274// value will be replaced with "sensitive".
20275func (s ComplianceItemEntry) String() string {
20276	return awsutil.Prettify(s)
20277}
20278
20279// GoString returns the string representation.
20280//
20281// API parameter values that are decorated as "sensitive" in the API will not
20282// be included in the string output. The member name will be present, but the
20283// value will be replaced with "sensitive".
20284func (s ComplianceItemEntry) GoString() string {
20285	return s.String()
20286}
20287
20288// Validate inspects the fields of the type to determine if they are valid.
20289func (s *ComplianceItemEntry) Validate() error {
20290	invalidParams := request.ErrInvalidParams{Context: "ComplianceItemEntry"}
20291	if s.Severity == nil {
20292		invalidParams.Add(request.NewErrParamRequired("Severity"))
20293	}
20294	if s.Status == nil {
20295		invalidParams.Add(request.NewErrParamRequired("Status"))
20296	}
20297
20298	if invalidParams.Len() > 0 {
20299		return invalidParams
20300	}
20301	return nil
20302}
20303
20304// SetDetails sets the Details field's value.
20305func (s *ComplianceItemEntry) SetDetails(v map[string]*string) *ComplianceItemEntry {
20306	s.Details = v
20307	return s
20308}
20309
20310// SetId sets the Id field's value.
20311func (s *ComplianceItemEntry) SetId(v string) *ComplianceItemEntry {
20312	s.Id = &v
20313	return s
20314}
20315
20316// SetSeverity sets the Severity field's value.
20317func (s *ComplianceItemEntry) SetSeverity(v string) *ComplianceItemEntry {
20318	s.Severity = &v
20319	return s
20320}
20321
20322// SetStatus sets the Status field's value.
20323func (s *ComplianceItemEntry) SetStatus(v string) *ComplianceItemEntry {
20324	s.Status = &v
20325	return s
20326}
20327
20328// SetTitle sets the Title field's value.
20329func (s *ComplianceItemEntry) SetTitle(v string) *ComplianceItemEntry {
20330	s.Title = &v
20331	return s
20332}
20333
20334// One or more filters. Use a filter to return a more specific list of results.
20335type ComplianceStringFilter struct {
20336	_ struct{} `type:"structure"`
20337
20338	// The name of the filter.
20339	Key *string `min:"1" type:"string"`
20340
20341	// The type of comparison that should be performed for the value: Equal, NotEqual,
20342	// BeginWith, LessThan, or GreaterThan.
20343	Type *string `type:"string" enum:"ComplianceQueryOperatorType"`
20344
20345	// The value for which to search.
20346	Values []*string `min:"1" type:"list"`
20347}
20348
20349// String returns the string representation.
20350//
20351// API parameter values that are decorated as "sensitive" in the API will not
20352// be included in the string output. The member name will be present, but the
20353// value will be replaced with "sensitive".
20354func (s ComplianceStringFilter) String() string {
20355	return awsutil.Prettify(s)
20356}
20357
20358// GoString returns the string representation.
20359//
20360// API parameter values that are decorated as "sensitive" in the API will not
20361// be included in the string output. The member name will be present, but the
20362// value will be replaced with "sensitive".
20363func (s ComplianceStringFilter) GoString() string {
20364	return s.String()
20365}
20366
20367// Validate inspects the fields of the type to determine if they are valid.
20368func (s *ComplianceStringFilter) Validate() error {
20369	invalidParams := request.ErrInvalidParams{Context: "ComplianceStringFilter"}
20370	if s.Key != nil && len(*s.Key) < 1 {
20371		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
20372	}
20373	if s.Values != nil && len(s.Values) < 1 {
20374		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
20375	}
20376
20377	if invalidParams.Len() > 0 {
20378		return invalidParams
20379	}
20380	return nil
20381}
20382
20383// SetKey sets the Key field's value.
20384func (s *ComplianceStringFilter) SetKey(v string) *ComplianceStringFilter {
20385	s.Key = &v
20386	return s
20387}
20388
20389// SetType sets the Type field's value.
20390func (s *ComplianceStringFilter) SetType(v string) *ComplianceStringFilter {
20391	s.Type = &v
20392	return s
20393}
20394
20395// SetValues sets the Values field's value.
20396func (s *ComplianceStringFilter) SetValues(v []*string) *ComplianceStringFilter {
20397	s.Values = v
20398	return s
20399}
20400
20401// A summary of compliance information by compliance type.
20402type ComplianceSummaryItem struct {
20403	_ struct{} `type:"structure"`
20404
20405	// The type of compliance item. For example, the compliance type can be Association,
20406	// Patch, or Custom:string.
20407	ComplianceType *string `min:"1" type:"string"`
20408
20409	// A list of COMPLIANT items for the specified compliance type.
20410	CompliantSummary *CompliantSummary `type:"structure"`
20411
20412	// A list of NON_COMPLIANT items for the specified compliance type.
20413	NonCompliantSummary *NonCompliantSummary `type:"structure"`
20414}
20415
20416// String returns the string representation.
20417//
20418// API parameter values that are decorated as "sensitive" in the API will not
20419// be included in the string output. The member name will be present, but the
20420// value will be replaced with "sensitive".
20421func (s ComplianceSummaryItem) String() string {
20422	return awsutil.Prettify(s)
20423}
20424
20425// GoString returns the string representation.
20426//
20427// API parameter values that are decorated as "sensitive" in the API will not
20428// be included in the string output. The member name will be present, but the
20429// value will be replaced with "sensitive".
20430func (s ComplianceSummaryItem) GoString() string {
20431	return s.String()
20432}
20433
20434// SetComplianceType sets the ComplianceType field's value.
20435func (s *ComplianceSummaryItem) SetComplianceType(v string) *ComplianceSummaryItem {
20436	s.ComplianceType = &v
20437	return s
20438}
20439
20440// SetCompliantSummary sets the CompliantSummary field's value.
20441func (s *ComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ComplianceSummaryItem {
20442	s.CompliantSummary = v
20443	return s
20444}
20445
20446// SetNonCompliantSummary sets the NonCompliantSummary field's value.
20447func (s *ComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ComplianceSummaryItem {
20448	s.NonCompliantSummary = v
20449	return s
20450}
20451
20452// You specified too many custom compliance types. You can specify a maximum
20453// of 10 different types.
20454type ComplianceTypeCountLimitExceededException struct {
20455	_            struct{}                  `type:"structure"`
20456	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20457
20458	Message_ *string `locationName:"Message" type:"string"`
20459}
20460
20461// String returns the string representation.
20462//
20463// API parameter values that are decorated as "sensitive" in the API will not
20464// be included in the string output. The member name will be present, but the
20465// value will be replaced with "sensitive".
20466func (s ComplianceTypeCountLimitExceededException) String() string {
20467	return awsutil.Prettify(s)
20468}
20469
20470// GoString returns the string representation.
20471//
20472// API parameter values that are decorated as "sensitive" in the API will not
20473// be included in the string output. The member name will be present, but the
20474// value will be replaced with "sensitive".
20475func (s ComplianceTypeCountLimitExceededException) GoString() string {
20476	return s.String()
20477}
20478
20479func newErrorComplianceTypeCountLimitExceededException(v protocol.ResponseMetadata) error {
20480	return &ComplianceTypeCountLimitExceededException{
20481		RespMetadata: v,
20482	}
20483}
20484
20485// Code returns the exception type name.
20486func (s *ComplianceTypeCountLimitExceededException) Code() string {
20487	return "ComplianceTypeCountLimitExceededException"
20488}
20489
20490// Message returns the exception's message.
20491func (s *ComplianceTypeCountLimitExceededException) Message() string {
20492	if s.Message_ != nil {
20493		return *s.Message_
20494	}
20495	return ""
20496}
20497
20498// OrigErr always returns nil, satisfies awserr.Error interface.
20499func (s *ComplianceTypeCountLimitExceededException) OrigErr() error {
20500	return nil
20501}
20502
20503func (s *ComplianceTypeCountLimitExceededException) Error() string {
20504	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20505}
20506
20507// Status code returns the HTTP status code for the request's response error.
20508func (s *ComplianceTypeCountLimitExceededException) StatusCode() int {
20509	return s.RespMetadata.StatusCode
20510}
20511
20512// RequestID returns the service's response RequestID for request.
20513func (s *ComplianceTypeCountLimitExceededException) RequestID() string {
20514	return s.RespMetadata.RequestID
20515}
20516
20517// A summary of resources that are compliant. The summary is organized according
20518// to the resource count for each compliance type.
20519type CompliantSummary struct {
20520	_ struct{} `type:"structure"`
20521
20522	// The total number of resources that are compliant.
20523	CompliantCount *int64 `type:"integer"`
20524
20525	// A summary of the compliance severity by compliance type.
20526	SeveritySummary *SeveritySummary `type:"structure"`
20527}
20528
20529// String returns the string representation.
20530//
20531// API parameter values that are decorated as "sensitive" in the API will not
20532// be included in the string output. The member name will be present, but the
20533// value will be replaced with "sensitive".
20534func (s CompliantSummary) String() string {
20535	return awsutil.Prettify(s)
20536}
20537
20538// GoString returns the string representation.
20539//
20540// API parameter values that are decorated as "sensitive" in the API will not
20541// be included in the string output. The member name will be present, but the
20542// value will be replaced with "sensitive".
20543func (s CompliantSummary) GoString() string {
20544	return s.String()
20545}
20546
20547// SetCompliantCount sets the CompliantCount field's value.
20548func (s *CompliantSummary) SetCompliantCount(v int64) *CompliantSummary {
20549	s.CompliantCount = &v
20550	return s
20551}
20552
20553// SetSeveritySummary sets the SeveritySummary field's value.
20554func (s *CompliantSummary) SetSeveritySummary(v *SeveritySummary) *CompliantSummary {
20555	s.SeveritySummary = v
20556	return s
20557}
20558
20559type CreateActivationInput struct {
20560	_ struct{} `type:"structure"`
20561
20562	// The name of the registered, managed instance as it will appear in the Amazon
20563	// Web Services Systems Manager console or when you use the Amazon Web Services
20564	// command line tools to list Systems Manager resources.
20565	//
20566	// Don't enter personally identifiable information in this field.
20567	DefaultInstanceName *string `type:"string"`
20568
20569	// A user-defined description of the resource that you want to register with
20570	// Systems Manager.
20571	//
20572	// Don't enter personally identifiable information in this field.
20573	Description *string `type:"string"`
20574
20575	// The date by which this activation request should expire, in timestamp format,
20576	// such as "2021-07-07T00:00:00". You can specify a date up to 30 days in advance.
20577	// If you don't provide an expiration date, the activation code expires in 24
20578	// hours.
20579	ExpirationDate *time.Time `type:"timestamp"`
20580
20581	// The name of the Identity and Access Management (IAM) role that you want to
20582	// assign to the managed instance. This IAM role must provide AssumeRole permissions
20583	// for the Amazon Web Services Systems Manager service principal ssm.amazonaws.com.
20584	// For more information, see Create an IAM service role for a hybrid environment
20585	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-service-role.html)
20586	// in the Amazon Web Services Systems Manager User Guide.
20587	//
20588	// IamRole is a required field
20589	IamRole *string `type:"string" required:"true"`
20590
20591	// Specify the maximum number of managed instances you want to register. The
20592	// default value is 1.
20593	RegistrationLimit *int64 `min:"1" type:"integer"`
20594
20595	// Optional metadata that you assign to a resource. Tags enable you to categorize
20596	// a resource in different ways, such as by purpose, owner, or environment.
20597	// For example, you might want to tag an activation to identify which servers
20598	// or virtual machines (VMs) in your on-premises environment you intend to activate.
20599	// In this case, you could specify the following key-value pairs:
20600	//
20601	//    * Key=OS,Value=Windows
20602	//
20603	//    * Key=Environment,Value=Production
20604	//
20605	// When you install SSM Agent on your on-premises servers and VMs, you specify
20606	// an activation ID and code. When you specify the activation ID and code, tags
20607	// assigned to the activation are automatically applied to the on-premises servers
20608	// or VMs.
20609	//
20610	// You can't add tags to or delete tags from an existing activation. You can
20611	// tag your on-premises servers and VMs after they connect to Systems Manager
20612	// for the first time and are assigned a managed instance ID. This means they
20613	// are listed in the Amazon Web Services Systems Manager console with an ID
20614	// that is prefixed with "mi-". For information about how to add tags to your
20615	// managed instances, see AddTagsToResource. For information about how to remove
20616	// tags from your managed instances, see RemoveTagsFromResource.
20617	Tags []*Tag `type:"list"`
20618}
20619
20620// String returns the string representation.
20621//
20622// API parameter values that are decorated as "sensitive" in the API will not
20623// be included in the string output. The member name will be present, but the
20624// value will be replaced with "sensitive".
20625func (s CreateActivationInput) String() string {
20626	return awsutil.Prettify(s)
20627}
20628
20629// GoString returns the string representation.
20630//
20631// API parameter values that are decorated as "sensitive" in the API will not
20632// be included in the string output. The member name will be present, but the
20633// value will be replaced with "sensitive".
20634func (s CreateActivationInput) GoString() string {
20635	return s.String()
20636}
20637
20638// Validate inspects the fields of the type to determine if they are valid.
20639func (s *CreateActivationInput) Validate() error {
20640	invalidParams := request.ErrInvalidParams{Context: "CreateActivationInput"}
20641	if s.IamRole == nil {
20642		invalidParams.Add(request.NewErrParamRequired("IamRole"))
20643	}
20644	if s.RegistrationLimit != nil && *s.RegistrationLimit < 1 {
20645		invalidParams.Add(request.NewErrParamMinValue("RegistrationLimit", 1))
20646	}
20647	if s.Tags != nil {
20648		for i, v := range s.Tags {
20649			if v == nil {
20650				continue
20651			}
20652			if err := v.Validate(); err != nil {
20653				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
20654			}
20655		}
20656	}
20657
20658	if invalidParams.Len() > 0 {
20659		return invalidParams
20660	}
20661	return nil
20662}
20663
20664// SetDefaultInstanceName sets the DefaultInstanceName field's value.
20665func (s *CreateActivationInput) SetDefaultInstanceName(v string) *CreateActivationInput {
20666	s.DefaultInstanceName = &v
20667	return s
20668}
20669
20670// SetDescription sets the Description field's value.
20671func (s *CreateActivationInput) SetDescription(v string) *CreateActivationInput {
20672	s.Description = &v
20673	return s
20674}
20675
20676// SetExpirationDate sets the ExpirationDate field's value.
20677func (s *CreateActivationInput) SetExpirationDate(v time.Time) *CreateActivationInput {
20678	s.ExpirationDate = &v
20679	return s
20680}
20681
20682// SetIamRole sets the IamRole field's value.
20683func (s *CreateActivationInput) SetIamRole(v string) *CreateActivationInput {
20684	s.IamRole = &v
20685	return s
20686}
20687
20688// SetRegistrationLimit sets the RegistrationLimit field's value.
20689func (s *CreateActivationInput) SetRegistrationLimit(v int64) *CreateActivationInput {
20690	s.RegistrationLimit = &v
20691	return s
20692}
20693
20694// SetTags sets the Tags field's value.
20695func (s *CreateActivationInput) SetTags(v []*Tag) *CreateActivationInput {
20696	s.Tags = v
20697	return s
20698}
20699
20700type CreateActivationOutput struct {
20701	_ struct{} `type:"structure"`
20702
20703	// The code the system generates when it processes the activation. The activation
20704	// code functions like a password to validate the activation ID.
20705	ActivationCode *string `min:"20" type:"string"`
20706
20707	// The ID number generated by the system when it processed the activation. The
20708	// activation ID functions like a user name.
20709	ActivationId *string `type:"string"`
20710}
20711
20712// String returns the string representation.
20713//
20714// API parameter values that are decorated as "sensitive" in the API will not
20715// be included in the string output. The member name will be present, but the
20716// value will be replaced with "sensitive".
20717func (s CreateActivationOutput) String() string {
20718	return awsutil.Prettify(s)
20719}
20720
20721// GoString returns the string representation.
20722//
20723// API parameter values that are decorated as "sensitive" in the API will not
20724// be included in the string output. The member name will be present, but the
20725// value will be replaced with "sensitive".
20726func (s CreateActivationOutput) GoString() string {
20727	return s.String()
20728}
20729
20730// SetActivationCode sets the ActivationCode field's value.
20731func (s *CreateActivationOutput) SetActivationCode(v string) *CreateActivationOutput {
20732	s.ActivationCode = &v
20733	return s
20734}
20735
20736// SetActivationId sets the ActivationId field's value.
20737func (s *CreateActivationOutput) SetActivationId(v string) *CreateActivationOutput {
20738	s.ActivationId = &v
20739	return s
20740}
20741
20742type CreateAssociationBatchInput struct {
20743	_ struct{} `type:"structure"`
20744
20745	// One or more associations.
20746	//
20747	// Entries is a required field
20748	Entries []*CreateAssociationBatchRequestEntry `min:"1" type:"list" required:"true"`
20749}
20750
20751// String returns the string representation.
20752//
20753// API parameter values that are decorated as "sensitive" in the API will not
20754// be included in the string output. The member name will be present, but the
20755// value will be replaced with "sensitive".
20756func (s CreateAssociationBatchInput) String() string {
20757	return awsutil.Prettify(s)
20758}
20759
20760// GoString returns the string representation.
20761//
20762// API parameter values that are decorated as "sensitive" in the API will not
20763// be included in the string output. The member name will be present, but the
20764// value will be replaced with "sensitive".
20765func (s CreateAssociationBatchInput) GoString() string {
20766	return s.String()
20767}
20768
20769// Validate inspects the fields of the type to determine if they are valid.
20770func (s *CreateAssociationBatchInput) Validate() error {
20771	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchInput"}
20772	if s.Entries == nil {
20773		invalidParams.Add(request.NewErrParamRequired("Entries"))
20774	}
20775	if s.Entries != nil && len(s.Entries) < 1 {
20776		invalidParams.Add(request.NewErrParamMinLen("Entries", 1))
20777	}
20778	if s.Entries != nil {
20779		for i, v := range s.Entries {
20780			if v == nil {
20781				continue
20782			}
20783			if err := v.Validate(); err != nil {
20784				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams))
20785			}
20786		}
20787	}
20788
20789	if invalidParams.Len() > 0 {
20790		return invalidParams
20791	}
20792	return nil
20793}
20794
20795// SetEntries sets the Entries field's value.
20796func (s *CreateAssociationBatchInput) SetEntries(v []*CreateAssociationBatchRequestEntry) *CreateAssociationBatchInput {
20797	s.Entries = v
20798	return s
20799}
20800
20801type CreateAssociationBatchOutput struct {
20802	_ struct{} `type:"structure"`
20803
20804	// Information about the associations that failed.
20805	Failed []*FailedCreateAssociation `type:"list"`
20806
20807	// Information about the associations that succeeded.
20808	Successful []*AssociationDescription `type:"list"`
20809}
20810
20811// String returns the string representation.
20812//
20813// API parameter values that are decorated as "sensitive" in the API will not
20814// be included in the string output. The member name will be present, but the
20815// value will be replaced with "sensitive".
20816func (s CreateAssociationBatchOutput) String() string {
20817	return awsutil.Prettify(s)
20818}
20819
20820// GoString returns the string representation.
20821//
20822// API parameter values that are decorated as "sensitive" in the API will not
20823// be included in the string output. The member name will be present, but the
20824// value will be replaced with "sensitive".
20825func (s CreateAssociationBatchOutput) GoString() string {
20826	return s.String()
20827}
20828
20829// SetFailed sets the Failed field's value.
20830func (s *CreateAssociationBatchOutput) SetFailed(v []*FailedCreateAssociation) *CreateAssociationBatchOutput {
20831	s.Failed = v
20832	return s
20833}
20834
20835// SetSuccessful sets the Successful field's value.
20836func (s *CreateAssociationBatchOutput) SetSuccessful(v []*AssociationDescription) *CreateAssociationBatchOutput {
20837	s.Successful = v
20838	return s
20839}
20840
20841// Describes the association of a Amazon Web Services Systems Manager document
20842// (SSM document) and an instance.
20843type CreateAssociationBatchRequestEntry struct {
20844	_ struct{} `type:"structure"`
20845
20846	// By default, when you create a new associations, the system runs it immediately
20847	// after it is created and then according to the schedule you specified. Specify
20848	// this option if you don't want an association to run immediately after you
20849	// create it. This parameter isn't supported for rate expressions.
20850	ApplyOnlyAtCronInterval *bool `type:"boolean"`
20851
20852	// Specify a descriptive name for the association.
20853	AssociationName *string `type:"string"`
20854
20855	// Specify the target for the association. This target is required for associations
20856	// that use an Automation runbook and target resources by using rate controls.
20857	// Automation is a capability of Amazon Web Services Systems Manager.
20858	AutomationTargetParameterName *string `min:"1" type:"string"`
20859
20860	// The names or Amazon Resource Names (ARNs) of the Change Calendar type documents
20861	// your associations are gated under. The associations only run when that Change
20862	// Calendar is open. For more information, see Amazon Web Services Systems Manager
20863	// Change Calendar (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar).
20864	CalendarNames []*string `type:"list"`
20865
20866	// The severity level to assign to the association.
20867	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
20868
20869	// The document version.
20870	DocumentVersion *string `type:"string"`
20871
20872	// The instance ID.
20873	//
20874	// InstanceId has been deprecated. To specify an instance ID for an association,
20875	// use the Targets parameter. Requests that include the parameter InstanceID
20876	// with Systems Manager documents (SSM documents) that use schema version 2.0
20877	// or later will fail. In addition, if you use the parameter InstanceId, you
20878	// can't use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency,
20879	// OutputLocation, or ScheduleExpression. To use these parameters, you must
20880	// use the Targets parameter.
20881	InstanceId *string `type:"string"`
20882
20883	// The maximum number of targets allowed to run the association at the same
20884	// time. You can specify a number, for example 10, or a percentage of the target
20885	// set, for example 10%. The default value is 100%, which means all targets
20886	// run the association at the same time.
20887	//
20888	// If a new instance starts and attempts to run an association while Systems
20889	// Manager is running MaxConcurrency associations, the association is allowed
20890	// to run. During the next association interval, the new instance will process
20891	// its association within the limit specified for MaxConcurrency.
20892	MaxConcurrency *string `min:"1" type:"string"`
20893
20894	// The number of errors that are allowed before the system stops sending requests
20895	// to run the association on additional targets. You can specify either an absolute
20896	// number of errors, for example 10, or a percentage of the target set, for
20897	// example 10%. If you specify 3, for example, the system stops sending requests
20898	// when the fourth error is received. If you specify 0, then the system stops
20899	// sending requests after the first error is returned. If you run an association
20900	// on 50 instances and set MaxError to 10%, then the system stops sending the
20901	// request when the sixth error is received.
20902	//
20903	// Executions that are already running an association when MaxErrors is reached
20904	// are allowed to complete, but some of these executions may fail as well. If
20905	// you need to ensure that there won't be more than max-errors failed executions,
20906	// set MaxConcurrency to 1 so that executions proceed one at a time.
20907	MaxErrors *string `min:"1" type:"string"`
20908
20909	// The name of the SSM document that contains the configuration information
20910	// for the instance. You can specify Command or Automation runbooks.
20911	//
20912	// You can specify Amazon Web Services-predefined documents, documents you created,
20913	// or a document that is shared with you from another account.
20914	//
20915	// For SSM documents that are shared with you from other Amazon Web Services
20916	// accounts, you must specify the complete SSM document ARN, in the following
20917	// format:
20918	//
20919	// arn:aws:ssm:region:account-id:document/document-name
20920	//
20921	// For example:
20922	//
20923	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
20924	//
20925	// For Amazon Web Services-predefined documents and SSM documents you created
20926	// in your account, you only need to specify the document name. For example,
20927	// AWS-ApplyPatchBaseline or My-Document.
20928	//
20929	// Name is a required field
20930	Name *string `type:"string" required:"true"`
20931
20932	// An S3 bucket where you want to store the results of this request.
20933	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
20934
20935	// A description of the parameters for a document.
20936	Parameters map[string][]*string `type:"map"`
20937
20938	// A cron expression that specifies a schedule when the association runs.
20939	ScheduleExpression *string `min:"1" type:"string"`
20940
20941	// The mode for generating association compliance. You can specify AUTO or MANUAL.
20942	// In AUTO mode, the system uses the status of the association execution to
20943	// determine the compliance status. If the association execution runs successfully,
20944	// then the association is COMPLIANT. If the association execution doesn't run
20945	// successfully, the association is NON-COMPLIANT.
20946	//
20947	// In MANUAL mode, you must specify the AssociationId as a parameter for the
20948	// PutComplianceItems API operation. In this case, compliance data isn't managed
20949	// by State Manager, a capability of Amazon Web Services Systems Manager. It
20950	// is managed by your direct call to the PutComplianceItems API operation.
20951	//
20952	// By default, all associations use AUTO mode.
20953	SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"`
20954
20955	// Use this action to create an association in multiple Regions and multiple
20956	// accounts.
20957	TargetLocations []*TargetLocation `min:"1" type:"list"`
20958
20959	// The instances targeted by the request.
20960	Targets []*Target `type:"list"`
20961}
20962
20963// String returns the string representation.
20964//
20965// API parameter values that are decorated as "sensitive" in the API will not
20966// be included in the string output. The member name will be present, but the
20967// value will be replaced with "sensitive".
20968func (s CreateAssociationBatchRequestEntry) String() string {
20969	return awsutil.Prettify(s)
20970}
20971
20972// GoString returns the string representation.
20973//
20974// API parameter values that are decorated as "sensitive" in the API will not
20975// be included in the string output. The member name will be present, but the
20976// value will be replaced with "sensitive".
20977func (s CreateAssociationBatchRequestEntry) GoString() string {
20978	return s.String()
20979}
20980
20981// Validate inspects the fields of the type to determine if they are valid.
20982func (s *CreateAssociationBatchRequestEntry) Validate() error {
20983	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationBatchRequestEntry"}
20984	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
20985		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
20986	}
20987	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
20988		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
20989	}
20990	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
20991		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
20992	}
20993	if s.Name == nil {
20994		invalidParams.Add(request.NewErrParamRequired("Name"))
20995	}
20996	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
20997		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
20998	}
20999	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
21000		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
21001	}
21002	if s.OutputLocation != nil {
21003		if err := s.OutputLocation.Validate(); err != nil {
21004			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
21005		}
21006	}
21007	if s.TargetLocations != nil {
21008		for i, v := range s.TargetLocations {
21009			if v == nil {
21010				continue
21011			}
21012			if err := v.Validate(); err != nil {
21013				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
21014			}
21015		}
21016	}
21017	if s.Targets != nil {
21018		for i, v := range s.Targets {
21019			if v == nil {
21020				continue
21021			}
21022			if err := v.Validate(); err != nil {
21023				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
21024			}
21025		}
21026	}
21027
21028	if invalidParams.Len() > 0 {
21029		return invalidParams
21030	}
21031	return nil
21032}
21033
21034// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value.
21035func (s *CreateAssociationBatchRequestEntry) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationBatchRequestEntry {
21036	s.ApplyOnlyAtCronInterval = &v
21037	return s
21038}
21039
21040// SetAssociationName sets the AssociationName field's value.
21041func (s *CreateAssociationBatchRequestEntry) SetAssociationName(v string) *CreateAssociationBatchRequestEntry {
21042	s.AssociationName = &v
21043	return s
21044}
21045
21046// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
21047func (s *CreateAssociationBatchRequestEntry) SetAutomationTargetParameterName(v string) *CreateAssociationBatchRequestEntry {
21048	s.AutomationTargetParameterName = &v
21049	return s
21050}
21051
21052// SetCalendarNames sets the CalendarNames field's value.
21053func (s *CreateAssociationBatchRequestEntry) SetCalendarNames(v []*string) *CreateAssociationBatchRequestEntry {
21054	s.CalendarNames = v
21055	return s
21056}
21057
21058// SetComplianceSeverity sets the ComplianceSeverity field's value.
21059func (s *CreateAssociationBatchRequestEntry) SetComplianceSeverity(v string) *CreateAssociationBatchRequestEntry {
21060	s.ComplianceSeverity = &v
21061	return s
21062}
21063
21064// SetDocumentVersion sets the DocumentVersion field's value.
21065func (s *CreateAssociationBatchRequestEntry) SetDocumentVersion(v string) *CreateAssociationBatchRequestEntry {
21066	s.DocumentVersion = &v
21067	return s
21068}
21069
21070// SetInstanceId sets the InstanceId field's value.
21071func (s *CreateAssociationBatchRequestEntry) SetInstanceId(v string) *CreateAssociationBatchRequestEntry {
21072	s.InstanceId = &v
21073	return s
21074}
21075
21076// SetMaxConcurrency sets the MaxConcurrency field's value.
21077func (s *CreateAssociationBatchRequestEntry) SetMaxConcurrency(v string) *CreateAssociationBatchRequestEntry {
21078	s.MaxConcurrency = &v
21079	return s
21080}
21081
21082// SetMaxErrors sets the MaxErrors field's value.
21083func (s *CreateAssociationBatchRequestEntry) SetMaxErrors(v string) *CreateAssociationBatchRequestEntry {
21084	s.MaxErrors = &v
21085	return s
21086}
21087
21088// SetName sets the Name field's value.
21089func (s *CreateAssociationBatchRequestEntry) SetName(v string) *CreateAssociationBatchRequestEntry {
21090	s.Name = &v
21091	return s
21092}
21093
21094// SetOutputLocation sets the OutputLocation field's value.
21095func (s *CreateAssociationBatchRequestEntry) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationBatchRequestEntry {
21096	s.OutputLocation = v
21097	return s
21098}
21099
21100// SetParameters sets the Parameters field's value.
21101func (s *CreateAssociationBatchRequestEntry) SetParameters(v map[string][]*string) *CreateAssociationBatchRequestEntry {
21102	s.Parameters = v
21103	return s
21104}
21105
21106// SetScheduleExpression sets the ScheduleExpression field's value.
21107func (s *CreateAssociationBatchRequestEntry) SetScheduleExpression(v string) *CreateAssociationBatchRequestEntry {
21108	s.ScheduleExpression = &v
21109	return s
21110}
21111
21112// SetSyncCompliance sets the SyncCompliance field's value.
21113func (s *CreateAssociationBatchRequestEntry) SetSyncCompliance(v string) *CreateAssociationBatchRequestEntry {
21114	s.SyncCompliance = &v
21115	return s
21116}
21117
21118// SetTargetLocations sets the TargetLocations field's value.
21119func (s *CreateAssociationBatchRequestEntry) SetTargetLocations(v []*TargetLocation) *CreateAssociationBatchRequestEntry {
21120	s.TargetLocations = v
21121	return s
21122}
21123
21124// SetTargets sets the Targets field's value.
21125func (s *CreateAssociationBatchRequestEntry) SetTargets(v []*Target) *CreateAssociationBatchRequestEntry {
21126	s.Targets = v
21127	return s
21128}
21129
21130type CreateAssociationInput struct {
21131	_ struct{} `type:"structure"`
21132
21133	// By default, when you create a new association, the system runs it immediately
21134	// after it is created and then according to the schedule you specified. Specify
21135	// this option if you don't want an association to run immediately after you
21136	// create it. This parameter isn't supported for rate expressions.
21137	ApplyOnlyAtCronInterval *bool `type:"boolean"`
21138
21139	// Specify a descriptive name for the association.
21140	AssociationName *string `type:"string"`
21141
21142	// Specify the target for the association. This target is required for associations
21143	// that use an Automation runbook and target resources by using rate controls.
21144	// Automation is a capability of Amazon Web Services Systems Manager.
21145	AutomationTargetParameterName *string `min:"1" type:"string"`
21146
21147	// The names or Amazon Resource Names (ARNs) of the Change Calendar type documents
21148	// you want to gate your associations under. The associations only run when
21149	// that change calendar is open. For more information, see Amazon Web Services
21150	// Systems Manager Change Calendar (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar).
21151	CalendarNames []*string `type:"list"`
21152
21153	// The severity level to assign to the association.
21154	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
21155
21156	// The document version you want to associate with the target(s). Can be a specific
21157	// version or the default version.
21158	DocumentVersion *string `type:"string"`
21159
21160	// The instance ID.
21161	//
21162	// InstanceId has been deprecated. To specify an instance ID for an association,
21163	// use the Targets parameter. Requests that include the parameter InstanceID
21164	// with Systems Manager documents (SSM documents) that use schema version 2.0
21165	// or later will fail. In addition, if you use the parameter InstanceId, you
21166	// can't use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency,
21167	// OutputLocation, or ScheduleExpression. To use these parameters, you must
21168	// use the Targets parameter.
21169	InstanceId *string `type:"string"`
21170
21171	// The maximum number of targets allowed to run the association at the same
21172	// time. You can specify a number, for example 10, or a percentage of the target
21173	// set, for example 10%. The default value is 100%, which means all targets
21174	// run the association at the same time.
21175	//
21176	// If a new instance starts and attempts to run an association while Systems
21177	// Manager is running MaxConcurrency associations, the association is allowed
21178	// to run. During the next association interval, the new instance will process
21179	// its association within the limit specified for MaxConcurrency.
21180	MaxConcurrency *string `min:"1" type:"string"`
21181
21182	// The number of errors that are allowed before the system stops sending requests
21183	// to run the association on additional targets. You can specify either an absolute
21184	// number of errors, for example 10, or a percentage of the target set, for
21185	// example 10%. If you specify 3, for example, the system stops sending requests
21186	// when the fourth error is received. If you specify 0, then the system stops
21187	// sending requests after the first error is returned. If you run an association
21188	// on 50 instances and set MaxError to 10%, then the system stops sending the
21189	// request when the sixth error is received.
21190	//
21191	// Executions that are already running an association when MaxErrors is reached
21192	// are allowed to complete, but some of these executions may fail as well. If
21193	// you need to ensure that there won't be more than max-errors failed executions,
21194	// set MaxConcurrency to 1 so that executions proceed one at a time.
21195	MaxErrors *string `min:"1" type:"string"`
21196
21197	// The name of the SSM Command document or Automation runbook that contains
21198	// the configuration information for the instance.
21199	//
21200	// You can specify Amazon Web Services-predefined documents, documents you created,
21201	// or a document that is shared with you from another account.
21202	//
21203	// For Systems Manager documents (SSM documents) that are shared with you from
21204	// other Amazon Web Services accounts, you must specify the complete SSM document
21205	// ARN, in the following format:
21206	//
21207	// arn:partition:ssm:region:account-id:document/document-name
21208	//
21209	// For example:
21210	//
21211	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
21212	//
21213	// For Amazon Web Services-predefined documents and SSM documents you created
21214	// in your account, you only need to specify the document name. For example,
21215	// AWS-ApplyPatchBaseline or My-Document.
21216	//
21217	// Name is a required field
21218	Name *string `type:"string" required:"true"`
21219
21220	// An Amazon Simple Storage Service (Amazon S3) bucket where you want to store
21221	// the output details of the request.
21222	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
21223
21224	// The parameters for the runtime configuration of the document.
21225	Parameters map[string][]*string `type:"map"`
21226
21227	// A cron expression when the association will be applied to the target(s).
21228	ScheduleExpression *string `min:"1" type:"string"`
21229
21230	// The mode for generating association compliance. You can specify AUTO or MANUAL.
21231	// In AUTO mode, the system uses the status of the association execution to
21232	// determine the compliance status. If the association execution runs successfully,
21233	// then the association is COMPLIANT. If the association execution doesn't run
21234	// successfully, the association is NON-COMPLIANT.
21235	//
21236	// In MANUAL mode, you must specify the AssociationId as a parameter for the
21237	// PutComplianceItems API operation. In this case, compliance data isn't managed
21238	// by State Manager. It is managed by your direct call to the PutComplianceItems
21239	// API operation.
21240	//
21241	// By default, all associations use AUTO mode.
21242	SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"`
21243
21244	// A location is a combination of Amazon Web Services Regions and Amazon Web
21245	// Services accounts where you want to run the association. Use this action
21246	// to create an association in multiple Regions and multiple accounts.
21247	TargetLocations []*TargetLocation `min:"1" type:"list"`
21248
21249	// The targets for the association. You can target instances by using tags,
21250	// Amazon Web Services resource groups, all instances in an Amazon Web Services
21251	// account, or individual instance IDs. You can target all instances in an Amazon
21252	// Web Services account by specifying the InstanceIds key with a value of *.
21253	// For more information about choosing targets for an association, see Using
21254	// targets and rate controls with State Manager associations (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html)
21255	// in the Amazon Web Services Systems Manager User Guide.
21256	Targets []*Target `type:"list"`
21257}
21258
21259// String returns the string representation.
21260//
21261// API parameter values that are decorated as "sensitive" in the API will not
21262// be included in the string output. The member name will be present, but the
21263// value will be replaced with "sensitive".
21264func (s CreateAssociationInput) String() string {
21265	return awsutil.Prettify(s)
21266}
21267
21268// GoString returns the string representation.
21269//
21270// API parameter values that are decorated as "sensitive" in the API will not
21271// be included in the string output. The member name will be present, but the
21272// value will be replaced with "sensitive".
21273func (s CreateAssociationInput) GoString() string {
21274	return s.String()
21275}
21276
21277// Validate inspects the fields of the type to determine if they are valid.
21278func (s *CreateAssociationInput) Validate() error {
21279	invalidParams := request.ErrInvalidParams{Context: "CreateAssociationInput"}
21280	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
21281		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
21282	}
21283	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
21284		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
21285	}
21286	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
21287		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
21288	}
21289	if s.Name == nil {
21290		invalidParams.Add(request.NewErrParamRequired("Name"))
21291	}
21292	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
21293		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
21294	}
21295	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
21296		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
21297	}
21298	if s.OutputLocation != nil {
21299		if err := s.OutputLocation.Validate(); err != nil {
21300			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
21301		}
21302	}
21303	if s.TargetLocations != nil {
21304		for i, v := range s.TargetLocations {
21305			if v == nil {
21306				continue
21307			}
21308			if err := v.Validate(); err != nil {
21309				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
21310			}
21311		}
21312	}
21313	if s.Targets != nil {
21314		for i, v := range s.Targets {
21315			if v == nil {
21316				continue
21317			}
21318			if err := v.Validate(); err != nil {
21319				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
21320			}
21321		}
21322	}
21323
21324	if invalidParams.Len() > 0 {
21325		return invalidParams
21326	}
21327	return nil
21328}
21329
21330// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value.
21331func (s *CreateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *CreateAssociationInput {
21332	s.ApplyOnlyAtCronInterval = &v
21333	return s
21334}
21335
21336// SetAssociationName sets the AssociationName field's value.
21337func (s *CreateAssociationInput) SetAssociationName(v string) *CreateAssociationInput {
21338	s.AssociationName = &v
21339	return s
21340}
21341
21342// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
21343func (s *CreateAssociationInput) SetAutomationTargetParameterName(v string) *CreateAssociationInput {
21344	s.AutomationTargetParameterName = &v
21345	return s
21346}
21347
21348// SetCalendarNames sets the CalendarNames field's value.
21349func (s *CreateAssociationInput) SetCalendarNames(v []*string) *CreateAssociationInput {
21350	s.CalendarNames = v
21351	return s
21352}
21353
21354// SetComplianceSeverity sets the ComplianceSeverity field's value.
21355func (s *CreateAssociationInput) SetComplianceSeverity(v string) *CreateAssociationInput {
21356	s.ComplianceSeverity = &v
21357	return s
21358}
21359
21360// SetDocumentVersion sets the DocumentVersion field's value.
21361func (s *CreateAssociationInput) SetDocumentVersion(v string) *CreateAssociationInput {
21362	s.DocumentVersion = &v
21363	return s
21364}
21365
21366// SetInstanceId sets the InstanceId field's value.
21367func (s *CreateAssociationInput) SetInstanceId(v string) *CreateAssociationInput {
21368	s.InstanceId = &v
21369	return s
21370}
21371
21372// SetMaxConcurrency sets the MaxConcurrency field's value.
21373func (s *CreateAssociationInput) SetMaxConcurrency(v string) *CreateAssociationInput {
21374	s.MaxConcurrency = &v
21375	return s
21376}
21377
21378// SetMaxErrors sets the MaxErrors field's value.
21379func (s *CreateAssociationInput) SetMaxErrors(v string) *CreateAssociationInput {
21380	s.MaxErrors = &v
21381	return s
21382}
21383
21384// SetName sets the Name field's value.
21385func (s *CreateAssociationInput) SetName(v string) *CreateAssociationInput {
21386	s.Name = &v
21387	return s
21388}
21389
21390// SetOutputLocation sets the OutputLocation field's value.
21391func (s *CreateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *CreateAssociationInput {
21392	s.OutputLocation = v
21393	return s
21394}
21395
21396// SetParameters sets the Parameters field's value.
21397func (s *CreateAssociationInput) SetParameters(v map[string][]*string) *CreateAssociationInput {
21398	s.Parameters = v
21399	return s
21400}
21401
21402// SetScheduleExpression sets the ScheduleExpression field's value.
21403func (s *CreateAssociationInput) SetScheduleExpression(v string) *CreateAssociationInput {
21404	s.ScheduleExpression = &v
21405	return s
21406}
21407
21408// SetSyncCompliance sets the SyncCompliance field's value.
21409func (s *CreateAssociationInput) SetSyncCompliance(v string) *CreateAssociationInput {
21410	s.SyncCompliance = &v
21411	return s
21412}
21413
21414// SetTargetLocations sets the TargetLocations field's value.
21415func (s *CreateAssociationInput) SetTargetLocations(v []*TargetLocation) *CreateAssociationInput {
21416	s.TargetLocations = v
21417	return s
21418}
21419
21420// SetTargets sets the Targets field's value.
21421func (s *CreateAssociationInput) SetTargets(v []*Target) *CreateAssociationInput {
21422	s.Targets = v
21423	return s
21424}
21425
21426type CreateAssociationOutput struct {
21427	_ struct{} `type:"structure"`
21428
21429	// Information about the association.
21430	AssociationDescription *AssociationDescription `type:"structure"`
21431}
21432
21433// String returns the string representation.
21434//
21435// API parameter values that are decorated as "sensitive" in the API will not
21436// be included in the string output. The member name will be present, but the
21437// value will be replaced with "sensitive".
21438func (s CreateAssociationOutput) String() string {
21439	return awsutil.Prettify(s)
21440}
21441
21442// GoString returns the string representation.
21443//
21444// API parameter values that are decorated as "sensitive" in the API will not
21445// be included in the string output. The member name will be present, but the
21446// value will be replaced with "sensitive".
21447func (s CreateAssociationOutput) GoString() string {
21448	return s.String()
21449}
21450
21451// SetAssociationDescription sets the AssociationDescription field's value.
21452func (s *CreateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *CreateAssociationOutput {
21453	s.AssociationDescription = v
21454	return s
21455}
21456
21457type CreateDocumentInput struct {
21458	_ struct{} `type:"structure"`
21459
21460	// A list of key-value pairs that describe attachments to a version of a document.
21461	Attachments []*AttachmentsSource `type:"list"`
21462
21463	// The content for the new SSM document in JSON or YAML format. We recommend
21464	// storing the contents for your new document in an external JSON or YAML file
21465	// and referencing the file in a command.
21466	//
21467	// For examples, see the following topics in the Amazon Web Services Systems
21468	// Manager User Guide.
21469	//
21470	//    * Create an SSM document (Amazon Web Services API) (https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-api.html)
21471	//
21472	//    * Create an SSM document (Amazon Web Services CLI) (https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-cli.html)
21473	//
21474	//    * Create an SSM document (API) (https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-api.html)
21475	//
21476	// Content is a required field
21477	Content *string `min:"1" type:"string" required:"true"`
21478
21479	// An optional field where you can specify a friendly name for the SSM document.
21480	// This value can differ for each version of the document. You can update this
21481	// value at a later time using the UpdateDocument operation.
21482	DisplayName *string `type:"string"`
21483
21484	// Specify the document format for the request. The document format can be JSON,
21485	// YAML, or TEXT. JSON is the default format.
21486	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
21487
21488	// The type of document to create.
21489	DocumentType *string `type:"string" enum:"DocumentType"`
21490
21491	// A name for the SSM document.
21492	//
21493	// You can't use the following strings as document name prefixes. These are
21494	// reserved by Amazon Web Services for use as document name prefixes:
21495	//
21496	//    * aws-
21497	//
21498	//    * amazon
21499	//
21500	//    * amzn
21501	//
21502	// Name is a required field
21503	Name *string `type:"string" required:"true"`
21504
21505	// A list of SSM documents required by a document. This parameter is used exclusively
21506	// by AppConfig. When a user creates an AppConfig configuration in an SSM document,
21507	// the user must also specify a required document for validation purposes. In
21508	// this case, an ApplicationConfiguration document requires an ApplicationConfigurationSchema
21509	// document for validation purposes. For more information, see What is AppConfig?
21510	// (https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html)
21511	// in the AppConfig User Guide.
21512	Requires []*DocumentRequires `min:"1" type:"list"`
21513
21514	// Optional metadata that you assign to a resource. Tags enable you to categorize
21515	// a resource in different ways, such as by purpose, owner, or environment.
21516	// For example, you might want to tag an SSM document to identify the types
21517	// of targets or the environment where it will run. In this case, you could
21518	// specify the following key-value pairs:
21519	//
21520	//    * Key=OS,Value=Windows
21521	//
21522	//    * Key=Environment,Value=Production
21523	//
21524	// To add tags to an existing SSM document, use the AddTagsToResource operation.
21525	Tags []*Tag `type:"list"`
21526
21527	// Specify a target type to define the kinds of resources the document can run
21528	// on. For example, to run a document on EC2 instances, specify the following
21529	// value: /AWS::EC2::Instance. If you specify a value of '/' the document can
21530	// run on all types of resources. If you don't specify a value, the document
21531	// can't run on any resources. For a list of valid resource types, see Amazon
21532	// Web Services resource and property types reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
21533	// in the CloudFormation User Guide.
21534	TargetType *string `type:"string"`
21535
21536	// An optional field specifying the version of the artifact you are creating
21537	// with the document. For example, "Release 12, Update 6". This value is unique
21538	// across all versions of a document, and can't be changed.
21539	VersionName *string `type:"string"`
21540}
21541
21542// String returns the string representation.
21543//
21544// API parameter values that are decorated as "sensitive" in the API will not
21545// be included in the string output. The member name will be present, but the
21546// value will be replaced with "sensitive".
21547func (s CreateDocumentInput) String() string {
21548	return awsutil.Prettify(s)
21549}
21550
21551// GoString returns the string representation.
21552//
21553// API parameter values that are decorated as "sensitive" in the API will not
21554// be included in the string output. The member name will be present, but the
21555// value will be replaced with "sensitive".
21556func (s CreateDocumentInput) GoString() string {
21557	return s.String()
21558}
21559
21560// Validate inspects the fields of the type to determine if they are valid.
21561func (s *CreateDocumentInput) Validate() error {
21562	invalidParams := request.ErrInvalidParams{Context: "CreateDocumentInput"}
21563	if s.Content == nil {
21564		invalidParams.Add(request.NewErrParamRequired("Content"))
21565	}
21566	if s.Content != nil && len(*s.Content) < 1 {
21567		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
21568	}
21569	if s.Name == nil {
21570		invalidParams.Add(request.NewErrParamRequired("Name"))
21571	}
21572	if s.Requires != nil && len(s.Requires) < 1 {
21573		invalidParams.Add(request.NewErrParamMinLen("Requires", 1))
21574	}
21575	if s.Attachments != nil {
21576		for i, v := range s.Attachments {
21577			if v == nil {
21578				continue
21579			}
21580			if err := v.Validate(); err != nil {
21581				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
21582			}
21583		}
21584	}
21585	if s.Requires != nil {
21586		for i, v := range s.Requires {
21587			if v == nil {
21588				continue
21589			}
21590			if err := v.Validate(); err != nil {
21591				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Requires", i), err.(request.ErrInvalidParams))
21592			}
21593		}
21594	}
21595	if s.Tags != nil {
21596		for i, v := range s.Tags {
21597			if v == nil {
21598				continue
21599			}
21600			if err := v.Validate(); err != nil {
21601				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21602			}
21603		}
21604	}
21605
21606	if invalidParams.Len() > 0 {
21607		return invalidParams
21608	}
21609	return nil
21610}
21611
21612// SetAttachments sets the Attachments field's value.
21613func (s *CreateDocumentInput) SetAttachments(v []*AttachmentsSource) *CreateDocumentInput {
21614	s.Attachments = v
21615	return s
21616}
21617
21618// SetContent sets the Content field's value.
21619func (s *CreateDocumentInput) SetContent(v string) *CreateDocumentInput {
21620	s.Content = &v
21621	return s
21622}
21623
21624// SetDisplayName sets the DisplayName field's value.
21625func (s *CreateDocumentInput) SetDisplayName(v string) *CreateDocumentInput {
21626	s.DisplayName = &v
21627	return s
21628}
21629
21630// SetDocumentFormat sets the DocumentFormat field's value.
21631func (s *CreateDocumentInput) SetDocumentFormat(v string) *CreateDocumentInput {
21632	s.DocumentFormat = &v
21633	return s
21634}
21635
21636// SetDocumentType sets the DocumentType field's value.
21637func (s *CreateDocumentInput) SetDocumentType(v string) *CreateDocumentInput {
21638	s.DocumentType = &v
21639	return s
21640}
21641
21642// SetName sets the Name field's value.
21643func (s *CreateDocumentInput) SetName(v string) *CreateDocumentInput {
21644	s.Name = &v
21645	return s
21646}
21647
21648// SetRequires sets the Requires field's value.
21649func (s *CreateDocumentInput) SetRequires(v []*DocumentRequires) *CreateDocumentInput {
21650	s.Requires = v
21651	return s
21652}
21653
21654// SetTags sets the Tags field's value.
21655func (s *CreateDocumentInput) SetTags(v []*Tag) *CreateDocumentInput {
21656	s.Tags = v
21657	return s
21658}
21659
21660// SetTargetType sets the TargetType field's value.
21661func (s *CreateDocumentInput) SetTargetType(v string) *CreateDocumentInput {
21662	s.TargetType = &v
21663	return s
21664}
21665
21666// SetVersionName sets the VersionName field's value.
21667func (s *CreateDocumentInput) SetVersionName(v string) *CreateDocumentInput {
21668	s.VersionName = &v
21669	return s
21670}
21671
21672type CreateDocumentOutput struct {
21673	_ struct{} `type:"structure"`
21674
21675	// Information about the SSM document.
21676	DocumentDescription *DocumentDescription `type:"structure"`
21677}
21678
21679// String returns the string representation.
21680//
21681// API parameter values that are decorated as "sensitive" in the API will not
21682// be included in the string output. The member name will be present, but the
21683// value will be replaced with "sensitive".
21684func (s CreateDocumentOutput) String() string {
21685	return awsutil.Prettify(s)
21686}
21687
21688// GoString returns the string representation.
21689//
21690// API parameter values that are decorated as "sensitive" in the API will not
21691// be included in the string output. The member name will be present, but the
21692// value will be replaced with "sensitive".
21693func (s CreateDocumentOutput) GoString() string {
21694	return s.String()
21695}
21696
21697// SetDocumentDescription sets the DocumentDescription field's value.
21698func (s *CreateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *CreateDocumentOutput {
21699	s.DocumentDescription = v
21700	return s
21701}
21702
21703type CreateMaintenanceWindowInput struct {
21704	_ struct{} `type:"structure"`
21705
21706	// Enables a maintenance window task to run on managed instances, even if you
21707	// haven't registered those instances as targets. If enabled, then you must
21708	// specify the unregistered instances (by instance ID) when you register a task
21709	// with the maintenance window.
21710	//
21711	// If you don't enable this option, then you must specify previously-registered
21712	// targets when you register a task with the maintenance window.
21713	//
21714	// AllowUnassociatedTargets is a required field
21715	AllowUnassociatedTargets *bool `type:"boolean" required:"true"`
21716
21717	// User-provided idempotency token.
21718	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
21719
21720	// The number of hours before the end of the maintenance window that Amazon
21721	// Web Services Systems Manager stops scheduling new tasks for execution.
21722	//
21723	// Cutoff is a required field
21724	Cutoff *int64 `type:"integer" required:"true"`
21725
21726	// An optional description for the maintenance window. We recommend specifying
21727	// a description to help you organize your maintenance windows.
21728	//
21729	// Description is a sensitive parameter and its value will be
21730	// replaced with "sensitive" in string returned by CreateMaintenanceWindowInput's
21731	// String and GoString methods.
21732	Description *string `min:"1" type:"string" sensitive:"true"`
21733
21734	// The duration of the maintenance window in hours.
21735	//
21736	// Duration is a required field
21737	Duration *int64 `min:"1" type:"integer" required:"true"`
21738
21739	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
21740	// window to become inactive. EndDate allows you to set a date and time in the
21741	// future when the maintenance window will no longer run.
21742	EndDate *string `type:"string"`
21743
21744	// The name of the maintenance window.
21745	//
21746	// Name is a required field
21747	Name *string `min:"3" type:"string" required:"true"`
21748
21749	// The schedule of the maintenance window in the form of a cron or rate expression.
21750	//
21751	// Schedule is a required field
21752	Schedule *string `min:"1" type:"string" required:"true"`
21753
21754	// The number of days to wait after the date and time specified by a cron expression
21755	// before running the maintenance window.
21756	//
21757	// For example, the following cron expression schedules a maintenance window
21758	// to run on the third Tuesday of every month at 11:30 PM.
21759	//
21760	// cron(30 23 ? * TUE#3 *)
21761	//
21762	// If the schedule offset is 2, the maintenance window won't run until two days
21763	// later.
21764	ScheduleOffset *int64 `min:"1" type:"integer"`
21765
21766	// The time zone that the scheduled maintenance window executions are based
21767	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
21768	// "UTC", or "Asia/Seoul". For more information, see the Time Zone Database
21769	// (https://www.iana.org/time-zones) on the IANA website.
21770	ScheduleTimezone *string `type:"string"`
21771
21772	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
21773	// window to become active. StartDate allows you to delay activation of the
21774	// maintenance window until the specified future date.
21775	StartDate *string `type:"string"`
21776
21777	// Optional metadata that you assign to a resource. Tags enable you to categorize
21778	// a resource in different ways, such as by purpose, owner, or environment.
21779	// For example, you might want to tag a maintenance window to identify the type
21780	// of tasks it will run, the types of targets, and the environment it will run
21781	// in. In this case, you could specify the following key-value pairs:
21782	//
21783	//    * Key=TaskType,Value=AgentUpdate
21784	//
21785	//    * Key=OS,Value=Windows
21786	//
21787	//    * Key=Environment,Value=Production
21788	//
21789	// To add tags to an existing maintenance window, use the AddTagsToResource
21790	// operation.
21791	Tags []*Tag `type:"list"`
21792}
21793
21794// String returns the string representation.
21795//
21796// API parameter values that are decorated as "sensitive" in the API will not
21797// be included in the string output. The member name will be present, but the
21798// value will be replaced with "sensitive".
21799func (s CreateMaintenanceWindowInput) String() string {
21800	return awsutil.Prettify(s)
21801}
21802
21803// GoString returns the string representation.
21804//
21805// API parameter values that are decorated as "sensitive" in the API will not
21806// be included in the string output. The member name will be present, but the
21807// value will be replaced with "sensitive".
21808func (s CreateMaintenanceWindowInput) GoString() string {
21809	return s.String()
21810}
21811
21812// Validate inspects the fields of the type to determine if they are valid.
21813func (s *CreateMaintenanceWindowInput) Validate() error {
21814	invalidParams := request.ErrInvalidParams{Context: "CreateMaintenanceWindowInput"}
21815	if s.AllowUnassociatedTargets == nil {
21816		invalidParams.Add(request.NewErrParamRequired("AllowUnassociatedTargets"))
21817	}
21818	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
21819		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
21820	}
21821	if s.Cutoff == nil {
21822		invalidParams.Add(request.NewErrParamRequired("Cutoff"))
21823	}
21824	if s.Description != nil && len(*s.Description) < 1 {
21825		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
21826	}
21827	if s.Duration == nil {
21828		invalidParams.Add(request.NewErrParamRequired("Duration"))
21829	}
21830	if s.Duration != nil && *s.Duration < 1 {
21831		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
21832	}
21833	if s.Name == nil {
21834		invalidParams.Add(request.NewErrParamRequired("Name"))
21835	}
21836	if s.Name != nil && len(*s.Name) < 3 {
21837		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
21838	}
21839	if s.Schedule == nil {
21840		invalidParams.Add(request.NewErrParamRequired("Schedule"))
21841	}
21842	if s.Schedule != nil && len(*s.Schedule) < 1 {
21843		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
21844	}
21845	if s.ScheduleOffset != nil && *s.ScheduleOffset < 1 {
21846		invalidParams.Add(request.NewErrParamMinValue("ScheduleOffset", 1))
21847	}
21848	if s.Tags != nil {
21849		for i, v := range s.Tags {
21850			if v == nil {
21851				continue
21852			}
21853			if err := v.Validate(); err != nil {
21854				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
21855			}
21856		}
21857	}
21858
21859	if invalidParams.Len() > 0 {
21860		return invalidParams
21861	}
21862	return nil
21863}
21864
21865// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
21866func (s *CreateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *CreateMaintenanceWindowInput {
21867	s.AllowUnassociatedTargets = &v
21868	return s
21869}
21870
21871// SetClientToken sets the ClientToken field's value.
21872func (s *CreateMaintenanceWindowInput) SetClientToken(v string) *CreateMaintenanceWindowInput {
21873	s.ClientToken = &v
21874	return s
21875}
21876
21877// SetCutoff sets the Cutoff field's value.
21878func (s *CreateMaintenanceWindowInput) SetCutoff(v int64) *CreateMaintenanceWindowInput {
21879	s.Cutoff = &v
21880	return s
21881}
21882
21883// SetDescription sets the Description field's value.
21884func (s *CreateMaintenanceWindowInput) SetDescription(v string) *CreateMaintenanceWindowInput {
21885	s.Description = &v
21886	return s
21887}
21888
21889// SetDuration sets the Duration field's value.
21890func (s *CreateMaintenanceWindowInput) SetDuration(v int64) *CreateMaintenanceWindowInput {
21891	s.Duration = &v
21892	return s
21893}
21894
21895// SetEndDate sets the EndDate field's value.
21896func (s *CreateMaintenanceWindowInput) SetEndDate(v string) *CreateMaintenanceWindowInput {
21897	s.EndDate = &v
21898	return s
21899}
21900
21901// SetName sets the Name field's value.
21902func (s *CreateMaintenanceWindowInput) SetName(v string) *CreateMaintenanceWindowInput {
21903	s.Name = &v
21904	return s
21905}
21906
21907// SetSchedule sets the Schedule field's value.
21908func (s *CreateMaintenanceWindowInput) SetSchedule(v string) *CreateMaintenanceWindowInput {
21909	s.Schedule = &v
21910	return s
21911}
21912
21913// SetScheduleOffset sets the ScheduleOffset field's value.
21914func (s *CreateMaintenanceWindowInput) SetScheduleOffset(v int64) *CreateMaintenanceWindowInput {
21915	s.ScheduleOffset = &v
21916	return s
21917}
21918
21919// SetScheduleTimezone sets the ScheduleTimezone field's value.
21920func (s *CreateMaintenanceWindowInput) SetScheduleTimezone(v string) *CreateMaintenanceWindowInput {
21921	s.ScheduleTimezone = &v
21922	return s
21923}
21924
21925// SetStartDate sets the StartDate field's value.
21926func (s *CreateMaintenanceWindowInput) SetStartDate(v string) *CreateMaintenanceWindowInput {
21927	s.StartDate = &v
21928	return s
21929}
21930
21931// SetTags sets the Tags field's value.
21932func (s *CreateMaintenanceWindowInput) SetTags(v []*Tag) *CreateMaintenanceWindowInput {
21933	s.Tags = v
21934	return s
21935}
21936
21937type CreateMaintenanceWindowOutput struct {
21938	_ struct{} `type:"structure"`
21939
21940	// The ID of the created maintenance window.
21941	WindowId *string `min:"20" type:"string"`
21942}
21943
21944// String returns the string representation.
21945//
21946// API parameter values that are decorated as "sensitive" in the API will not
21947// be included in the string output. The member name will be present, but the
21948// value will be replaced with "sensitive".
21949func (s CreateMaintenanceWindowOutput) String() string {
21950	return awsutil.Prettify(s)
21951}
21952
21953// GoString returns the string representation.
21954//
21955// API parameter values that are decorated as "sensitive" in the API will not
21956// be included in the string output. The member name will be present, but the
21957// value will be replaced with "sensitive".
21958func (s CreateMaintenanceWindowOutput) GoString() string {
21959	return s.String()
21960}
21961
21962// SetWindowId sets the WindowId field's value.
21963func (s *CreateMaintenanceWindowOutput) SetWindowId(v string) *CreateMaintenanceWindowOutput {
21964	s.WindowId = &v
21965	return s
21966}
21967
21968type CreateOpsItemInput struct {
21969	_ struct{} `type:"structure"`
21970
21971	// The time a runbook workflow ended. Currently reported only for the OpsItem
21972	// type /aws/changerequest.
21973	ActualEndTime *time.Time `type:"timestamp"`
21974
21975	// The time a runbook workflow started. Currently reported only for the OpsItem
21976	// type /aws/changerequest.
21977	ActualStartTime *time.Time `type:"timestamp"`
21978
21979	// Specify a category to assign to an OpsItem.
21980	Category *string `min:"1" type:"string"`
21981
21982	// Information about the OpsItem.
21983	//
21984	// Description is a required field
21985	Description *string `min:"1" type:"string" required:"true"`
21986
21987	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
21988	// when this OpsItem is edited or changed.
21989	Notifications []*OpsItemNotification `type:"list"`
21990
21991	// Operational data is custom data that provides useful reference details about
21992	// the OpsItem. For example, you can specify log files, error strings, license
21993	// keys, troubleshooting tips, or other relevant data. You enter operational
21994	// data as key-value pairs. The key has a maximum length of 128 characters.
21995	// The value has a maximum size of 20 KB.
21996	//
21997	// Operational data keys can't begin with the following: amazon, aws, amzn,
21998	// ssm, /amazon, /aws, /amzn, /ssm.
21999	//
22000	// You can choose to make the data searchable by other users in the account
22001	// or you can restrict search access. Searchable data means that all users with
22002	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
22003	// API operation) can view and search on the specified data. Operational data
22004	// that isn't searchable is only viewable by users who have access to the OpsItem
22005	// (as provided by the GetOpsItem API operation).
22006	//
22007	// Use the /aws/resources key in OperationalData to specify a related resource
22008	// in the request. Use the /aws/automations key in OperationalData to associate
22009	// an Automation runbook with the OpsItem. To view Amazon Web Services CLI example
22010	// commands that use these keys, see Creating OpsItems manually (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
22011	// in the Amazon Web Services Systems Manager User Guide.
22012	OperationalData map[string]*OpsItemDataValue `type:"map"`
22013
22014	// The type of OpsItem to create. Currently, the only valid values are /aws/changerequest
22015	// and /aws/issue.
22016	OpsItemType *string `type:"string"`
22017
22018	// The time specified in a change request for a runbook workflow to end. Currently
22019	// supported only for the OpsItem type /aws/changerequest.
22020	PlannedEndTime *time.Time `type:"timestamp"`
22021
22022	// The time specified in a change request for a runbook workflow to start. Currently
22023	// supported only for the OpsItem type /aws/changerequest.
22024	PlannedStartTime *time.Time `type:"timestamp"`
22025
22026	// The importance of this OpsItem in relation to other OpsItems in the system.
22027	Priority *int64 `min:"1" type:"integer"`
22028
22029	// One or more OpsItems that share something in common with the current OpsItems.
22030	// For example, related OpsItems can include OpsItems with similar error messages,
22031	// impacted resources, or statuses for the impacted resource.
22032	RelatedOpsItems []*RelatedOpsItem `type:"list"`
22033
22034	// Specify a severity to assign to an OpsItem.
22035	Severity *string `min:"1" type:"string"`
22036
22037	// The origin of the OpsItem, such as Amazon EC2 or Systems Manager.
22038	//
22039	// The source name can't contain the following strings: aws, amazon, and amzn.
22040	//
22041	// Source is a required field
22042	Source *string `min:"1" type:"string" required:"true"`
22043
22044	// Optional metadata that you assign to a resource. You can restrict access
22045	// to OpsItems by using an inline IAM policy that specifies tags. For more information,
22046	// see Getting started with OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html#OpsCenter-getting-started-user-permissions)
22047	// in the Amazon Web Services Systems Manager User Guide.
22048	//
22049	// Tags use a key-value pair. For example:
22050	//
22051	// Key=Department,Value=Finance
22052	//
22053	// To add tags to a new OpsItem, a user must have IAM permissions for both the
22054	// ssm:CreateOpsItems operation and the ssm:AddTagsToResource operation. To
22055	// add tags to an existing OpsItem, use the AddTagsToResource operation.
22056	Tags []*Tag `type:"list"`
22057
22058	// A short heading that describes the nature of the OpsItem and the impacted
22059	// resource.
22060	//
22061	// Title is a required field
22062	Title *string `min:"1" type:"string" required:"true"`
22063}
22064
22065// String returns the string representation.
22066//
22067// API parameter values that are decorated as "sensitive" in the API will not
22068// be included in the string output. The member name will be present, but the
22069// value will be replaced with "sensitive".
22070func (s CreateOpsItemInput) String() string {
22071	return awsutil.Prettify(s)
22072}
22073
22074// GoString returns the string representation.
22075//
22076// API parameter values that are decorated as "sensitive" in the API will not
22077// be included in the string output. The member name will be present, but the
22078// value will be replaced with "sensitive".
22079func (s CreateOpsItemInput) GoString() string {
22080	return s.String()
22081}
22082
22083// Validate inspects the fields of the type to determine if they are valid.
22084func (s *CreateOpsItemInput) Validate() error {
22085	invalidParams := request.ErrInvalidParams{Context: "CreateOpsItemInput"}
22086	if s.Category != nil && len(*s.Category) < 1 {
22087		invalidParams.Add(request.NewErrParamMinLen("Category", 1))
22088	}
22089	if s.Description == nil {
22090		invalidParams.Add(request.NewErrParamRequired("Description"))
22091	}
22092	if s.Description != nil && len(*s.Description) < 1 {
22093		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
22094	}
22095	if s.Priority != nil && *s.Priority < 1 {
22096		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
22097	}
22098	if s.Severity != nil && len(*s.Severity) < 1 {
22099		invalidParams.Add(request.NewErrParamMinLen("Severity", 1))
22100	}
22101	if s.Source == nil {
22102		invalidParams.Add(request.NewErrParamRequired("Source"))
22103	}
22104	if s.Source != nil && len(*s.Source) < 1 {
22105		invalidParams.Add(request.NewErrParamMinLen("Source", 1))
22106	}
22107	if s.Title == nil {
22108		invalidParams.Add(request.NewErrParamRequired("Title"))
22109	}
22110	if s.Title != nil && len(*s.Title) < 1 {
22111		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
22112	}
22113	if s.RelatedOpsItems != nil {
22114		for i, v := range s.RelatedOpsItems {
22115			if v == nil {
22116				continue
22117			}
22118			if err := v.Validate(); err != nil {
22119				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
22120			}
22121		}
22122	}
22123	if s.Tags != nil {
22124		for i, v := range s.Tags {
22125			if v == nil {
22126				continue
22127			}
22128			if err := v.Validate(); err != nil {
22129				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
22130			}
22131		}
22132	}
22133
22134	if invalidParams.Len() > 0 {
22135		return invalidParams
22136	}
22137	return nil
22138}
22139
22140// SetActualEndTime sets the ActualEndTime field's value.
22141func (s *CreateOpsItemInput) SetActualEndTime(v time.Time) *CreateOpsItemInput {
22142	s.ActualEndTime = &v
22143	return s
22144}
22145
22146// SetActualStartTime sets the ActualStartTime field's value.
22147func (s *CreateOpsItemInput) SetActualStartTime(v time.Time) *CreateOpsItemInput {
22148	s.ActualStartTime = &v
22149	return s
22150}
22151
22152// SetCategory sets the Category field's value.
22153func (s *CreateOpsItemInput) SetCategory(v string) *CreateOpsItemInput {
22154	s.Category = &v
22155	return s
22156}
22157
22158// SetDescription sets the Description field's value.
22159func (s *CreateOpsItemInput) SetDescription(v string) *CreateOpsItemInput {
22160	s.Description = &v
22161	return s
22162}
22163
22164// SetNotifications sets the Notifications field's value.
22165func (s *CreateOpsItemInput) SetNotifications(v []*OpsItemNotification) *CreateOpsItemInput {
22166	s.Notifications = v
22167	return s
22168}
22169
22170// SetOperationalData sets the OperationalData field's value.
22171func (s *CreateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *CreateOpsItemInput {
22172	s.OperationalData = v
22173	return s
22174}
22175
22176// SetOpsItemType sets the OpsItemType field's value.
22177func (s *CreateOpsItemInput) SetOpsItemType(v string) *CreateOpsItemInput {
22178	s.OpsItemType = &v
22179	return s
22180}
22181
22182// SetPlannedEndTime sets the PlannedEndTime field's value.
22183func (s *CreateOpsItemInput) SetPlannedEndTime(v time.Time) *CreateOpsItemInput {
22184	s.PlannedEndTime = &v
22185	return s
22186}
22187
22188// SetPlannedStartTime sets the PlannedStartTime field's value.
22189func (s *CreateOpsItemInput) SetPlannedStartTime(v time.Time) *CreateOpsItemInput {
22190	s.PlannedStartTime = &v
22191	return s
22192}
22193
22194// SetPriority sets the Priority field's value.
22195func (s *CreateOpsItemInput) SetPriority(v int64) *CreateOpsItemInput {
22196	s.Priority = &v
22197	return s
22198}
22199
22200// SetRelatedOpsItems sets the RelatedOpsItems field's value.
22201func (s *CreateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *CreateOpsItemInput {
22202	s.RelatedOpsItems = v
22203	return s
22204}
22205
22206// SetSeverity sets the Severity field's value.
22207func (s *CreateOpsItemInput) SetSeverity(v string) *CreateOpsItemInput {
22208	s.Severity = &v
22209	return s
22210}
22211
22212// SetSource sets the Source field's value.
22213func (s *CreateOpsItemInput) SetSource(v string) *CreateOpsItemInput {
22214	s.Source = &v
22215	return s
22216}
22217
22218// SetTags sets the Tags field's value.
22219func (s *CreateOpsItemInput) SetTags(v []*Tag) *CreateOpsItemInput {
22220	s.Tags = v
22221	return s
22222}
22223
22224// SetTitle sets the Title field's value.
22225func (s *CreateOpsItemInput) SetTitle(v string) *CreateOpsItemInput {
22226	s.Title = &v
22227	return s
22228}
22229
22230type CreateOpsItemOutput struct {
22231	_ struct{} `type:"structure"`
22232
22233	// The ID of the OpsItem.
22234	OpsItemId *string `type:"string"`
22235}
22236
22237// String returns the string representation.
22238//
22239// API parameter values that are decorated as "sensitive" in the API will not
22240// be included in the string output. The member name will be present, but the
22241// value will be replaced with "sensitive".
22242func (s CreateOpsItemOutput) String() string {
22243	return awsutil.Prettify(s)
22244}
22245
22246// GoString returns the string representation.
22247//
22248// API parameter values that are decorated as "sensitive" in the API will not
22249// be included in the string output. The member name will be present, but the
22250// value will be replaced with "sensitive".
22251func (s CreateOpsItemOutput) GoString() string {
22252	return s.String()
22253}
22254
22255// SetOpsItemId sets the OpsItemId field's value.
22256func (s *CreateOpsItemOutput) SetOpsItemId(v string) *CreateOpsItemOutput {
22257	s.OpsItemId = &v
22258	return s
22259}
22260
22261type CreateOpsMetadataInput struct {
22262	_ struct{} `type:"structure"`
22263
22264	// Metadata for a new Application Manager application.
22265	Metadata map[string]*MetadataValue `min:"1" type:"map"`
22266
22267	// A resource ID for a new Application Manager application.
22268	//
22269	// ResourceId is a required field
22270	ResourceId *string `min:"1" type:"string" required:"true"`
22271
22272	// Optional metadata that you assign to a resource. You can specify a maximum
22273	// of five tags for an OpsMetadata object. Tags enable you to categorize a resource
22274	// in different ways, such as by purpose, owner, or environment. For example,
22275	// you might want to tag an OpsMetadata object to identify an environment or
22276	// target Amazon Web Services Region. In this case, you could specify the following
22277	// key-value pairs:
22278	//
22279	//    * Key=Environment,Value=Production
22280	//
22281	//    * Key=Region,Value=us-east-2
22282	Tags []*Tag `type:"list"`
22283}
22284
22285// String returns the string representation.
22286//
22287// API parameter values that are decorated as "sensitive" in the API will not
22288// be included in the string output. The member name will be present, but the
22289// value will be replaced with "sensitive".
22290func (s CreateOpsMetadataInput) String() string {
22291	return awsutil.Prettify(s)
22292}
22293
22294// GoString returns the string representation.
22295//
22296// API parameter values that are decorated as "sensitive" in the API will not
22297// be included in the string output. The member name will be present, but the
22298// value will be replaced with "sensitive".
22299func (s CreateOpsMetadataInput) GoString() string {
22300	return s.String()
22301}
22302
22303// Validate inspects the fields of the type to determine if they are valid.
22304func (s *CreateOpsMetadataInput) Validate() error {
22305	invalidParams := request.ErrInvalidParams{Context: "CreateOpsMetadataInput"}
22306	if s.Metadata != nil && len(s.Metadata) < 1 {
22307		invalidParams.Add(request.NewErrParamMinLen("Metadata", 1))
22308	}
22309	if s.ResourceId == nil {
22310		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
22311	}
22312	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
22313		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
22314	}
22315	if s.Metadata != nil {
22316		for i, v := range s.Metadata {
22317			if v == nil {
22318				continue
22319			}
22320			if err := v.Validate(); err != nil {
22321				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Metadata", i), err.(request.ErrInvalidParams))
22322			}
22323		}
22324	}
22325	if s.Tags != nil {
22326		for i, v := range s.Tags {
22327			if v == nil {
22328				continue
22329			}
22330			if err := v.Validate(); err != nil {
22331				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
22332			}
22333		}
22334	}
22335
22336	if invalidParams.Len() > 0 {
22337		return invalidParams
22338	}
22339	return nil
22340}
22341
22342// SetMetadata sets the Metadata field's value.
22343func (s *CreateOpsMetadataInput) SetMetadata(v map[string]*MetadataValue) *CreateOpsMetadataInput {
22344	s.Metadata = v
22345	return s
22346}
22347
22348// SetResourceId sets the ResourceId field's value.
22349func (s *CreateOpsMetadataInput) SetResourceId(v string) *CreateOpsMetadataInput {
22350	s.ResourceId = &v
22351	return s
22352}
22353
22354// SetTags sets the Tags field's value.
22355func (s *CreateOpsMetadataInput) SetTags(v []*Tag) *CreateOpsMetadataInput {
22356	s.Tags = v
22357	return s
22358}
22359
22360type CreateOpsMetadataOutput struct {
22361	_ struct{} `type:"structure"`
22362
22363	// The Amazon Resource Name (ARN) of the OpsMetadata Object or blob created
22364	// by the call.
22365	OpsMetadataArn *string `min:"1" type:"string"`
22366}
22367
22368// String returns the string representation.
22369//
22370// API parameter values that are decorated as "sensitive" in the API will not
22371// be included in the string output. The member name will be present, but the
22372// value will be replaced with "sensitive".
22373func (s CreateOpsMetadataOutput) String() string {
22374	return awsutil.Prettify(s)
22375}
22376
22377// GoString returns the string representation.
22378//
22379// API parameter values that are decorated as "sensitive" in the API will not
22380// be included in the string output. The member name will be present, but the
22381// value will be replaced with "sensitive".
22382func (s CreateOpsMetadataOutput) GoString() string {
22383	return s.String()
22384}
22385
22386// SetOpsMetadataArn sets the OpsMetadataArn field's value.
22387func (s *CreateOpsMetadataOutput) SetOpsMetadataArn(v string) *CreateOpsMetadataOutput {
22388	s.OpsMetadataArn = &v
22389	return s
22390}
22391
22392type CreatePatchBaselineInput struct {
22393	_ struct{} `type:"structure"`
22394
22395	// A set of rules used to include patches in the baseline.
22396	ApprovalRules *PatchRuleGroup `type:"structure"`
22397
22398	// A list of explicitly approved patches for the baseline.
22399	//
22400	// For information about accepted formats for lists of approved patches and
22401	// rejected patches, see About package name formats for approved and rejected
22402	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
22403	// in the Amazon Web Services Systems Manager User Guide.
22404	ApprovedPatches []*string `type:"list"`
22405
22406	// Defines the compliance level for approved patches. When an approved patch
22407	// is reported as missing, this value describes the severity of the compliance
22408	// violation. The default value is UNSPECIFIED.
22409	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
22410
22411	// Indicates whether the list of approved patches includes non-security updates
22412	// that should be applied to the instances. The default value is false. Applies
22413	// to Linux instances only.
22414	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
22415
22416	// User-provided idempotency token.
22417	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
22418
22419	// A description of the patch baseline.
22420	Description *string `min:"1" type:"string"`
22421
22422	// A set of global filters used to include patches in the baseline.
22423	GlobalFilters *PatchFilterGroup `type:"structure"`
22424
22425	// The name of the patch baseline.
22426	//
22427	// Name is a required field
22428	Name *string `min:"3" type:"string" required:"true"`
22429
22430	// Defines the operating system the patch baseline applies to. The default value
22431	// is WINDOWS.
22432	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22433
22434	// A list of explicitly rejected patches for the baseline.
22435	//
22436	// For information about accepted formats for lists of approved patches and
22437	// rejected patches, see About package name formats for approved and rejected
22438	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
22439	// in the Amazon Web Services Systems Manager User Guide.
22440	RejectedPatches []*string `type:"list"`
22441
22442	// The action for Patch Manager to take on patches included in the RejectedPackages
22443	// list.
22444	//
22445	//    * ALLOW_AS_DEPENDENCY : A package in the Rejected patches list is installed
22446	//    only if it is a dependency of another package. It is considered compliant
22447	//    with the patch baseline, and its status is reported as InstalledOther.
22448	//    This is the default action if no option is specified.
22449	//
22450	//    * BLOCK : Packages in the RejectedPatches list, and packages that include
22451	//    them as dependencies, aren't installed under any circumstances. If a package
22452	//    was installed before it was added to the Rejected patches list, it is
22453	//    considered non-compliant with the patch baseline, and its status is reported
22454	//    as InstalledRejected.
22455	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
22456
22457	// Information about the patches to use to update the instances, including target
22458	// operating systems and source repositories. Applies to Linux instances only.
22459	Sources []*PatchSource `type:"list"`
22460
22461	// Optional metadata that you assign to a resource. Tags enable you to categorize
22462	// a resource in different ways, such as by purpose, owner, or environment.
22463	// For example, you might want to tag a patch baseline to identify the severity
22464	// level of patches it specifies and the operating system family it applies
22465	// to. In this case, you could specify the following key-value pairs:
22466	//
22467	//    * Key=PatchSeverity,Value=Critical
22468	//
22469	//    * Key=OS,Value=Windows
22470	//
22471	// To add tags to an existing patch baseline, use the AddTagsToResource operation.
22472	Tags []*Tag `type:"list"`
22473}
22474
22475// String returns the string representation.
22476//
22477// API parameter values that are decorated as "sensitive" in the API will not
22478// be included in the string output. The member name will be present, but the
22479// value will be replaced with "sensitive".
22480func (s CreatePatchBaselineInput) String() string {
22481	return awsutil.Prettify(s)
22482}
22483
22484// GoString returns the string representation.
22485//
22486// API parameter values that are decorated as "sensitive" in the API will not
22487// be included in the string output. The member name will be present, but the
22488// value will be replaced with "sensitive".
22489func (s CreatePatchBaselineInput) GoString() string {
22490	return s.String()
22491}
22492
22493// Validate inspects the fields of the type to determine if they are valid.
22494func (s *CreatePatchBaselineInput) Validate() error {
22495	invalidParams := request.ErrInvalidParams{Context: "CreatePatchBaselineInput"}
22496	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
22497		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
22498	}
22499	if s.Description != nil && len(*s.Description) < 1 {
22500		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
22501	}
22502	if s.Name == nil {
22503		invalidParams.Add(request.NewErrParamRequired("Name"))
22504	}
22505	if s.Name != nil && len(*s.Name) < 3 {
22506		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
22507	}
22508	if s.ApprovalRules != nil {
22509		if err := s.ApprovalRules.Validate(); err != nil {
22510			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
22511		}
22512	}
22513	if s.GlobalFilters != nil {
22514		if err := s.GlobalFilters.Validate(); err != nil {
22515			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
22516		}
22517	}
22518	if s.Sources != nil {
22519		for i, v := range s.Sources {
22520			if v == nil {
22521				continue
22522			}
22523			if err := v.Validate(); err != nil {
22524				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
22525			}
22526		}
22527	}
22528	if s.Tags != nil {
22529		for i, v := range s.Tags {
22530			if v == nil {
22531				continue
22532			}
22533			if err := v.Validate(); err != nil {
22534				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
22535			}
22536		}
22537	}
22538
22539	if invalidParams.Len() > 0 {
22540		return invalidParams
22541	}
22542	return nil
22543}
22544
22545// SetApprovalRules sets the ApprovalRules field's value.
22546func (s *CreatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *CreatePatchBaselineInput {
22547	s.ApprovalRules = v
22548	return s
22549}
22550
22551// SetApprovedPatches sets the ApprovedPatches field's value.
22552func (s *CreatePatchBaselineInput) SetApprovedPatches(v []*string) *CreatePatchBaselineInput {
22553	s.ApprovedPatches = v
22554	return s
22555}
22556
22557// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
22558func (s *CreatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *CreatePatchBaselineInput {
22559	s.ApprovedPatchesComplianceLevel = &v
22560	return s
22561}
22562
22563// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
22564func (s *CreatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *CreatePatchBaselineInput {
22565	s.ApprovedPatchesEnableNonSecurity = &v
22566	return s
22567}
22568
22569// SetClientToken sets the ClientToken field's value.
22570func (s *CreatePatchBaselineInput) SetClientToken(v string) *CreatePatchBaselineInput {
22571	s.ClientToken = &v
22572	return s
22573}
22574
22575// SetDescription sets the Description field's value.
22576func (s *CreatePatchBaselineInput) SetDescription(v string) *CreatePatchBaselineInput {
22577	s.Description = &v
22578	return s
22579}
22580
22581// SetGlobalFilters sets the GlobalFilters field's value.
22582func (s *CreatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *CreatePatchBaselineInput {
22583	s.GlobalFilters = v
22584	return s
22585}
22586
22587// SetName sets the Name field's value.
22588func (s *CreatePatchBaselineInput) SetName(v string) *CreatePatchBaselineInput {
22589	s.Name = &v
22590	return s
22591}
22592
22593// SetOperatingSystem sets the OperatingSystem field's value.
22594func (s *CreatePatchBaselineInput) SetOperatingSystem(v string) *CreatePatchBaselineInput {
22595	s.OperatingSystem = &v
22596	return s
22597}
22598
22599// SetRejectedPatches sets the RejectedPatches field's value.
22600func (s *CreatePatchBaselineInput) SetRejectedPatches(v []*string) *CreatePatchBaselineInput {
22601	s.RejectedPatches = v
22602	return s
22603}
22604
22605// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
22606func (s *CreatePatchBaselineInput) SetRejectedPatchesAction(v string) *CreatePatchBaselineInput {
22607	s.RejectedPatchesAction = &v
22608	return s
22609}
22610
22611// SetSources sets the Sources field's value.
22612func (s *CreatePatchBaselineInput) SetSources(v []*PatchSource) *CreatePatchBaselineInput {
22613	s.Sources = v
22614	return s
22615}
22616
22617// SetTags sets the Tags field's value.
22618func (s *CreatePatchBaselineInput) SetTags(v []*Tag) *CreatePatchBaselineInput {
22619	s.Tags = v
22620	return s
22621}
22622
22623type CreatePatchBaselineOutput struct {
22624	_ struct{} `type:"structure"`
22625
22626	// The ID of the created patch baseline.
22627	BaselineId *string `min:"20" type:"string"`
22628}
22629
22630// String returns the string representation.
22631//
22632// API parameter values that are decorated as "sensitive" in the API will not
22633// be included in the string output. The member name will be present, but the
22634// value will be replaced with "sensitive".
22635func (s CreatePatchBaselineOutput) String() string {
22636	return awsutil.Prettify(s)
22637}
22638
22639// GoString returns the string representation.
22640//
22641// API parameter values that are decorated as "sensitive" in the API will not
22642// be included in the string output. The member name will be present, but the
22643// value will be replaced with "sensitive".
22644func (s CreatePatchBaselineOutput) GoString() string {
22645	return s.String()
22646}
22647
22648// SetBaselineId sets the BaselineId field's value.
22649func (s *CreatePatchBaselineOutput) SetBaselineId(v string) *CreatePatchBaselineOutput {
22650	s.BaselineId = &v
22651	return s
22652}
22653
22654type CreateResourceDataSyncInput struct {
22655	_ struct{} `type:"structure"`
22656
22657	// Amazon S3 configuration details for the sync. This parameter is required
22658	// if the SyncType value is SyncToDestination.
22659	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
22660
22661	// A name for the configuration.
22662	//
22663	// SyncName is a required field
22664	SyncName *string `min:"1" type:"string" required:"true"`
22665
22666	// Specify information about the data sources to synchronize. This parameter
22667	// is required if the SyncType value is SyncFromSource.
22668	SyncSource *ResourceDataSyncSource `type:"structure"`
22669
22670	// Specify SyncToDestination to create a resource data sync that synchronizes
22671	// data to an S3 bucket for Inventory. If you specify SyncToDestination, you
22672	// must provide a value for S3Destination. Specify SyncFromSource to synchronize
22673	// data from a single account and multiple Regions, or multiple Amazon Web Services
22674	// accounts and Amazon Web Services Regions, as listed in Organizations for
22675	// Explorer. If you specify SyncFromSource, you must provide a value for SyncSource.
22676	// The default value is SyncToDestination.
22677	SyncType *string `min:"1" type:"string"`
22678}
22679
22680// String returns the string representation.
22681//
22682// API parameter values that are decorated as "sensitive" in the API will not
22683// be included in the string output. The member name will be present, but the
22684// value will be replaced with "sensitive".
22685func (s CreateResourceDataSyncInput) String() string {
22686	return awsutil.Prettify(s)
22687}
22688
22689// GoString returns the string representation.
22690//
22691// API parameter values that are decorated as "sensitive" in the API will not
22692// be included in the string output. The member name will be present, but the
22693// value will be replaced with "sensitive".
22694func (s CreateResourceDataSyncInput) GoString() string {
22695	return s.String()
22696}
22697
22698// Validate inspects the fields of the type to determine if they are valid.
22699func (s *CreateResourceDataSyncInput) Validate() error {
22700	invalidParams := request.ErrInvalidParams{Context: "CreateResourceDataSyncInput"}
22701	if s.SyncName == nil {
22702		invalidParams.Add(request.NewErrParamRequired("SyncName"))
22703	}
22704	if s.SyncName != nil && len(*s.SyncName) < 1 {
22705		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
22706	}
22707	if s.SyncType != nil && len(*s.SyncType) < 1 {
22708		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
22709	}
22710	if s.S3Destination != nil {
22711		if err := s.S3Destination.Validate(); err != nil {
22712			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
22713		}
22714	}
22715	if s.SyncSource != nil {
22716		if err := s.SyncSource.Validate(); err != nil {
22717			invalidParams.AddNested("SyncSource", err.(request.ErrInvalidParams))
22718		}
22719	}
22720
22721	if invalidParams.Len() > 0 {
22722		return invalidParams
22723	}
22724	return nil
22725}
22726
22727// SetS3Destination sets the S3Destination field's value.
22728func (s *CreateResourceDataSyncInput) SetS3Destination(v *ResourceDataSyncS3Destination) *CreateResourceDataSyncInput {
22729	s.S3Destination = v
22730	return s
22731}
22732
22733// SetSyncName sets the SyncName field's value.
22734func (s *CreateResourceDataSyncInput) SetSyncName(v string) *CreateResourceDataSyncInput {
22735	s.SyncName = &v
22736	return s
22737}
22738
22739// SetSyncSource sets the SyncSource field's value.
22740func (s *CreateResourceDataSyncInput) SetSyncSource(v *ResourceDataSyncSource) *CreateResourceDataSyncInput {
22741	s.SyncSource = v
22742	return s
22743}
22744
22745// SetSyncType sets the SyncType field's value.
22746func (s *CreateResourceDataSyncInput) SetSyncType(v string) *CreateResourceDataSyncInput {
22747	s.SyncType = &v
22748	return s
22749}
22750
22751type CreateResourceDataSyncOutput struct {
22752	_ struct{} `type:"structure"`
22753}
22754
22755// String returns the string representation.
22756//
22757// API parameter values that are decorated as "sensitive" in the API will not
22758// be included in the string output. The member name will be present, but the
22759// value will be replaced with "sensitive".
22760func (s CreateResourceDataSyncOutput) String() string {
22761	return awsutil.Prettify(s)
22762}
22763
22764// GoString returns the string representation.
22765//
22766// API parameter values that are decorated as "sensitive" in the API will not
22767// be included in the string output. The member name will be present, but the
22768// value will be replaced with "sensitive".
22769func (s CreateResourceDataSyncOutput) GoString() string {
22770	return s.String()
22771}
22772
22773// You have exceeded the limit for custom schemas. Delete one or more custom
22774// schemas and try again.
22775type CustomSchemaCountLimitExceededException struct {
22776	_            struct{}                  `type:"structure"`
22777	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22778
22779	Message_ *string `locationName:"Message" type:"string"`
22780}
22781
22782// String returns the string representation.
22783//
22784// API parameter values that are decorated as "sensitive" in the API will not
22785// be included in the string output. The member name will be present, but the
22786// value will be replaced with "sensitive".
22787func (s CustomSchemaCountLimitExceededException) String() string {
22788	return awsutil.Prettify(s)
22789}
22790
22791// GoString returns the string representation.
22792//
22793// API parameter values that are decorated as "sensitive" in the API will not
22794// be included in the string output. The member name will be present, but the
22795// value will be replaced with "sensitive".
22796func (s CustomSchemaCountLimitExceededException) GoString() string {
22797	return s.String()
22798}
22799
22800func newErrorCustomSchemaCountLimitExceededException(v protocol.ResponseMetadata) error {
22801	return &CustomSchemaCountLimitExceededException{
22802		RespMetadata: v,
22803	}
22804}
22805
22806// Code returns the exception type name.
22807func (s *CustomSchemaCountLimitExceededException) Code() string {
22808	return "CustomSchemaCountLimitExceededException"
22809}
22810
22811// Message returns the exception's message.
22812func (s *CustomSchemaCountLimitExceededException) Message() string {
22813	if s.Message_ != nil {
22814		return *s.Message_
22815	}
22816	return ""
22817}
22818
22819// OrigErr always returns nil, satisfies awserr.Error interface.
22820func (s *CustomSchemaCountLimitExceededException) OrigErr() error {
22821	return nil
22822}
22823
22824func (s *CustomSchemaCountLimitExceededException) Error() string {
22825	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22826}
22827
22828// Status code returns the HTTP status code for the request's response error.
22829func (s *CustomSchemaCountLimitExceededException) StatusCode() int {
22830	return s.RespMetadata.StatusCode
22831}
22832
22833// RequestID returns the service's response RequestID for request.
22834func (s *CustomSchemaCountLimitExceededException) RequestID() string {
22835	return s.RespMetadata.RequestID
22836}
22837
22838type DeleteActivationInput struct {
22839	_ struct{} `type:"structure"`
22840
22841	// The ID of the activation that you want to delete.
22842	//
22843	// ActivationId is a required field
22844	ActivationId *string `type:"string" required:"true"`
22845}
22846
22847// String returns the string representation.
22848//
22849// API parameter values that are decorated as "sensitive" in the API will not
22850// be included in the string output. The member name will be present, but the
22851// value will be replaced with "sensitive".
22852func (s DeleteActivationInput) String() string {
22853	return awsutil.Prettify(s)
22854}
22855
22856// GoString returns the string representation.
22857//
22858// API parameter values that are decorated as "sensitive" in the API will not
22859// be included in the string output. The member name will be present, but the
22860// value will be replaced with "sensitive".
22861func (s DeleteActivationInput) GoString() string {
22862	return s.String()
22863}
22864
22865// Validate inspects the fields of the type to determine if they are valid.
22866func (s *DeleteActivationInput) Validate() error {
22867	invalidParams := request.ErrInvalidParams{Context: "DeleteActivationInput"}
22868	if s.ActivationId == nil {
22869		invalidParams.Add(request.NewErrParamRequired("ActivationId"))
22870	}
22871
22872	if invalidParams.Len() > 0 {
22873		return invalidParams
22874	}
22875	return nil
22876}
22877
22878// SetActivationId sets the ActivationId field's value.
22879func (s *DeleteActivationInput) SetActivationId(v string) *DeleteActivationInput {
22880	s.ActivationId = &v
22881	return s
22882}
22883
22884type DeleteActivationOutput struct {
22885	_ struct{} `type:"structure"`
22886}
22887
22888// String returns the string representation.
22889//
22890// API parameter values that are decorated as "sensitive" in the API will not
22891// be included in the string output. The member name will be present, but the
22892// value will be replaced with "sensitive".
22893func (s DeleteActivationOutput) String() string {
22894	return awsutil.Prettify(s)
22895}
22896
22897// GoString returns the string representation.
22898//
22899// API parameter values that are decorated as "sensitive" in the API will not
22900// be included in the string output. The member name will be present, but the
22901// value will be replaced with "sensitive".
22902func (s DeleteActivationOutput) GoString() string {
22903	return s.String()
22904}
22905
22906type DeleteAssociationInput struct {
22907	_ struct{} `type:"structure"`
22908
22909	// The association ID that you want to delete.
22910	AssociationId *string `type:"string"`
22911
22912	// The instance ID.
22913	//
22914	// InstanceId has been deprecated. To specify an instance ID for an association,
22915	// use the Targets parameter. Requests that include the parameter InstanceID
22916	// with Systems Manager documents (SSM documents) that use schema version 2.0
22917	// or later will fail. In addition, if you use the parameter InstanceId, you
22918	// can't use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency,
22919	// OutputLocation, or ScheduleExpression. To use these parameters, you must
22920	// use the Targets parameter.
22921	InstanceId *string `type:"string"`
22922
22923	// The name of the SSM document.
22924	Name *string `type:"string"`
22925}
22926
22927// String returns the string representation.
22928//
22929// API parameter values that are decorated as "sensitive" in the API will not
22930// be included in the string output. The member name will be present, but the
22931// value will be replaced with "sensitive".
22932func (s DeleteAssociationInput) String() string {
22933	return awsutil.Prettify(s)
22934}
22935
22936// GoString returns the string representation.
22937//
22938// API parameter values that are decorated as "sensitive" in the API will not
22939// be included in the string output. The member name will be present, but the
22940// value will be replaced with "sensitive".
22941func (s DeleteAssociationInput) GoString() string {
22942	return s.String()
22943}
22944
22945// SetAssociationId sets the AssociationId field's value.
22946func (s *DeleteAssociationInput) SetAssociationId(v string) *DeleteAssociationInput {
22947	s.AssociationId = &v
22948	return s
22949}
22950
22951// SetInstanceId sets the InstanceId field's value.
22952func (s *DeleteAssociationInput) SetInstanceId(v string) *DeleteAssociationInput {
22953	s.InstanceId = &v
22954	return s
22955}
22956
22957// SetName sets the Name field's value.
22958func (s *DeleteAssociationInput) SetName(v string) *DeleteAssociationInput {
22959	s.Name = &v
22960	return s
22961}
22962
22963type DeleteAssociationOutput struct {
22964	_ struct{} `type:"structure"`
22965}
22966
22967// String returns the string representation.
22968//
22969// API parameter values that are decorated as "sensitive" in the API will not
22970// be included in the string output. The member name will be present, but the
22971// value will be replaced with "sensitive".
22972func (s DeleteAssociationOutput) String() string {
22973	return awsutil.Prettify(s)
22974}
22975
22976// GoString returns the string representation.
22977//
22978// API parameter values that are decorated as "sensitive" in the API will not
22979// be included in the string output. The member name will be present, but the
22980// value will be replaced with "sensitive".
22981func (s DeleteAssociationOutput) GoString() string {
22982	return s.String()
22983}
22984
22985type DeleteDocumentInput struct {
22986	_ struct{} `type:"structure"`
22987
22988	// The version of the document that you want to delete. If not provided, all
22989	// versions of the document are deleted.
22990	DocumentVersion *string `type:"string"`
22991
22992	// Some SSM document types require that you specify a Force flag before you
22993	// can delete the document. For example, you must specify a Force flag to delete
22994	// a document of type ApplicationConfigurationSchema. You can restrict access
22995	// to the Force flag in an Identity and Access Management (IAM) policy.
22996	Force *bool `type:"boolean"`
22997
22998	// The name of the document.
22999	//
23000	// Name is a required field
23001	Name *string `type:"string" required:"true"`
23002
23003	// The version name of the document that you want to delete. If not provided,
23004	// all versions of the document are deleted.
23005	VersionName *string `type:"string"`
23006}
23007
23008// String returns the string representation.
23009//
23010// API parameter values that are decorated as "sensitive" in the API will not
23011// be included in the string output. The member name will be present, but the
23012// value will be replaced with "sensitive".
23013func (s DeleteDocumentInput) String() string {
23014	return awsutil.Prettify(s)
23015}
23016
23017// GoString returns the string representation.
23018//
23019// API parameter values that are decorated as "sensitive" in the API will not
23020// be included in the string output. The member name will be present, but the
23021// value will be replaced with "sensitive".
23022func (s DeleteDocumentInput) GoString() string {
23023	return s.String()
23024}
23025
23026// Validate inspects the fields of the type to determine if they are valid.
23027func (s *DeleteDocumentInput) Validate() error {
23028	invalidParams := request.ErrInvalidParams{Context: "DeleteDocumentInput"}
23029	if s.Name == nil {
23030		invalidParams.Add(request.NewErrParamRequired("Name"))
23031	}
23032
23033	if invalidParams.Len() > 0 {
23034		return invalidParams
23035	}
23036	return nil
23037}
23038
23039// SetDocumentVersion sets the DocumentVersion field's value.
23040func (s *DeleteDocumentInput) SetDocumentVersion(v string) *DeleteDocumentInput {
23041	s.DocumentVersion = &v
23042	return s
23043}
23044
23045// SetForce sets the Force field's value.
23046func (s *DeleteDocumentInput) SetForce(v bool) *DeleteDocumentInput {
23047	s.Force = &v
23048	return s
23049}
23050
23051// SetName sets the Name field's value.
23052func (s *DeleteDocumentInput) SetName(v string) *DeleteDocumentInput {
23053	s.Name = &v
23054	return s
23055}
23056
23057// SetVersionName sets the VersionName field's value.
23058func (s *DeleteDocumentInput) SetVersionName(v string) *DeleteDocumentInput {
23059	s.VersionName = &v
23060	return s
23061}
23062
23063type DeleteDocumentOutput struct {
23064	_ struct{} `type:"structure"`
23065}
23066
23067// String returns the string representation.
23068//
23069// API parameter values that are decorated as "sensitive" in the API will not
23070// be included in the string output. The member name will be present, but the
23071// value will be replaced with "sensitive".
23072func (s DeleteDocumentOutput) String() string {
23073	return awsutil.Prettify(s)
23074}
23075
23076// GoString returns the string representation.
23077//
23078// API parameter values that are decorated as "sensitive" in the API will not
23079// be included in the string output. The member name will be present, but the
23080// value will be replaced with "sensitive".
23081func (s DeleteDocumentOutput) GoString() string {
23082	return s.String()
23083}
23084
23085type DeleteInventoryInput struct {
23086	_ struct{} `type:"structure"`
23087
23088	// User-provided idempotency token.
23089	ClientToken *string `type:"string" idempotencyToken:"true"`
23090
23091	// Use this option to view a summary of the deletion request without deleting
23092	// any data or the data type. This option is useful when you only want to understand
23093	// what will be deleted. Once you validate that the data to be deleted is what
23094	// you intend to delete, you can run the same command without specifying the
23095	// DryRun option.
23096	DryRun *bool `type:"boolean"`
23097
23098	// Use the SchemaDeleteOption to delete a custom inventory type (schema). If
23099	// you don't choose this option, the system only deletes existing inventory
23100	// data associated with the custom inventory type. Choose one of the following
23101	// options:
23102	//
23103	// DisableSchema: If you choose this option, the system ignores all inventory
23104	// data for the specified version, and any earlier versions. To enable this
23105	// schema again, you must call the PutInventory operation for a version greater
23106	// than the disabled version.
23107	//
23108	// DeleteSchema: This option deletes the specified custom type from the Inventory
23109	// service. You can recreate the schema later, if you want.
23110	SchemaDeleteOption *string `type:"string" enum:"InventorySchemaDeleteOption"`
23111
23112	// The name of the custom inventory type for which you want to delete either
23113	// all previously collected data or the inventory type itself.
23114	//
23115	// TypeName is a required field
23116	TypeName *string `min:"1" type:"string" required:"true"`
23117}
23118
23119// String returns the string representation.
23120//
23121// API parameter values that are decorated as "sensitive" in the API will not
23122// be included in the string output. The member name will be present, but the
23123// value will be replaced with "sensitive".
23124func (s DeleteInventoryInput) String() string {
23125	return awsutil.Prettify(s)
23126}
23127
23128// GoString returns the string representation.
23129//
23130// API parameter values that are decorated as "sensitive" in the API will not
23131// be included in the string output. The member name will be present, but the
23132// value will be replaced with "sensitive".
23133func (s DeleteInventoryInput) GoString() string {
23134	return s.String()
23135}
23136
23137// Validate inspects the fields of the type to determine if they are valid.
23138func (s *DeleteInventoryInput) Validate() error {
23139	invalidParams := request.ErrInvalidParams{Context: "DeleteInventoryInput"}
23140	if s.TypeName == nil {
23141		invalidParams.Add(request.NewErrParamRequired("TypeName"))
23142	}
23143	if s.TypeName != nil && len(*s.TypeName) < 1 {
23144		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
23145	}
23146
23147	if invalidParams.Len() > 0 {
23148		return invalidParams
23149	}
23150	return nil
23151}
23152
23153// SetClientToken sets the ClientToken field's value.
23154func (s *DeleteInventoryInput) SetClientToken(v string) *DeleteInventoryInput {
23155	s.ClientToken = &v
23156	return s
23157}
23158
23159// SetDryRun sets the DryRun field's value.
23160func (s *DeleteInventoryInput) SetDryRun(v bool) *DeleteInventoryInput {
23161	s.DryRun = &v
23162	return s
23163}
23164
23165// SetSchemaDeleteOption sets the SchemaDeleteOption field's value.
23166func (s *DeleteInventoryInput) SetSchemaDeleteOption(v string) *DeleteInventoryInput {
23167	s.SchemaDeleteOption = &v
23168	return s
23169}
23170
23171// SetTypeName sets the TypeName field's value.
23172func (s *DeleteInventoryInput) SetTypeName(v string) *DeleteInventoryInput {
23173	s.TypeName = &v
23174	return s
23175}
23176
23177type DeleteInventoryOutput struct {
23178	_ struct{} `type:"structure"`
23179
23180	// Every DeleteInventory operation is assigned a unique ID. This option returns
23181	// a unique ID. You can use this ID to query the status of a delete operation.
23182	// This option is useful for ensuring that a delete operation has completed
23183	// before you begin other operations.
23184	DeletionId *string `type:"string"`
23185
23186	// A summary of the delete operation. For more information about this summary,
23187	// see Deleting custom inventory (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete-summary)
23188	// in the Amazon Web Services Systems Manager User Guide.
23189	DeletionSummary *InventoryDeletionSummary `type:"structure"`
23190
23191	// The name of the inventory data type specified in the request.
23192	TypeName *string `min:"1" type:"string"`
23193}
23194
23195// String returns the string representation.
23196//
23197// API parameter values that are decorated as "sensitive" in the API will not
23198// be included in the string output. The member name will be present, but the
23199// value will be replaced with "sensitive".
23200func (s DeleteInventoryOutput) String() string {
23201	return awsutil.Prettify(s)
23202}
23203
23204// GoString returns the string representation.
23205//
23206// API parameter values that are decorated as "sensitive" in the API will not
23207// be included in the string output. The member name will be present, but the
23208// value will be replaced with "sensitive".
23209func (s DeleteInventoryOutput) GoString() string {
23210	return s.String()
23211}
23212
23213// SetDeletionId sets the DeletionId field's value.
23214func (s *DeleteInventoryOutput) SetDeletionId(v string) *DeleteInventoryOutput {
23215	s.DeletionId = &v
23216	return s
23217}
23218
23219// SetDeletionSummary sets the DeletionSummary field's value.
23220func (s *DeleteInventoryOutput) SetDeletionSummary(v *InventoryDeletionSummary) *DeleteInventoryOutput {
23221	s.DeletionSummary = v
23222	return s
23223}
23224
23225// SetTypeName sets the TypeName field's value.
23226func (s *DeleteInventoryOutput) SetTypeName(v string) *DeleteInventoryOutput {
23227	s.TypeName = &v
23228	return s
23229}
23230
23231type DeleteMaintenanceWindowInput struct {
23232	_ struct{} `type:"structure"`
23233
23234	// The ID of the maintenance window to delete.
23235	//
23236	// WindowId is a required field
23237	WindowId *string `min:"20" type:"string" required:"true"`
23238}
23239
23240// String returns the string representation.
23241//
23242// API parameter values that are decorated as "sensitive" in the API will not
23243// be included in the string output. The member name will be present, but the
23244// value will be replaced with "sensitive".
23245func (s DeleteMaintenanceWindowInput) String() string {
23246	return awsutil.Prettify(s)
23247}
23248
23249// GoString returns the string representation.
23250//
23251// API parameter values that are decorated as "sensitive" in the API will not
23252// be included in the string output. The member name will be present, but the
23253// value will be replaced with "sensitive".
23254func (s DeleteMaintenanceWindowInput) GoString() string {
23255	return s.String()
23256}
23257
23258// Validate inspects the fields of the type to determine if they are valid.
23259func (s *DeleteMaintenanceWindowInput) Validate() error {
23260	invalidParams := request.ErrInvalidParams{Context: "DeleteMaintenanceWindowInput"}
23261	if s.WindowId == nil {
23262		invalidParams.Add(request.NewErrParamRequired("WindowId"))
23263	}
23264	if s.WindowId != nil && len(*s.WindowId) < 20 {
23265		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
23266	}
23267
23268	if invalidParams.Len() > 0 {
23269		return invalidParams
23270	}
23271	return nil
23272}
23273
23274// SetWindowId sets the WindowId field's value.
23275func (s *DeleteMaintenanceWindowInput) SetWindowId(v string) *DeleteMaintenanceWindowInput {
23276	s.WindowId = &v
23277	return s
23278}
23279
23280type DeleteMaintenanceWindowOutput struct {
23281	_ struct{} `type:"structure"`
23282
23283	// The ID of the deleted maintenance window.
23284	WindowId *string `min:"20" type:"string"`
23285}
23286
23287// String returns the string representation.
23288//
23289// API parameter values that are decorated as "sensitive" in the API will not
23290// be included in the string output. The member name will be present, but the
23291// value will be replaced with "sensitive".
23292func (s DeleteMaintenanceWindowOutput) String() string {
23293	return awsutil.Prettify(s)
23294}
23295
23296// GoString returns the string representation.
23297//
23298// API parameter values that are decorated as "sensitive" in the API will not
23299// be included in the string output. The member name will be present, but the
23300// value will be replaced with "sensitive".
23301func (s DeleteMaintenanceWindowOutput) GoString() string {
23302	return s.String()
23303}
23304
23305// SetWindowId sets the WindowId field's value.
23306func (s *DeleteMaintenanceWindowOutput) SetWindowId(v string) *DeleteMaintenanceWindowOutput {
23307	s.WindowId = &v
23308	return s
23309}
23310
23311type DeleteOpsMetadataInput struct {
23312	_ struct{} `type:"structure"`
23313
23314	// The Amazon Resource Name (ARN) of an OpsMetadata Object to delete.
23315	//
23316	// OpsMetadataArn is a required field
23317	OpsMetadataArn *string `min:"1" type:"string" required:"true"`
23318}
23319
23320// String returns the string representation.
23321//
23322// API parameter values that are decorated as "sensitive" in the API will not
23323// be included in the string output. The member name will be present, but the
23324// value will be replaced with "sensitive".
23325func (s DeleteOpsMetadataInput) String() string {
23326	return awsutil.Prettify(s)
23327}
23328
23329// GoString returns the string representation.
23330//
23331// API parameter values that are decorated as "sensitive" in the API will not
23332// be included in the string output. The member name will be present, but the
23333// value will be replaced with "sensitive".
23334func (s DeleteOpsMetadataInput) GoString() string {
23335	return s.String()
23336}
23337
23338// Validate inspects the fields of the type to determine if they are valid.
23339func (s *DeleteOpsMetadataInput) Validate() error {
23340	invalidParams := request.ErrInvalidParams{Context: "DeleteOpsMetadataInput"}
23341	if s.OpsMetadataArn == nil {
23342		invalidParams.Add(request.NewErrParamRequired("OpsMetadataArn"))
23343	}
23344	if s.OpsMetadataArn != nil && len(*s.OpsMetadataArn) < 1 {
23345		invalidParams.Add(request.NewErrParamMinLen("OpsMetadataArn", 1))
23346	}
23347
23348	if invalidParams.Len() > 0 {
23349		return invalidParams
23350	}
23351	return nil
23352}
23353
23354// SetOpsMetadataArn sets the OpsMetadataArn field's value.
23355func (s *DeleteOpsMetadataInput) SetOpsMetadataArn(v string) *DeleteOpsMetadataInput {
23356	s.OpsMetadataArn = &v
23357	return s
23358}
23359
23360type DeleteOpsMetadataOutput struct {
23361	_ struct{} `type:"structure"`
23362}
23363
23364// String returns the string representation.
23365//
23366// API parameter values that are decorated as "sensitive" in the API will not
23367// be included in the string output. The member name will be present, but the
23368// value will be replaced with "sensitive".
23369func (s DeleteOpsMetadataOutput) String() string {
23370	return awsutil.Prettify(s)
23371}
23372
23373// GoString returns the string representation.
23374//
23375// API parameter values that are decorated as "sensitive" in the API will not
23376// be included in the string output. The member name will be present, but the
23377// value will be replaced with "sensitive".
23378func (s DeleteOpsMetadataOutput) GoString() string {
23379	return s.String()
23380}
23381
23382type DeleteParameterInput struct {
23383	_ struct{} `type:"structure"`
23384
23385	// The name of the parameter to delete.
23386	//
23387	// Name is a required field
23388	Name *string `min:"1" type:"string" required:"true"`
23389}
23390
23391// String returns the string representation.
23392//
23393// API parameter values that are decorated as "sensitive" in the API will not
23394// be included in the string output. The member name will be present, but the
23395// value will be replaced with "sensitive".
23396func (s DeleteParameterInput) String() string {
23397	return awsutil.Prettify(s)
23398}
23399
23400// GoString returns the string representation.
23401//
23402// API parameter values that are decorated as "sensitive" in the API will not
23403// be included in the string output. The member name will be present, but the
23404// value will be replaced with "sensitive".
23405func (s DeleteParameterInput) GoString() string {
23406	return s.String()
23407}
23408
23409// Validate inspects the fields of the type to determine if they are valid.
23410func (s *DeleteParameterInput) Validate() error {
23411	invalidParams := request.ErrInvalidParams{Context: "DeleteParameterInput"}
23412	if s.Name == nil {
23413		invalidParams.Add(request.NewErrParamRequired("Name"))
23414	}
23415	if s.Name != nil && len(*s.Name) < 1 {
23416		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
23417	}
23418
23419	if invalidParams.Len() > 0 {
23420		return invalidParams
23421	}
23422	return nil
23423}
23424
23425// SetName sets the Name field's value.
23426func (s *DeleteParameterInput) SetName(v string) *DeleteParameterInput {
23427	s.Name = &v
23428	return s
23429}
23430
23431type DeleteParameterOutput struct {
23432	_ struct{} `type:"structure"`
23433}
23434
23435// String returns the string representation.
23436//
23437// API parameter values that are decorated as "sensitive" in the API will not
23438// be included in the string output. The member name will be present, but the
23439// value will be replaced with "sensitive".
23440func (s DeleteParameterOutput) String() string {
23441	return awsutil.Prettify(s)
23442}
23443
23444// GoString returns the string representation.
23445//
23446// API parameter values that are decorated as "sensitive" in the API will not
23447// be included in the string output. The member name will be present, but the
23448// value will be replaced with "sensitive".
23449func (s DeleteParameterOutput) GoString() string {
23450	return s.String()
23451}
23452
23453type DeleteParametersInput struct {
23454	_ struct{} `type:"structure"`
23455
23456	// The names of the parameters to delete. After deleting a parameter, wait for
23457	// at least 30 seconds to create a parameter with the same name.
23458	//
23459	// Names is a required field
23460	Names []*string `min:"1" type:"list" required:"true"`
23461}
23462
23463// String returns the string representation.
23464//
23465// API parameter values that are decorated as "sensitive" in the API will not
23466// be included in the string output. The member name will be present, but the
23467// value will be replaced with "sensitive".
23468func (s DeleteParametersInput) String() string {
23469	return awsutil.Prettify(s)
23470}
23471
23472// GoString returns the string representation.
23473//
23474// API parameter values that are decorated as "sensitive" in the API will not
23475// be included in the string output. The member name will be present, but the
23476// value will be replaced with "sensitive".
23477func (s DeleteParametersInput) GoString() string {
23478	return s.String()
23479}
23480
23481// Validate inspects the fields of the type to determine if they are valid.
23482func (s *DeleteParametersInput) Validate() error {
23483	invalidParams := request.ErrInvalidParams{Context: "DeleteParametersInput"}
23484	if s.Names == nil {
23485		invalidParams.Add(request.NewErrParamRequired("Names"))
23486	}
23487	if s.Names != nil && len(s.Names) < 1 {
23488		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
23489	}
23490
23491	if invalidParams.Len() > 0 {
23492		return invalidParams
23493	}
23494	return nil
23495}
23496
23497// SetNames sets the Names field's value.
23498func (s *DeleteParametersInput) SetNames(v []*string) *DeleteParametersInput {
23499	s.Names = v
23500	return s
23501}
23502
23503type DeleteParametersOutput struct {
23504	_ struct{} `type:"structure"`
23505
23506	// The names of the deleted parameters.
23507	DeletedParameters []*string `min:"1" type:"list"`
23508
23509	// The names of parameters that weren't deleted because the parameters aren't
23510	// valid.
23511	InvalidParameters []*string `min:"1" type:"list"`
23512}
23513
23514// String returns the string representation.
23515//
23516// API parameter values that are decorated as "sensitive" in the API will not
23517// be included in the string output. The member name will be present, but the
23518// value will be replaced with "sensitive".
23519func (s DeleteParametersOutput) String() string {
23520	return awsutil.Prettify(s)
23521}
23522
23523// GoString returns the string representation.
23524//
23525// API parameter values that are decorated as "sensitive" in the API will not
23526// be included in the string output. The member name will be present, but the
23527// value will be replaced with "sensitive".
23528func (s DeleteParametersOutput) GoString() string {
23529	return s.String()
23530}
23531
23532// SetDeletedParameters sets the DeletedParameters field's value.
23533func (s *DeleteParametersOutput) SetDeletedParameters(v []*string) *DeleteParametersOutput {
23534	s.DeletedParameters = v
23535	return s
23536}
23537
23538// SetInvalidParameters sets the InvalidParameters field's value.
23539func (s *DeleteParametersOutput) SetInvalidParameters(v []*string) *DeleteParametersOutput {
23540	s.InvalidParameters = v
23541	return s
23542}
23543
23544type DeletePatchBaselineInput struct {
23545	_ struct{} `type:"structure"`
23546
23547	// The ID of the patch baseline to delete.
23548	//
23549	// BaselineId is a required field
23550	BaselineId *string `min:"20" type:"string" required:"true"`
23551}
23552
23553// String returns the string representation.
23554//
23555// API parameter values that are decorated as "sensitive" in the API will not
23556// be included in the string output. The member name will be present, but the
23557// value will be replaced with "sensitive".
23558func (s DeletePatchBaselineInput) String() string {
23559	return awsutil.Prettify(s)
23560}
23561
23562// GoString returns the string representation.
23563//
23564// API parameter values that are decorated as "sensitive" in the API will not
23565// be included in the string output. The member name will be present, but the
23566// value will be replaced with "sensitive".
23567func (s DeletePatchBaselineInput) GoString() string {
23568	return s.String()
23569}
23570
23571// Validate inspects the fields of the type to determine if they are valid.
23572func (s *DeletePatchBaselineInput) Validate() error {
23573	invalidParams := request.ErrInvalidParams{Context: "DeletePatchBaselineInput"}
23574	if s.BaselineId == nil {
23575		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
23576	}
23577	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
23578		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
23579	}
23580
23581	if invalidParams.Len() > 0 {
23582		return invalidParams
23583	}
23584	return nil
23585}
23586
23587// SetBaselineId sets the BaselineId field's value.
23588func (s *DeletePatchBaselineInput) SetBaselineId(v string) *DeletePatchBaselineInput {
23589	s.BaselineId = &v
23590	return s
23591}
23592
23593type DeletePatchBaselineOutput struct {
23594	_ struct{} `type:"structure"`
23595
23596	// The ID of the deleted patch baseline.
23597	BaselineId *string `min:"20" type:"string"`
23598}
23599
23600// String returns the string representation.
23601//
23602// API parameter values that are decorated as "sensitive" in the API will not
23603// be included in the string output. The member name will be present, but the
23604// value will be replaced with "sensitive".
23605func (s DeletePatchBaselineOutput) String() string {
23606	return awsutil.Prettify(s)
23607}
23608
23609// GoString returns the string representation.
23610//
23611// API parameter values that are decorated as "sensitive" in the API will not
23612// be included in the string output. The member name will be present, but the
23613// value will be replaced with "sensitive".
23614func (s DeletePatchBaselineOutput) GoString() string {
23615	return s.String()
23616}
23617
23618// SetBaselineId sets the BaselineId field's value.
23619func (s *DeletePatchBaselineOutput) SetBaselineId(v string) *DeletePatchBaselineOutput {
23620	s.BaselineId = &v
23621	return s
23622}
23623
23624type DeleteResourceDataSyncInput struct {
23625	_ struct{} `type:"structure"`
23626
23627	// The name of the configuration to delete.
23628	//
23629	// SyncName is a required field
23630	SyncName *string `min:"1" type:"string" required:"true"`
23631
23632	// Specify the type of resource data sync to delete.
23633	SyncType *string `min:"1" type:"string"`
23634}
23635
23636// String returns the string representation.
23637//
23638// API parameter values that are decorated as "sensitive" in the API will not
23639// be included in the string output. The member name will be present, but the
23640// value will be replaced with "sensitive".
23641func (s DeleteResourceDataSyncInput) String() string {
23642	return awsutil.Prettify(s)
23643}
23644
23645// GoString returns the string representation.
23646//
23647// API parameter values that are decorated as "sensitive" in the API will not
23648// be included in the string output. The member name will be present, but the
23649// value will be replaced with "sensitive".
23650func (s DeleteResourceDataSyncInput) GoString() string {
23651	return s.String()
23652}
23653
23654// Validate inspects the fields of the type to determine if they are valid.
23655func (s *DeleteResourceDataSyncInput) Validate() error {
23656	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceDataSyncInput"}
23657	if s.SyncName == nil {
23658		invalidParams.Add(request.NewErrParamRequired("SyncName"))
23659	}
23660	if s.SyncName != nil && len(*s.SyncName) < 1 {
23661		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
23662	}
23663	if s.SyncType != nil && len(*s.SyncType) < 1 {
23664		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
23665	}
23666
23667	if invalidParams.Len() > 0 {
23668		return invalidParams
23669	}
23670	return nil
23671}
23672
23673// SetSyncName sets the SyncName field's value.
23674func (s *DeleteResourceDataSyncInput) SetSyncName(v string) *DeleteResourceDataSyncInput {
23675	s.SyncName = &v
23676	return s
23677}
23678
23679// SetSyncType sets the SyncType field's value.
23680func (s *DeleteResourceDataSyncInput) SetSyncType(v string) *DeleteResourceDataSyncInput {
23681	s.SyncType = &v
23682	return s
23683}
23684
23685type DeleteResourceDataSyncOutput struct {
23686	_ struct{} `type:"structure"`
23687}
23688
23689// String returns the string representation.
23690//
23691// API parameter values that are decorated as "sensitive" in the API will not
23692// be included in the string output. The member name will be present, but the
23693// value will be replaced with "sensitive".
23694func (s DeleteResourceDataSyncOutput) String() string {
23695	return awsutil.Prettify(s)
23696}
23697
23698// GoString returns the string representation.
23699//
23700// API parameter values that are decorated as "sensitive" in the API will not
23701// be included in the string output. The member name will be present, but the
23702// value will be replaced with "sensitive".
23703func (s DeleteResourceDataSyncOutput) GoString() string {
23704	return s.String()
23705}
23706
23707type DeregisterManagedInstanceInput struct {
23708	_ struct{} `type:"structure"`
23709
23710	// The ID assigned to the managed instance when you registered it using the
23711	// activation process.
23712	//
23713	// InstanceId is a required field
23714	InstanceId *string `type:"string" required:"true"`
23715}
23716
23717// String returns the string representation.
23718//
23719// API parameter values that are decorated as "sensitive" in the API will not
23720// be included in the string output. The member name will be present, but the
23721// value will be replaced with "sensitive".
23722func (s DeregisterManagedInstanceInput) String() string {
23723	return awsutil.Prettify(s)
23724}
23725
23726// GoString returns the string representation.
23727//
23728// API parameter values that are decorated as "sensitive" in the API will not
23729// be included in the string output. The member name will be present, but the
23730// value will be replaced with "sensitive".
23731func (s DeregisterManagedInstanceInput) GoString() string {
23732	return s.String()
23733}
23734
23735// Validate inspects the fields of the type to determine if they are valid.
23736func (s *DeregisterManagedInstanceInput) Validate() error {
23737	invalidParams := request.ErrInvalidParams{Context: "DeregisterManagedInstanceInput"}
23738	if s.InstanceId == nil {
23739		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
23740	}
23741
23742	if invalidParams.Len() > 0 {
23743		return invalidParams
23744	}
23745	return nil
23746}
23747
23748// SetInstanceId sets the InstanceId field's value.
23749func (s *DeregisterManagedInstanceInput) SetInstanceId(v string) *DeregisterManagedInstanceInput {
23750	s.InstanceId = &v
23751	return s
23752}
23753
23754type DeregisterManagedInstanceOutput struct {
23755	_ struct{} `type:"structure"`
23756}
23757
23758// String returns the string representation.
23759//
23760// API parameter values that are decorated as "sensitive" in the API will not
23761// be included in the string output. The member name will be present, but the
23762// value will be replaced with "sensitive".
23763func (s DeregisterManagedInstanceOutput) String() string {
23764	return awsutil.Prettify(s)
23765}
23766
23767// GoString returns the string representation.
23768//
23769// API parameter values that are decorated as "sensitive" in the API will not
23770// be included in the string output. The member name will be present, but the
23771// value will be replaced with "sensitive".
23772func (s DeregisterManagedInstanceOutput) GoString() string {
23773	return s.String()
23774}
23775
23776type DeregisterPatchBaselineForPatchGroupInput struct {
23777	_ struct{} `type:"structure"`
23778
23779	// The ID of the patch baseline to deregister the patch group from.
23780	//
23781	// BaselineId is a required field
23782	BaselineId *string `min:"20" type:"string" required:"true"`
23783
23784	// The name of the patch group that should be deregistered from the patch baseline.
23785	//
23786	// PatchGroup is a required field
23787	PatchGroup *string `min:"1" type:"string" required:"true"`
23788}
23789
23790// String returns the string representation.
23791//
23792// API parameter values that are decorated as "sensitive" in the API will not
23793// be included in the string output. The member name will be present, but the
23794// value will be replaced with "sensitive".
23795func (s DeregisterPatchBaselineForPatchGroupInput) String() string {
23796	return awsutil.Prettify(s)
23797}
23798
23799// GoString returns the string representation.
23800//
23801// API parameter values that are decorated as "sensitive" in the API will not
23802// be included in the string output. The member name will be present, but the
23803// value will be replaced with "sensitive".
23804func (s DeregisterPatchBaselineForPatchGroupInput) GoString() string {
23805	return s.String()
23806}
23807
23808// Validate inspects the fields of the type to determine if they are valid.
23809func (s *DeregisterPatchBaselineForPatchGroupInput) Validate() error {
23810	invalidParams := request.ErrInvalidParams{Context: "DeregisterPatchBaselineForPatchGroupInput"}
23811	if s.BaselineId == nil {
23812		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
23813	}
23814	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
23815		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
23816	}
23817	if s.PatchGroup == nil {
23818		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
23819	}
23820	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
23821		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
23822	}
23823
23824	if invalidParams.Len() > 0 {
23825		return invalidParams
23826	}
23827	return nil
23828}
23829
23830// SetBaselineId sets the BaselineId field's value.
23831func (s *DeregisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupInput {
23832	s.BaselineId = &v
23833	return s
23834}
23835
23836// SetPatchGroup sets the PatchGroup field's value.
23837func (s *DeregisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupInput {
23838	s.PatchGroup = &v
23839	return s
23840}
23841
23842type DeregisterPatchBaselineForPatchGroupOutput struct {
23843	_ struct{} `type:"structure"`
23844
23845	// The ID of the patch baseline the patch group was deregistered from.
23846	BaselineId *string `min:"20" type:"string"`
23847
23848	// The name of the patch group deregistered from the patch baseline.
23849	PatchGroup *string `min:"1" type:"string"`
23850}
23851
23852// String returns the string representation.
23853//
23854// API parameter values that are decorated as "sensitive" in the API will not
23855// be included in the string output. The member name will be present, but the
23856// value will be replaced with "sensitive".
23857func (s DeregisterPatchBaselineForPatchGroupOutput) String() string {
23858	return awsutil.Prettify(s)
23859}
23860
23861// GoString returns the string representation.
23862//
23863// API parameter values that are decorated as "sensitive" in the API will not
23864// be included in the string output. The member name will be present, but the
23865// value will be replaced with "sensitive".
23866func (s DeregisterPatchBaselineForPatchGroupOutput) GoString() string {
23867	return s.String()
23868}
23869
23870// SetBaselineId sets the BaselineId field's value.
23871func (s *DeregisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *DeregisterPatchBaselineForPatchGroupOutput {
23872	s.BaselineId = &v
23873	return s
23874}
23875
23876// SetPatchGroup sets the PatchGroup field's value.
23877func (s *DeregisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *DeregisterPatchBaselineForPatchGroupOutput {
23878	s.PatchGroup = &v
23879	return s
23880}
23881
23882type DeregisterTargetFromMaintenanceWindowInput struct {
23883	_ struct{} `type:"structure"`
23884
23885	// The system checks if the target is being referenced by a task. If the target
23886	// is being referenced, the system returns an error and doesn't deregister the
23887	// target from the maintenance window.
23888	Safe *bool `type:"boolean"`
23889
23890	// The ID of the maintenance window the target should be removed from.
23891	//
23892	// WindowId is a required field
23893	WindowId *string `min:"20" type:"string" required:"true"`
23894
23895	// The ID of the target definition to remove.
23896	//
23897	// WindowTargetId is a required field
23898	WindowTargetId *string `min:"36" type:"string" required:"true"`
23899}
23900
23901// String returns the string representation.
23902//
23903// API parameter values that are decorated as "sensitive" in the API will not
23904// be included in the string output. The member name will be present, but the
23905// value will be replaced with "sensitive".
23906func (s DeregisterTargetFromMaintenanceWindowInput) String() string {
23907	return awsutil.Prettify(s)
23908}
23909
23910// GoString returns the string representation.
23911//
23912// API parameter values that are decorated as "sensitive" in the API will not
23913// be included in the string output. The member name will be present, but the
23914// value will be replaced with "sensitive".
23915func (s DeregisterTargetFromMaintenanceWindowInput) GoString() string {
23916	return s.String()
23917}
23918
23919// Validate inspects the fields of the type to determine if they are valid.
23920func (s *DeregisterTargetFromMaintenanceWindowInput) Validate() error {
23921	invalidParams := request.ErrInvalidParams{Context: "DeregisterTargetFromMaintenanceWindowInput"}
23922	if s.WindowId == nil {
23923		invalidParams.Add(request.NewErrParamRequired("WindowId"))
23924	}
23925	if s.WindowId != nil && len(*s.WindowId) < 20 {
23926		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
23927	}
23928	if s.WindowTargetId == nil {
23929		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
23930	}
23931	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
23932		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
23933	}
23934
23935	if invalidParams.Len() > 0 {
23936		return invalidParams
23937	}
23938	return nil
23939}
23940
23941// SetSafe sets the Safe field's value.
23942func (s *DeregisterTargetFromMaintenanceWindowInput) SetSafe(v bool) *DeregisterTargetFromMaintenanceWindowInput {
23943	s.Safe = &v
23944	return s
23945}
23946
23947// SetWindowId sets the WindowId field's value.
23948func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowInput {
23949	s.WindowId = &v
23950	return s
23951}
23952
23953// SetWindowTargetId sets the WindowTargetId field's value.
23954func (s *DeregisterTargetFromMaintenanceWindowInput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowInput {
23955	s.WindowTargetId = &v
23956	return s
23957}
23958
23959type DeregisterTargetFromMaintenanceWindowOutput struct {
23960	_ struct{} `type:"structure"`
23961
23962	// The ID of the maintenance window the target was removed from.
23963	WindowId *string `min:"20" type:"string"`
23964
23965	// The ID of the removed target definition.
23966	WindowTargetId *string `min:"36" type:"string"`
23967}
23968
23969// String returns the string representation.
23970//
23971// API parameter values that are decorated as "sensitive" in the API will not
23972// be included in the string output. The member name will be present, but the
23973// value will be replaced with "sensitive".
23974func (s DeregisterTargetFromMaintenanceWindowOutput) String() string {
23975	return awsutil.Prettify(s)
23976}
23977
23978// GoString returns the string representation.
23979//
23980// API parameter values that are decorated as "sensitive" in the API will not
23981// be included in the string output. The member name will be present, but the
23982// value will be replaced with "sensitive".
23983func (s DeregisterTargetFromMaintenanceWindowOutput) GoString() string {
23984	return s.String()
23985}
23986
23987// SetWindowId sets the WindowId field's value.
23988func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
23989	s.WindowId = &v
23990	return s
23991}
23992
23993// SetWindowTargetId sets the WindowTargetId field's value.
23994func (s *DeregisterTargetFromMaintenanceWindowOutput) SetWindowTargetId(v string) *DeregisterTargetFromMaintenanceWindowOutput {
23995	s.WindowTargetId = &v
23996	return s
23997}
23998
23999type DeregisterTaskFromMaintenanceWindowInput struct {
24000	_ struct{} `type:"structure"`
24001
24002	// The ID of the maintenance window the task should be removed from.
24003	//
24004	// WindowId is a required field
24005	WindowId *string `min:"20" type:"string" required:"true"`
24006
24007	// The ID of the task to remove from the maintenance window.
24008	//
24009	// WindowTaskId is a required field
24010	WindowTaskId *string `min:"36" type:"string" required:"true"`
24011}
24012
24013// String returns the string representation.
24014//
24015// API parameter values that are decorated as "sensitive" in the API will not
24016// be included in the string output. The member name will be present, but the
24017// value will be replaced with "sensitive".
24018func (s DeregisterTaskFromMaintenanceWindowInput) String() string {
24019	return awsutil.Prettify(s)
24020}
24021
24022// GoString returns the string representation.
24023//
24024// API parameter values that are decorated as "sensitive" in the API will not
24025// be included in the string output. The member name will be present, but the
24026// value will be replaced with "sensitive".
24027func (s DeregisterTaskFromMaintenanceWindowInput) GoString() string {
24028	return s.String()
24029}
24030
24031// Validate inspects the fields of the type to determine if they are valid.
24032func (s *DeregisterTaskFromMaintenanceWindowInput) Validate() error {
24033	invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskFromMaintenanceWindowInput"}
24034	if s.WindowId == nil {
24035		invalidParams.Add(request.NewErrParamRequired("WindowId"))
24036	}
24037	if s.WindowId != nil && len(*s.WindowId) < 20 {
24038		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
24039	}
24040	if s.WindowTaskId == nil {
24041		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
24042	}
24043	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
24044		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
24045	}
24046
24047	if invalidParams.Len() > 0 {
24048		return invalidParams
24049	}
24050	return nil
24051}
24052
24053// SetWindowId sets the WindowId field's value.
24054func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowInput {
24055	s.WindowId = &v
24056	return s
24057}
24058
24059// SetWindowTaskId sets the WindowTaskId field's value.
24060func (s *DeregisterTaskFromMaintenanceWindowInput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowInput {
24061	s.WindowTaskId = &v
24062	return s
24063}
24064
24065type DeregisterTaskFromMaintenanceWindowOutput struct {
24066	_ struct{} `type:"structure"`
24067
24068	// The ID of the maintenance window the task was removed from.
24069	WindowId *string `min:"20" type:"string"`
24070
24071	// The ID of the task removed from the maintenance window.
24072	WindowTaskId *string `min:"36" type:"string"`
24073}
24074
24075// String returns the string representation.
24076//
24077// API parameter values that are decorated as "sensitive" in the API will not
24078// be included in the string output. The member name will be present, but the
24079// value will be replaced with "sensitive".
24080func (s DeregisterTaskFromMaintenanceWindowOutput) String() string {
24081	return awsutil.Prettify(s)
24082}
24083
24084// GoString returns the string representation.
24085//
24086// API parameter values that are decorated as "sensitive" in the API will not
24087// be included in the string output. The member name will be present, but the
24088// value will be replaced with "sensitive".
24089func (s DeregisterTaskFromMaintenanceWindowOutput) GoString() string {
24090	return s.String()
24091}
24092
24093// SetWindowId sets the WindowId field's value.
24094func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
24095	s.WindowId = &v
24096	return s
24097}
24098
24099// SetWindowTaskId sets the WindowTaskId field's value.
24100func (s *DeregisterTaskFromMaintenanceWindowOutput) SetWindowTaskId(v string) *DeregisterTaskFromMaintenanceWindowOutput {
24101	s.WindowTaskId = &v
24102	return s
24103}
24104
24105// Filter for the DescribeActivation API.
24106type DescribeActivationsFilter struct {
24107	_ struct{} `type:"structure"`
24108
24109	// The name of the filter.
24110	FilterKey *string `type:"string" enum:"DescribeActivationsFilterKeys"`
24111
24112	// The filter values.
24113	FilterValues []*string `type:"list"`
24114}
24115
24116// String returns the string representation.
24117//
24118// API parameter values that are decorated as "sensitive" in the API will not
24119// be included in the string output. The member name will be present, but the
24120// value will be replaced with "sensitive".
24121func (s DescribeActivationsFilter) String() string {
24122	return awsutil.Prettify(s)
24123}
24124
24125// GoString returns the string representation.
24126//
24127// API parameter values that are decorated as "sensitive" in the API will not
24128// be included in the string output. The member name will be present, but the
24129// value will be replaced with "sensitive".
24130func (s DescribeActivationsFilter) GoString() string {
24131	return s.String()
24132}
24133
24134// SetFilterKey sets the FilterKey field's value.
24135func (s *DescribeActivationsFilter) SetFilterKey(v string) *DescribeActivationsFilter {
24136	s.FilterKey = &v
24137	return s
24138}
24139
24140// SetFilterValues sets the FilterValues field's value.
24141func (s *DescribeActivationsFilter) SetFilterValues(v []*string) *DescribeActivationsFilter {
24142	s.FilterValues = v
24143	return s
24144}
24145
24146type DescribeActivationsInput struct {
24147	_ struct{} `type:"structure"`
24148
24149	// A filter to view information about your activations.
24150	Filters []*DescribeActivationsFilter `type:"list"`
24151
24152	// The maximum number of items to return for this call. The call also returns
24153	// a token that you can specify in a subsequent call to get the next set of
24154	// results.
24155	MaxResults *int64 `min:"1" type:"integer"`
24156
24157	// A token to start the list. Use this token to get the next set of results.
24158	NextToken *string `type:"string"`
24159}
24160
24161// String returns the string representation.
24162//
24163// API parameter values that are decorated as "sensitive" in the API will not
24164// be included in the string output. The member name will be present, but the
24165// value will be replaced with "sensitive".
24166func (s DescribeActivationsInput) String() string {
24167	return awsutil.Prettify(s)
24168}
24169
24170// GoString returns the string representation.
24171//
24172// API parameter values that are decorated as "sensitive" in the API will not
24173// be included in the string output. The member name will be present, but the
24174// value will be replaced with "sensitive".
24175func (s DescribeActivationsInput) GoString() string {
24176	return s.String()
24177}
24178
24179// Validate inspects the fields of the type to determine if they are valid.
24180func (s *DescribeActivationsInput) Validate() error {
24181	invalidParams := request.ErrInvalidParams{Context: "DescribeActivationsInput"}
24182	if s.MaxResults != nil && *s.MaxResults < 1 {
24183		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24184	}
24185
24186	if invalidParams.Len() > 0 {
24187		return invalidParams
24188	}
24189	return nil
24190}
24191
24192// SetFilters sets the Filters field's value.
24193func (s *DescribeActivationsInput) SetFilters(v []*DescribeActivationsFilter) *DescribeActivationsInput {
24194	s.Filters = v
24195	return s
24196}
24197
24198// SetMaxResults sets the MaxResults field's value.
24199func (s *DescribeActivationsInput) SetMaxResults(v int64) *DescribeActivationsInput {
24200	s.MaxResults = &v
24201	return s
24202}
24203
24204// SetNextToken sets the NextToken field's value.
24205func (s *DescribeActivationsInput) SetNextToken(v string) *DescribeActivationsInput {
24206	s.NextToken = &v
24207	return s
24208}
24209
24210type DescribeActivationsOutput struct {
24211	_ struct{} `type:"structure"`
24212
24213	// A list of activations for your Amazon Web Services account.
24214	ActivationList []*Activation `type:"list"`
24215
24216	// The token for the next set of items to return. Use this token to get the
24217	// next set of results.
24218	NextToken *string `type:"string"`
24219}
24220
24221// String returns the string representation.
24222//
24223// API parameter values that are decorated as "sensitive" in the API will not
24224// be included in the string output. The member name will be present, but the
24225// value will be replaced with "sensitive".
24226func (s DescribeActivationsOutput) String() string {
24227	return awsutil.Prettify(s)
24228}
24229
24230// GoString returns the string representation.
24231//
24232// API parameter values that are decorated as "sensitive" in the API will not
24233// be included in the string output. The member name will be present, but the
24234// value will be replaced with "sensitive".
24235func (s DescribeActivationsOutput) GoString() string {
24236	return s.String()
24237}
24238
24239// SetActivationList sets the ActivationList field's value.
24240func (s *DescribeActivationsOutput) SetActivationList(v []*Activation) *DescribeActivationsOutput {
24241	s.ActivationList = v
24242	return s
24243}
24244
24245// SetNextToken sets the NextToken field's value.
24246func (s *DescribeActivationsOutput) SetNextToken(v string) *DescribeActivationsOutput {
24247	s.NextToken = &v
24248	return s
24249}
24250
24251type DescribeAssociationExecutionTargetsInput struct {
24252	_ struct{} `type:"structure"`
24253
24254	// The association ID that includes the execution for which you want to view
24255	// details.
24256	//
24257	// AssociationId is a required field
24258	AssociationId *string `type:"string" required:"true"`
24259
24260	// The execution ID for which you want to view details.
24261	//
24262	// ExecutionId is a required field
24263	ExecutionId *string `type:"string" required:"true"`
24264
24265	// Filters for the request. You can specify the following filters and values.
24266	//
24267	// Status (EQUAL)
24268	//
24269	// ResourceId (EQUAL)
24270	//
24271	// ResourceType (EQUAL)
24272	Filters []*AssociationExecutionTargetsFilter `min:"1" type:"list"`
24273
24274	// The maximum number of items to return for this call. The call also returns
24275	// a token that you can specify in a subsequent call to get the next set of
24276	// results.
24277	MaxResults *int64 `min:"1" type:"integer"`
24278
24279	// A token to start the list. Use this token to get the next set of results.
24280	NextToken *string `type:"string"`
24281}
24282
24283// String returns the string representation.
24284//
24285// API parameter values that are decorated as "sensitive" in the API will not
24286// be included in the string output. The member name will be present, but the
24287// value will be replaced with "sensitive".
24288func (s DescribeAssociationExecutionTargetsInput) String() string {
24289	return awsutil.Prettify(s)
24290}
24291
24292// GoString returns the string representation.
24293//
24294// API parameter values that are decorated as "sensitive" in the API will not
24295// be included in the string output. The member name will be present, but the
24296// value will be replaced with "sensitive".
24297func (s DescribeAssociationExecutionTargetsInput) GoString() string {
24298	return s.String()
24299}
24300
24301// Validate inspects the fields of the type to determine if they are valid.
24302func (s *DescribeAssociationExecutionTargetsInput) Validate() error {
24303	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionTargetsInput"}
24304	if s.AssociationId == nil {
24305		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
24306	}
24307	if s.ExecutionId == nil {
24308		invalidParams.Add(request.NewErrParamRequired("ExecutionId"))
24309	}
24310	if s.Filters != nil && len(s.Filters) < 1 {
24311		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
24312	}
24313	if s.MaxResults != nil && *s.MaxResults < 1 {
24314		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24315	}
24316	if s.Filters != nil {
24317		for i, v := range s.Filters {
24318			if v == nil {
24319				continue
24320			}
24321			if err := v.Validate(); err != nil {
24322				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24323			}
24324		}
24325	}
24326
24327	if invalidParams.Len() > 0 {
24328		return invalidParams
24329	}
24330	return nil
24331}
24332
24333// SetAssociationId sets the AssociationId field's value.
24334func (s *DescribeAssociationExecutionTargetsInput) SetAssociationId(v string) *DescribeAssociationExecutionTargetsInput {
24335	s.AssociationId = &v
24336	return s
24337}
24338
24339// SetExecutionId sets the ExecutionId field's value.
24340func (s *DescribeAssociationExecutionTargetsInput) SetExecutionId(v string) *DescribeAssociationExecutionTargetsInput {
24341	s.ExecutionId = &v
24342	return s
24343}
24344
24345// SetFilters sets the Filters field's value.
24346func (s *DescribeAssociationExecutionTargetsInput) SetFilters(v []*AssociationExecutionTargetsFilter) *DescribeAssociationExecutionTargetsInput {
24347	s.Filters = v
24348	return s
24349}
24350
24351// SetMaxResults sets the MaxResults field's value.
24352func (s *DescribeAssociationExecutionTargetsInput) SetMaxResults(v int64) *DescribeAssociationExecutionTargetsInput {
24353	s.MaxResults = &v
24354	return s
24355}
24356
24357// SetNextToken sets the NextToken field's value.
24358func (s *DescribeAssociationExecutionTargetsInput) SetNextToken(v string) *DescribeAssociationExecutionTargetsInput {
24359	s.NextToken = &v
24360	return s
24361}
24362
24363type DescribeAssociationExecutionTargetsOutput struct {
24364	_ struct{} `type:"structure"`
24365
24366	// Information about the execution.
24367	AssociationExecutionTargets []*AssociationExecutionTarget `type:"list"`
24368
24369	// The token for the next set of items to return. Use this token to get the
24370	// next set of results.
24371	NextToken *string `type:"string"`
24372}
24373
24374// String returns the string representation.
24375//
24376// API parameter values that are decorated as "sensitive" in the API will not
24377// be included in the string output. The member name will be present, but the
24378// value will be replaced with "sensitive".
24379func (s DescribeAssociationExecutionTargetsOutput) String() string {
24380	return awsutil.Prettify(s)
24381}
24382
24383// GoString returns the string representation.
24384//
24385// API parameter values that are decorated as "sensitive" in the API will not
24386// be included in the string output. The member name will be present, but the
24387// value will be replaced with "sensitive".
24388func (s DescribeAssociationExecutionTargetsOutput) GoString() string {
24389	return s.String()
24390}
24391
24392// SetAssociationExecutionTargets sets the AssociationExecutionTargets field's value.
24393func (s *DescribeAssociationExecutionTargetsOutput) SetAssociationExecutionTargets(v []*AssociationExecutionTarget) *DescribeAssociationExecutionTargetsOutput {
24394	s.AssociationExecutionTargets = v
24395	return s
24396}
24397
24398// SetNextToken sets the NextToken field's value.
24399func (s *DescribeAssociationExecutionTargetsOutput) SetNextToken(v string) *DescribeAssociationExecutionTargetsOutput {
24400	s.NextToken = &v
24401	return s
24402}
24403
24404type DescribeAssociationExecutionsInput struct {
24405	_ struct{} `type:"structure"`
24406
24407	// The association ID for which you want to view execution history details.
24408	//
24409	// AssociationId is a required field
24410	AssociationId *string `type:"string" required:"true"`
24411
24412	// Filters for the request. You can specify the following filters and values.
24413	//
24414	// ExecutionId (EQUAL)
24415	//
24416	// Status (EQUAL)
24417	//
24418	// CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)
24419	Filters []*AssociationExecutionFilter `min:"1" type:"list"`
24420
24421	// The maximum number of items to return for this call. The call also returns
24422	// a token that you can specify in a subsequent call to get the next set of
24423	// results.
24424	MaxResults *int64 `min:"1" type:"integer"`
24425
24426	// A token to start the list. Use this token to get the next set of results.
24427	NextToken *string `type:"string"`
24428}
24429
24430// String returns the string representation.
24431//
24432// API parameter values that are decorated as "sensitive" in the API will not
24433// be included in the string output. The member name will be present, but the
24434// value will be replaced with "sensitive".
24435func (s DescribeAssociationExecutionsInput) String() string {
24436	return awsutil.Prettify(s)
24437}
24438
24439// GoString returns the string representation.
24440//
24441// API parameter values that are decorated as "sensitive" in the API will not
24442// be included in the string output. The member name will be present, but the
24443// value will be replaced with "sensitive".
24444func (s DescribeAssociationExecutionsInput) GoString() string {
24445	return s.String()
24446}
24447
24448// Validate inspects the fields of the type to determine if they are valid.
24449func (s *DescribeAssociationExecutionsInput) Validate() error {
24450	invalidParams := request.ErrInvalidParams{Context: "DescribeAssociationExecutionsInput"}
24451	if s.AssociationId == nil {
24452		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
24453	}
24454	if s.Filters != nil && len(s.Filters) < 1 {
24455		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
24456	}
24457	if s.MaxResults != nil && *s.MaxResults < 1 {
24458		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24459	}
24460	if s.Filters != nil {
24461		for i, v := range s.Filters {
24462			if v == nil {
24463				continue
24464			}
24465			if err := v.Validate(); err != nil {
24466				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24467			}
24468		}
24469	}
24470
24471	if invalidParams.Len() > 0 {
24472		return invalidParams
24473	}
24474	return nil
24475}
24476
24477// SetAssociationId sets the AssociationId field's value.
24478func (s *DescribeAssociationExecutionsInput) SetAssociationId(v string) *DescribeAssociationExecutionsInput {
24479	s.AssociationId = &v
24480	return s
24481}
24482
24483// SetFilters sets the Filters field's value.
24484func (s *DescribeAssociationExecutionsInput) SetFilters(v []*AssociationExecutionFilter) *DescribeAssociationExecutionsInput {
24485	s.Filters = v
24486	return s
24487}
24488
24489// SetMaxResults sets the MaxResults field's value.
24490func (s *DescribeAssociationExecutionsInput) SetMaxResults(v int64) *DescribeAssociationExecutionsInput {
24491	s.MaxResults = &v
24492	return s
24493}
24494
24495// SetNextToken sets the NextToken field's value.
24496func (s *DescribeAssociationExecutionsInput) SetNextToken(v string) *DescribeAssociationExecutionsInput {
24497	s.NextToken = &v
24498	return s
24499}
24500
24501type DescribeAssociationExecutionsOutput struct {
24502	_ struct{} `type:"structure"`
24503
24504	// A list of the executions for the specified association ID.
24505	AssociationExecutions []*AssociationExecution `type:"list"`
24506
24507	// The token for the next set of items to return. Use this token to get the
24508	// next set of results.
24509	NextToken *string `type:"string"`
24510}
24511
24512// String returns the string representation.
24513//
24514// API parameter values that are decorated as "sensitive" in the API will not
24515// be included in the string output. The member name will be present, but the
24516// value will be replaced with "sensitive".
24517func (s DescribeAssociationExecutionsOutput) String() string {
24518	return awsutil.Prettify(s)
24519}
24520
24521// GoString returns the string representation.
24522//
24523// API parameter values that are decorated as "sensitive" in the API will not
24524// be included in the string output. The member name will be present, but the
24525// value will be replaced with "sensitive".
24526func (s DescribeAssociationExecutionsOutput) GoString() string {
24527	return s.String()
24528}
24529
24530// SetAssociationExecutions sets the AssociationExecutions field's value.
24531func (s *DescribeAssociationExecutionsOutput) SetAssociationExecutions(v []*AssociationExecution) *DescribeAssociationExecutionsOutput {
24532	s.AssociationExecutions = v
24533	return s
24534}
24535
24536// SetNextToken sets the NextToken field's value.
24537func (s *DescribeAssociationExecutionsOutput) SetNextToken(v string) *DescribeAssociationExecutionsOutput {
24538	s.NextToken = &v
24539	return s
24540}
24541
24542type DescribeAssociationInput struct {
24543	_ struct{} `type:"structure"`
24544
24545	// The association ID for which you want information.
24546	AssociationId *string `type:"string"`
24547
24548	// Specify the association version to retrieve. To view the latest version,
24549	// either specify $LATEST for this parameter, or omit this parameter. To view
24550	// a list of all associations for an instance, use ListAssociations. To get
24551	// a list of versions for a specific association, use ListAssociationVersions.
24552	AssociationVersion *string `type:"string"`
24553
24554	// The instance ID.
24555	InstanceId *string `type:"string"`
24556
24557	// The name of the SSM document.
24558	Name *string `type:"string"`
24559}
24560
24561// String returns the string representation.
24562//
24563// API parameter values that are decorated as "sensitive" in the API will not
24564// be included in the string output. The member name will be present, but the
24565// value will be replaced with "sensitive".
24566func (s DescribeAssociationInput) String() string {
24567	return awsutil.Prettify(s)
24568}
24569
24570// GoString returns the string representation.
24571//
24572// API parameter values that are decorated as "sensitive" in the API will not
24573// be included in the string output. The member name will be present, but the
24574// value will be replaced with "sensitive".
24575func (s DescribeAssociationInput) GoString() string {
24576	return s.String()
24577}
24578
24579// SetAssociationId sets the AssociationId field's value.
24580func (s *DescribeAssociationInput) SetAssociationId(v string) *DescribeAssociationInput {
24581	s.AssociationId = &v
24582	return s
24583}
24584
24585// SetAssociationVersion sets the AssociationVersion field's value.
24586func (s *DescribeAssociationInput) SetAssociationVersion(v string) *DescribeAssociationInput {
24587	s.AssociationVersion = &v
24588	return s
24589}
24590
24591// SetInstanceId sets the InstanceId field's value.
24592func (s *DescribeAssociationInput) SetInstanceId(v string) *DescribeAssociationInput {
24593	s.InstanceId = &v
24594	return s
24595}
24596
24597// SetName sets the Name field's value.
24598func (s *DescribeAssociationInput) SetName(v string) *DescribeAssociationInput {
24599	s.Name = &v
24600	return s
24601}
24602
24603type DescribeAssociationOutput struct {
24604	_ struct{} `type:"structure"`
24605
24606	// Information about the association.
24607	AssociationDescription *AssociationDescription `type:"structure"`
24608}
24609
24610// String returns the string representation.
24611//
24612// API parameter values that are decorated as "sensitive" in the API will not
24613// be included in the string output. The member name will be present, but the
24614// value will be replaced with "sensitive".
24615func (s DescribeAssociationOutput) String() string {
24616	return awsutil.Prettify(s)
24617}
24618
24619// GoString returns the string representation.
24620//
24621// API parameter values that are decorated as "sensitive" in the API will not
24622// be included in the string output. The member name will be present, but the
24623// value will be replaced with "sensitive".
24624func (s DescribeAssociationOutput) GoString() string {
24625	return s.String()
24626}
24627
24628// SetAssociationDescription sets the AssociationDescription field's value.
24629func (s *DescribeAssociationOutput) SetAssociationDescription(v *AssociationDescription) *DescribeAssociationOutput {
24630	s.AssociationDescription = v
24631	return s
24632}
24633
24634type DescribeAutomationExecutionsInput struct {
24635	_ struct{} `type:"structure"`
24636
24637	// Filters used to limit the scope of executions that are requested.
24638	Filters []*AutomationExecutionFilter `min:"1" type:"list"`
24639
24640	// The maximum number of items to return for this call. The call also returns
24641	// a token that you can specify in a subsequent call to get the next set of
24642	// results.
24643	MaxResults *int64 `min:"1" type:"integer"`
24644
24645	// The token for the next set of items to return. (You received this token from
24646	// a previous call.)
24647	NextToken *string `type:"string"`
24648}
24649
24650// String returns the string representation.
24651//
24652// API parameter values that are decorated as "sensitive" in the API will not
24653// be included in the string output. The member name will be present, but the
24654// value will be replaced with "sensitive".
24655func (s DescribeAutomationExecutionsInput) String() string {
24656	return awsutil.Prettify(s)
24657}
24658
24659// GoString returns the string representation.
24660//
24661// API parameter values that are decorated as "sensitive" in the API will not
24662// be included in the string output. The member name will be present, but the
24663// value will be replaced with "sensitive".
24664func (s DescribeAutomationExecutionsInput) GoString() string {
24665	return s.String()
24666}
24667
24668// Validate inspects the fields of the type to determine if they are valid.
24669func (s *DescribeAutomationExecutionsInput) Validate() error {
24670	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationExecutionsInput"}
24671	if s.Filters != nil && len(s.Filters) < 1 {
24672		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
24673	}
24674	if s.MaxResults != nil && *s.MaxResults < 1 {
24675		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24676	}
24677	if s.Filters != nil {
24678		for i, v := range s.Filters {
24679			if v == nil {
24680				continue
24681			}
24682			if err := v.Validate(); err != nil {
24683				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24684			}
24685		}
24686	}
24687
24688	if invalidParams.Len() > 0 {
24689		return invalidParams
24690	}
24691	return nil
24692}
24693
24694// SetFilters sets the Filters field's value.
24695func (s *DescribeAutomationExecutionsInput) SetFilters(v []*AutomationExecutionFilter) *DescribeAutomationExecutionsInput {
24696	s.Filters = v
24697	return s
24698}
24699
24700// SetMaxResults sets the MaxResults field's value.
24701func (s *DescribeAutomationExecutionsInput) SetMaxResults(v int64) *DescribeAutomationExecutionsInput {
24702	s.MaxResults = &v
24703	return s
24704}
24705
24706// SetNextToken sets the NextToken field's value.
24707func (s *DescribeAutomationExecutionsInput) SetNextToken(v string) *DescribeAutomationExecutionsInput {
24708	s.NextToken = &v
24709	return s
24710}
24711
24712type DescribeAutomationExecutionsOutput struct {
24713	_ struct{} `type:"structure"`
24714
24715	// The list of details about each automation execution which has occurred which
24716	// matches the filter specification, if any.
24717	AutomationExecutionMetadataList []*AutomationExecutionMetadata `type:"list"`
24718
24719	// The token to use when requesting the next set of items. If there are no additional
24720	// items to return, the string is empty.
24721	NextToken *string `type:"string"`
24722}
24723
24724// String returns the string representation.
24725//
24726// API parameter values that are decorated as "sensitive" in the API will not
24727// be included in the string output. The member name will be present, but the
24728// value will be replaced with "sensitive".
24729func (s DescribeAutomationExecutionsOutput) String() string {
24730	return awsutil.Prettify(s)
24731}
24732
24733// GoString returns the string representation.
24734//
24735// API parameter values that are decorated as "sensitive" in the API will not
24736// be included in the string output. The member name will be present, but the
24737// value will be replaced with "sensitive".
24738func (s DescribeAutomationExecutionsOutput) GoString() string {
24739	return s.String()
24740}
24741
24742// SetAutomationExecutionMetadataList sets the AutomationExecutionMetadataList field's value.
24743func (s *DescribeAutomationExecutionsOutput) SetAutomationExecutionMetadataList(v []*AutomationExecutionMetadata) *DescribeAutomationExecutionsOutput {
24744	s.AutomationExecutionMetadataList = v
24745	return s
24746}
24747
24748// SetNextToken sets the NextToken field's value.
24749func (s *DescribeAutomationExecutionsOutput) SetNextToken(v string) *DescribeAutomationExecutionsOutput {
24750	s.NextToken = &v
24751	return s
24752}
24753
24754type DescribeAutomationStepExecutionsInput struct {
24755	_ struct{} `type:"structure"`
24756
24757	// The Automation execution ID for which you want step execution descriptions.
24758	//
24759	// AutomationExecutionId is a required field
24760	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
24761
24762	// One or more filters to limit the number of step executions returned by the
24763	// request.
24764	Filters []*StepExecutionFilter `min:"1" type:"list"`
24765
24766	// The maximum number of items to return for this call. The call also returns
24767	// a token that you can specify in a subsequent call to get the next set of
24768	// results.
24769	MaxResults *int64 `min:"1" type:"integer"`
24770
24771	// The token for the next set of items to return. (You received this token from
24772	// a previous call.)
24773	NextToken *string `type:"string"`
24774
24775	// Indicates whether to list step executions in reverse order by start time.
24776	// The default value is 'false'.
24777	ReverseOrder *bool `type:"boolean"`
24778}
24779
24780// String returns the string representation.
24781//
24782// API parameter values that are decorated as "sensitive" in the API will not
24783// be included in the string output. The member name will be present, but the
24784// value will be replaced with "sensitive".
24785func (s DescribeAutomationStepExecutionsInput) String() string {
24786	return awsutil.Prettify(s)
24787}
24788
24789// GoString returns the string representation.
24790//
24791// API parameter values that are decorated as "sensitive" in the API will not
24792// be included in the string output. The member name will be present, but the
24793// value will be replaced with "sensitive".
24794func (s DescribeAutomationStepExecutionsInput) GoString() string {
24795	return s.String()
24796}
24797
24798// Validate inspects the fields of the type to determine if they are valid.
24799func (s *DescribeAutomationStepExecutionsInput) Validate() error {
24800	invalidParams := request.ErrInvalidParams{Context: "DescribeAutomationStepExecutionsInput"}
24801	if s.AutomationExecutionId == nil {
24802		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
24803	}
24804	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
24805		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
24806	}
24807	if s.Filters != nil && len(s.Filters) < 1 {
24808		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
24809	}
24810	if s.MaxResults != nil && *s.MaxResults < 1 {
24811		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24812	}
24813	if s.Filters != nil {
24814		for i, v := range s.Filters {
24815			if v == nil {
24816				continue
24817			}
24818			if err := v.Validate(); err != nil {
24819				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24820			}
24821		}
24822	}
24823
24824	if invalidParams.Len() > 0 {
24825		return invalidParams
24826	}
24827	return nil
24828}
24829
24830// SetAutomationExecutionId sets the AutomationExecutionId field's value.
24831func (s *DescribeAutomationStepExecutionsInput) SetAutomationExecutionId(v string) *DescribeAutomationStepExecutionsInput {
24832	s.AutomationExecutionId = &v
24833	return s
24834}
24835
24836// SetFilters sets the Filters field's value.
24837func (s *DescribeAutomationStepExecutionsInput) SetFilters(v []*StepExecutionFilter) *DescribeAutomationStepExecutionsInput {
24838	s.Filters = v
24839	return s
24840}
24841
24842// SetMaxResults sets the MaxResults field's value.
24843func (s *DescribeAutomationStepExecutionsInput) SetMaxResults(v int64) *DescribeAutomationStepExecutionsInput {
24844	s.MaxResults = &v
24845	return s
24846}
24847
24848// SetNextToken sets the NextToken field's value.
24849func (s *DescribeAutomationStepExecutionsInput) SetNextToken(v string) *DescribeAutomationStepExecutionsInput {
24850	s.NextToken = &v
24851	return s
24852}
24853
24854// SetReverseOrder sets the ReverseOrder field's value.
24855func (s *DescribeAutomationStepExecutionsInput) SetReverseOrder(v bool) *DescribeAutomationStepExecutionsInput {
24856	s.ReverseOrder = &v
24857	return s
24858}
24859
24860type DescribeAutomationStepExecutionsOutput struct {
24861	_ struct{} `type:"structure"`
24862
24863	// The token to use when requesting the next set of items. If there are no additional
24864	// items to return, the string is empty.
24865	NextToken *string `type:"string"`
24866
24867	// A list of details about the current state of all steps that make up an execution.
24868	StepExecutions []*StepExecution `type:"list"`
24869}
24870
24871// String returns the string representation.
24872//
24873// API parameter values that are decorated as "sensitive" in the API will not
24874// be included in the string output. The member name will be present, but the
24875// value will be replaced with "sensitive".
24876func (s DescribeAutomationStepExecutionsOutput) String() string {
24877	return awsutil.Prettify(s)
24878}
24879
24880// GoString returns the string representation.
24881//
24882// API parameter values that are decorated as "sensitive" in the API will not
24883// be included in the string output. The member name will be present, but the
24884// value will be replaced with "sensitive".
24885func (s DescribeAutomationStepExecutionsOutput) GoString() string {
24886	return s.String()
24887}
24888
24889// SetNextToken sets the NextToken field's value.
24890func (s *DescribeAutomationStepExecutionsOutput) SetNextToken(v string) *DescribeAutomationStepExecutionsOutput {
24891	s.NextToken = &v
24892	return s
24893}
24894
24895// SetStepExecutions sets the StepExecutions field's value.
24896func (s *DescribeAutomationStepExecutionsOutput) SetStepExecutions(v []*StepExecution) *DescribeAutomationStepExecutionsOutput {
24897	s.StepExecutions = v
24898	return s
24899}
24900
24901type DescribeAvailablePatchesInput struct {
24902	_ struct{} `type:"structure"`
24903
24904	// Each element in the array is a structure containing a key-value pair.
24905	//
24906	// Windows Server
24907	//
24908	// Supported keys for Windows Server instance patches include the following:
24909	//
24910	//    * PATCH_SET Sample values: OS | APPLICATION
24911	//
24912	//    * PRODUCT Sample values: WindowsServer2012 | Office 2010 | MicrosoftDefenderAntivirus
24913	//
24914	//    * PRODUCT_FAMILY Sample values: Windows | Office
24915	//
24916	//    * MSRC_SEVERITY Sample values: ServicePacks | Important | Moderate
24917	//
24918	//    * CLASSIFICATION Sample values: ServicePacks | SecurityUpdates | DefinitionUpdates
24919	//
24920	//    * PATCH_ID Sample values: KB123456 | KB4516046
24921	//
24922	// Linux
24923	//
24924	// When specifying filters for Linux patches, you must specify a key-pair for
24925	// PRODUCT. For example, using the Command Line Interface (CLI), the following
24926	// command fails:
24927	//
24928	// aws ssm describe-available-patches --filters Key=CVE_ID,Values=CVE-2018-3615
24929	//
24930	// However, the following command succeeds:
24931	//
24932	// aws ssm describe-available-patches --filters Key=PRODUCT,Values=AmazonLinux2018.03
24933	// Key=CVE_ID,Values=CVE-2018-3615
24934	//
24935	// Supported keys for Linux instance patches include the following:
24936	//
24937	//    * PRODUCT Sample values: AmazonLinux2018.03 | AmazonLinux2.0
24938	//
24939	//    * NAME Sample values: kernel-headers | samba-python | php
24940	//
24941	//    * SEVERITY Sample values: Critical | Important | Medium | Low
24942	//
24943	//    * EPOCH Sample values: 0 | 1
24944	//
24945	//    * VERSION Sample values: 78.6.1 | 4.10.16
24946	//
24947	//    * RELEASE Sample values: 9.56.amzn1 | 1.amzn2
24948	//
24949	//    * ARCH Sample values: i686 | x86_64
24950	//
24951	//    * REPOSITORY Sample values: Core | Updates
24952	//
24953	//    * ADVISORY_ID Sample values: ALAS-2018-1058 | ALAS2-2021-1594
24954	//
24955	//    * CVE_ID Sample values: CVE-2018-3615 | CVE-2020-1472
24956	//
24957	//    * BUGZILLA_ID Sample values: 1463241
24958	Filters []*PatchOrchestratorFilter `type:"list"`
24959
24960	// The maximum number of patches to return (per page).
24961	MaxResults *int64 `min:"1" type:"integer"`
24962
24963	// The token for the next set of items to return. (You received this token from
24964	// a previous call.)
24965	NextToken *string `type:"string"`
24966}
24967
24968// String returns the string representation.
24969//
24970// API parameter values that are decorated as "sensitive" in the API will not
24971// be included in the string output. The member name will be present, but the
24972// value will be replaced with "sensitive".
24973func (s DescribeAvailablePatchesInput) String() string {
24974	return awsutil.Prettify(s)
24975}
24976
24977// GoString returns the string representation.
24978//
24979// API parameter values that are decorated as "sensitive" in the API will not
24980// be included in the string output. The member name will be present, but the
24981// value will be replaced with "sensitive".
24982func (s DescribeAvailablePatchesInput) GoString() string {
24983	return s.String()
24984}
24985
24986// Validate inspects the fields of the type to determine if they are valid.
24987func (s *DescribeAvailablePatchesInput) Validate() error {
24988	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailablePatchesInput"}
24989	if s.MaxResults != nil && *s.MaxResults < 1 {
24990		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24991	}
24992	if s.Filters != nil {
24993		for i, v := range s.Filters {
24994			if v == nil {
24995				continue
24996			}
24997			if err := v.Validate(); err != nil {
24998				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24999			}
25000		}
25001	}
25002
25003	if invalidParams.Len() > 0 {
25004		return invalidParams
25005	}
25006	return nil
25007}
25008
25009// SetFilters sets the Filters field's value.
25010func (s *DescribeAvailablePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeAvailablePatchesInput {
25011	s.Filters = v
25012	return s
25013}
25014
25015// SetMaxResults sets the MaxResults field's value.
25016func (s *DescribeAvailablePatchesInput) SetMaxResults(v int64) *DescribeAvailablePatchesInput {
25017	s.MaxResults = &v
25018	return s
25019}
25020
25021// SetNextToken sets the NextToken field's value.
25022func (s *DescribeAvailablePatchesInput) SetNextToken(v string) *DescribeAvailablePatchesInput {
25023	s.NextToken = &v
25024	return s
25025}
25026
25027type DescribeAvailablePatchesOutput struct {
25028	_ struct{} `type:"structure"`
25029
25030	// The token to use when requesting the next set of items. If there are no additional
25031	// items to return, the string is empty.
25032	NextToken *string `type:"string"`
25033
25034	// An array of patches. Each entry in the array is a patch structure.
25035	Patches []*Patch `type:"list"`
25036}
25037
25038// String returns the string representation.
25039//
25040// API parameter values that are decorated as "sensitive" in the API will not
25041// be included in the string output. The member name will be present, but the
25042// value will be replaced with "sensitive".
25043func (s DescribeAvailablePatchesOutput) String() string {
25044	return awsutil.Prettify(s)
25045}
25046
25047// GoString returns the string representation.
25048//
25049// API parameter values that are decorated as "sensitive" in the API will not
25050// be included in the string output. The member name will be present, but the
25051// value will be replaced with "sensitive".
25052func (s DescribeAvailablePatchesOutput) GoString() string {
25053	return s.String()
25054}
25055
25056// SetNextToken sets the NextToken field's value.
25057func (s *DescribeAvailablePatchesOutput) SetNextToken(v string) *DescribeAvailablePatchesOutput {
25058	s.NextToken = &v
25059	return s
25060}
25061
25062// SetPatches sets the Patches field's value.
25063func (s *DescribeAvailablePatchesOutput) SetPatches(v []*Patch) *DescribeAvailablePatchesOutput {
25064	s.Patches = v
25065	return s
25066}
25067
25068type DescribeDocumentInput struct {
25069	_ struct{} `type:"structure"`
25070
25071	// The document version for which you want information. Can be a specific version
25072	// or the default version.
25073	DocumentVersion *string `type:"string"`
25074
25075	// The name of the SSM document.
25076	//
25077	// Name is a required field
25078	Name *string `type:"string" required:"true"`
25079
25080	// An optional field specifying the version of the artifact associated with
25081	// the document. For example, "Release 12, Update 6". This value is unique across
25082	// all versions of a document, and can't be changed.
25083	VersionName *string `type:"string"`
25084}
25085
25086// String returns the string representation.
25087//
25088// API parameter values that are decorated as "sensitive" in the API will not
25089// be included in the string output. The member name will be present, but the
25090// value will be replaced with "sensitive".
25091func (s DescribeDocumentInput) String() string {
25092	return awsutil.Prettify(s)
25093}
25094
25095// GoString returns the string representation.
25096//
25097// API parameter values that are decorated as "sensitive" in the API will not
25098// be included in the string output. The member name will be present, but the
25099// value will be replaced with "sensitive".
25100func (s DescribeDocumentInput) GoString() string {
25101	return s.String()
25102}
25103
25104// Validate inspects the fields of the type to determine if they are valid.
25105func (s *DescribeDocumentInput) Validate() error {
25106	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentInput"}
25107	if s.Name == nil {
25108		invalidParams.Add(request.NewErrParamRequired("Name"))
25109	}
25110
25111	if invalidParams.Len() > 0 {
25112		return invalidParams
25113	}
25114	return nil
25115}
25116
25117// SetDocumentVersion sets the DocumentVersion field's value.
25118func (s *DescribeDocumentInput) SetDocumentVersion(v string) *DescribeDocumentInput {
25119	s.DocumentVersion = &v
25120	return s
25121}
25122
25123// SetName sets the Name field's value.
25124func (s *DescribeDocumentInput) SetName(v string) *DescribeDocumentInput {
25125	s.Name = &v
25126	return s
25127}
25128
25129// SetVersionName sets the VersionName field's value.
25130func (s *DescribeDocumentInput) SetVersionName(v string) *DescribeDocumentInput {
25131	s.VersionName = &v
25132	return s
25133}
25134
25135type DescribeDocumentOutput struct {
25136	_ struct{} `type:"structure"`
25137
25138	// Information about the SSM document.
25139	Document *DocumentDescription `type:"structure"`
25140}
25141
25142// String returns the string representation.
25143//
25144// API parameter values that are decorated as "sensitive" in the API will not
25145// be included in the string output. The member name will be present, but the
25146// value will be replaced with "sensitive".
25147func (s DescribeDocumentOutput) String() string {
25148	return awsutil.Prettify(s)
25149}
25150
25151// GoString returns the string representation.
25152//
25153// API parameter values that are decorated as "sensitive" in the API will not
25154// be included in the string output. The member name will be present, but the
25155// value will be replaced with "sensitive".
25156func (s DescribeDocumentOutput) GoString() string {
25157	return s.String()
25158}
25159
25160// SetDocument sets the Document field's value.
25161func (s *DescribeDocumentOutput) SetDocument(v *DocumentDescription) *DescribeDocumentOutput {
25162	s.Document = v
25163	return s
25164}
25165
25166type DescribeDocumentPermissionInput struct {
25167	_ struct{} `type:"structure"`
25168
25169	// The maximum number of items to return for this call. The call also returns
25170	// a token that you can specify in a subsequent call to get the next set of
25171	// results.
25172	MaxResults *int64 `min:"1" type:"integer"`
25173
25174	// The name of the document for which you are the owner.
25175	//
25176	// Name is a required field
25177	Name *string `type:"string" required:"true"`
25178
25179	// The token for the next set of items to return. (You received this token from
25180	// a previous call.)
25181	NextToken *string `type:"string"`
25182
25183	// The permission type for the document. The permission type can be Share.
25184	//
25185	// PermissionType is a required field
25186	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
25187}
25188
25189// String returns the string representation.
25190//
25191// API parameter values that are decorated as "sensitive" in the API will not
25192// be included in the string output. The member name will be present, but the
25193// value will be replaced with "sensitive".
25194func (s DescribeDocumentPermissionInput) String() string {
25195	return awsutil.Prettify(s)
25196}
25197
25198// GoString returns the string representation.
25199//
25200// API parameter values that are decorated as "sensitive" in the API will not
25201// be included in the string output. The member name will be present, but the
25202// value will be replaced with "sensitive".
25203func (s DescribeDocumentPermissionInput) GoString() string {
25204	return s.String()
25205}
25206
25207// Validate inspects the fields of the type to determine if they are valid.
25208func (s *DescribeDocumentPermissionInput) Validate() error {
25209	invalidParams := request.ErrInvalidParams{Context: "DescribeDocumentPermissionInput"}
25210	if s.MaxResults != nil && *s.MaxResults < 1 {
25211		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25212	}
25213	if s.Name == nil {
25214		invalidParams.Add(request.NewErrParamRequired("Name"))
25215	}
25216	if s.PermissionType == nil {
25217		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
25218	}
25219
25220	if invalidParams.Len() > 0 {
25221		return invalidParams
25222	}
25223	return nil
25224}
25225
25226// SetMaxResults sets the MaxResults field's value.
25227func (s *DescribeDocumentPermissionInput) SetMaxResults(v int64) *DescribeDocumentPermissionInput {
25228	s.MaxResults = &v
25229	return s
25230}
25231
25232// SetName sets the Name field's value.
25233func (s *DescribeDocumentPermissionInput) SetName(v string) *DescribeDocumentPermissionInput {
25234	s.Name = &v
25235	return s
25236}
25237
25238// SetNextToken sets the NextToken field's value.
25239func (s *DescribeDocumentPermissionInput) SetNextToken(v string) *DescribeDocumentPermissionInput {
25240	s.NextToken = &v
25241	return s
25242}
25243
25244// SetPermissionType sets the PermissionType field's value.
25245func (s *DescribeDocumentPermissionInput) SetPermissionType(v string) *DescribeDocumentPermissionInput {
25246	s.PermissionType = &v
25247	return s
25248}
25249
25250type DescribeDocumentPermissionOutput struct {
25251	_ struct{} `type:"structure"`
25252
25253	// The account IDs that have permission to use this document. The ID can be
25254	// either an Amazon Web Services account or All.
25255	AccountIds []*string `type:"list"`
25256
25257	// A list of Amazon Web Services accounts where the current document is shared
25258	// and the version shared with each account.
25259	AccountSharingInfoList []*AccountSharingInfo `type:"list"`
25260
25261	// The token for the next set of items to return. Use this token to get the
25262	// next set of results.
25263	NextToken *string `type:"string"`
25264}
25265
25266// String returns the string representation.
25267//
25268// API parameter values that are decorated as "sensitive" in the API will not
25269// be included in the string output. The member name will be present, but the
25270// value will be replaced with "sensitive".
25271func (s DescribeDocumentPermissionOutput) String() string {
25272	return awsutil.Prettify(s)
25273}
25274
25275// GoString returns the string representation.
25276//
25277// API parameter values that are decorated as "sensitive" in the API will not
25278// be included in the string output. The member name will be present, but the
25279// value will be replaced with "sensitive".
25280func (s DescribeDocumentPermissionOutput) GoString() string {
25281	return s.String()
25282}
25283
25284// SetAccountIds sets the AccountIds field's value.
25285func (s *DescribeDocumentPermissionOutput) SetAccountIds(v []*string) *DescribeDocumentPermissionOutput {
25286	s.AccountIds = v
25287	return s
25288}
25289
25290// SetAccountSharingInfoList sets the AccountSharingInfoList field's value.
25291func (s *DescribeDocumentPermissionOutput) SetAccountSharingInfoList(v []*AccountSharingInfo) *DescribeDocumentPermissionOutput {
25292	s.AccountSharingInfoList = v
25293	return s
25294}
25295
25296// SetNextToken sets the NextToken field's value.
25297func (s *DescribeDocumentPermissionOutput) SetNextToken(v string) *DescribeDocumentPermissionOutput {
25298	s.NextToken = &v
25299	return s
25300}
25301
25302type DescribeEffectiveInstanceAssociationsInput struct {
25303	_ struct{} `type:"structure"`
25304
25305	// The instance ID for which you want to view all associations.
25306	//
25307	// InstanceId is a required field
25308	InstanceId *string `type:"string" required:"true"`
25309
25310	// The maximum number of items to return for this call. The call also returns
25311	// a token that you can specify in a subsequent call to get the next set of
25312	// results.
25313	MaxResults *int64 `min:"1" type:"integer"`
25314
25315	// The token for the next set of items to return. (You received this token from
25316	// a previous call.)
25317	NextToken *string `type:"string"`
25318}
25319
25320// String returns the string representation.
25321//
25322// API parameter values that are decorated as "sensitive" in the API will not
25323// be included in the string output. The member name will be present, but the
25324// value will be replaced with "sensitive".
25325func (s DescribeEffectiveInstanceAssociationsInput) String() string {
25326	return awsutil.Prettify(s)
25327}
25328
25329// GoString returns the string representation.
25330//
25331// API parameter values that are decorated as "sensitive" in the API will not
25332// be included in the string output. The member name will be present, but the
25333// value will be replaced with "sensitive".
25334func (s DescribeEffectiveInstanceAssociationsInput) GoString() string {
25335	return s.String()
25336}
25337
25338// Validate inspects the fields of the type to determine if they are valid.
25339func (s *DescribeEffectiveInstanceAssociationsInput) Validate() error {
25340	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectiveInstanceAssociationsInput"}
25341	if s.InstanceId == nil {
25342		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25343	}
25344	if s.MaxResults != nil && *s.MaxResults < 1 {
25345		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25346	}
25347
25348	if invalidParams.Len() > 0 {
25349		return invalidParams
25350	}
25351	return nil
25352}
25353
25354// SetInstanceId sets the InstanceId field's value.
25355func (s *DescribeEffectiveInstanceAssociationsInput) SetInstanceId(v string) *DescribeEffectiveInstanceAssociationsInput {
25356	s.InstanceId = &v
25357	return s
25358}
25359
25360// SetMaxResults sets the MaxResults field's value.
25361func (s *DescribeEffectiveInstanceAssociationsInput) SetMaxResults(v int64) *DescribeEffectiveInstanceAssociationsInput {
25362	s.MaxResults = &v
25363	return s
25364}
25365
25366// SetNextToken sets the NextToken field's value.
25367func (s *DescribeEffectiveInstanceAssociationsInput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsInput {
25368	s.NextToken = &v
25369	return s
25370}
25371
25372type DescribeEffectiveInstanceAssociationsOutput struct {
25373	_ struct{} `type:"structure"`
25374
25375	// The associations for the requested instance.
25376	Associations []*InstanceAssociation `type:"list"`
25377
25378	// The token to use when requesting the next set of items. If there are no additional
25379	// items to return, the string is empty.
25380	NextToken *string `type:"string"`
25381}
25382
25383// String returns the string representation.
25384//
25385// API parameter values that are decorated as "sensitive" in the API will not
25386// be included in the string output. The member name will be present, but the
25387// value will be replaced with "sensitive".
25388func (s DescribeEffectiveInstanceAssociationsOutput) String() string {
25389	return awsutil.Prettify(s)
25390}
25391
25392// GoString returns the string representation.
25393//
25394// API parameter values that are decorated as "sensitive" in the API will not
25395// be included in the string output. The member name will be present, but the
25396// value will be replaced with "sensitive".
25397func (s DescribeEffectiveInstanceAssociationsOutput) GoString() string {
25398	return s.String()
25399}
25400
25401// SetAssociations sets the Associations field's value.
25402func (s *DescribeEffectiveInstanceAssociationsOutput) SetAssociations(v []*InstanceAssociation) *DescribeEffectiveInstanceAssociationsOutput {
25403	s.Associations = v
25404	return s
25405}
25406
25407// SetNextToken sets the NextToken field's value.
25408func (s *DescribeEffectiveInstanceAssociationsOutput) SetNextToken(v string) *DescribeEffectiveInstanceAssociationsOutput {
25409	s.NextToken = &v
25410	return s
25411}
25412
25413type DescribeEffectivePatchesForPatchBaselineInput struct {
25414	_ struct{} `type:"structure"`
25415
25416	// The ID of the patch baseline to retrieve the effective patches for.
25417	//
25418	// BaselineId is a required field
25419	BaselineId *string `min:"20" type:"string" required:"true"`
25420
25421	// The maximum number of patches to return (per page).
25422	MaxResults *int64 `min:"1" type:"integer"`
25423
25424	// The token for the next set of items to return. (You received this token from
25425	// a previous call.)
25426	NextToken *string `type:"string"`
25427}
25428
25429// String returns the string representation.
25430//
25431// API parameter values that are decorated as "sensitive" in the API will not
25432// be included in the string output. The member name will be present, but the
25433// value will be replaced with "sensitive".
25434func (s DescribeEffectivePatchesForPatchBaselineInput) String() string {
25435	return awsutil.Prettify(s)
25436}
25437
25438// GoString returns the string representation.
25439//
25440// API parameter values that are decorated as "sensitive" in the API will not
25441// be included in the string output. The member name will be present, but the
25442// value will be replaced with "sensitive".
25443func (s DescribeEffectivePatchesForPatchBaselineInput) GoString() string {
25444	return s.String()
25445}
25446
25447// Validate inspects the fields of the type to determine if they are valid.
25448func (s *DescribeEffectivePatchesForPatchBaselineInput) Validate() error {
25449	invalidParams := request.ErrInvalidParams{Context: "DescribeEffectivePatchesForPatchBaselineInput"}
25450	if s.BaselineId == nil {
25451		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
25452	}
25453	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
25454		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
25455	}
25456	if s.MaxResults != nil && *s.MaxResults < 1 {
25457		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25458	}
25459
25460	if invalidParams.Len() > 0 {
25461		return invalidParams
25462	}
25463	return nil
25464}
25465
25466// SetBaselineId sets the BaselineId field's value.
25467func (s *DescribeEffectivePatchesForPatchBaselineInput) SetBaselineId(v string) *DescribeEffectivePatchesForPatchBaselineInput {
25468	s.BaselineId = &v
25469	return s
25470}
25471
25472// SetMaxResults sets the MaxResults field's value.
25473func (s *DescribeEffectivePatchesForPatchBaselineInput) SetMaxResults(v int64) *DescribeEffectivePatchesForPatchBaselineInput {
25474	s.MaxResults = &v
25475	return s
25476}
25477
25478// SetNextToken sets the NextToken field's value.
25479func (s *DescribeEffectivePatchesForPatchBaselineInput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineInput {
25480	s.NextToken = &v
25481	return s
25482}
25483
25484type DescribeEffectivePatchesForPatchBaselineOutput struct {
25485	_ struct{} `type:"structure"`
25486
25487	// An array of patches and patch status.
25488	EffectivePatches []*EffectivePatch `type:"list"`
25489
25490	// The token to use when requesting the next set of items. If there are no additional
25491	// items to return, the string is empty.
25492	NextToken *string `type:"string"`
25493}
25494
25495// String returns the string representation.
25496//
25497// API parameter values that are decorated as "sensitive" in the API will not
25498// be included in the string output. The member name will be present, but the
25499// value will be replaced with "sensitive".
25500func (s DescribeEffectivePatchesForPatchBaselineOutput) String() string {
25501	return awsutil.Prettify(s)
25502}
25503
25504// GoString returns the string representation.
25505//
25506// API parameter values that are decorated as "sensitive" in the API will not
25507// be included in the string output. The member name will be present, but the
25508// value will be replaced with "sensitive".
25509func (s DescribeEffectivePatchesForPatchBaselineOutput) GoString() string {
25510	return s.String()
25511}
25512
25513// SetEffectivePatches sets the EffectivePatches field's value.
25514func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetEffectivePatches(v []*EffectivePatch) *DescribeEffectivePatchesForPatchBaselineOutput {
25515	s.EffectivePatches = v
25516	return s
25517}
25518
25519// SetNextToken sets the NextToken field's value.
25520func (s *DescribeEffectivePatchesForPatchBaselineOutput) SetNextToken(v string) *DescribeEffectivePatchesForPatchBaselineOutput {
25521	s.NextToken = &v
25522	return s
25523}
25524
25525type DescribeInstanceAssociationsStatusInput struct {
25526	_ struct{} `type:"structure"`
25527
25528	// The instance IDs for which you want association status information.
25529	//
25530	// InstanceId is a required field
25531	InstanceId *string `type:"string" required:"true"`
25532
25533	// The maximum number of items to return for this call. The call also returns
25534	// a token that you can specify in a subsequent call to get the next set of
25535	// results.
25536	MaxResults *int64 `min:"1" type:"integer"`
25537
25538	// The token for the next set of items to return. (You received this token from
25539	// a previous call.)
25540	NextToken *string `type:"string"`
25541}
25542
25543// String returns the string representation.
25544//
25545// API parameter values that are decorated as "sensitive" in the API will not
25546// be included in the string output. The member name will be present, but the
25547// value will be replaced with "sensitive".
25548func (s DescribeInstanceAssociationsStatusInput) String() string {
25549	return awsutil.Prettify(s)
25550}
25551
25552// GoString returns the string representation.
25553//
25554// API parameter values that are decorated as "sensitive" in the API will not
25555// be included in the string output. The member name will be present, but the
25556// value will be replaced with "sensitive".
25557func (s DescribeInstanceAssociationsStatusInput) GoString() string {
25558	return s.String()
25559}
25560
25561// Validate inspects the fields of the type to determine if they are valid.
25562func (s *DescribeInstanceAssociationsStatusInput) Validate() error {
25563	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAssociationsStatusInput"}
25564	if s.InstanceId == nil {
25565		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25566	}
25567	if s.MaxResults != nil && *s.MaxResults < 1 {
25568		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25569	}
25570
25571	if invalidParams.Len() > 0 {
25572		return invalidParams
25573	}
25574	return nil
25575}
25576
25577// SetInstanceId sets the InstanceId field's value.
25578func (s *DescribeInstanceAssociationsStatusInput) SetInstanceId(v string) *DescribeInstanceAssociationsStatusInput {
25579	s.InstanceId = &v
25580	return s
25581}
25582
25583// SetMaxResults sets the MaxResults field's value.
25584func (s *DescribeInstanceAssociationsStatusInput) SetMaxResults(v int64) *DescribeInstanceAssociationsStatusInput {
25585	s.MaxResults = &v
25586	return s
25587}
25588
25589// SetNextToken sets the NextToken field's value.
25590func (s *DescribeInstanceAssociationsStatusInput) SetNextToken(v string) *DescribeInstanceAssociationsStatusInput {
25591	s.NextToken = &v
25592	return s
25593}
25594
25595type DescribeInstanceAssociationsStatusOutput struct {
25596	_ struct{} `type:"structure"`
25597
25598	// Status information about the association.
25599	InstanceAssociationStatusInfos []*InstanceAssociationStatusInfo `type:"list"`
25600
25601	// The token to use when requesting the next set of items. If there are no additional
25602	// items to return, the string is empty.
25603	NextToken *string `type:"string"`
25604}
25605
25606// String returns the string representation.
25607//
25608// API parameter values that are decorated as "sensitive" in the API will not
25609// be included in the string output. The member name will be present, but the
25610// value will be replaced with "sensitive".
25611func (s DescribeInstanceAssociationsStatusOutput) String() string {
25612	return awsutil.Prettify(s)
25613}
25614
25615// GoString returns the string representation.
25616//
25617// API parameter values that are decorated as "sensitive" in the API will not
25618// be included in the string output. The member name will be present, but the
25619// value will be replaced with "sensitive".
25620func (s DescribeInstanceAssociationsStatusOutput) GoString() string {
25621	return s.String()
25622}
25623
25624// SetInstanceAssociationStatusInfos sets the InstanceAssociationStatusInfos field's value.
25625func (s *DescribeInstanceAssociationsStatusOutput) SetInstanceAssociationStatusInfos(v []*InstanceAssociationStatusInfo) *DescribeInstanceAssociationsStatusOutput {
25626	s.InstanceAssociationStatusInfos = v
25627	return s
25628}
25629
25630// SetNextToken sets the NextToken field's value.
25631func (s *DescribeInstanceAssociationsStatusOutput) SetNextToken(v string) *DescribeInstanceAssociationsStatusOutput {
25632	s.NextToken = &v
25633	return s
25634}
25635
25636type DescribeInstanceInformationInput struct {
25637	_ struct{} `type:"structure"`
25638
25639	// One or more filters. Use a filter to return a more specific list of instances.
25640	// You can filter based on tags applied to EC2 instances. Use this Filters data
25641	// type instead of InstanceInformationFilterList, which is deprecated.
25642	Filters []*InstanceInformationStringFilter `type:"list"`
25643
25644	// This is a legacy method. We recommend that you don't use this method. Instead,
25645	// use the Filters data type. Filters enables you to return instance information
25646	// by filtering based on tags applied to managed instances.
25647	//
25648	// Attempting to use InstanceInformationFilterList and Filters leads to an exception
25649	// error.
25650	InstanceInformationFilterList []*InstanceInformationFilter `type:"list"`
25651
25652	// The maximum number of items to return for this call. The call also returns
25653	// a token that you can specify in a subsequent call to get the next set of
25654	// results.
25655	MaxResults *int64 `min:"5" type:"integer"`
25656
25657	// The token for the next set of items to return. (You received this token from
25658	// a previous call.)
25659	NextToken *string `type:"string"`
25660}
25661
25662// String returns the string representation.
25663//
25664// API parameter values that are decorated as "sensitive" in the API will not
25665// be included in the string output. The member name will be present, but the
25666// value will be replaced with "sensitive".
25667func (s DescribeInstanceInformationInput) String() string {
25668	return awsutil.Prettify(s)
25669}
25670
25671// GoString returns the string representation.
25672//
25673// API parameter values that are decorated as "sensitive" in the API will not
25674// be included in the string output. The member name will be present, but the
25675// value will be replaced with "sensitive".
25676func (s DescribeInstanceInformationInput) GoString() string {
25677	return s.String()
25678}
25679
25680// Validate inspects the fields of the type to determine if they are valid.
25681func (s *DescribeInstanceInformationInput) Validate() error {
25682	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInformationInput"}
25683	if s.MaxResults != nil && *s.MaxResults < 5 {
25684		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
25685	}
25686	if s.Filters != nil {
25687		for i, v := range s.Filters {
25688			if v == nil {
25689				continue
25690			}
25691			if err := v.Validate(); err != nil {
25692				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25693			}
25694		}
25695	}
25696	if s.InstanceInformationFilterList != nil {
25697		for i, v := range s.InstanceInformationFilterList {
25698			if v == nil {
25699				continue
25700			}
25701			if err := v.Validate(); err != nil {
25702				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceInformationFilterList", i), err.(request.ErrInvalidParams))
25703			}
25704		}
25705	}
25706
25707	if invalidParams.Len() > 0 {
25708		return invalidParams
25709	}
25710	return nil
25711}
25712
25713// SetFilters sets the Filters field's value.
25714func (s *DescribeInstanceInformationInput) SetFilters(v []*InstanceInformationStringFilter) *DescribeInstanceInformationInput {
25715	s.Filters = v
25716	return s
25717}
25718
25719// SetInstanceInformationFilterList sets the InstanceInformationFilterList field's value.
25720func (s *DescribeInstanceInformationInput) SetInstanceInformationFilterList(v []*InstanceInformationFilter) *DescribeInstanceInformationInput {
25721	s.InstanceInformationFilterList = v
25722	return s
25723}
25724
25725// SetMaxResults sets the MaxResults field's value.
25726func (s *DescribeInstanceInformationInput) SetMaxResults(v int64) *DescribeInstanceInformationInput {
25727	s.MaxResults = &v
25728	return s
25729}
25730
25731// SetNextToken sets the NextToken field's value.
25732func (s *DescribeInstanceInformationInput) SetNextToken(v string) *DescribeInstanceInformationInput {
25733	s.NextToken = &v
25734	return s
25735}
25736
25737type DescribeInstanceInformationOutput struct {
25738	_ struct{} `type:"structure"`
25739
25740	// The instance information list.
25741	InstanceInformationList []*InstanceInformation `type:"list"`
25742
25743	// The token to use when requesting the next set of items. If there are no additional
25744	// items to return, the string is empty.
25745	NextToken *string `type:"string"`
25746}
25747
25748// String returns the string representation.
25749//
25750// API parameter values that are decorated as "sensitive" in the API will not
25751// be included in the string output. The member name will be present, but the
25752// value will be replaced with "sensitive".
25753func (s DescribeInstanceInformationOutput) String() string {
25754	return awsutil.Prettify(s)
25755}
25756
25757// GoString returns the string representation.
25758//
25759// API parameter values that are decorated as "sensitive" in the API will not
25760// be included in the string output. The member name will be present, but the
25761// value will be replaced with "sensitive".
25762func (s DescribeInstanceInformationOutput) GoString() string {
25763	return s.String()
25764}
25765
25766// SetInstanceInformationList sets the InstanceInformationList field's value.
25767func (s *DescribeInstanceInformationOutput) SetInstanceInformationList(v []*InstanceInformation) *DescribeInstanceInformationOutput {
25768	s.InstanceInformationList = v
25769	return s
25770}
25771
25772// SetNextToken sets the NextToken field's value.
25773func (s *DescribeInstanceInformationOutput) SetNextToken(v string) *DescribeInstanceInformationOutput {
25774	s.NextToken = &v
25775	return s
25776}
25777
25778type DescribeInstancePatchStatesForPatchGroupInput struct {
25779	_ struct{} `type:"structure"`
25780
25781	// Each entry in the array is a structure containing:
25782	//
25783	//    * Key (string between 1 and 200 characters)
25784	//
25785	//    * Values (array containing a single string)
25786	//
25787	//    * Type (string "Equal", "NotEqual", "LessThan", "GreaterThan")
25788	Filters []*InstancePatchStateFilter `type:"list"`
25789
25790	// The maximum number of patches to return (per page).
25791	MaxResults *int64 `min:"10" type:"integer"`
25792
25793	// The token for the next set of items to return. (You received this token from
25794	// a previous call.)
25795	NextToken *string `type:"string"`
25796
25797	// The name of the patch group for which the patch state information should
25798	// be retrieved.
25799	//
25800	// PatchGroup is a required field
25801	PatchGroup *string `min:"1" type:"string" required:"true"`
25802}
25803
25804// String returns the string representation.
25805//
25806// API parameter values that are decorated as "sensitive" in the API will not
25807// be included in the string output. The member name will be present, but the
25808// value will be replaced with "sensitive".
25809func (s DescribeInstancePatchStatesForPatchGroupInput) String() string {
25810	return awsutil.Prettify(s)
25811}
25812
25813// GoString returns the string representation.
25814//
25815// API parameter values that are decorated as "sensitive" in the API will not
25816// be included in the string output. The member name will be present, but the
25817// value will be replaced with "sensitive".
25818func (s DescribeInstancePatchStatesForPatchGroupInput) GoString() string {
25819	return s.String()
25820}
25821
25822// Validate inspects the fields of the type to determine if they are valid.
25823func (s *DescribeInstancePatchStatesForPatchGroupInput) Validate() error {
25824	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesForPatchGroupInput"}
25825	if s.MaxResults != nil && *s.MaxResults < 10 {
25826		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
25827	}
25828	if s.PatchGroup == nil {
25829		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
25830	}
25831	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
25832		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
25833	}
25834	if s.Filters != nil {
25835		for i, v := range s.Filters {
25836			if v == nil {
25837				continue
25838			}
25839			if err := v.Validate(); err != nil {
25840				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25841			}
25842		}
25843	}
25844
25845	if invalidParams.Len() > 0 {
25846		return invalidParams
25847	}
25848	return nil
25849}
25850
25851// SetFilters sets the Filters field's value.
25852func (s *DescribeInstancePatchStatesForPatchGroupInput) SetFilters(v []*InstancePatchStateFilter) *DescribeInstancePatchStatesForPatchGroupInput {
25853	s.Filters = v
25854	return s
25855}
25856
25857// SetMaxResults sets the MaxResults field's value.
25858func (s *DescribeInstancePatchStatesForPatchGroupInput) SetMaxResults(v int64) *DescribeInstancePatchStatesForPatchGroupInput {
25859	s.MaxResults = &v
25860	return s
25861}
25862
25863// SetNextToken sets the NextToken field's value.
25864func (s *DescribeInstancePatchStatesForPatchGroupInput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupInput {
25865	s.NextToken = &v
25866	return s
25867}
25868
25869// SetPatchGroup sets the PatchGroup field's value.
25870func (s *DescribeInstancePatchStatesForPatchGroupInput) SetPatchGroup(v string) *DescribeInstancePatchStatesForPatchGroupInput {
25871	s.PatchGroup = &v
25872	return s
25873}
25874
25875type DescribeInstancePatchStatesForPatchGroupOutput struct {
25876	_ struct{} `type:"structure"`
25877
25878	// The high-level patch state for the requested instances.
25879	InstancePatchStates []*InstancePatchState `min:"1" type:"list"`
25880
25881	// The token to use when requesting the next set of items. If there are no additional
25882	// items to return, the string is empty.
25883	NextToken *string `type:"string"`
25884}
25885
25886// String returns the string representation.
25887//
25888// API parameter values that are decorated as "sensitive" in the API will not
25889// be included in the string output. The member name will be present, but the
25890// value will be replaced with "sensitive".
25891func (s DescribeInstancePatchStatesForPatchGroupOutput) String() string {
25892	return awsutil.Prettify(s)
25893}
25894
25895// GoString returns the string representation.
25896//
25897// API parameter values that are decorated as "sensitive" in the API will not
25898// be included in the string output. The member name will be present, but the
25899// value will be replaced with "sensitive".
25900func (s DescribeInstancePatchStatesForPatchGroupOutput) GoString() string {
25901	return s.String()
25902}
25903
25904// SetInstancePatchStates sets the InstancePatchStates field's value.
25905func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesForPatchGroupOutput {
25906	s.InstancePatchStates = v
25907	return s
25908}
25909
25910// SetNextToken sets the NextToken field's value.
25911func (s *DescribeInstancePatchStatesForPatchGroupOutput) SetNextToken(v string) *DescribeInstancePatchStatesForPatchGroupOutput {
25912	s.NextToken = &v
25913	return s
25914}
25915
25916type DescribeInstancePatchStatesInput struct {
25917	_ struct{} `type:"structure"`
25918
25919	// The ID of the instance for which patch state information should be retrieved.
25920	//
25921	// InstanceIds is a required field
25922	InstanceIds []*string `type:"list" required:"true"`
25923
25924	// The maximum number of instances to return (per page).
25925	MaxResults *int64 `min:"10" type:"integer"`
25926
25927	// The token for the next set of items to return. (You received this token from
25928	// a previous call.)
25929	NextToken *string `type:"string"`
25930}
25931
25932// String returns the string representation.
25933//
25934// API parameter values that are decorated as "sensitive" in the API will not
25935// be included in the string output. The member name will be present, but the
25936// value will be replaced with "sensitive".
25937func (s DescribeInstancePatchStatesInput) String() string {
25938	return awsutil.Prettify(s)
25939}
25940
25941// GoString returns the string representation.
25942//
25943// API parameter values that are decorated as "sensitive" in the API will not
25944// be included in the string output. The member name will be present, but the
25945// value will be replaced with "sensitive".
25946func (s DescribeInstancePatchStatesInput) GoString() string {
25947	return s.String()
25948}
25949
25950// Validate inspects the fields of the type to determine if they are valid.
25951func (s *DescribeInstancePatchStatesInput) Validate() error {
25952	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchStatesInput"}
25953	if s.InstanceIds == nil {
25954		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
25955	}
25956	if s.MaxResults != nil && *s.MaxResults < 10 {
25957		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
25958	}
25959
25960	if invalidParams.Len() > 0 {
25961		return invalidParams
25962	}
25963	return nil
25964}
25965
25966// SetInstanceIds sets the InstanceIds field's value.
25967func (s *DescribeInstancePatchStatesInput) SetInstanceIds(v []*string) *DescribeInstancePatchStatesInput {
25968	s.InstanceIds = v
25969	return s
25970}
25971
25972// SetMaxResults sets the MaxResults field's value.
25973func (s *DescribeInstancePatchStatesInput) SetMaxResults(v int64) *DescribeInstancePatchStatesInput {
25974	s.MaxResults = &v
25975	return s
25976}
25977
25978// SetNextToken sets the NextToken field's value.
25979func (s *DescribeInstancePatchStatesInput) SetNextToken(v string) *DescribeInstancePatchStatesInput {
25980	s.NextToken = &v
25981	return s
25982}
25983
25984type DescribeInstancePatchStatesOutput struct {
25985	_ struct{} `type:"structure"`
25986
25987	// The high-level patch state for the requested instances.
25988	InstancePatchStates []*InstancePatchState `type:"list"`
25989
25990	// The token to use when requesting the next set of items. If there are no additional
25991	// items to return, the string is empty.
25992	NextToken *string `type:"string"`
25993}
25994
25995// String returns the string representation.
25996//
25997// API parameter values that are decorated as "sensitive" in the API will not
25998// be included in the string output. The member name will be present, but the
25999// value will be replaced with "sensitive".
26000func (s DescribeInstancePatchStatesOutput) String() string {
26001	return awsutil.Prettify(s)
26002}
26003
26004// GoString returns the string representation.
26005//
26006// API parameter values that are decorated as "sensitive" in the API will not
26007// be included in the string output. The member name will be present, but the
26008// value will be replaced with "sensitive".
26009func (s DescribeInstancePatchStatesOutput) GoString() string {
26010	return s.String()
26011}
26012
26013// SetInstancePatchStates sets the InstancePatchStates field's value.
26014func (s *DescribeInstancePatchStatesOutput) SetInstancePatchStates(v []*InstancePatchState) *DescribeInstancePatchStatesOutput {
26015	s.InstancePatchStates = v
26016	return s
26017}
26018
26019// SetNextToken sets the NextToken field's value.
26020func (s *DescribeInstancePatchStatesOutput) SetNextToken(v string) *DescribeInstancePatchStatesOutput {
26021	s.NextToken = &v
26022	return s
26023}
26024
26025type DescribeInstancePatchesInput struct {
26026	_ struct{} `type:"structure"`
26027
26028	// Each element in the array is a structure containing a key-value pair.
26029	//
26030	// Supported keys for DescribeInstancePatchesinclude the following:
26031	//
26032	//    * Classification Sample values: Security | SecurityUpdates
26033	//
26034	//    * KBId Sample values: KB4480056 | java-1.7.0-openjdk.x86_64
26035	//
26036	//    * Severity Sample values: Important | Medium | Low
26037	//
26038	//    * State Sample values: Installed | InstalledOther | InstalledPendingReboot
26039	Filters []*PatchOrchestratorFilter `type:"list"`
26040
26041	// The ID of the instance whose patch state information should be retrieved.
26042	//
26043	// InstanceId is a required field
26044	InstanceId *string `type:"string" required:"true"`
26045
26046	// The maximum number of patches to return (per page).
26047	MaxResults *int64 `min:"10" type:"integer"`
26048
26049	// The token for the next set of items to return. (You received this token from
26050	// a previous call.)
26051	NextToken *string `type:"string"`
26052}
26053
26054// String returns the string representation.
26055//
26056// API parameter values that are decorated as "sensitive" in the API will not
26057// be included in the string output. The member name will be present, but the
26058// value will be replaced with "sensitive".
26059func (s DescribeInstancePatchesInput) String() string {
26060	return awsutil.Prettify(s)
26061}
26062
26063// GoString returns the string representation.
26064//
26065// API parameter values that are decorated as "sensitive" in the API will not
26066// be included in the string output. The member name will be present, but the
26067// value will be replaced with "sensitive".
26068func (s DescribeInstancePatchesInput) GoString() string {
26069	return s.String()
26070}
26071
26072// Validate inspects the fields of the type to determine if they are valid.
26073func (s *DescribeInstancePatchesInput) Validate() error {
26074	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancePatchesInput"}
26075	if s.InstanceId == nil {
26076		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26077	}
26078	if s.MaxResults != nil && *s.MaxResults < 10 {
26079		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
26080	}
26081	if s.Filters != nil {
26082		for i, v := range s.Filters {
26083			if v == nil {
26084				continue
26085			}
26086			if err := v.Validate(); err != nil {
26087				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26088			}
26089		}
26090	}
26091
26092	if invalidParams.Len() > 0 {
26093		return invalidParams
26094	}
26095	return nil
26096}
26097
26098// SetFilters sets the Filters field's value.
26099func (s *DescribeInstancePatchesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeInstancePatchesInput {
26100	s.Filters = v
26101	return s
26102}
26103
26104// SetInstanceId sets the InstanceId field's value.
26105func (s *DescribeInstancePatchesInput) SetInstanceId(v string) *DescribeInstancePatchesInput {
26106	s.InstanceId = &v
26107	return s
26108}
26109
26110// SetMaxResults sets the MaxResults field's value.
26111func (s *DescribeInstancePatchesInput) SetMaxResults(v int64) *DescribeInstancePatchesInput {
26112	s.MaxResults = &v
26113	return s
26114}
26115
26116// SetNextToken sets the NextToken field's value.
26117func (s *DescribeInstancePatchesInput) SetNextToken(v string) *DescribeInstancePatchesInput {
26118	s.NextToken = &v
26119	return s
26120}
26121
26122type DescribeInstancePatchesOutput struct {
26123	_ struct{} `type:"structure"`
26124
26125	// The token to use when requesting the next set of items. If there are no additional
26126	// items to return, the string is empty.
26127	NextToken *string `type:"string"`
26128
26129	// Each entry in the array is a structure containing:
26130	//
26131	//    * Title (string)
26132	//
26133	//    * KBId (string)
26134	//
26135	//    * Classification (string)
26136	//
26137	//    * Severity (string)
26138	//
26139	//    * State (string, such as "INSTALLED" or "FAILED")
26140	//
26141	//    * InstalledTime (DateTime)
26142	//
26143	//    * InstalledBy (string)
26144	Patches []*PatchComplianceData `type:"list"`
26145}
26146
26147// String returns the string representation.
26148//
26149// API parameter values that are decorated as "sensitive" in the API will not
26150// be included in the string output. The member name will be present, but the
26151// value will be replaced with "sensitive".
26152func (s DescribeInstancePatchesOutput) String() string {
26153	return awsutil.Prettify(s)
26154}
26155
26156// GoString returns the string representation.
26157//
26158// API parameter values that are decorated as "sensitive" in the API will not
26159// be included in the string output. The member name will be present, but the
26160// value will be replaced with "sensitive".
26161func (s DescribeInstancePatchesOutput) GoString() string {
26162	return s.String()
26163}
26164
26165// SetNextToken sets the NextToken field's value.
26166func (s *DescribeInstancePatchesOutput) SetNextToken(v string) *DescribeInstancePatchesOutput {
26167	s.NextToken = &v
26168	return s
26169}
26170
26171// SetPatches sets the Patches field's value.
26172func (s *DescribeInstancePatchesOutput) SetPatches(v []*PatchComplianceData) *DescribeInstancePatchesOutput {
26173	s.Patches = v
26174	return s
26175}
26176
26177type DescribeInventoryDeletionsInput struct {
26178	_ struct{} `type:"structure"`
26179
26180	// Specify the delete inventory ID for which you want information. This ID was
26181	// returned by the DeleteInventory operation.
26182	DeletionId *string `type:"string"`
26183
26184	// The maximum number of items to return for this call. The call also returns
26185	// a token that you can specify in a subsequent call to get the next set of
26186	// results.
26187	MaxResults *int64 `min:"1" type:"integer"`
26188
26189	// A token to start the list. Use this token to get the next set of results.
26190	NextToken *string `type:"string"`
26191}
26192
26193// String returns the string representation.
26194//
26195// API parameter values that are decorated as "sensitive" in the API will not
26196// be included in the string output. The member name will be present, but the
26197// value will be replaced with "sensitive".
26198func (s DescribeInventoryDeletionsInput) String() string {
26199	return awsutil.Prettify(s)
26200}
26201
26202// GoString returns the string representation.
26203//
26204// API parameter values that are decorated as "sensitive" in the API will not
26205// be included in the string output. The member name will be present, but the
26206// value will be replaced with "sensitive".
26207func (s DescribeInventoryDeletionsInput) GoString() string {
26208	return s.String()
26209}
26210
26211// Validate inspects the fields of the type to determine if they are valid.
26212func (s *DescribeInventoryDeletionsInput) Validate() error {
26213	invalidParams := request.ErrInvalidParams{Context: "DescribeInventoryDeletionsInput"}
26214	if s.MaxResults != nil && *s.MaxResults < 1 {
26215		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26216	}
26217
26218	if invalidParams.Len() > 0 {
26219		return invalidParams
26220	}
26221	return nil
26222}
26223
26224// SetDeletionId sets the DeletionId field's value.
26225func (s *DescribeInventoryDeletionsInput) SetDeletionId(v string) *DescribeInventoryDeletionsInput {
26226	s.DeletionId = &v
26227	return s
26228}
26229
26230// SetMaxResults sets the MaxResults field's value.
26231func (s *DescribeInventoryDeletionsInput) SetMaxResults(v int64) *DescribeInventoryDeletionsInput {
26232	s.MaxResults = &v
26233	return s
26234}
26235
26236// SetNextToken sets the NextToken field's value.
26237func (s *DescribeInventoryDeletionsInput) SetNextToken(v string) *DescribeInventoryDeletionsInput {
26238	s.NextToken = &v
26239	return s
26240}
26241
26242type DescribeInventoryDeletionsOutput struct {
26243	_ struct{} `type:"structure"`
26244
26245	// A list of status items for deleted inventory.
26246	InventoryDeletions []*InventoryDeletionStatusItem `type:"list"`
26247
26248	// The token for the next set of items to return. Use this token to get the
26249	// next set of results.
26250	NextToken *string `type:"string"`
26251}
26252
26253// String returns the string representation.
26254//
26255// API parameter values that are decorated as "sensitive" in the API will not
26256// be included in the string output. The member name will be present, but the
26257// value will be replaced with "sensitive".
26258func (s DescribeInventoryDeletionsOutput) String() string {
26259	return awsutil.Prettify(s)
26260}
26261
26262// GoString returns the string representation.
26263//
26264// API parameter values that are decorated as "sensitive" in the API will not
26265// be included in the string output. The member name will be present, but the
26266// value will be replaced with "sensitive".
26267func (s DescribeInventoryDeletionsOutput) GoString() string {
26268	return s.String()
26269}
26270
26271// SetInventoryDeletions sets the InventoryDeletions field's value.
26272func (s *DescribeInventoryDeletionsOutput) SetInventoryDeletions(v []*InventoryDeletionStatusItem) *DescribeInventoryDeletionsOutput {
26273	s.InventoryDeletions = v
26274	return s
26275}
26276
26277// SetNextToken sets the NextToken field's value.
26278func (s *DescribeInventoryDeletionsOutput) SetNextToken(v string) *DescribeInventoryDeletionsOutput {
26279	s.NextToken = &v
26280	return s
26281}
26282
26283type DescribeMaintenanceWindowExecutionTaskInvocationsInput struct {
26284	_ struct{} `type:"structure"`
26285
26286	// Optional filters used to scope down the returned task invocations. The supported
26287	// filter key is STATUS with the corresponding values PENDING, IN_PROGRESS,
26288	// SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
26289	Filters []*MaintenanceWindowFilter `type:"list"`
26290
26291	// The maximum number of items to return for this call. The call also returns
26292	// a token that you can specify in a subsequent call to get the next set of
26293	// results.
26294	MaxResults *int64 `min:"10" type:"integer"`
26295
26296	// The token for the next set of items to return. (You received this token from
26297	// a previous call.)
26298	NextToken *string `type:"string"`
26299
26300	// The ID of the specific task in the maintenance window task that should be
26301	// retrieved.
26302	//
26303	// TaskId is a required field
26304	TaskId *string `min:"36" type:"string" required:"true"`
26305
26306	// The ID of the maintenance window execution the task is part of.
26307	//
26308	// WindowExecutionId is a required field
26309	WindowExecutionId *string `min:"36" type:"string" required:"true"`
26310}
26311
26312// String returns the string representation.
26313//
26314// API parameter values that are decorated as "sensitive" in the API will not
26315// be included in the string output. The member name will be present, but the
26316// value will be replaced with "sensitive".
26317func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) String() string {
26318	return awsutil.Prettify(s)
26319}
26320
26321// GoString returns the string representation.
26322//
26323// API parameter values that are decorated as "sensitive" in the API will not
26324// be included in the string output. The member name will be present, but the
26325// value will be replaced with "sensitive".
26326func (s DescribeMaintenanceWindowExecutionTaskInvocationsInput) GoString() string {
26327	return s.String()
26328}
26329
26330// Validate inspects the fields of the type to determine if they are valid.
26331func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) Validate() error {
26332	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTaskInvocationsInput"}
26333	if s.MaxResults != nil && *s.MaxResults < 10 {
26334		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
26335	}
26336	if s.TaskId == nil {
26337		invalidParams.Add(request.NewErrParamRequired("TaskId"))
26338	}
26339	if s.TaskId != nil && len(*s.TaskId) < 36 {
26340		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
26341	}
26342	if s.WindowExecutionId == nil {
26343		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
26344	}
26345	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
26346		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
26347	}
26348	if s.Filters != nil {
26349		for i, v := range s.Filters {
26350			if v == nil {
26351				continue
26352			}
26353			if err := v.Validate(); err != nil {
26354				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26355			}
26356		}
26357	}
26358
26359	if invalidParams.Len() > 0 {
26360		return invalidParams
26361	}
26362	return nil
26363}
26364
26365// SetFilters sets the Filters field's value.
26366func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
26367	s.Filters = v
26368	return s
26369}
26370
26371// SetMaxResults sets the MaxResults field's value.
26372func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
26373	s.MaxResults = &v
26374	return s
26375}
26376
26377// SetNextToken sets the NextToken field's value.
26378func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
26379	s.NextToken = &v
26380	return s
26381}
26382
26383// SetTaskId sets the TaskId field's value.
26384func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetTaskId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
26385	s.TaskId = &v
26386	return s
26387}
26388
26389// SetWindowExecutionId sets the WindowExecutionId field's value.
26390func (s *DescribeMaintenanceWindowExecutionTaskInvocationsInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsInput {
26391	s.WindowExecutionId = &v
26392	return s
26393}
26394
26395type DescribeMaintenanceWindowExecutionTaskInvocationsOutput struct {
26396	_ struct{} `type:"structure"`
26397
26398	// The token to use when requesting the next set of items. If there are no additional
26399	// items to return, the string is empty.
26400	NextToken *string `type:"string"`
26401
26402	// Information about the task invocation results per invocation.
26403	WindowExecutionTaskInvocationIdentities []*MaintenanceWindowExecutionTaskInvocationIdentity `type:"list"`
26404}
26405
26406// String returns the string representation.
26407//
26408// API parameter values that are decorated as "sensitive" in the API will not
26409// be included in the string output. The member name will be present, but the
26410// value will be replaced with "sensitive".
26411func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) String() string {
26412	return awsutil.Prettify(s)
26413}
26414
26415// GoString returns the string representation.
26416//
26417// API parameter values that are decorated as "sensitive" in the API will not
26418// be included in the string output. The member name will be present, but the
26419// value will be replaced with "sensitive".
26420func (s DescribeMaintenanceWindowExecutionTaskInvocationsOutput) GoString() string {
26421	return s.String()
26422}
26423
26424// SetNextToken sets the NextToken field's value.
26425func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
26426	s.NextToken = &v
26427	return s
26428}
26429
26430// SetWindowExecutionTaskInvocationIdentities sets the WindowExecutionTaskInvocationIdentities field's value.
26431func (s *DescribeMaintenanceWindowExecutionTaskInvocationsOutput) SetWindowExecutionTaskInvocationIdentities(v []*MaintenanceWindowExecutionTaskInvocationIdentity) *DescribeMaintenanceWindowExecutionTaskInvocationsOutput {
26432	s.WindowExecutionTaskInvocationIdentities = v
26433	return s
26434}
26435
26436type DescribeMaintenanceWindowExecutionTasksInput struct {
26437	_ struct{} `type:"structure"`
26438
26439	// Optional filters used to scope down the returned tasks. The supported filter
26440	// key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS,
26441	// FAILED, TIMED_OUT, CANCELLING, and CANCELLED.
26442	Filters []*MaintenanceWindowFilter `type:"list"`
26443
26444	// The maximum number of items to return for this call. The call also returns
26445	// a token that you can specify in a subsequent call to get the next set of
26446	// results.
26447	MaxResults *int64 `min:"10" type:"integer"`
26448
26449	// The token for the next set of items to return. (You received this token from
26450	// a previous call.)
26451	NextToken *string `type:"string"`
26452
26453	// The ID of the maintenance window execution whose task executions should be
26454	// retrieved.
26455	//
26456	// WindowExecutionId is a required field
26457	WindowExecutionId *string `min:"36" type:"string" required:"true"`
26458}
26459
26460// String returns the string representation.
26461//
26462// API parameter values that are decorated as "sensitive" in the API will not
26463// be included in the string output. The member name will be present, but the
26464// value will be replaced with "sensitive".
26465func (s DescribeMaintenanceWindowExecutionTasksInput) String() string {
26466	return awsutil.Prettify(s)
26467}
26468
26469// GoString returns the string representation.
26470//
26471// API parameter values that are decorated as "sensitive" in the API will not
26472// be included in the string output. The member name will be present, but the
26473// value will be replaced with "sensitive".
26474func (s DescribeMaintenanceWindowExecutionTasksInput) GoString() string {
26475	return s.String()
26476}
26477
26478// Validate inspects the fields of the type to determine if they are valid.
26479func (s *DescribeMaintenanceWindowExecutionTasksInput) Validate() error {
26480	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionTasksInput"}
26481	if s.MaxResults != nil && *s.MaxResults < 10 {
26482		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
26483	}
26484	if s.WindowExecutionId == nil {
26485		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
26486	}
26487	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
26488		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
26489	}
26490	if s.Filters != nil {
26491		for i, v := range s.Filters {
26492			if v == nil {
26493				continue
26494			}
26495			if err := v.Validate(); err != nil {
26496				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26497			}
26498		}
26499	}
26500
26501	if invalidParams.Len() > 0 {
26502		return invalidParams
26503	}
26504	return nil
26505}
26506
26507// SetFilters sets the Filters field's value.
26508func (s *DescribeMaintenanceWindowExecutionTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionTasksInput {
26509	s.Filters = v
26510	return s
26511}
26512
26513// SetMaxResults sets the MaxResults field's value.
26514func (s *DescribeMaintenanceWindowExecutionTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionTasksInput {
26515	s.MaxResults = &v
26516	return s
26517}
26518
26519// SetNextToken sets the NextToken field's value.
26520func (s *DescribeMaintenanceWindowExecutionTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksInput {
26521	s.NextToken = &v
26522	return s
26523}
26524
26525// SetWindowExecutionId sets the WindowExecutionId field's value.
26526func (s *DescribeMaintenanceWindowExecutionTasksInput) SetWindowExecutionId(v string) *DescribeMaintenanceWindowExecutionTasksInput {
26527	s.WindowExecutionId = &v
26528	return s
26529}
26530
26531type DescribeMaintenanceWindowExecutionTasksOutput struct {
26532	_ struct{} `type:"structure"`
26533
26534	// The token to use when requesting the next set of items. If there are no additional
26535	// items to return, the string is empty.
26536	NextToken *string `type:"string"`
26537
26538	// Information about the task executions.
26539	WindowExecutionTaskIdentities []*MaintenanceWindowExecutionTaskIdentity `type:"list"`
26540}
26541
26542// String returns the string representation.
26543//
26544// API parameter values that are decorated as "sensitive" in the API will not
26545// be included in the string output. The member name will be present, but the
26546// value will be replaced with "sensitive".
26547func (s DescribeMaintenanceWindowExecutionTasksOutput) String() string {
26548	return awsutil.Prettify(s)
26549}
26550
26551// GoString returns the string representation.
26552//
26553// API parameter values that are decorated as "sensitive" in the API will not
26554// be included in the string output. The member name will be present, but the
26555// value will be replaced with "sensitive".
26556func (s DescribeMaintenanceWindowExecutionTasksOutput) GoString() string {
26557	return s.String()
26558}
26559
26560// SetNextToken sets the NextToken field's value.
26561func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionTasksOutput {
26562	s.NextToken = &v
26563	return s
26564}
26565
26566// SetWindowExecutionTaskIdentities sets the WindowExecutionTaskIdentities field's value.
26567func (s *DescribeMaintenanceWindowExecutionTasksOutput) SetWindowExecutionTaskIdentities(v []*MaintenanceWindowExecutionTaskIdentity) *DescribeMaintenanceWindowExecutionTasksOutput {
26568	s.WindowExecutionTaskIdentities = v
26569	return s
26570}
26571
26572type DescribeMaintenanceWindowExecutionsInput struct {
26573	_ struct{} `type:"structure"`
26574
26575	// Each entry in the array is a structure containing:
26576	//
26577	//    * Key. A string between 1 and 128 characters. Supported keys include ExecutedBefore
26578	//    and ExecutedAfter.
26579	//
26580	//    * Values. An array of strings, each between 1 and 256 characters. Supported
26581	//    values are date/time strings in a valid ISO 8601 date/time format, such
26582	//    as 2021-11-04T05:00:00Z.
26583	Filters []*MaintenanceWindowFilter `type:"list"`
26584
26585	// The maximum number of items to return for this call. The call also returns
26586	// a token that you can specify in a subsequent call to get the next set of
26587	// results.
26588	MaxResults *int64 `min:"10" type:"integer"`
26589
26590	// The token for the next set of items to return. (You received this token from
26591	// a previous call.)
26592	NextToken *string `type:"string"`
26593
26594	// The ID of the maintenance window whose executions should be retrieved.
26595	//
26596	// WindowId is a required field
26597	WindowId *string `min:"20" type:"string" required:"true"`
26598}
26599
26600// String returns the string representation.
26601//
26602// API parameter values that are decorated as "sensitive" in the API will not
26603// be included in the string output. The member name will be present, but the
26604// value will be replaced with "sensitive".
26605func (s DescribeMaintenanceWindowExecutionsInput) String() string {
26606	return awsutil.Prettify(s)
26607}
26608
26609// GoString returns the string representation.
26610//
26611// API parameter values that are decorated as "sensitive" in the API will not
26612// be included in the string output. The member name will be present, but the
26613// value will be replaced with "sensitive".
26614func (s DescribeMaintenanceWindowExecutionsInput) GoString() string {
26615	return s.String()
26616}
26617
26618// Validate inspects the fields of the type to determine if they are valid.
26619func (s *DescribeMaintenanceWindowExecutionsInput) Validate() error {
26620	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowExecutionsInput"}
26621	if s.MaxResults != nil && *s.MaxResults < 10 {
26622		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
26623	}
26624	if s.WindowId == nil {
26625		invalidParams.Add(request.NewErrParamRequired("WindowId"))
26626	}
26627	if s.WindowId != nil && len(*s.WindowId) < 20 {
26628		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26629	}
26630	if s.Filters != nil {
26631		for i, v := range s.Filters {
26632			if v == nil {
26633				continue
26634			}
26635			if err := v.Validate(); err != nil {
26636				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26637			}
26638		}
26639	}
26640
26641	if invalidParams.Len() > 0 {
26642		return invalidParams
26643	}
26644	return nil
26645}
26646
26647// SetFilters sets the Filters field's value.
26648func (s *DescribeMaintenanceWindowExecutionsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowExecutionsInput {
26649	s.Filters = v
26650	return s
26651}
26652
26653// SetMaxResults sets the MaxResults field's value.
26654func (s *DescribeMaintenanceWindowExecutionsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowExecutionsInput {
26655	s.MaxResults = &v
26656	return s
26657}
26658
26659// SetNextToken sets the NextToken field's value.
26660func (s *DescribeMaintenanceWindowExecutionsInput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsInput {
26661	s.NextToken = &v
26662	return s
26663}
26664
26665// SetWindowId sets the WindowId field's value.
26666func (s *DescribeMaintenanceWindowExecutionsInput) SetWindowId(v string) *DescribeMaintenanceWindowExecutionsInput {
26667	s.WindowId = &v
26668	return s
26669}
26670
26671type DescribeMaintenanceWindowExecutionsOutput struct {
26672	_ struct{} `type:"structure"`
26673
26674	// The token to use when requesting the next set of items. If there are no additional
26675	// items to return, the string is empty.
26676	NextToken *string `type:"string"`
26677
26678	// Information about the maintenance window executions.
26679	WindowExecutions []*MaintenanceWindowExecution `type:"list"`
26680}
26681
26682// String returns the string representation.
26683//
26684// API parameter values that are decorated as "sensitive" in the API will not
26685// be included in the string output. The member name will be present, but the
26686// value will be replaced with "sensitive".
26687func (s DescribeMaintenanceWindowExecutionsOutput) String() string {
26688	return awsutil.Prettify(s)
26689}
26690
26691// GoString returns the string representation.
26692//
26693// API parameter values that are decorated as "sensitive" in the API will not
26694// be included in the string output. The member name will be present, but the
26695// value will be replaced with "sensitive".
26696func (s DescribeMaintenanceWindowExecutionsOutput) GoString() string {
26697	return s.String()
26698}
26699
26700// SetNextToken sets the NextToken field's value.
26701func (s *DescribeMaintenanceWindowExecutionsOutput) SetNextToken(v string) *DescribeMaintenanceWindowExecutionsOutput {
26702	s.NextToken = &v
26703	return s
26704}
26705
26706// SetWindowExecutions sets the WindowExecutions field's value.
26707func (s *DescribeMaintenanceWindowExecutionsOutput) SetWindowExecutions(v []*MaintenanceWindowExecution) *DescribeMaintenanceWindowExecutionsOutput {
26708	s.WindowExecutions = v
26709	return s
26710}
26711
26712type DescribeMaintenanceWindowScheduleInput struct {
26713	_ struct{} `type:"structure"`
26714
26715	// Filters used to limit the range of results. For example, you can limit maintenance
26716	// window executions to only those scheduled before or after a certain date
26717	// and time.
26718	Filters []*PatchOrchestratorFilter `type:"list"`
26719
26720	// The maximum number of items to return for this call. The call also returns
26721	// a token that you can specify in a subsequent call to get the next set of
26722	// results.
26723	MaxResults *int64 `min:"1" type:"integer"`
26724
26725	// The token for the next set of items to return. (You received this token from
26726	// a previous call.)
26727	NextToken *string `type:"string"`
26728
26729	// The type of resource you want to retrieve information about. For example,
26730	// INSTANCE.
26731	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
26732
26733	// The instance ID or key-value pair to retrieve information about.
26734	Targets []*Target `type:"list"`
26735
26736	// The ID of the maintenance window to retrieve information about.
26737	WindowId *string `min:"20" type:"string"`
26738}
26739
26740// String returns the string representation.
26741//
26742// API parameter values that are decorated as "sensitive" in the API will not
26743// be included in the string output. The member name will be present, but the
26744// value will be replaced with "sensitive".
26745func (s DescribeMaintenanceWindowScheduleInput) String() string {
26746	return awsutil.Prettify(s)
26747}
26748
26749// GoString returns the string representation.
26750//
26751// API parameter values that are decorated as "sensitive" in the API will not
26752// be included in the string output. The member name will be present, but the
26753// value will be replaced with "sensitive".
26754func (s DescribeMaintenanceWindowScheduleInput) GoString() string {
26755	return s.String()
26756}
26757
26758// Validate inspects the fields of the type to determine if they are valid.
26759func (s *DescribeMaintenanceWindowScheduleInput) Validate() error {
26760	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowScheduleInput"}
26761	if s.MaxResults != nil && *s.MaxResults < 1 {
26762		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26763	}
26764	if s.WindowId != nil && len(*s.WindowId) < 20 {
26765		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26766	}
26767	if s.Filters != nil {
26768		for i, v := range s.Filters {
26769			if v == nil {
26770				continue
26771			}
26772			if err := v.Validate(); err != nil {
26773				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26774			}
26775		}
26776	}
26777	if s.Targets != nil {
26778		for i, v := range s.Targets {
26779			if v == nil {
26780				continue
26781			}
26782			if err := v.Validate(); err != nil {
26783				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
26784			}
26785		}
26786	}
26787
26788	if invalidParams.Len() > 0 {
26789		return invalidParams
26790	}
26791	return nil
26792}
26793
26794// SetFilters sets the Filters field's value.
26795func (s *DescribeMaintenanceWindowScheduleInput) SetFilters(v []*PatchOrchestratorFilter) *DescribeMaintenanceWindowScheduleInput {
26796	s.Filters = v
26797	return s
26798}
26799
26800// SetMaxResults sets the MaxResults field's value.
26801func (s *DescribeMaintenanceWindowScheduleInput) SetMaxResults(v int64) *DescribeMaintenanceWindowScheduleInput {
26802	s.MaxResults = &v
26803	return s
26804}
26805
26806// SetNextToken sets the NextToken field's value.
26807func (s *DescribeMaintenanceWindowScheduleInput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleInput {
26808	s.NextToken = &v
26809	return s
26810}
26811
26812// SetResourceType sets the ResourceType field's value.
26813func (s *DescribeMaintenanceWindowScheduleInput) SetResourceType(v string) *DescribeMaintenanceWindowScheduleInput {
26814	s.ResourceType = &v
26815	return s
26816}
26817
26818// SetTargets sets the Targets field's value.
26819func (s *DescribeMaintenanceWindowScheduleInput) SetTargets(v []*Target) *DescribeMaintenanceWindowScheduleInput {
26820	s.Targets = v
26821	return s
26822}
26823
26824// SetWindowId sets the WindowId field's value.
26825func (s *DescribeMaintenanceWindowScheduleInput) SetWindowId(v string) *DescribeMaintenanceWindowScheduleInput {
26826	s.WindowId = &v
26827	return s
26828}
26829
26830type DescribeMaintenanceWindowScheduleOutput struct {
26831	_ struct{} `type:"structure"`
26832
26833	// The token for the next set of items to return. (You use this token in the
26834	// next call.)
26835	NextToken *string `type:"string"`
26836
26837	// Information about maintenance window executions scheduled for the specified
26838	// time range.
26839	ScheduledWindowExecutions []*ScheduledWindowExecution `type:"list"`
26840}
26841
26842// String returns the string representation.
26843//
26844// API parameter values that are decorated as "sensitive" in the API will not
26845// be included in the string output. The member name will be present, but the
26846// value will be replaced with "sensitive".
26847func (s DescribeMaintenanceWindowScheduleOutput) String() string {
26848	return awsutil.Prettify(s)
26849}
26850
26851// GoString returns the string representation.
26852//
26853// API parameter values that are decorated as "sensitive" in the API will not
26854// be included in the string output. The member name will be present, but the
26855// value will be replaced with "sensitive".
26856func (s DescribeMaintenanceWindowScheduleOutput) GoString() string {
26857	return s.String()
26858}
26859
26860// SetNextToken sets the NextToken field's value.
26861func (s *DescribeMaintenanceWindowScheduleOutput) SetNextToken(v string) *DescribeMaintenanceWindowScheduleOutput {
26862	s.NextToken = &v
26863	return s
26864}
26865
26866// SetScheduledWindowExecutions sets the ScheduledWindowExecutions field's value.
26867func (s *DescribeMaintenanceWindowScheduleOutput) SetScheduledWindowExecutions(v []*ScheduledWindowExecution) *DescribeMaintenanceWindowScheduleOutput {
26868	s.ScheduledWindowExecutions = v
26869	return s
26870}
26871
26872type DescribeMaintenanceWindowTargetsInput struct {
26873	_ struct{} `type:"structure"`
26874
26875	// Optional filters that can be used to narrow down the scope of the returned
26876	// window targets. The supported filter keys are Type, WindowTargetId, and OwnerInformation.
26877	Filters []*MaintenanceWindowFilter `type:"list"`
26878
26879	// The maximum number of items to return for this call. The call also returns
26880	// a token that you can specify in a subsequent call to get the next set of
26881	// results.
26882	MaxResults *int64 `min:"10" type:"integer"`
26883
26884	// The token for the next set of items to return. (You received this token from
26885	// a previous call.)
26886	NextToken *string `type:"string"`
26887
26888	// The ID of the maintenance window whose targets should be retrieved.
26889	//
26890	// WindowId is a required field
26891	WindowId *string `min:"20" type:"string" required:"true"`
26892}
26893
26894// String returns the string representation.
26895//
26896// API parameter values that are decorated as "sensitive" in the API will not
26897// be included in the string output. The member name will be present, but the
26898// value will be replaced with "sensitive".
26899func (s DescribeMaintenanceWindowTargetsInput) String() string {
26900	return awsutil.Prettify(s)
26901}
26902
26903// GoString returns the string representation.
26904//
26905// API parameter values that are decorated as "sensitive" in the API will not
26906// be included in the string output. The member name will be present, but the
26907// value will be replaced with "sensitive".
26908func (s DescribeMaintenanceWindowTargetsInput) GoString() string {
26909	return s.String()
26910}
26911
26912// Validate inspects the fields of the type to determine if they are valid.
26913func (s *DescribeMaintenanceWindowTargetsInput) Validate() error {
26914	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTargetsInput"}
26915	if s.MaxResults != nil && *s.MaxResults < 10 {
26916		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
26917	}
26918	if s.WindowId == nil {
26919		invalidParams.Add(request.NewErrParamRequired("WindowId"))
26920	}
26921	if s.WindowId != nil && len(*s.WindowId) < 20 {
26922		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
26923	}
26924	if s.Filters != nil {
26925		for i, v := range s.Filters {
26926			if v == nil {
26927				continue
26928			}
26929			if err := v.Validate(); err != nil {
26930				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26931			}
26932		}
26933	}
26934
26935	if invalidParams.Len() > 0 {
26936		return invalidParams
26937	}
26938	return nil
26939}
26940
26941// SetFilters sets the Filters field's value.
26942func (s *DescribeMaintenanceWindowTargetsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTargetsInput {
26943	s.Filters = v
26944	return s
26945}
26946
26947// SetMaxResults sets the MaxResults field's value.
26948func (s *DescribeMaintenanceWindowTargetsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTargetsInput {
26949	s.MaxResults = &v
26950	return s
26951}
26952
26953// SetNextToken sets the NextToken field's value.
26954func (s *DescribeMaintenanceWindowTargetsInput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsInput {
26955	s.NextToken = &v
26956	return s
26957}
26958
26959// SetWindowId sets the WindowId field's value.
26960func (s *DescribeMaintenanceWindowTargetsInput) SetWindowId(v string) *DescribeMaintenanceWindowTargetsInput {
26961	s.WindowId = &v
26962	return s
26963}
26964
26965type DescribeMaintenanceWindowTargetsOutput struct {
26966	_ struct{} `type:"structure"`
26967
26968	// The token to use when requesting the next set of items. If there are no additional
26969	// items to return, the string is empty.
26970	NextToken *string `type:"string"`
26971
26972	// Information about the targets in the maintenance window.
26973	Targets []*MaintenanceWindowTarget `type:"list"`
26974}
26975
26976// String returns the string representation.
26977//
26978// API parameter values that are decorated as "sensitive" in the API will not
26979// be included in the string output. The member name will be present, but the
26980// value will be replaced with "sensitive".
26981func (s DescribeMaintenanceWindowTargetsOutput) String() string {
26982	return awsutil.Prettify(s)
26983}
26984
26985// GoString returns the string representation.
26986//
26987// API parameter values that are decorated as "sensitive" in the API will not
26988// be included in the string output. The member name will be present, but the
26989// value will be replaced with "sensitive".
26990func (s DescribeMaintenanceWindowTargetsOutput) GoString() string {
26991	return s.String()
26992}
26993
26994// SetNextToken sets the NextToken field's value.
26995func (s *DescribeMaintenanceWindowTargetsOutput) SetNextToken(v string) *DescribeMaintenanceWindowTargetsOutput {
26996	s.NextToken = &v
26997	return s
26998}
26999
27000// SetTargets sets the Targets field's value.
27001func (s *DescribeMaintenanceWindowTargetsOutput) SetTargets(v []*MaintenanceWindowTarget) *DescribeMaintenanceWindowTargetsOutput {
27002	s.Targets = v
27003	return s
27004}
27005
27006type DescribeMaintenanceWindowTasksInput struct {
27007	_ struct{} `type:"structure"`
27008
27009	// Optional filters used to narrow down the scope of the returned tasks. The
27010	// supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.
27011	Filters []*MaintenanceWindowFilter `type:"list"`
27012
27013	// The maximum number of items to return for this call. The call also returns
27014	// a token that you can specify in a subsequent call to get the next set of
27015	// results.
27016	MaxResults *int64 `min:"10" type:"integer"`
27017
27018	// The token for the next set of items to return. (You received this token from
27019	// a previous call.)
27020	NextToken *string `type:"string"`
27021
27022	// The ID of the maintenance window whose tasks should be retrieved.
27023	//
27024	// WindowId is a required field
27025	WindowId *string `min:"20" type:"string" required:"true"`
27026}
27027
27028// String returns the string representation.
27029//
27030// API parameter values that are decorated as "sensitive" in the API will not
27031// be included in the string output. The member name will be present, but the
27032// value will be replaced with "sensitive".
27033func (s DescribeMaintenanceWindowTasksInput) String() string {
27034	return awsutil.Prettify(s)
27035}
27036
27037// GoString returns the string representation.
27038//
27039// API parameter values that are decorated as "sensitive" in the API will not
27040// be included in the string output. The member name will be present, but the
27041// value will be replaced with "sensitive".
27042func (s DescribeMaintenanceWindowTasksInput) GoString() string {
27043	return s.String()
27044}
27045
27046// Validate inspects the fields of the type to determine if they are valid.
27047func (s *DescribeMaintenanceWindowTasksInput) Validate() error {
27048	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowTasksInput"}
27049	if s.MaxResults != nil && *s.MaxResults < 10 {
27050		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
27051	}
27052	if s.WindowId == nil {
27053		invalidParams.Add(request.NewErrParamRequired("WindowId"))
27054	}
27055	if s.WindowId != nil && len(*s.WindowId) < 20 {
27056		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
27057	}
27058	if s.Filters != nil {
27059		for i, v := range s.Filters {
27060			if v == nil {
27061				continue
27062			}
27063			if err := v.Validate(); err != nil {
27064				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27065			}
27066		}
27067	}
27068
27069	if invalidParams.Len() > 0 {
27070		return invalidParams
27071	}
27072	return nil
27073}
27074
27075// SetFilters sets the Filters field's value.
27076func (s *DescribeMaintenanceWindowTasksInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowTasksInput {
27077	s.Filters = v
27078	return s
27079}
27080
27081// SetMaxResults sets the MaxResults field's value.
27082func (s *DescribeMaintenanceWindowTasksInput) SetMaxResults(v int64) *DescribeMaintenanceWindowTasksInput {
27083	s.MaxResults = &v
27084	return s
27085}
27086
27087// SetNextToken sets the NextToken field's value.
27088func (s *DescribeMaintenanceWindowTasksInput) SetNextToken(v string) *DescribeMaintenanceWindowTasksInput {
27089	s.NextToken = &v
27090	return s
27091}
27092
27093// SetWindowId sets the WindowId field's value.
27094func (s *DescribeMaintenanceWindowTasksInput) SetWindowId(v string) *DescribeMaintenanceWindowTasksInput {
27095	s.WindowId = &v
27096	return s
27097}
27098
27099type DescribeMaintenanceWindowTasksOutput struct {
27100	_ struct{} `type:"structure"`
27101
27102	// The token to use when requesting the next set of items. If there are no additional
27103	// items to return, the string is empty.
27104	NextToken *string `type:"string"`
27105
27106	// Information about the tasks in the maintenance window.
27107	Tasks []*MaintenanceWindowTask `type:"list"`
27108}
27109
27110// String returns the string representation.
27111//
27112// API parameter values that are decorated as "sensitive" in the API will not
27113// be included in the string output. The member name will be present, but the
27114// value will be replaced with "sensitive".
27115func (s DescribeMaintenanceWindowTasksOutput) String() string {
27116	return awsutil.Prettify(s)
27117}
27118
27119// GoString returns the string representation.
27120//
27121// API parameter values that are decorated as "sensitive" in the API will not
27122// be included in the string output. The member name will be present, but the
27123// value will be replaced with "sensitive".
27124func (s DescribeMaintenanceWindowTasksOutput) GoString() string {
27125	return s.String()
27126}
27127
27128// SetNextToken sets the NextToken field's value.
27129func (s *DescribeMaintenanceWindowTasksOutput) SetNextToken(v string) *DescribeMaintenanceWindowTasksOutput {
27130	s.NextToken = &v
27131	return s
27132}
27133
27134// SetTasks sets the Tasks field's value.
27135func (s *DescribeMaintenanceWindowTasksOutput) SetTasks(v []*MaintenanceWindowTask) *DescribeMaintenanceWindowTasksOutput {
27136	s.Tasks = v
27137	return s
27138}
27139
27140type DescribeMaintenanceWindowsForTargetInput struct {
27141	_ struct{} `type:"structure"`
27142
27143	// The maximum number of items to return for this call. The call also returns
27144	// a token that you can specify in a subsequent call to get the next set of
27145	// results.
27146	MaxResults *int64 `min:"1" type:"integer"`
27147
27148	// The token for the next set of items to return. (You received this token from
27149	// a previous call.)
27150	NextToken *string `type:"string"`
27151
27152	// The type of resource you want to retrieve information about. For example,
27153	// INSTANCE.
27154	//
27155	// ResourceType is a required field
27156	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
27157
27158	// The instance ID or key-value pair to retrieve information about.
27159	//
27160	// Targets is a required field
27161	Targets []*Target `type:"list" required:"true"`
27162}
27163
27164// String returns the string representation.
27165//
27166// API parameter values that are decorated as "sensitive" in the API will not
27167// be included in the string output. The member name will be present, but the
27168// value will be replaced with "sensitive".
27169func (s DescribeMaintenanceWindowsForTargetInput) String() string {
27170	return awsutil.Prettify(s)
27171}
27172
27173// GoString returns the string representation.
27174//
27175// API parameter values that are decorated as "sensitive" in the API will not
27176// be included in the string output. The member name will be present, but the
27177// value will be replaced with "sensitive".
27178func (s DescribeMaintenanceWindowsForTargetInput) GoString() string {
27179	return s.String()
27180}
27181
27182// Validate inspects the fields of the type to determine if they are valid.
27183func (s *DescribeMaintenanceWindowsForTargetInput) Validate() error {
27184	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsForTargetInput"}
27185	if s.MaxResults != nil && *s.MaxResults < 1 {
27186		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27187	}
27188	if s.ResourceType == nil {
27189		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
27190	}
27191	if s.Targets == nil {
27192		invalidParams.Add(request.NewErrParamRequired("Targets"))
27193	}
27194	if s.Targets != nil {
27195		for i, v := range s.Targets {
27196			if v == nil {
27197				continue
27198			}
27199			if err := v.Validate(); err != nil {
27200				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
27201			}
27202		}
27203	}
27204
27205	if invalidParams.Len() > 0 {
27206		return invalidParams
27207	}
27208	return nil
27209}
27210
27211// SetMaxResults sets the MaxResults field's value.
27212func (s *DescribeMaintenanceWindowsForTargetInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsForTargetInput {
27213	s.MaxResults = &v
27214	return s
27215}
27216
27217// SetNextToken sets the NextToken field's value.
27218func (s *DescribeMaintenanceWindowsForTargetInput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetInput {
27219	s.NextToken = &v
27220	return s
27221}
27222
27223// SetResourceType sets the ResourceType field's value.
27224func (s *DescribeMaintenanceWindowsForTargetInput) SetResourceType(v string) *DescribeMaintenanceWindowsForTargetInput {
27225	s.ResourceType = &v
27226	return s
27227}
27228
27229// SetTargets sets the Targets field's value.
27230func (s *DescribeMaintenanceWindowsForTargetInput) SetTargets(v []*Target) *DescribeMaintenanceWindowsForTargetInput {
27231	s.Targets = v
27232	return s
27233}
27234
27235type DescribeMaintenanceWindowsForTargetOutput struct {
27236	_ struct{} `type:"structure"`
27237
27238	// The token for the next set of items to return. (You use this token in the
27239	// next call.)
27240	NextToken *string `type:"string"`
27241
27242	// Information about the maintenance window targets and tasks an instance is
27243	// associated with.
27244	WindowIdentities []*MaintenanceWindowIdentityForTarget `type:"list"`
27245}
27246
27247// String returns the string representation.
27248//
27249// API parameter values that are decorated as "sensitive" in the API will not
27250// be included in the string output. The member name will be present, but the
27251// value will be replaced with "sensitive".
27252func (s DescribeMaintenanceWindowsForTargetOutput) String() string {
27253	return awsutil.Prettify(s)
27254}
27255
27256// GoString returns the string representation.
27257//
27258// API parameter values that are decorated as "sensitive" in the API will not
27259// be included in the string output. The member name will be present, but the
27260// value will be replaced with "sensitive".
27261func (s DescribeMaintenanceWindowsForTargetOutput) GoString() string {
27262	return s.String()
27263}
27264
27265// SetNextToken sets the NextToken field's value.
27266func (s *DescribeMaintenanceWindowsForTargetOutput) SetNextToken(v string) *DescribeMaintenanceWindowsForTargetOutput {
27267	s.NextToken = &v
27268	return s
27269}
27270
27271// SetWindowIdentities sets the WindowIdentities field's value.
27272func (s *DescribeMaintenanceWindowsForTargetOutput) SetWindowIdentities(v []*MaintenanceWindowIdentityForTarget) *DescribeMaintenanceWindowsForTargetOutput {
27273	s.WindowIdentities = v
27274	return s
27275}
27276
27277type DescribeMaintenanceWindowsInput struct {
27278	_ struct{} `type:"structure"`
27279
27280	// Optional filters used to narrow down the scope of the returned maintenance
27281	// windows. Supported filter keys are Name and Enabled. For example, Name=MyMaintenanceWindow
27282	// and Enabled=True.
27283	Filters []*MaintenanceWindowFilter `type:"list"`
27284
27285	// The maximum number of items to return for this call. The call also returns
27286	// a token that you can specify in a subsequent call to get the next set of
27287	// results.
27288	MaxResults *int64 `min:"10" type:"integer"`
27289
27290	// The token for the next set of items to return. (You received this token from
27291	// a previous call.)
27292	NextToken *string `type:"string"`
27293}
27294
27295// String returns the string representation.
27296//
27297// API parameter values that are decorated as "sensitive" in the API will not
27298// be included in the string output. The member name will be present, but the
27299// value will be replaced with "sensitive".
27300func (s DescribeMaintenanceWindowsInput) String() string {
27301	return awsutil.Prettify(s)
27302}
27303
27304// GoString returns the string representation.
27305//
27306// API parameter values that are decorated as "sensitive" in the API will not
27307// be included in the string output. The member name will be present, but the
27308// value will be replaced with "sensitive".
27309func (s DescribeMaintenanceWindowsInput) GoString() string {
27310	return s.String()
27311}
27312
27313// Validate inspects the fields of the type to determine if they are valid.
27314func (s *DescribeMaintenanceWindowsInput) Validate() error {
27315	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceWindowsInput"}
27316	if s.MaxResults != nil && *s.MaxResults < 10 {
27317		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
27318	}
27319	if s.Filters != nil {
27320		for i, v := range s.Filters {
27321			if v == nil {
27322				continue
27323			}
27324			if err := v.Validate(); err != nil {
27325				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27326			}
27327		}
27328	}
27329
27330	if invalidParams.Len() > 0 {
27331		return invalidParams
27332	}
27333	return nil
27334}
27335
27336// SetFilters sets the Filters field's value.
27337func (s *DescribeMaintenanceWindowsInput) SetFilters(v []*MaintenanceWindowFilter) *DescribeMaintenanceWindowsInput {
27338	s.Filters = v
27339	return s
27340}
27341
27342// SetMaxResults sets the MaxResults field's value.
27343func (s *DescribeMaintenanceWindowsInput) SetMaxResults(v int64) *DescribeMaintenanceWindowsInput {
27344	s.MaxResults = &v
27345	return s
27346}
27347
27348// SetNextToken sets the NextToken field's value.
27349func (s *DescribeMaintenanceWindowsInput) SetNextToken(v string) *DescribeMaintenanceWindowsInput {
27350	s.NextToken = &v
27351	return s
27352}
27353
27354type DescribeMaintenanceWindowsOutput struct {
27355	_ struct{} `type:"structure"`
27356
27357	// The token to use when requesting the next set of items. If there are no additional
27358	// items to return, the string is empty.
27359	NextToken *string `type:"string"`
27360
27361	// Information about the maintenance windows.
27362	WindowIdentities []*MaintenanceWindowIdentity `type:"list"`
27363}
27364
27365// String returns the string representation.
27366//
27367// API parameter values that are decorated as "sensitive" in the API will not
27368// be included in the string output. The member name will be present, but the
27369// value will be replaced with "sensitive".
27370func (s DescribeMaintenanceWindowsOutput) String() string {
27371	return awsutil.Prettify(s)
27372}
27373
27374// GoString returns the string representation.
27375//
27376// API parameter values that are decorated as "sensitive" in the API will not
27377// be included in the string output. The member name will be present, but the
27378// value will be replaced with "sensitive".
27379func (s DescribeMaintenanceWindowsOutput) GoString() string {
27380	return s.String()
27381}
27382
27383// SetNextToken sets the NextToken field's value.
27384func (s *DescribeMaintenanceWindowsOutput) SetNextToken(v string) *DescribeMaintenanceWindowsOutput {
27385	s.NextToken = &v
27386	return s
27387}
27388
27389// SetWindowIdentities sets the WindowIdentities field's value.
27390func (s *DescribeMaintenanceWindowsOutput) SetWindowIdentities(v []*MaintenanceWindowIdentity) *DescribeMaintenanceWindowsOutput {
27391	s.WindowIdentities = v
27392	return s
27393}
27394
27395type DescribeOpsItemsInput struct {
27396	_ struct{} `type:"structure"`
27397
27398	// The maximum number of items to return for this call. The call also returns
27399	// a token that you can specify in a subsequent call to get the next set of
27400	// results.
27401	MaxResults *int64 `min:"1" type:"integer"`
27402
27403	// A token to start the list. Use this token to get the next set of results.
27404	NextToken *string `type:"string"`
27405
27406	// One or more filters to limit the response.
27407	//
27408	//    * Key: CreatedTime Operations: GreaterThan, LessThan
27409	//
27410	//    * Key: LastModifiedBy Operations: Contains, Equals
27411	//
27412	//    * Key: LastModifiedTime Operations: GreaterThan, LessThan
27413	//
27414	//    * Key: Priority Operations: Equals
27415	//
27416	//    * Key: Source Operations: Contains, Equals
27417	//
27418	//    * Key: Status Operations: Equals
27419	//
27420	//    * Key: Title* Operations: Equals,Contains
27421	//
27422	//    * Key: OperationalData** Operations: Equals
27423	//
27424	//    * Key: OperationalDataKey Operations: Equals
27425	//
27426	//    * Key: OperationalDataValue Operations: Equals, Contains
27427	//
27428	//    * Key: OpsItemId Operations: Equals
27429	//
27430	//    * Key: ResourceId Operations: Contains
27431	//
27432	//    * Key: AutomationId Operations: Equals
27433	//
27434	// *The Equals operator for Title matches the first 100 characters. If you specify
27435	// more than 100 characters, they system returns an error that the filter value
27436	// exceeds the length limit.
27437	//
27438	// **If you filter the response by using the OperationalData operator, specify
27439	// a key-value pair by using the following JSON format: {"key":"key_name","value":"a_value"}
27440	OpsItemFilters []*OpsItemFilter `type:"list"`
27441}
27442
27443// String returns the string representation.
27444//
27445// API parameter values that are decorated as "sensitive" in the API will not
27446// be included in the string output. The member name will be present, but the
27447// value will be replaced with "sensitive".
27448func (s DescribeOpsItemsInput) String() string {
27449	return awsutil.Prettify(s)
27450}
27451
27452// GoString returns the string representation.
27453//
27454// API parameter values that are decorated as "sensitive" in the API will not
27455// be included in the string output. The member name will be present, but the
27456// value will be replaced with "sensitive".
27457func (s DescribeOpsItemsInput) GoString() string {
27458	return s.String()
27459}
27460
27461// Validate inspects the fields of the type to determine if they are valid.
27462func (s *DescribeOpsItemsInput) Validate() error {
27463	invalidParams := request.ErrInvalidParams{Context: "DescribeOpsItemsInput"}
27464	if s.MaxResults != nil && *s.MaxResults < 1 {
27465		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27466	}
27467	if s.OpsItemFilters != nil {
27468		for i, v := range s.OpsItemFilters {
27469			if v == nil {
27470				continue
27471			}
27472			if err := v.Validate(); err != nil {
27473				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OpsItemFilters", i), err.(request.ErrInvalidParams))
27474			}
27475		}
27476	}
27477
27478	if invalidParams.Len() > 0 {
27479		return invalidParams
27480	}
27481	return nil
27482}
27483
27484// SetMaxResults sets the MaxResults field's value.
27485func (s *DescribeOpsItemsInput) SetMaxResults(v int64) *DescribeOpsItemsInput {
27486	s.MaxResults = &v
27487	return s
27488}
27489
27490// SetNextToken sets the NextToken field's value.
27491func (s *DescribeOpsItemsInput) SetNextToken(v string) *DescribeOpsItemsInput {
27492	s.NextToken = &v
27493	return s
27494}
27495
27496// SetOpsItemFilters sets the OpsItemFilters field's value.
27497func (s *DescribeOpsItemsInput) SetOpsItemFilters(v []*OpsItemFilter) *DescribeOpsItemsInput {
27498	s.OpsItemFilters = v
27499	return s
27500}
27501
27502type DescribeOpsItemsOutput struct {
27503	_ struct{} `type:"structure"`
27504
27505	// The token for the next set of items to return. Use this token to get the
27506	// next set of results.
27507	NextToken *string `type:"string"`
27508
27509	// A list of OpsItems.
27510	OpsItemSummaries []*OpsItemSummary `type:"list"`
27511}
27512
27513// String returns the string representation.
27514//
27515// API parameter values that are decorated as "sensitive" in the API will not
27516// be included in the string output. The member name will be present, but the
27517// value will be replaced with "sensitive".
27518func (s DescribeOpsItemsOutput) String() string {
27519	return awsutil.Prettify(s)
27520}
27521
27522// GoString returns the string representation.
27523//
27524// API parameter values that are decorated as "sensitive" in the API will not
27525// be included in the string output. The member name will be present, but the
27526// value will be replaced with "sensitive".
27527func (s DescribeOpsItemsOutput) GoString() string {
27528	return s.String()
27529}
27530
27531// SetNextToken sets the NextToken field's value.
27532func (s *DescribeOpsItemsOutput) SetNextToken(v string) *DescribeOpsItemsOutput {
27533	s.NextToken = &v
27534	return s
27535}
27536
27537// SetOpsItemSummaries sets the OpsItemSummaries field's value.
27538func (s *DescribeOpsItemsOutput) SetOpsItemSummaries(v []*OpsItemSummary) *DescribeOpsItemsOutput {
27539	s.OpsItemSummaries = v
27540	return s
27541}
27542
27543type DescribeParametersInput struct {
27544	_ struct{} `type:"structure"`
27545
27546	// This data type is deprecated. Instead, use ParameterFilters.
27547	Filters []*ParametersFilter `type:"list"`
27548
27549	// The maximum number of items to return for this call. The call also returns
27550	// a token that you can specify in a subsequent call to get the next set of
27551	// results.
27552	MaxResults *int64 `min:"1" type:"integer"`
27553
27554	// The token for the next set of items to return. (You received this token from
27555	// a previous call.)
27556	NextToken *string `type:"string"`
27557
27558	// Filters to limit the request results.
27559	ParameterFilters []*ParameterStringFilter `type:"list"`
27560}
27561
27562// String returns the string representation.
27563//
27564// API parameter values that are decorated as "sensitive" in the API will not
27565// be included in the string output. The member name will be present, but the
27566// value will be replaced with "sensitive".
27567func (s DescribeParametersInput) String() string {
27568	return awsutil.Prettify(s)
27569}
27570
27571// GoString returns the string representation.
27572//
27573// API parameter values that are decorated as "sensitive" in the API will not
27574// be included in the string output. The member name will be present, but the
27575// value will be replaced with "sensitive".
27576func (s DescribeParametersInput) GoString() string {
27577	return s.String()
27578}
27579
27580// Validate inspects the fields of the type to determine if they are valid.
27581func (s *DescribeParametersInput) Validate() error {
27582	invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"}
27583	if s.MaxResults != nil && *s.MaxResults < 1 {
27584		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27585	}
27586	if s.Filters != nil {
27587		for i, v := range s.Filters {
27588			if v == nil {
27589				continue
27590			}
27591			if err := v.Validate(); err != nil {
27592				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27593			}
27594		}
27595	}
27596	if s.ParameterFilters != nil {
27597		for i, v := range s.ParameterFilters {
27598			if v == nil {
27599				continue
27600			}
27601			if err := v.Validate(); err != nil {
27602				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
27603			}
27604		}
27605	}
27606
27607	if invalidParams.Len() > 0 {
27608		return invalidParams
27609	}
27610	return nil
27611}
27612
27613// SetFilters sets the Filters field's value.
27614func (s *DescribeParametersInput) SetFilters(v []*ParametersFilter) *DescribeParametersInput {
27615	s.Filters = v
27616	return s
27617}
27618
27619// SetMaxResults sets the MaxResults field's value.
27620func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput {
27621	s.MaxResults = &v
27622	return s
27623}
27624
27625// SetNextToken sets the NextToken field's value.
27626func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput {
27627	s.NextToken = &v
27628	return s
27629}
27630
27631// SetParameterFilters sets the ParameterFilters field's value.
27632func (s *DescribeParametersInput) SetParameterFilters(v []*ParameterStringFilter) *DescribeParametersInput {
27633	s.ParameterFilters = v
27634	return s
27635}
27636
27637type DescribeParametersOutput struct {
27638	_ struct{} `type:"structure"`
27639
27640	// The token to use when requesting the next set of items.
27641	NextToken *string `type:"string"`
27642
27643	// Parameters returned by the request.
27644	Parameters []*ParameterMetadata `type:"list"`
27645}
27646
27647// String returns the string representation.
27648//
27649// API parameter values that are decorated as "sensitive" in the API will not
27650// be included in the string output. The member name will be present, but the
27651// value will be replaced with "sensitive".
27652func (s DescribeParametersOutput) String() string {
27653	return awsutil.Prettify(s)
27654}
27655
27656// GoString returns the string representation.
27657//
27658// API parameter values that are decorated as "sensitive" in the API will not
27659// be included in the string output. The member name will be present, but the
27660// value will be replaced with "sensitive".
27661func (s DescribeParametersOutput) GoString() string {
27662	return s.String()
27663}
27664
27665// SetNextToken sets the NextToken field's value.
27666func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput {
27667	s.NextToken = &v
27668	return s
27669}
27670
27671// SetParameters sets the Parameters field's value.
27672func (s *DescribeParametersOutput) SetParameters(v []*ParameterMetadata) *DescribeParametersOutput {
27673	s.Parameters = v
27674	return s
27675}
27676
27677type DescribePatchBaselinesInput struct {
27678	_ struct{} `type:"structure"`
27679
27680	// Each element in the array is a structure containing a key-value pair.
27681	//
27682	// Supported keys for DescribePatchBaselines include the following:
27683	//
27684	//    * NAME_PREFIX Sample values: AWS- | My-
27685	//
27686	//    * OWNER Sample values: AWS | Self
27687	//
27688	//    * OPERATING_SYSTEM Sample values: AMAZON_LINUX | SUSE | WINDOWS
27689	Filters []*PatchOrchestratorFilter `type:"list"`
27690
27691	// The maximum number of patch baselines to return (per page).
27692	MaxResults *int64 `min:"1" type:"integer"`
27693
27694	// The token for the next set of items to return. (You received this token from
27695	// a previous call.)
27696	NextToken *string `type:"string"`
27697}
27698
27699// String returns the string representation.
27700//
27701// API parameter values that are decorated as "sensitive" in the API will not
27702// be included in the string output. The member name will be present, but the
27703// value will be replaced with "sensitive".
27704func (s DescribePatchBaselinesInput) String() string {
27705	return awsutil.Prettify(s)
27706}
27707
27708// GoString returns the string representation.
27709//
27710// API parameter values that are decorated as "sensitive" in the API will not
27711// be included in the string output. The member name will be present, but the
27712// value will be replaced with "sensitive".
27713func (s DescribePatchBaselinesInput) GoString() string {
27714	return s.String()
27715}
27716
27717// Validate inspects the fields of the type to determine if they are valid.
27718func (s *DescribePatchBaselinesInput) Validate() error {
27719	invalidParams := request.ErrInvalidParams{Context: "DescribePatchBaselinesInput"}
27720	if s.MaxResults != nil && *s.MaxResults < 1 {
27721		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27722	}
27723	if s.Filters != nil {
27724		for i, v := range s.Filters {
27725			if v == nil {
27726				continue
27727			}
27728			if err := v.Validate(); err != nil {
27729				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27730			}
27731		}
27732	}
27733
27734	if invalidParams.Len() > 0 {
27735		return invalidParams
27736	}
27737	return nil
27738}
27739
27740// SetFilters sets the Filters field's value.
27741func (s *DescribePatchBaselinesInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchBaselinesInput {
27742	s.Filters = v
27743	return s
27744}
27745
27746// SetMaxResults sets the MaxResults field's value.
27747func (s *DescribePatchBaselinesInput) SetMaxResults(v int64) *DescribePatchBaselinesInput {
27748	s.MaxResults = &v
27749	return s
27750}
27751
27752// SetNextToken sets the NextToken field's value.
27753func (s *DescribePatchBaselinesInput) SetNextToken(v string) *DescribePatchBaselinesInput {
27754	s.NextToken = &v
27755	return s
27756}
27757
27758type DescribePatchBaselinesOutput struct {
27759	_ struct{} `type:"structure"`
27760
27761	// An array of PatchBaselineIdentity elements.
27762	BaselineIdentities []*PatchBaselineIdentity `type:"list"`
27763
27764	// The token to use when requesting the next set of items. If there are no additional
27765	// items to return, the string is empty.
27766	NextToken *string `type:"string"`
27767}
27768
27769// String returns the string representation.
27770//
27771// API parameter values that are decorated as "sensitive" in the API will not
27772// be included in the string output. The member name will be present, but the
27773// value will be replaced with "sensitive".
27774func (s DescribePatchBaselinesOutput) String() string {
27775	return awsutil.Prettify(s)
27776}
27777
27778// GoString returns the string representation.
27779//
27780// API parameter values that are decorated as "sensitive" in the API will not
27781// be included in the string output. The member name will be present, but the
27782// value will be replaced with "sensitive".
27783func (s DescribePatchBaselinesOutput) GoString() string {
27784	return s.String()
27785}
27786
27787// SetBaselineIdentities sets the BaselineIdentities field's value.
27788func (s *DescribePatchBaselinesOutput) SetBaselineIdentities(v []*PatchBaselineIdentity) *DescribePatchBaselinesOutput {
27789	s.BaselineIdentities = v
27790	return s
27791}
27792
27793// SetNextToken sets the NextToken field's value.
27794func (s *DescribePatchBaselinesOutput) SetNextToken(v string) *DescribePatchBaselinesOutput {
27795	s.NextToken = &v
27796	return s
27797}
27798
27799type DescribePatchGroupStateInput struct {
27800	_ struct{} `type:"structure"`
27801
27802	// The name of the patch group whose patch snapshot should be retrieved.
27803	//
27804	// PatchGroup is a required field
27805	PatchGroup *string `min:"1" type:"string" required:"true"`
27806}
27807
27808// String returns the string representation.
27809//
27810// API parameter values that are decorated as "sensitive" in the API will not
27811// be included in the string output. The member name will be present, but the
27812// value will be replaced with "sensitive".
27813func (s DescribePatchGroupStateInput) String() string {
27814	return awsutil.Prettify(s)
27815}
27816
27817// GoString returns the string representation.
27818//
27819// API parameter values that are decorated as "sensitive" in the API will not
27820// be included in the string output. The member name will be present, but the
27821// value will be replaced with "sensitive".
27822func (s DescribePatchGroupStateInput) GoString() string {
27823	return s.String()
27824}
27825
27826// Validate inspects the fields of the type to determine if they are valid.
27827func (s *DescribePatchGroupStateInput) Validate() error {
27828	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupStateInput"}
27829	if s.PatchGroup == nil {
27830		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
27831	}
27832	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
27833		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
27834	}
27835
27836	if invalidParams.Len() > 0 {
27837		return invalidParams
27838	}
27839	return nil
27840}
27841
27842// SetPatchGroup sets the PatchGroup field's value.
27843func (s *DescribePatchGroupStateInput) SetPatchGroup(v string) *DescribePatchGroupStateInput {
27844	s.PatchGroup = &v
27845	return s
27846}
27847
27848type DescribePatchGroupStateOutput struct {
27849	_ struct{} `type:"structure"`
27850
27851	// The number of instances in the patch group.
27852	Instances *int64 `type:"integer"`
27853
27854	// The number of instances where patches that are specified as Critical for
27855	// compliance reporting in the patch baseline aren't installed. These patches
27856	// might be missing, have failed installation, were rejected, or were installed
27857	// but awaiting a required instance reboot. The status of these instances is
27858	// NON_COMPLIANT.
27859	InstancesWithCriticalNonCompliantPatches *int64 `type:"integer"`
27860
27861	// The number of instances with patches from the patch baseline that failed
27862	// to install.
27863	InstancesWithFailedPatches *int64 `type:"integer"`
27864
27865	// The number of instances with patches installed that aren't defined in the
27866	// patch baseline.
27867	InstancesWithInstalledOtherPatches *int64 `type:"integer"`
27868
27869	// The number of instances with installed patches.
27870	InstancesWithInstalledPatches *int64 `type:"integer"`
27871
27872	// The number of instances with patches installed by Patch Manager that haven't
27873	// been rebooted after the patch installation. The status of these instances
27874	// is NON_COMPLIANT.
27875	InstancesWithInstalledPendingRebootPatches *int64 `type:"integer"`
27876
27877	// The number of instances with patches installed that are specified in a RejectedPatches
27878	// list. Patches with a status of INSTALLED_REJECTED were typically installed
27879	// before they were added to a RejectedPatches list.
27880	//
27881	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
27882	// the value of InstancesWithInstalledRejectedPatches will always be 0 (zero).
27883	InstancesWithInstalledRejectedPatches *int64 `type:"integer"`
27884
27885	// The number of instances with missing patches from the patch baseline.
27886	InstancesWithMissingPatches *int64 `type:"integer"`
27887
27888	// The number of instances with patches that aren't applicable.
27889	InstancesWithNotApplicablePatches *int64 `type:"integer"`
27890
27891	// The number of instances with patches installed that are specified as other
27892	// than Critical or Security but aren't compliant with the patch baseline. The
27893	// status of these instances is NON_COMPLIANT.
27894	InstancesWithOtherNonCompliantPatches *int64 `type:"integer"`
27895
27896	// The number of instances where patches that are specified as Security in a
27897	// patch advisory aren't installed. These patches might be missing, have failed
27898	// installation, were rejected, or were installed but awaiting a required instance
27899	// reboot. The status of these instances is NON_COMPLIANT.
27900	InstancesWithSecurityNonCompliantPatches *int64 `type:"integer"`
27901
27902	// The number of instances with NotApplicable patches beyond the supported limit,
27903	// which aren't reported by name to Inventory. Inventory is a capability of
27904	// Amazon Web Services Systems Manager.
27905	InstancesWithUnreportedNotApplicablePatches *int64 `type:"integer"`
27906}
27907
27908// String returns the string representation.
27909//
27910// API parameter values that are decorated as "sensitive" in the API will not
27911// be included in the string output. The member name will be present, but the
27912// value will be replaced with "sensitive".
27913func (s DescribePatchGroupStateOutput) String() string {
27914	return awsutil.Prettify(s)
27915}
27916
27917// GoString returns the string representation.
27918//
27919// API parameter values that are decorated as "sensitive" in the API will not
27920// be included in the string output. The member name will be present, but the
27921// value will be replaced with "sensitive".
27922func (s DescribePatchGroupStateOutput) GoString() string {
27923	return s.String()
27924}
27925
27926// SetInstances sets the Instances field's value.
27927func (s *DescribePatchGroupStateOutput) SetInstances(v int64) *DescribePatchGroupStateOutput {
27928	s.Instances = &v
27929	return s
27930}
27931
27932// SetInstancesWithCriticalNonCompliantPatches sets the InstancesWithCriticalNonCompliantPatches field's value.
27933func (s *DescribePatchGroupStateOutput) SetInstancesWithCriticalNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
27934	s.InstancesWithCriticalNonCompliantPatches = &v
27935	return s
27936}
27937
27938// SetInstancesWithFailedPatches sets the InstancesWithFailedPatches field's value.
27939func (s *DescribePatchGroupStateOutput) SetInstancesWithFailedPatches(v int64) *DescribePatchGroupStateOutput {
27940	s.InstancesWithFailedPatches = &v
27941	return s
27942}
27943
27944// SetInstancesWithInstalledOtherPatches sets the InstancesWithInstalledOtherPatches field's value.
27945func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledOtherPatches(v int64) *DescribePatchGroupStateOutput {
27946	s.InstancesWithInstalledOtherPatches = &v
27947	return s
27948}
27949
27950// SetInstancesWithInstalledPatches sets the InstancesWithInstalledPatches field's value.
27951func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPatches(v int64) *DescribePatchGroupStateOutput {
27952	s.InstancesWithInstalledPatches = &v
27953	return s
27954}
27955
27956// SetInstancesWithInstalledPendingRebootPatches sets the InstancesWithInstalledPendingRebootPatches field's value.
27957func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledPendingRebootPatches(v int64) *DescribePatchGroupStateOutput {
27958	s.InstancesWithInstalledPendingRebootPatches = &v
27959	return s
27960}
27961
27962// SetInstancesWithInstalledRejectedPatches sets the InstancesWithInstalledRejectedPatches field's value.
27963func (s *DescribePatchGroupStateOutput) SetInstancesWithInstalledRejectedPatches(v int64) *DescribePatchGroupStateOutput {
27964	s.InstancesWithInstalledRejectedPatches = &v
27965	return s
27966}
27967
27968// SetInstancesWithMissingPatches sets the InstancesWithMissingPatches field's value.
27969func (s *DescribePatchGroupStateOutput) SetInstancesWithMissingPatches(v int64) *DescribePatchGroupStateOutput {
27970	s.InstancesWithMissingPatches = &v
27971	return s
27972}
27973
27974// SetInstancesWithNotApplicablePatches sets the InstancesWithNotApplicablePatches field's value.
27975func (s *DescribePatchGroupStateOutput) SetInstancesWithNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
27976	s.InstancesWithNotApplicablePatches = &v
27977	return s
27978}
27979
27980// SetInstancesWithOtherNonCompliantPatches sets the InstancesWithOtherNonCompliantPatches field's value.
27981func (s *DescribePatchGroupStateOutput) SetInstancesWithOtherNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
27982	s.InstancesWithOtherNonCompliantPatches = &v
27983	return s
27984}
27985
27986// SetInstancesWithSecurityNonCompliantPatches sets the InstancesWithSecurityNonCompliantPatches field's value.
27987func (s *DescribePatchGroupStateOutput) SetInstancesWithSecurityNonCompliantPatches(v int64) *DescribePatchGroupStateOutput {
27988	s.InstancesWithSecurityNonCompliantPatches = &v
27989	return s
27990}
27991
27992// SetInstancesWithUnreportedNotApplicablePatches sets the InstancesWithUnreportedNotApplicablePatches field's value.
27993func (s *DescribePatchGroupStateOutput) SetInstancesWithUnreportedNotApplicablePatches(v int64) *DescribePatchGroupStateOutput {
27994	s.InstancesWithUnreportedNotApplicablePatches = &v
27995	return s
27996}
27997
27998type DescribePatchGroupsInput struct {
27999	_ struct{} `type:"structure"`
28000
28001	// Each element in the array is a structure containing a key-value pair.
28002	//
28003	// Supported keys for DescribePatchGroups include the following:
28004	//
28005	//    * NAME_PREFIX Sample values: AWS- | My-.
28006	//
28007	//    * OPERATING_SYSTEM Sample values: AMAZON_LINUX | SUSE | WINDOWS
28008	Filters []*PatchOrchestratorFilter `type:"list"`
28009
28010	// The maximum number of patch groups to return (per page).
28011	MaxResults *int64 `min:"1" type:"integer"`
28012
28013	// The token for the next set of items to return. (You received this token from
28014	// a previous call.)
28015	NextToken *string `type:"string"`
28016}
28017
28018// String returns the string representation.
28019//
28020// API parameter values that are decorated as "sensitive" in the API will not
28021// be included in the string output. The member name will be present, but the
28022// value will be replaced with "sensitive".
28023func (s DescribePatchGroupsInput) String() string {
28024	return awsutil.Prettify(s)
28025}
28026
28027// GoString returns the string representation.
28028//
28029// API parameter values that are decorated as "sensitive" in the API will not
28030// be included in the string output. The member name will be present, but the
28031// value will be replaced with "sensitive".
28032func (s DescribePatchGroupsInput) GoString() string {
28033	return s.String()
28034}
28035
28036// Validate inspects the fields of the type to determine if they are valid.
28037func (s *DescribePatchGroupsInput) Validate() error {
28038	invalidParams := request.ErrInvalidParams{Context: "DescribePatchGroupsInput"}
28039	if s.MaxResults != nil && *s.MaxResults < 1 {
28040		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28041	}
28042	if s.Filters != nil {
28043		for i, v := range s.Filters {
28044			if v == nil {
28045				continue
28046			}
28047			if err := v.Validate(); err != nil {
28048				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28049			}
28050		}
28051	}
28052
28053	if invalidParams.Len() > 0 {
28054		return invalidParams
28055	}
28056	return nil
28057}
28058
28059// SetFilters sets the Filters field's value.
28060func (s *DescribePatchGroupsInput) SetFilters(v []*PatchOrchestratorFilter) *DescribePatchGroupsInput {
28061	s.Filters = v
28062	return s
28063}
28064
28065// SetMaxResults sets the MaxResults field's value.
28066func (s *DescribePatchGroupsInput) SetMaxResults(v int64) *DescribePatchGroupsInput {
28067	s.MaxResults = &v
28068	return s
28069}
28070
28071// SetNextToken sets the NextToken field's value.
28072func (s *DescribePatchGroupsInput) SetNextToken(v string) *DescribePatchGroupsInput {
28073	s.NextToken = &v
28074	return s
28075}
28076
28077type DescribePatchGroupsOutput struct {
28078	_ struct{} `type:"structure"`
28079
28080	// Each entry in the array contains:
28081	//
28082	//    * PatchGroup: string (between 1 and 256 characters. Regex: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$)
28083	//
28084	//    * PatchBaselineIdentity: A PatchBaselineIdentity element.
28085	Mappings []*PatchGroupPatchBaselineMapping `type:"list"`
28086
28087	// The token to use when requesting the next set of items. If there are no additional
28088	// items to return, the string is empty.
28089	NextToken *string `type:"string"`
28090}
28091
28092// String returns the string representation.
28093//
28094// API parameter values that are decorated as "sensitive" in the API will not
28095// be included in the string output. The member name will be present, but the
28096// value will be replaced with "sensitive".
28097func (s DescribePatchGroupsOutput) String() string {
28098	return awsutil.Prettify(s)
28099}
28100
28101// GoString returns the string representation.
28102//
28103// API parameter values that are decorated as "sensitive" in the API will not
28104// be included in the string output. The member name will be present, but the
28105// value will be replaced with "sensitive".
28106func (s DescribePatchGroupsOutput) GoString() string {
28107	return s.String()
28108}
28109
28110// SetMappings sets the Mappings field's value.
28111func (s *DescribePatchGroupsOutput) SetMappings(v []*PatchGroupPatchBaselineMapping) *DescribePatchGroupsOutput {
28112	s.Mappings = v
28113	return s
28114}
28115
28116// SetNextToken sets the NextToken field's value.
28117func (s *DescribePatchGroupsOutput) SetNextToken(v string) *DescribePatchGroupsOutput {
28118	s.NextToken = &v
28119	return s
28120}
28121
28122type DescribePatchPropertiesInput struct {
28123	_ struct{} `type:"structure"`
28124
28125	// The maximum number of items to return for this call. The call also returns
28126	// a token that you can specify in a subsequent call to get the next set of
28127	// results.
28128	MaxResults *int64 `min:"1" type:"integer"`
28129
28130	// The token for the next set of items to return. (You received this token from
28131	// a previous call.)
28132	NextToken *string `type:"string"`
28133
28134	// The operating system type for which to list patches.
28135	//
28136	// OperatingSystem is a required field
28137	OperatingSystem *string `type:"string" required:"true" enum:"OperatingSystem"`
28138
28139	// Indicates whether to list patches for the Windows operating system or for
28140	// applications released by Microsoft. Not applicable for the Linux or macOS
28141	// operating systems.
28142	PatchSet *string `type:"string" enum:"PatchSet"`
28143
28144	// The patch property for which you want to view patch details.
28145	//
28146	// Property is a required field
28147	Property *string `type:"string" required:"true" enum:"PatchProperty"`
28148}
28149
28150// String returns the string representation.
28151//
28152// API parameter values that are decorated as "sensitive" in the API will not
28153// be included in the string output. The member name will be present, but the
28154// value will be replaced with "sensitive".
28155func (s DescribePatchPropertiesInput) String() string {
28156	return awsutil.Prettify(s)
28157}
28158
28159// GoString returns the string representation.
28160//
28161// API parameter values that are decorated as "sensitive" in the API will not
28162// be included in the string output. The member name will be present, but the
28163// value will be replaced with "sensitive".
28164func (s DescribePatchPropertiesInput) GoString() string {
28165	return s.String()
28166}
28167
28168// Validate inspects the fields of the type to determine if they are valid.
28169func (s *DescribePatchPropertiesInput) Validate() error {
28170	invalidParams := request.ErrInvalidParams{Context: "DescribePatchPropertiesInput"}
28171	if s.MaxResults != nil && *s.MaxResults < 1 {
28172		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28173	}
28174	if s.OperatingSystem == nil {
28175		invalidParams.Add(request.NewErrParamRequired("OperatingSystem"))
28176	}
28177	if s.Property == nil {
28178		invalidParams.Add(request.NewErrParamRequired("Property"))
28179	}
28180
28181	if invalidParams.Len() > 0 {
28182		return invalidParams
28183	}
28184	return nil
28185}
28186
28187// SetMaxResults sets the MaxResults field's value.
28188func (s *DescribePatchPropertiesInput) SetMaxResults(v int64) *DescribePatchPropertiesInput {
28189	s.MaxResults = &v
28190	return s
28191}
28192
28193// SetNextToken sets the NextToken field's value.
28194func (s *DescribePatchPropertiesInput) SetNextToken(v string) *DescribePatchPropertiesInput {
28195	s.NextToken = &v
28196	return s
28197}
28198
28199// SetOperatingSystem sets the OperatingSystem field's value.
28200func (s *DescribePatchPropertiesInput) SetOperatingSystem(v string) *DescribePatchPropertiesInput {
28201	s.OperatingSystem = &v
28202	return s
28203}
28204
28205// SetPatchSet sets the PatchSet field's value.
28206func (s *DescribePatchPropertiesInput) SetPatchSet(v string) *DescribePatchPropertiesInput {
28207	s.PatchSet = &v
28208	return s
28209}
28210
28211// SetProperty sets the Property field's value.
28212func (s *DescribePatchPropertiesInput) SetProperty(v string) *DescribePatchPropertiesInput {
28213	s.Property = &v
28214	return s
28215}
28216
28217type DescribePatchPropertiesOutput struct {
28218	_ struct{} `type:"structure"`
28219
28220	// The token for the next set of items to return. (You use this token in the
28221	// next call.)
28222	NextToken *string `type:"string"`
28223
28224	// A list of the properties for patches matching the filter request parameters.
28225	Properties []map[string]*string `type:"list"`
28226}
28227
28228// String returns the string representation.
28229//
28230// API parameter values that are decorated as "sensitive" in the API will not
28231// be included in the string output. The member name will be present, but the
28232// value will be replaced with "sensitive".
28233func (s DescribePatchPropertiesOutput) String() string {
28234	return awsutil.Prettify(s)
28235}
28236
28237// GoString returns the string representation.
28238//
28239// API parameter values that are decorated as "sensitive" in the API will not
28240// be included in the string output. The member name will be present, but the
28241// value will be replaced with "sensitive".
28242func (s DescribePatchPropertiesOutput) GoString() string {
28243	return s.String()
28244}
28245
28246// SetNextToken sets the NextToken field's value.
28247func (s *DescribePatchPropertiesOutput) SetNextToken(v string) *DescribePatchPropertiesOutput {
28248	s.NextToken = &v
28249	return s
28250}
28251
28252// SetProperties sets the Properties field's value.
28253func (s *DescribePatchPropertiesOutput) SetProperties(v []map[string]*string) *DescribePatchPropertiesOutput {
28254	s.Properties = v
28255	return s
28256}
28257
28258type DescribeSessionsInput struct {
28259	_ struct{} `type:"structure"`
28260
28261	// One or more filters to limit the type of sessions returned by the request.
28262	Filters []*SessionFilter `min:"1" type:"list"`
28263
28264	// The maximum number of items to return for this call. The call also returns
28265	// a token that you can specify in a subsequent call to get the next set of
28266	// results.
28267	MaxResults *int64 `min:"1" type:"integer"`
28268
28269	// The token for the next set of items to return. (You received this token from
28270	// a previous call.)
28271	NextToken *string `type:"string"`
28272
28273	// The session status to retrieve a list of sessions for. For example, "Active".
28274	//
28275	// State is a required field
28276	State *string `type:"string" required:"true" enum:"SessionState"`
28277}
28278
28279// String returns the string representation.
28280//
28281// API parameter values that are decorated as "sensitive" in the API will not
28282// be included in the string output. The member name will be present, but the
28283// value will be replaced with "sensitive".
28284func (s DescribeSessionsInput) String() string {
28285	return awsutil.Prettify(s)
28286}
28287
28288// GoString returns the string representation.
28289//
28290// API parameter values that are decorated as "sensitive" in the API will not
28291// be included in the string output. The member name will be present, but the
28292// value will be replaced with "sensitive".
28293func (s DescribeSessionsInput) GoString() string {
28294	return s.String()
28295}
28296
28297// Validate inspects the fields of the type to determine if they are valid.
28298func (s *DescribeSessionsInput) Validate() error {
28299	invalidParams := request.ErrInvalidParams{Context: "DescribeSessionsInput"}
28300	if s.Filters != nil && len(s.Filters) < 1 {
28301		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
28302	}
28303	if s.MaxResults != nil && *s.MaxResults < 1 {
28304		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28305	}
28306	if s.State == nil {
28307		invalidParams.Add(request.NewErrParamRequired("State"))
28308	}
28309	if s.Filters != nil {
28310		for i, v := range s.Filters {
28311			if v == nil {
28312				continue
28313			}
28314			if err := v.Validate(); err != nil {
28315				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28316			}
28317		}
28318	}
28319
28320	if invalidParams.Len() > 0 {
28321		return invalidParams
28322	}
28323	return nil
28324}
28325
28326// SetFilters sets the Filters field's value.
28327func (s *DescribeSessionsInput) SetFilters(v []*SessionFilter) *DescribeSessionsInput {
28328	s.Filters = v
28329	return s
28330}
28331
28332// SetMaxResults sets the MaxResults field's value.
28333func (s *DescribeSessionsInput) SetMaxResults(v int64) *DescribeSessionsInput {
28334	s.MaxResults = &v
28335	return s
28336}
28337
28338// SetNextToken sets the NextToken field's value.
28339func (s *DescribeSessionsInput) SetNextToken(v string) *DescribeSessionsInput {
28340	s.NextToken = &v
28341	return s
28342}
28343
28344// SetState sets the State field's value.
28345func (s *DescribeSessionsInput) SetState(v string) *DescribeSessionsInput {
28346	s.State = &v
28347	return s
28348}
28349
28350type DescribeSessionsOutput struct {
28351	_ struct{} `type:"structure"`
28352
28353	// The token for the next set of items to return. (You received this token from
28354	// a previous call.)
28355	NextToken *string `type:"string"`
28356
28357	// A list of sessions meeting the request parameters.
28358	Sessions []*Session `type:"list"`
28359}
28360
28361// String returns the string representation.
28362//
28363// API parameter values that are decorated as "sensitive" in the API will not
28364// be included in the string output. The member name will be present, but the
28365// value will be replaced with "sensitive".
28366func (s DescribeSessionsOutput) String() string {
28367	return awsutil.Prettify(s)
28368}
28369
28370// GoString returns the string representation.
28371//
28372// API parameter values that are decorated as "sensitive" in the API will not
28373// be included in the string output. The member name will be present, but the
28374// value will be replaced with "sensitive".
28375func (s DescribeSessionsOutput) GoString() string {
28376	return s.String()
28377}
28378
28379// SetNextToken sets the NextToken field's value.
28380func (s *DescribeSessionsOutput) SetNextToken(v string) *DescribeSessionsOutput {
28381	s.NextToken = &v
28382	return s
28383}
28384
28385// SetSessions sets the Sessions field's value.
28386func (s *DescribeSessionsOutput) SetSessions(v []*Session) *DescribeSessionsOutput {
28387	s.Sessions = v
28388	return s
28389}
28390
28391type DisassociateOpsItemRelatedItemInput struct {
28392	_ struct{} `type:"structure"`
28393
28394	// The ID of the association for which you want to delete an association between
28395	// the OpsItem and a related item.
28396	//
28397	// AssociationId is a required field
28398	AssociationId *string `type:"string" required:"true"`
28399
28400	// The ID of the OpsItem for which you want to delete an association between
28401	// the OpsItem and a related item.
28402	//
28403	// OpsItemId is a required field
28404	OpsItemId *string `type:"string" required:"true"`
28405}
28406
28407// String returns the string representation.
28408//
28409// API parameter values that are decorated as "sensitive" in the API will not
28410// be included in the string output. The member name will be present, but the
28411// value will be replaced with "sensitive".
28412func (s DisassociateOpsItemRelatedItemInput) String() string {
28413	return awsutil.Prettify(s)
28414}
28415
28416// GoString returns the string representation.
28417//
28418// API parameter values that are decorated as "sensitive" in the API will not
28419// be included in the string output. The member name will be present, but the
28420// value will be replaced with "sensitive".
28421func (s DisassociateOpsItemRelatedItemInput) GoString() string {
28422	return s.String()
28423}
28424
28425// Validate inspects the fields of the type to determine if they are valid.
28426func (s *DisassociateOpsItemRelatedItemInput) Validate() error {
28427	invalidParams := request.ErrInvalidParams{Context: "DisassociateOpsItemRelatedItemInput"}
28428	if s.AssociationId == nil {
28429		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
28430	}
28431	if s.OpsItemId == nil {
28432		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
28433	}
28434
28435	if invalidParams.Len() > 0 {
28436		return invalidParams
28437	}
28438	return nil
28439}
28440
28441// SetAssociationId sets the AssociationId field's value.
28442func (s *DisassociateOpsItemRelatedItemInput) SetAssociationId(v string) *DisassociateOpsItemRelatedItemInput {
28443	s.AssociationId = &v
28444	return s
28445}
28446
28447// SetOpsItemId sets the OpsItemId field's value.
28448func (s *DisassociateOpsItemRelatedItemInput) SetOpsItemId(v string) *DisassociateOpsItemRelatedItemInput {
28449	s.OpsItemId = &v
28450	return s
28451}
28452
28453type DisassociateOpsItemRelatedItemOutput struct {
28454	_ struct{} `type:"structure"`
28455}
28456
28457// String returns the string representation.
28458//
28459// API parameter values that are decorated as "sensitive" in the API will not
28460// be included in the string output. The member name will be present, but the
28461// value will be replaced with "sensitive".
28462func (s DisassociateOpsItemRelatedItemOutput) String() string {
28463	return awsutil.Prettify(s)
28464}
28465
28466// GoString returns the string representation.
28467//
28468// API parameter values that are decorated as "sensitive" in the API will not
28469// be included in the string output. The member name will be present, but the
28470// value will be replaced with "sensitive".
28471func (s DisassociateOpsItemRelatedItemOutput) GoString() string {
28472	return s.String()
28473}
28474
28475// The specified document already exists.
28476type DocumentAlreadyExists struct {
28477	_            struct{}                  `type:"structure"`
28478	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28479
28480	Message_ *string `locationName:"Message" type:"string"`
28481}
28482
28483// String returns the string representation.
28484//
28485// API parameter values that are decorated as "sensitive" in the API will not
28486// be included in the string output. The member name will be present, but the
28487// value will be replaced with "sensitive".
28488func (s DocumentAlreadyExists) String() string {
28489	return awsutil.Prettify(s)
28490}
28491
28492// GoString returns the string representation.
28493//
28494// API parameter values that are decorated as "sensitive" in the API will not
28495// be included in the string output. The member name will be present, but the
28496// value will be replaced with "sensitive".
28497func (s DocumentAlreadyExists) GoString() string {
28498	return s.String()
28499}
28500
28501func newErrorDocumentAlreadyExists(v protocol.ResponseMetadata) error {
28502	return &DocumentAlreadyExists{
28503		RespMetadata: v,
28504	}
28505}
28506
28507// Code returns the exception type name.
28508func (s *DocumentAlreadyExists) Code() string {
28509	return "DocumentAlreadyExists"
28510}
28511
28512// Message returns the exception's message.
28513func (s *DocumentAlreadyExists) Message() string {
28514	if s.Message_ != nil {
28515		return *s.Message_
28516	}
28517	return ""
28518}
28519
28520// OrigErr always returns nil, satisfies awserr.Error interface.
28521func (s *DocumentAlreadyExists) OrigErr() error {
28522	return nil
28523}
28524
28525func (s *DocumentAlreadyExists) Error() string {
28526	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
28527}
28528
28529// Status code returns the HTTP status code for the request's response error.
28530func (s *DocumentAlreadyExists) StatusCode() int {
28531	return s.RespMetadata.StatusCode
28532}
28533
28534// RequestID returns the service's response RequestID for request.
28535func (s *DocumentAlreadyExists) RequestID() string {
28536	return s.RespMetadata.RequestID
28537}
28538
28539// A default version of a document.
28540type DocumentDefaultVersionDescription struct {
28541	_ struct{} `type:"structure"`
28542
28543	// The default version of the document.
28544	DefaultVersion *string `type:"string"`
28545
28546	// The default version of the artifact associated with the document.
28547	DefaultVersionName *string `type:"string"`
28548
28549	// The name of the document.
28550	Name *string `type:"string"`
28551}
28552
28553// String returns the string representation.
28554//
28555// API parameter values that are decorated as "sensitive" in the API will not
28556// be included in the string output. The member name will be present, but the
28557// value will be replaced with "sensitive".
28558func (s DocumentDefaultVersionDescription) String() string {
28559	return awsutil.Prettify(s)
28560}
28561
28562// GoString returns the string representation.
28563//
28564// API parameter values that are decorated as "sensitive" in the API will not
28565// be included in the string output. The member name will be present, but the
28566// value will be replaced with "sensitive".
28567func (s DocumentDefaultVersionDescription) GoString() string {
28568	return s.String()
28569}
28570
28571// SetDefaultVersion sets the DefaultVersion field's value.
28572func (s *DocumentDefaultVersionDescription) SetDefaultVersion(v string) *DocumentDefaultVersionDescription {
28573	s.DefaultVersion = &v
28574	return s
28575}
28576
28577// SetDefaultVersionName sets the DefaultVersionName field's value.
28578func (s *DocumentDefaultVersionDescription) SetDefaultVersionName(v string) *DocumentDefaultVersionDescription {
28579	s.DefaultVersionName = &v
28580	return s
28581}
28582
28583// SetName sets the Name field's value.
28584func (s *DocumentDefaultVersionDescription) SetName(v string) *DocumentDefaultVersionDescription {
28585	s.Name = &v
28586	return s
28587}
28588
28589// Describes a Amazon Web Services Systems Manager document (SSM document).
28590type DocumentDescription struct {
28591	_ struct{} `type:"structure"`
28592
28593	// The version of the document currently approved for use in the organization.
28594	ApprovedVersion *string `type:"string"`
28595
28596	// Details about the document attachments, including names, locations, sizes,
28597	// and so on.
28598	AttachmentsInformation []*AttachmentInformation `type:"list"`
28599
28600	// The user in your organization who created the document.
28601	Author *string `type:"string"`
28602
28603	// The date when the document was created.
28604	CreatedDate *time.Time `type:"timestamp"`
28605
28606	// The default version.
28607	DefaultVersion *string `type:"string"`
28608
28609	// A description of the document.
28610	Description *string `type:"string"`
28611
28612	// The friendly name of the SSM document. This value can differ for each version
28613	// of the document. If you want to update this value, see UpdateDocument.
28614	DisplayName *string `type:"string"`
28615
28616	// The document format, either JSON or YAML.
28617	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
28618
28619	// The type of document.
28620	DocumentType *string `type:"string" enum:"DocumentType"`
28621
28622	// The document version.
28623	DocumentVersion *string `type:"string"`
28624
28625	// The Sha256 or Sha1 hash created by the system when the document was created.
28626	//
28627	// Sha1 hashes have been deprecated.
28628	Hash *string `type:"string"`
28629
28630	// The hash type of the document. Valid values include Sha256 or Sha1.
28631	//
28632	// Sha1 hashes have been deprecated.
28633	HashType *string `type:"string" enum:"DocumentHashType"`
28634
28635	// The latest version of the document.
28636	LatestVersion *string `type:"string"`
28637
28638	// The name of the SSM document.
28639	Name *string `type:"string"`
28640
28641	// The Amazon Web Services user account that created the document.
28642	Owner *string `type:"string"`
28643
28644	// A description of the parameters for a document.
28645	Parameters []*DocumentParameter `type:"list"`
28646
28647	// The version of the document that is currently under review.
28648	PendingReviewVersion *string `type:"string"`
28649
28650	// The list of OS platforms compatible with this SSM document.
28651	PlatformTypes []*string `type:"list"`
28652
28653	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
28654	// document requires an ApplicationConfigurationSchema document.
28655	Requires []*DocumentRequires `min:"1" type:"list"`
28656
28657	// Details about the review of a document.
28658	ReviewInformation []*ReviewInformation `min:"1" type:"list"`
28659
28660	// The current status of the review.
28661	ReviewStatus *string `type:"string" enum:"ReviewStatus"`
28662
28663	// The schema version.
28664	SchemaVersion *string `type:"string"`
28665
28666	// The SHA1 hash of the document, which you can use for verification.
28667	Sha1 *string `type:"string"`
28668
28669	// The status of the SSM document.
28670	Status *string `type:"string" enum:"DocumentStatus"`
28671
28672	// A message returned by Amazon Web Services Systems Manager that explains the
28673	// Status value. For example, a Failed status might be explained by the StatusInformation
28674	// message, "The specified S3 bucket doesn't exist. Verify that the URL of the
28675	// S3 bucket is correct."
28676	StatusInformation *string `type:"string"`
28677
28678	// The tags, or metadata, that have been applied to the document.
28679	Tags []*Tag `type:"list"`
28680
28681	// The target type which defines the kinds of resources the document can run
28682	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
28683	// see Amazon Web Services resource and property types reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
28684	// in the CloudFormation User Guide.
28685	TargetType *string `type:"string"`
28686
28687	// The version of the artifact associated with the document.
28688	VersionName *string `type:"string"`
28689}
28690
28691// String returns the string representation.
28692//
28693// API parameter values that are decorated as "sensitive" in the API will not
28694// be included in the string output. The member name will be present, but the
28695// value will be replaced with "sensitive".
28696func (s DocumentDescription) String() string {
28697	return awsutil.Prettify(s)
28698}
28699
28700// GoString returns the string representation.
28701//
28702// API parameter values that are decorated as "sensitive" in the API will not
28703// be included in the string output. The member name will be present, but the
28704// value will be replaced with "sensitive".
28705func (s DocumentDescription) GoString() string {
28706	return s.String()
28707}
28708
28709// SetApprovedVersion sets the ApprovedVersion field's value.
28710func (s *DocumentDescription) SetApprovedVersion(v string) *DocumentDescription {
28711	s.ApprovedVersion = &v
28712	return s
28713}
28714
28715// SetAttachmentsInformation sets the AttachmentsInformation field's value.
28716func (s *DocumentDescription) SetAttachmentsInformation(v []*AttachmentInformation) *DocumentDescription {
28717	s.AttachmentsInformation = v
28718	return s
28719}
28720
28721// SetAuthor sets the Author field's value.
28722func (s *DocumentDescription) SetAuthor(v string) *DocumentDescription {
28723	s.Author = &v
28724	return s
28725}
28726
28727// SetCreatedDate sets the CreatedDate field's value.
28728func (s *DocumentDescription) SetCreatedDate(v time.Time) *DocumentDescription {
28729	s.CreatedDate = &v
28730	return s
28731}
28732
28733// SetDefaultVersion sets the DefaultVersion field's value.
28734func (s *DocumentDescription) SetDefaultVersion(v string) *DocumentDescription {
28735	s.DefaultVersion = &v
28736	return s
28737}
28738
28739// SetDescription sets the Description field's value.
28740func (s *DocumentDescription) SetDescription(v string) *DocumentDescription {
28741	s.Description = &v
28742	return s
28743}
28744
28745// SetDisplayName sets the DisplayName field's value.
28746func (s *DocumentDescription) SetDisplayName(v string) *DocumentDescription {
28747	s.DisplayName = &v
28748	return s
28749}
28750
28751// SetDocumentFormat sets the DocumentFormat field's value.
28752func (s *DocumentDescription) SetDocumentFormat(v string) *DocumentDescription {
28753	s.DocumentFormat = &v
28754	return s
28755}
28756
28757// SetDocumentType sets the DocumentType field's value.
28758func (s *DocumentDescription) SetDocumentType(v string) *DocumentDescription {
28759	s.DocumentType = &v
28760	return s
28761}
28762
28763// SetDocumentVersion sets the DocumentVersion field's value.
28764func (s *DocumentDescription) SetDocumentVersion(v string) *DocumentDescription {
28765	s.DocumentVersion = &v
28766	return s
28767}
28768
28769// SetHash sets the Hash field's value.
28770func (s *DocumentDescription) SetHash(v string) *DocumentDescription {
28771	s.Hash = &v
28772	return s
28773}
28774
28775// SetHashType sets the HashType field's value.
28776func (s *DocumentDescription) SetHashType(v string) *DocumentDescription {
28777	s.HashType = &v
28778	return s
28779}
28780
28781// SetLatestVersion sets the LatestVersion field's value.
28782func (s *DocumentDescription) SetLatestVersion(v string) *DocumentDescription {
28783	s.LatestVersion = &v
28784	return s
28785}
28786
28787// SetName sets the Name field's value.
28788func (s *DocumentDescription) SetName(v string) *DocumentDescription {
28789	s.Name = &v
28790	return s
28791}
28792
28793// SetOwner sets the Owner field's value.
28794func (s *DocumentDescription) SetOwner(v string) *DocumentDescription {
28795	s.Owner = &v
28796	return s
28797}
28798
28799// SetParameters sets the Parameters field's value.
28800func (s *DocumentDescription) SetParameters(v []*DocumentParameter) *DocumentDescription {
28801	s.Parameters = v
28802	return s
28803}
28804
28805// SetPendingReviewVersion sets the PendingReviewVersion field's value.
28806func (s *DocumentDescription) SetPendingReviewVersion(v string) *DocumentDescription {
28807	s.PendingReviewVersion = &v
28808	return s
28809}
28810
28811// SetPlatformTypes sets the PlatformTypes field's value.
28812func (s *DocumentDescription) SetPlatformTypes(v []*string) *DocumentDescription {
28813	s.PlatformTypes = v
28814	return s
28815}
28816
28817// SetRequires sets the Requires field's value.
28818func (s *DocumentDescription) SetRequires(v []*DocumentRequires) *DocumentDescription {
28819	s.Requires = v
28820	return s
28821}
28822
28823// SetReviewInformation sets the ReviewInformation field's value.
28824func (s *DocumentDescription) SetReviewInformation(v []*ReviewInformation) *DocumentDescription {
28825	s.ReviewInformation = v
28826	return s
28827}
28828
28829// SetReviewStatus sets the ReviewStatus field's value.
28830func (s *DocumentDescription) SetReviewStatus(v string) *DocumentDescription {
28831	s.ReviewStatus = &v
28832	return s
28833}
28834
28835// SetSchemaVersion sets the SchemaVersion field's value.
28836func (s *DocumentDescription) SetSchemaVersion(v string) *DocumentDescription {
28837	s.SchemaVersion = &v
28838	return s
28839}
28840
28841// SetSha1 sets the Sha1 field's value.
28842func (s *DocumentDescription) SetSha1(v string) *DocumentDescription {
28843	s.Sha1 = &v
28844	return s
28845}
28846
28847// SetStatus sets the Status field's value.
28848func (s *DocumentDescription) SetStatus(v string) *DocumentDescription {
28849	s.Status = &v
28850	return s
28851}
28852
28853// SetStatusInformation sets the StatusInformation field's value.
28854func (s *DocumentDescription) SetStatusInformation(v string) *DocumentDescription {
28855	s.StatusInformation = &v
28856	return s
28857}
28858
28859// SetTags sets the Tags field's value.
28860func (s *DocumentDescription) SetTags(v []*Tag) *DocumentDescription {
28861	s.Tags = v
28862	return s
28863}
28864
28865// SetTargetType sets the TargetType field's value.
28866func (s *DocumentDescription) SetTargetType(v string) *DocumentDescription {
28867	s.TargetType = &v
28868	return s
28869}
28870
28871// SetVersionName sets the VersionName field's value.
28872func (s *DocumentDescription) SetVersionName(v string) *DocumentDescription {
28873	s.VersionName = &v
28874	return s
28875}
28876
28877// This data type is deprecated. Instead, use DocumentKeyValuesFilter.
28878type DocumentFilter struct {
28879	_ struct{} `type:"structure"`
28880
28881	// The name of the filter.
28882	//
28883	// Key is a required field
28884	Key *string `locationName:"key" type:"string" required:"true" enum:"DocumentFilterKey"`
28885
28886	// The value of the filter.
28887	//
28888	// Value is a required field
28889	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
28890}
28891
28892// String returns the string representation.
28893//
28894// API parameter values that are decorated as "sensitive" in the API will not
28895// be included in the string output. The member name will be present, but the
28896// value will be replaced with "sensitive".
28897func (s DocumentFilter) String() string {
28898	return awsutil.Prettify(s)
28899}
28900
28901// GoString returns the string representation.
28902//
28903// API parameter values that are decorated as "sensitive" in the API will not
28904// be included in the string output. The member name will be present, but the
28905// value will be replaced with "sensitive".
28906func (s DocumentFilter) GoString() string {
28907	return s.String()
28908}
28909
28910// Validate inspects the fields of the type to determine if they are valid.
28911func (s *DocumentFilter) Validate() error {
28912	invalidParams := request.ErrInvalidParams{Context: "DocumentFilter"}
28913	if s.Key == nil {
28914		invalidParams.Add(request.NewErrParamRequired("Key"))
28915	}
28916	if s.Value == nil {
28917		invalidParams.Add(request.NewErrParamRequired("Value"))
28918	}
28919	if s.Value != nil && len(*s.Value) < 1 {
28920		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
28921	}
28922
28923	if invalidParams.Len() > 0 {
28924		return invalidParams
28925	}
28926	return nil
28927}
28928
28929// SetKey sets the Key field's value.
28930func (s *DocumentFilter) SetKey(v string) *DocumentFilter {
28931	s.Key = &v
28932	return s
28933}
28934
28935// SetValue sets the Value field's value.
28936func (s *DocumentFilter) SetValue(v string) *DocumentFilter {
28937	s.Value = &v
28938	return s
28939}
28940
28941// Describes the name of a SSM document.
28942type DocumentIdentifier struct {
28943	_ struct{} `type:"structure"`
28944
28945	// The user in your organization who created the document.
28946	Author *string `type:"string"`
28947
28948	// The date the SSM document was created.
28949	CreatedDate *time.Time `type:"timestamp"`
28950
28951	// An optional field where you can specify a friendly name for the SSM document.
28952	// This value can differ for each version of the document. If you want to update
28953	// this value, see UpdateDocument.
28954	DisplayName *string `type:"string"`
28955
28956	// The document format, either JSON or YAML.
28957	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
28958
28959	// The document type.
28960	DocumentType *string `type:"string" enum:"DocumentType"`
28961
28962	// The document version.
28963	DocumentVersion *string `type:"string"`
28964
28965	// The name of the SSM document.
28966	Name *string `type:"string"`
28967
28968	// The Amazon Web Services user account that created the document.
28969	Owner *string `type:"string"`
28970
28971	// The operating system platform.
28972	PlatformTypes []*string `type:"list"`
28973
28974	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
28975	// document requires an ApplicationConfigurationSchema document.
28976	Requires []*DocumentRequires `min:"1" type:"list"`
28977
28978	// The current status of a document review.
28979	ReviewStatus *string `type:"string" enum:"ReviewStatus"`
28980
28981	// The schema version.
28982	SchemaVersion *string `type:"string"`
28983
28984	// The tags, or metadata, that have been applied to the document.
28985	Tags []*Tag `type:"list"`
28986
28987	// The target type which defines the kinds of resources the document can run
28988	// on. For example, /AWS::EC2::Instance. For a list of valid resource types,
28989	// see Amazon Web Services resource and property types reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
28990	// in the CloudFormation User Guide.
28991	TargetType *string `type:"string"`
28992
28993	// An optional field specifying the version of the artifact associated with
28994	// the document. For example, "Release 12, Update 6". This value is unique across
28995	// all versions of a document, and can't be changed.
28996	VersionName *string `type:"string"`
28997}
28998
28999// String returns the string representation.
29000//
29001// API parameter values that are decorated as "sensitive" in the API will not
29002// be included in the string output. The member name will be present, but the
29003// value will be replaced with "sensitive".
29004func (s DocumentIdentifier) String() string {
29005	return awsutil.Prettify(s)
29006}
29007
29008// GoString returns the string representation.
29009//
29010// API parameter values that are decorated as "sensitive" in the API will not
29011// be included in the string output. The member name will be present, but the
29012// value will be replaced with "sensitive".
29013func (s DocumentIdentifier) GoString() string {
29014	return s.String()
29015}
29016
29017// SetAuthor sets the Author field's value.
29018func (s *DocumentIdentifier) SetAuthor(v string) *DocumentIdentifier {
29019	s.Author = &v
29020	return s
29021}
29022
29023// SetCreatedDate sets the CreatedDate field's value.
29024func (s *DocumentIdentifier) SetCreatedDate(v time.Time) *DocumentIdentifier {
29025	s.CreatedDate = &v
29026	return s
29027}
29028
29029// SetDisplayName sets the DisplayName field's value.
29030func (s *DocumentIdentifier) SetDisplayName(v string) *DocumentIdentifier {
29031	s.DisplayName = &v
29032	return s
29033}
29034
29035// SetDocumentFormat sets the DocumentFormat field's value.
29036func (s *DocumentIdentifier) SetDocumentFormat(v string) *DocumentIdentifier {
29037	s.DocumentFormat = &v
29038	return s
29039}
29040
29041// SetDocumentType sets the DocumentType field's value.
29042func (s *DocumentIdentifier) SetDocumentType(v string) *DocumentIdentifier {
29043	s.DocumentType = &v
29044	return s
29045}
29046
29047// SetDocumentVersion sets the DocumentVersion field's value.
29048func (s *DocumentIdentifier) SetDocumentVersion(v string) *DocumentIdentifier {
29049	s.DocumentVersion = &v
29050	return s
29051}
29052
29053// SetName sets the Name field's value.
29054func (s *DocumentIdentifier) SetName(v string) *DocumentIdentifier {
29055	s.Name = &v
29056	return s
29057}
29058
29059// SetOwner sets the Owner field's value.
29060func (s *DocumentIdentifier) SetOwner(v string) *DocumentIdentifier {
29061	s.Owner = &v
29062	return s
29063}
29064
29065// SetPlatformTypes sets the PlatformTypes field's value.
29066func (s *DocumentIdentifier) SetPlatformTypes(v []*string) *DocumentIdentifier {
29067	s.PlatformTypes = v
29068	return s
29069}
29070
29071// SetRequires sets the Requires field's value.
29072func (s *DocumentIdentifier) SetRequires(v []*DocumentRequires) *DocumentIdentifier {
29073	s.Requires = v
29074	return s
29075}
29076
29077// SetReviewStatus sets the ReviewStatus field's value.
29078func (s *DocumentIdentifier) SetReviewStatus(v string) *DocumentIdentifier {
29079	s.ReviewStatus = &v
29080	return s
29081}
29082
29083// SetSchemaVersion sets the SchemaVersion field's value.
29084func (s *DocumentIdentifier) SetSchemaVersion(v string) *DocumentIdentifier {
29085	s.SchemaVersion = &v
29086	return s
29087}
29088
29089// SetTags sets the Tags field's value.
29090func (s *DocumentIdentifier) SetTags(v []*Tag) *DocumentIdentifier {
29091	s.Tags = v
29092	return s
29093}
29094
29095// SetTargetType sets the TargetType field's value.
29096func (s *DocumentIdentifier) SetTargetType(v string) *DocumentIdentifier {
29097	s.TargetType = &v
29098	return s
29099}
29100
29101// SetVersionName sets the VersionName field's value.
29102func (s *DocumentIdentifier) SetVersionName(v string) *DocumentIdentifier {
29103	s.VersionName = &v
29104	return s
29105}
29106
29107// One or more filters. Use a filter to return a more specific list of documents.
29108//
29109// For keys, you can specify one or more tags that have been applied to a document.
29110//
29111// You can also use Amazon Web Services-provided keys, some of which have specific
29112// allowed values. These keys and their associated values are as follows:
29113//
29114// DocumentType
29115//
29116//    * ApplicationConfiguration
29117//
29118//    * ApplicationConfigurationSchema
29119//
29120//    * Automation
29121//
29122//    * ChangeCalendar
29123//
29124//    * Command
29125//
29126//    * DeploymentStrategy
29127//
29128//    * Package
29129//
29130//    * Policy
29131//
29132//    * Session
29133//
29134// Owner
29135//
29136// Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.
29137//
29138//    * Amazon
29139//
29140//    * Private
29141//
29142//    * Public
29143//
29144//    * Self
29145//
29146//    * ThirdParty
29147//
29148// PlatformTypes
29149//
29150//    * Linux
29151//
29152//    * Windows
29153//
29154// Name is another Amazon Web Services-provided key. If you use Name as a key,
29155// you can use a name prefix to return a list of documents. For example, in
29156// the Amazon Web Services CLI, to return a list of all documents that begin
29157// with Te, run the following command:
29158//
29159// aws ssm list-documents --filters Key=Name,Values=Te
29160//
29161// You can also use the TargetType Amazon Web Services-provided key. For a list
29162// of valid resource type values that can be used with this key, see Amazon
29163// Web Services resource and property types reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)
29164// in the CloudFormation User Guide.
29165//
29166// If you specify more than two keys, only documents that are identified by
29167// all the tags are returned in the results. If you specify more than two values
29168// for a key, documents that are identified by any of the values are returned
29169// in the results.
29170//
29171// To specify a custom key-value pair, use the format Key=tag:tagName,Values=valueName.
29172//
29173// For example, if you created a key called region and are using the Amazon
29174// Web Services CLI to call the list-documents command:
29175//
29176// aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self
29177type DocumentKeyValuesFilter struct {
29178	_ struct{} `type:"structure"`
29179
29180	// The name of the filter key.
29181	Key *string `min:"1" type:"string"`
29182
29183	// The value for the filter key.
29184	Values []*string `type:"list"`
29185}
29186
29187// String returns the string representation.
29188//
29189// API parameter values that are decorated as "sensitive" in the API will not
29190// be included in the string output. The member name will be present, but the
29191// value will be replaced with "sensitive".
29192func (s DocumentKeyValuesFilter) String() string {
29193	return awsutil.Prettify(s)
29194}
29195
29196// GoString returns the string representation.
29197//
29198// API parameter values that are decorated as "sensitive" in the API will not
29199// be included in the string output. The member name will be present, but the
29200// value will be replaced with "sensitive".
29201func (s DocumentKeyValuesFilter) GoString() string {
29202	return s.String()
29203}
29204
29205// Validate inspects the fields of the type to determine if they are valid.
29206func (s *DocumentKeyValuesFilter) Validate() error {
29207	invalidParams := request.ErrInvalidParams{Context: "DocumentKeyValuesFilter"}
29208	if s.Key != nil && len(*s.Key) < 1 {
29209		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
29210	}
29211
29212	if invalidParams.Len() > 0 {
29213		return invalidParams
29214	}
29215	return nil
29216}
29217
29218// SetKey sets the Key field's value.
29219func (s *DocumentKeyValuesFilter) SetKey(v string) *DocumentKeyValuesFilter {
29220	s.Key = &v
29221	return s
29222}
29223
29224// SetValues sets the Values field's value.
29225func (s *DocumentKeyValuesFilter) SetValues(v []*string) *DocumentKeyValuesFilter {
29226	s.Values = v
29227	return s
29228}
29229
29230// You can have at most 500 active SSM documents.
29231type DocumentLimitExceeded struct {
29232	_            struct{}                  `type:"structure"`
29233	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29234
29235	Message_ *string `locationName:"Message" type:"string"`
29236}
29237
29238// String returns the string representation.
29239//
29240// API parameter values that are decorated as "sensitive" in the API will not
29241// be included in the string output. The member name will be present, but the
29242// value will be replaced with "sensitive".
29243func (s DocumentLimitExceeded) String() string {
29244	return awsutil.Prettify(s)
29245}
29246
29247// GoString returns the string representation.
29248//
29249// API parameter values that are decorated as "sensitive" in the API will not
29250// be included in the string output. The member name will be present, but the
29251// value will be replaced with "sensitive".
29252func (s DocumentLimitExceeded) GoString() string {
29253	return s.String()
29254}
29255
29256func newErrorDocumentLimitExceeded(v protocol.ResponseMetadata) error {
29257	return &DocumentLimitExceeded{
29258		RespMetadata: v,
29259	}
29260}
29261
29262// Code returns the exception type name.
29263func (s *DocumentLimitExceeded) Code() string {
29264	return "DocumentLimitExceeded"
29265}
29266
29267// Message returns the exception's message.
29268func (s *DocumentLimitExceeded) Message() string {
29269	if s.Message_ != nil {
29270		return *s.Message_
29271	}
29272	return ""
29273}
29274
29275// OrigErr always returns nil, satisfies awserr.Error interface.
29276func (s *DocumentLimitExceeded) OrigErr() error {
29277	return nil
29278}
29279
29280func (s *DocumentLimitExceeded) Error() string {
29281	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
29282}
29283
29284// Status code returns the HTTP status code for the request's response error.
29285func (s *DocumentLimitExceeded) StatusCode() int {
29286	return s.RespMetadata.StatusCode
29287}
29288
29289// RequestID returns the service's response RequestID for request.
29290func (s *DocumentLimitExceeded) RequestID() string {
29291	return s.RespMetadata.RequestID
29292}
29293
29294// Details about the response to a document review request.
29295type DocumentMetadataResponseInfo struct {
29296	_ struct{} `type:"structure"`
29297
29298	// Details about a reviewer's response to a document review request.
29299	ReviewerResponse []*DocumentReviewerResponseSource `type:"list"`
29300}
29301
29302// String returns the string representation.
29303//
29304// API parameter values that are decorated as "sensitive" in the API will not
29305// be included in the string output. The member name will be present, but the
29306// value will be replaced with "sensitive".
29307func (s DocumentMetadataResponseInfo) String() string {
29308	return awsutil.Prettify(s)
29309}
29310
29311// GoString returns the string representation.
29312//
29313// API parameter values that are decorated as "sensitive" in the API will not
29314// be included in the string output. The member name will be present, but the
29315// value will be replaced with "sensitive".
29316func (s DocumentMetadataResponseInfo) GoString() string {
29317	return s.String()
29318}
29319
29320// SetReviewerResponse sets the ReviewerResponse field's value.
29321func (s *DocumentMetadataResponseInfo) SetReviewerResponse(v []*DocumentReviewerResponseSource) *DocumentMetadataResponseInfo {
29322	s.ReviewerResponse = v
29323	return s
29324}
29325
29326// Parameters specified in a System Manager document that run on the server
29327// when the command is run.
29328type DocumentParameter struct {
29329	_ struct{} `type:"structure"`
29330
29331	// If specified, the default values for the parameters. Parameters without a
29332	// default value are required. Parameters with a default value are optional.
29333	DefaultValue *string `type:"string"`
29334
29335	// A description of what the parameter does, how to use it, the default value,
29336	// and whether or not the parameter is optional.
29337	Description *string `type:"string"`
29338
29339	// The name of the parameter.
29340	Name *string `type:"string"`
29341
29342	// The type of parameter. The type can be either String or StringList.
29343	Type *string `type:"string" enum:"DocumentParameterType"`
29344}
29345
29346// String returns the string representation.
29347//
29348// API parameter values that are decorated as "sensitive" in the API will not
29349// be included in the string output. The member name will be present, but the
29350// value will be replaced with "sensitive".
29351func (s DocumentParameter) String() string {
29352	return awsutil.Prettify(s)
29353}
29354
29355// GoString returns the string representation.
29356//
29357// API parameter values that are decorated as "sensitive" in the API will not
29358// be included in the string output. The member name will be present, but the
29359// value will be replaced with "sensitive".
29360func (s DocumentParameter) GoString() string {
29361	return s.String()
29362}
29363
29364// SetDefaultValue sets the DefaultValue field's value.
29365func (s *DocumentParameter) SetDefaultValue(v string) *DocumentParameter {
29366	s.DefaultValue = &v
29367	return s
29368}
29369
29370// SetDescription sets the Description field's value.
29371func (s *DocumentParameter) SetDescription(v string) *DocumentParameter {
29372	s.Description = &v
29373	return s
29374}
29375
29376// SetName sets the Name field's value.
29377func (s *DocumentParameter) SetName(v string) *DocumentParameter {
29378	s.Name = &v
29379	return s
29380}
29381
29382// SetType sets the Type field's value.
29383func (s *DocumentParameter) SetType(v string) *DocumentParameter {
29384	s.Type = &v
29385	return s
29386}
29387
29388// The document can't be shared with more Amazon Web Services user accounts.
29389// You can share a document with a maximum of 20 accounts. You can publicly
29390// share up to five documents. If you need to increase this limit, contact Amazon
29391// Web Services Support.
29392type DocumentPermissionLimit struct {
29393	_            struct{}                  `type:"structure"`
29394	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29395
29396	Message_ *string `locationName:"Message" type:"string"`
29397}
29398
29399// String returns the string representation.
29400//
29401// API parameter values that are decorated as "sensitive" in the API will not
29402// be included in the string output. The member name will be present, but the
29403// value will be replaced with "sensitive".
29404func (s DocumentPermissionLimit) String() string {
29405	return awsutil.Prettify(s)
29406}
29407
29408// GoString returns the string representation.
29409//
29410// API parameter values that are decorated as "sensitive" in the API will not
29411// be included in the string output. The member name will be present, but the
29412// value will be replaced with "sensitive".
29413func (s DocumentPermissionLimit) GoString() string {
29414	return s.String()
29415}
29416
29417func newErrorDocumentPermissionLimit(v protocol.ResponseMetadata) error {
29418	return &DocumentPermissionLimit{
29419		RespMetadata: v,
29420	}
29421}
29422
29423// Code returns the exception type name.
29424func (s *DocumentPermissionLimit) Code() string {
29425	return "DocumentPermissionLimit"
29426}
29427
29428// Message returns the exception's message.
29429func (s *DocumentPermissionLimit) Message() string {
29430	if s.Message_ != nil {
29431		return *s.Message_
29432	}
29433	return ""
29434}
29435
29436// OrigErr always returns nil, satisfies awserr.Error interface.
29437func (s *DocumentPermissionLimit) OrigErr() error {
29438	return nil
29439}
29440
29441func (s *DocumentPermissionLimit) Error() string {
29442	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
29443}
29444
29445// Status code returns the HTTP status code for the request's response error.
29446func (s *DocumentPermissionLimit) StatusCode() int {
29447	return s.RespMetadata.StatusCode
29448}
29449
29450// RequestID returns the service's response RequestID for request.
29451func (s *DocumentPermissionLimit) RequestID() string {
29452	return s.RespMetadata.RequestID
29453}
29454
29455// An SSM document required by the current document.
29456type DocumentRequires struct {
29457	_ struct{} `type:"structure"`
29458
29459	// The name of the required SSM document. The name can be an Amazon Resource
29460	// Name (ARN).
29461	//
29462	// Name is a required field
29463	Name *string `type:"string" required:"true"`
29464
29465	// The document version required by the current document.
29466	Version *string `type:"string"`
29467}
29468
29469// String returns the string representation.
29470//
29471// API parameter values that are decorated as "sensitive" in the API will not
29472// be included in the string output. The member name will be present, but the
29473// value will be replaced with "sensitive".
29474func (s DocumentRequires) String() string {
29475	return awsutil.Prettify(s)
29476}
29477
29478// GoString returns the string representation.
29479//
29480// API parameter values that are decorated as "sensitive" in the API will not
29481// be included in the string output. The member name will be present, but the
29482// value will be replaced with "sensitive".
29483func (s DocumentRequires) GoString() string {
29484	return s.String()
29485}
29486
29487// Validate inspects the fields of the type to determine if they are valid.
29488func (s *DocumentRequires) Validate() error {
29489	invalidParams := request.ErrInvalidParams{Context: "DocumentRequires"}
29490	if s.Name == nil {
29491		invalidParams.Add(request.NewErrParamRequired("Name"))
29492	}
29493
29494	if invalidParams.Len() > 0 {
29495		return invalidParams
29496	}
29497	return nil
29498}
29499
29500// SetName sets the Name field's value.
29501func (s *DocumentRequires) SetName(v string) *DocumentRequires {
29502	s.Name = &v
29503	return s
29504}
29505
29506// SetVersion sets the Version field's value.
29507func (s *DocumentRequires) SetVersion(v string) *DocumentRequires {
29508	s.Version = &v
29509	return s
29510}
29511
29512// Information about comments added to a document review request.
29513type DocumentReviewCommentSource struct {
29514	_ struct{} `type:"structure"`
29515
29516	// The content of a comment entered by a user who requests a review of a new
29517	// document version, or who reviews the new version.
29518	Content *string `min:"1" type:"string"`
29519
29520	// The type of information added to a review request. Currently, only the value
29521	// Comment is supported.
29522	Type *string `type:"string" enum:"DocumentReviewCommentType"`
29523}
29524
29525// String returns the string representation.
29526//
29527// API parameter values that are decorated as "sensitive" in the API will not
29528// be included in the string output. The member name will be present, but the
29529// value will be replaced with "sensitive".
29530func (s DocumentReviewCommentSource) String() string {
29531	return awsutil.Prettify(s)
29532}
29533
29534// GoString returns the string representation.
29535//
29536// API parameter values that are decorated as "sensitive" in the API will not
29537// be included in the string output. The member name will be present, but the
29538// value will be replaced with "sensitive".
29539func (s DocumentReviewCommentSource) GoString() string {
29540	return s.String()
29541}
29542
29543// Validate inspects the fields of the type to determine if they are valid.
29544func (s *DocumentReviewCommentSource) Validate() error {
29545	invalidParams := request.ErrInvalidParams{Context: "DocumentReviewCommentSource"}
29546	if s.Content != nil && len(*s.Content) < 1 {
29547		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
29548	}
29549
29550	if invalidParams.Len() > 0 {
29551		return invalidParams
29552	}
29553	return nil
29554}
29555
29556// SetContent sets the Content field's value.
29557func (s *DocumentReviewCommentSource) SetContent(v string) *DocumentReviewCommentSource {
29558	s.Content = &v
29559	return s
29560}
29561
29562// SetType sets the Type field's value.
29563func (s *DocumentReviewCommentSource) SetType(v string) *DocumentReviewCommentSource {
29564	s.Type = &v
29565	return s
29566}
29567
29568// Information about a reviewer's response to a document review request.
29569type DocumentReviewerResponseSource struct {
29570	_ struct{} `type:"structure"`
29571
29572	// The comment entered by a reviewer as part of their document review response.
29573	Comment []*DocumentReviewCommentSource `type:"list"`
29574
29575	// The date and time that a reviewer entered a response to a document review
29576	// request.
29577	CreateTime *time.Time `type:"timestamp"`
29578
29579	// The current review status of a new custom SSM document created by a member
29580	// of your organization, or of the latest version of an existing SSM document.
29581	//
29582	// Only one version of a document can be in the APPROVED state at a time. When
29583	// a new version is approved, the status of the previous version changes to
29584	// REJECTED.
29585	//
29586	// Only one version of a document can be in review, or PENDING, at a time.
29587	ReviewStatus *string `type:"string" enum:"ReviewStatus"`
29588
29589	// The user in your organization assigned to review a document request.
29590	Reviewer *string `type:"string"`
29591
29592	// The date and time that a reviewer last updated a response to a document review
29593	// request.
29594	UpdatedTime *time.Time `type:"timestamp"`
29595}
29596
29597// String returns the string representation.
29598//
29599// API parameter values that are decorated as "sensitive" in the API will not
29600// be included in the string output. The member name will be present, but the
29601// value will be replaced with "sensitive".
29602func (s DocumentReviewerResponseSource) String() string {
29603	return awsutil.Prettify(s)
29604}
29605
29606// GoString returns the string representation.
29607//
29608// API parameter values that are decorated as "sensitive" in the API will not
29609// be included in the string output. The member name will be present, but the
29610// value will be replaced with "sensitive".
29611func (s DocumentReviewerResponseSource) GoString() string {
29612	return s.String()
29613}
29614
29615// SetComment sets the Comment field's value.
29616func (s *DocumentReviewerResponseSource) SetComment(v []*DocumentReviewCommentSource) *DocumentReviewerResponseSource {
29617	s.Comment = v
29618	return s
29619}
29620
29621// SetCreateTime sets the CreateTime field's value.
29622func (s *DocumentReviewerResponseSource) SetCreateTime(v time.Time) *DocumentReviewerResponseSource {
29623	s.CreateTime = &v
29624	return s
29625}
29626
29627// SetReviewStatus sets the ReviewStatus field's value.
29628func (s *DocumentReviewerResponseSource) SetReviewStatus(v string) *DocumentReviewerResponseSource {
29629	s.ReviewStatus = &v
29630	return s
29631}
29632
29633// SetReviewer sets the Reviewer field's value.
29634func (s *DocumentReviewerResponseSource) SetReviewer(v string) *DocumentReviewerResponseSource {
29635	s.Reviewer = &v
29636	return s
29637}
29638
29639// SetUpdatedTime sets the UpdatedTime field's value.
29640func (s *DocumentReviewerResponseSource) SetUpdatedTime(v time.Time) *DocumentReviewerResponseSource {
29641	s.UpdatedTime = &v
29642	return s
29643}
29644
29645// Information about a document approval review.
29646type DocumentReviews struct {
29647	_ struct{} `type:"structure"`
29648
29649	// The action to take on a document approval review request.
29650	//
29651	// Action is a required field
29652	Action *string `type:"string" required:"true" enum:"DocumentReviewAction"`
29653
29654	// A comment entered by a user in your organization about the document review
29655	// request.
29656	Comment []*DocumentReviewCommentSource `type:"list"`
29657}
29658
29659// String returns the string representation.
29660//
29661// API parameter values that are decorated as "sensitive" in the API will not
29662// be included in the string output. The member name will be present, but the
29663// value will be replaced with "sensitive".
29664func (s DocumentReviews) String() string {
29665	return awsutil.Prettify(s)
29666}
29667
29668// GoString returns the string representation.
29669//
29670// API parameter values that are decorated as "sensitive" in the API will not
29671// be included in the string output. The member name will be present, but the
29672// value will be replaced with "sensitive".
29673func (s DocumentReviews) GoString() string {
29674	return s.String()
29675}
29676
29677// Validate inspects the fields of the type to determine if they are valid.
29678func (s *DocumentReviews) Validate() error {
29679	invalidParams := request.ErrInvalidParams{Context: "DocumentReviews"}
29680	if s.Action == nil {
29681		invalidParams.Add(request.NewErrParamRequired("Action"))
29682	}
29683	if s.Comment != nil {
29684		for i, v := range s.Comment {
29685			if v == nil {
29686				continue
29687			}
29688			if err := v.Validate(); err != nil {
29689				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Comment", i), err.(request.ErrInvalidParams))
29690			}
29691		}
29692	}
29693
29694	if invalidParams.Len() > 0 {
29695		return invalidParams
29696	}
29697	return nil
29698}
29699
29700// SetAction sets the Action field's value.
29701func (s *DocumentReviews) SetAction(v string) *DocumentReviews {
29702	s.Action = &v
29703	return s
29704}
29705
29706// SetComment sets the Comment field's value.
29707func (s *DocumentReviews) SetComment(v []*DocumentReviewCommentSource) *DocumentReviews {
29708	s.Comment = v
29709	return s
29710}
29711
29712// Version information about the document.
29713type DocumentVersionInfo struct {
29714	_ struct{} `type:"structure"`
29715
29716	// The date the document was created.
29717	CreatedDate *time.Time `type:"timestamp"`
29718
29719	// The friendly name of the SSM document. This value can differ for each version
29720	// of the document. If you want to update this value, see UpdateDocument.
29721	DisplayName *string `type:"string"`
29722
29723	// The document format, either JSON or YAML.
29724	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
29725
29726	// The document version.
29727	DocumentVersion *string `type:"string"`
29728
29729	// An identifier for the default version of the document.
29730	IsDefaultVersion *bool `type:"boolean"`
29731
29732	// The document name.
29733	Name *string `type:"string"`
29734
29735	// The current status of the approval review for the latest version of the document.
29736	ReviewStatus *string `type:"string" enum:"ReviewStatus"`
29737
29738	// The status of the SSM document, such as Creating, Active, Failed, and Deleting.
29739	Status *string `type:"string" enum:"DocumentStatus"`
29740
29741	// A message returned by Amazon Web Services Systems Manager that explains the
29742	// Status value. For example, a Failed status might be explained by the StatusInformation
29743	// message, "The specified S3 bucket doesn't exist. Verify that the URL of the
29744	// S3 bucket is correct."
29745	StatusInformation *string `type:"string"`
29746
29747	// The version of the artifact associated with the document. For example, "Release
29748	// 12, Update 6". This value is unique across all versions of a document, and
29749	// can't be changed.
29750	VersionName *string `type:"string"`
29751}
29752
29753// String returns the string representation.
29754//
29755// API parameter values that are decorated as "sensitive" in the API will not
29756// be included in the string output. The member name will be present, but the
29757// value will be replaced with "sensitive".
29758func (s DocumentVersionInfo) String() string {
29759	return awsutil.Prettify(s)
29760}
29761
29762// GoString returns the string representation.
29763//
29764// API parameter values that are decorated as "sensitive" in the API will not
29765// be included in the string output. The member name will be present, but the
29766// value will be replaced with "sensitive".
29767func (s DocumentVersionInfo) GoString() string {
29768	return s.String()
29769}
29770
29771// SetCreatedDate sets the CreatedDate field's value.
29772func (s *DocumentVersionInfo) SetCreatedDate(v time.Time) *DocumentVersionInfo {
29773	s.CreatedDate = &v
29774	return s
29775}
29776
29777// SetDisplayName sets the DisplayName field's value.
29778func (s *DocumentVersionInfo) SetDisplayName(v string) *DocumentVersionInfo {
29779	s.DisplayName = &v
29780	return s
29781}
29782
29783// SetDocumentFormat sets the DocumentFormat field's value.
29784func (s *DocumentVersionInfo) SetDocumentFormat(v string) *DocumentVersionInfo {
29785	s.DocumentFormat = &v
29786	return s
29787}
29788
29789// SetDocumentVersion sets the DocumentVersion field's value.
29790func (s *DocumentVersionInfo) SetDocumentVersion(v string) *DocumentVersionInfo {
29791	s.DocumentVersion = &v
29792	return s
29793}
29794
29795// SetIsDefaultVersion sets the IsDefaultVersion field's value.
29796func (s *DocumentVersionInfo) SetIsDefaultVersion(v bool) *DocumentVersionInfo {
29797	s.IsDefaultVersion = &v
29798	return s
29799}
29800
29801// SetName sets the Name field's value.
29802func (s *DocumentVersionInfo) SetName(v string) *DocumentVersionInfo {
29803	s.Name = &v
29804	return s
29805}
29806
29807// SetReviewStatus sets the ReviewStatus field's value.
29808func (s *DocumentVersionInfo) SetReviewStatus(v string) *DocumentVersionInfo {
29809	s.ReviewStatus = &v
29810	return s
29811}
29812
29813// SetStatus sets the Status field's value.
29814func (s *DocumentVersionInfo) SetStatus(v string) *DocumentVersionInfo {
29815	s.Status = &v
29816	return s
29817}
29818
29819// SetStatusInformation sets the StatusInformation field's value.
29820func (s *DocumentVersionInfo) SetStatusInformation(v string) *DocumentVersionInfo {
29821	s.StatusInformation = &v
29822	return s
29823}
29824
29825// SetVersionName sets the VersionName field's value.
29826func (s *DocumentVersionInfo) SetVersionName(v string) *DocumentVersionInfo {
29827	s.VersionName = &v
29828	return s
29829}
29830
29831// The document has too many versions. Delete one or more document versions
29832// and try again.
29833type DocumentVersionLimitExceeded struct {
29834	_            struct{}                  `type:"structure"`
29835	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29836
29837	Message_ *string `locationName:"Message" type:"string"`
29838}
29839
29840// String returns the string representation.
29841//
29842// API parameter values that are decorated as "sensitive" in the API will not
29843// be included in the string output. The member name will be present, but the
29844// value will be replaced with "sensitive".
29845func (s DocumentVersionLimitExceeded) String() string {
29846	return awsutil.Prettify(s)
29847}
29848
29849// GoString returns the string representation.
29850//
29851// API parameter values that are decorated as "sensitive" in the API will not
29852// be included in the string output. The member name will be present, but the
29853// value will be replaced with "sensitive".
29854func (s DocumentVersionLimitExceeded) GoString() string {
29855	return s.String()
29856}
29857
29858func newErrorDocumentVersionLimitExceeded(v protocol.ResponseMetadata) error {
29859	return &DocumentVersionLimitExceeded{
29860		RespMetadata: v,
29861	}
29862}
29863
29864// Code returns the exception type name.
29865func (s *DocumentVersionLimitExceeded) Code() string {
29866	return "DocumentVersionLimitExceeded"
29867}
29868
29869// Message returns the exception's message.
29870func (s *DocumentVersionLimitExceeded) Message() string {
29871	if s.Message_ != nil {
29872		return *s.Message_
29873	}
29874	return ""
29875}
29876
29877// OrigErr always returns nil, satisfies awserr.Error interface.
29878func (s *DocumentVersionLimitExceeded) OrigErr() error {
29879	return nil
29880}
29881
29882func (s *DocumentVersionLimitExceeded) Error() string {
29883	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
29884}
29885
29886// Status code returns the HTTP status code for the request's response error.
29887func (s *DocumentVersionLimitExceeded) StatusCode() int {
29888	return s.RespMetadata.StatusCode
29889}
29890
29891// RequestID returns the service's response RequestID for request.
29892func (s *DocumentVersionLimitExceeded) RequestID() string {
29893	return s.RespMetadata.RequestID
29894}
29895
29896// Error returned when the ID specified for a resource, such as a maintenance
29897// window or patch baseline, doesn't exist.
29898//
29899// For information about resource quotas in Amazon Web Services Systems Manager,
29900// see Systems Manager service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
29901// in the Amazon Web Services General Reference.
29902type DoesNotExistException struct {
29903	_            struct{}                  `type:"structure"`
29904	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29905
29906	Message_ *string `locationName:"Message" type:"string"`
29907}
29908
29909// String returns the string representation.
29910//
29911// API parameter values that are decorated as "sensitive" in the API will not
29912// be included in the string output. The member name will be present, but the
29913// value will be replaced with "sensitive".
29914func (s DoesNotExistException) String() string {
29915	return awsutil.Prettify(s)
29916}
29917
29918// GoString returns the string representation.
29919//
29920// API parameter values that are decorated as "sensitive" in the API will not
29921// be included in the string output. The member name will be present, but the
29922// value will be replaced with "sensitive".
29923func (s DoesNotExistException) GoString() string {
29924	return s.String()
29925}
29926
29927func newErrorDoesNotExistException(v protocol.ResponseMetadata) error {
29928	return &DoesNotExistException{
29929		RespMetadata: v,
29930	}
29931}
29932
29933// Code returns the exception type name.
29934func (s *DoesNotExistException) Code() string {
29935	return "DoesNotExistException"
29936}
29937
29938// Message returns the exception's message.
29939func (s *DoesNotExistException) Message() string {
29940	if s.Message_ != nil {
29941		return *s.Message_
29942	}
29943	return ""
29944}
29945
29946// OrigErr always returns nil, satisfies awserr.Error interface.
29947func (s *DoesNotExistException) OrigErr() error {
29948	return nil
29949}
29950
29951func (s *DoesNotExistException) Error() string {
29952	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
29953}
29954
29955// Status code returns the HTTP status code for the request's response error.
29956func (s *DoesNotExistException) StatusCode() int {
29957	return s.RespMetadata.StatusCode
29958}
29959
29960// RequestID returns the service's response RequestID for request.
29961func (s *DoesNotExistException) RequestID() string {
29962	return s.RespMetadata.RequestID
29963}
29964
29965// The content of the association document matches another document. Change
29966// the content of the document and try again.
29967type DuplicateDocumentContent struct {
29968	_            struct{}                  `type:"structure"`
29969	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29970
29971	Message_ *string `locationName:"Message" type:"string"`
29972}
29973
29974// String returns the string representation.
29975//
29976// API parameter values that are decorated as "sensitive" in the API will not
29977// be included in the string output. The member name will be present, but the
29978// value will be replaced with "sensitive".
29979func (s DuplicateDocumentContent) String() string {
29980	return awsutil.Prettify(s)
29981}
29982
29983// GoString returns the string representation.
29984//
29985// API parameter values that are decorated as "sensitive" in the API will not
29986// be included in the string output. The member name will be present, but the
29987// value will be replaced with "sensitive".
29988func (s DuplicateDocumentContent) GoString() string {
29989	return s.String()
29990}
29991
29992func newErrorDuplicateDocumentContent(v protocol.ResponseMetadata) error {
29993	return &DuplicateDocumentContent{
29994		RespMetadata: v,
29995	}
29996}
29997
29998// Code returns the exception type name.
29999func (s *DuplicateDocumentContent) Code() string {
30000	return "DuplicateDocumentContent"
30001}
30002
30003// Message returns the exception's message.
30004func (s *DuplicateDocumentContent) Message() string {
30005	if s.Message_ != nil {
30006		return *s.Message_
30007	}
30008	return ""
30009}
30010
30011// OrigErr always returns nil, satisfies awserr.Error interface.
30012func (s *DuplicateDocumentContent) OrigErr() error {
30013	return nil
30014}
30015
30016func (s *DuplicateDocumentContent) Error() string {
30017	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
30018}
30019
30020// Status code returns the HTTP status code for the request's response error.
30021func (s *DuplicateDocumentContent) StatusCode() int {
30022	return s.RespMetadata.StatusCode
30023}
30024
30025// RequestID returns the service's response RequestID for request.
30026func (s *DuplicateDocumentContent) RequestID() string {
30027	return s.RespMetadata.RequestID
30028}
30029
30030// The version name has already been used in this document. Specify a different
30031// version name, and then try again.
30032type DuplicateDocumentVersionName struct {
30033	_            struct{}                  `type:"structure"`
30034	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30035
30036	Message_ *string `locationName:"Message" type:"string"`
30037}
30038
30039// String returns the string representation.
30040//
30041// API parameter values that are decorated as "sensitive" in the API will not
30042// be included in the string output. The member name will be present, but the
30043// value will be replaced with "sensitive".
30044func (s DuplicateDocumentVersionName) String() string {
30045	return awsutil.Prettify(s)
30046}
30047
30048// GoString returns the string representation.
30049//
30050// API parameter values that are decorated as "sensitive" in the API will not
30051// be included in the string output. The member name will be present, but the
30052// value will be replaced with "sensitive".
30053func (s DuplicateDocumentVersionName) GoString() string {
30054	return s.String()
30055}
30056
30057func newErrorDuplicateDocumentVersionName(v protocol.ResponseMetadata) error {
30058	return &DuplicateDocumentVersionName{
30059		RespMetadata: v,
30060	}
30061}
30062
30063// Code returns the exception type name.
30064func (s *DuplicateDocumentVersionName) Code() string {
30065	return "DuplicateDocumentVersionName"
30066}
30067
30068// Message returns the exception's message.
30069func (s *DuplicateDocumentVersionName) Message() string {
30070	if s.Message_ != nil {
30071		return *s.Message_
30072	}
30073	return ""
30074}
30075
30076// OrigErr always returns nil, satisfies awserr.Error interface.
30077func (s *DuplicateDocumentVersionName) OrigErr() error {
30078	return nil
30079}
30080
30081func (s *DuplicateDocumentVersionName) Error() string {
30082	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
30083}
30084
30085// Status code returns the HTTP status code for the request's response error.
30086func (s *DuplicateDocumentVersionName) StatusCode() int {
30087	return s.RespMetadata.StatusCode
30088}
30089
30090// RequestID returns the service's response RequestID for request.
30091func (s *DuplicateDocumentVersionName) RequestID() string {
30092	return s.RespMetadata.RequestID
30093}
30094
30095// You can't specify an instance ID in more than one association.
30096type DuplicateInstanceId struct {
30097	_            struct{}                  `type:"structure"`
30098	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30099
30100	Message_ *string `locationName:"message" type:"string"`
30101}
30102
30103// String returns the string representation.
30104//
30105// API parameter values that are decorated as "sensitive" in the API will not
30106// be included in the string output. The member name will be present, but the
30107// value will be replaced with "sensitive".
30108func (s DuplicateInstanceId) String() string {
30109	return awsutil.Prettify(s)
30110}
30111
30112// GoString returns the string representation.
30113//
30114// API parameter values that are decorated as "sensitive" in the API will not
30115// be included in the string output. The member name will be present, but the
30116// value will be replaced with "sensitive".
30117func (s DuplicateInstanceId) GoString() string {
30118	return s.String()
30119}
30120
30121func newErrorDuplicateInstanceId(v protocol.ResponseMetadata) error {
30122	return &DuplicateInstanceId{
30123		RespMetadata: v,
30124	}
30125}
30126
30127// Code returns the exception type name.
30128func (s *DuplicateInstanceId) Code() string {
30129	return "DuplicateInstanceId"
30130}
30131
30132// Message returns the exception's message.
30133func (s *DuplicateInstanceId) Message() string {
30134	if s.Message_ != nil {
30135		return *s.Message_
30136	}
30137	return ""
30138}
30139
30140// OrigErr always returns nil, satisfies awserr.Error interface.
30141func (s *DuplicateInstanceId) OrigErr() error {
30142	return nil
30143}
30144
30145func (s *DuplicateInstanceId) Error() string {
30146	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
30147}
30148
30149// Status code returns the HTTP status code for the request's response error.
30150func (s *DuplicateInstanceId) StatusCode() int {
30151	return s.RespMetadata.StatusCode
30152}
30153
30154// RequestID returns the service's response RequestID for request.
30155func (s *DuplicateInstanceId) RequestID() string {
30156	return s.RespMetadata.RequestID
30157}
30158
30159// The EffectivePatch structure defines metadata about a patch along with the
30160// approval state of the patch in a particular patch baseline. The approval
30161// state includes information about whether the patch is currently approved,
30162// due to be approved by a rule, explicitly approved, or explicitly rejected
30163// and the date the patch was or will be approved.
30164type EffectivePatch struct {
30165	_ struct{} `type:"structure"`
30166
30167	// Provides metadata for a patch, including information such as the KB ID, severity,
30168	// classification and a URL for where more information can be obtained about
30169	// the patch.
30170	Patch *Patch `type:"structure"`
30171
30172	// The status of the patch in a patch baseline. This includes information about
30173	// whether the patch is currently approved, due to be approved by a rule, explicitly
30174	// approved, or explicitly rejected and the date the patch was or will be approved.
30175	PatchStatus *PatchStatus `type:"structure"`
30176}
30177
30178// String returns the string representation.
30179//
30180// API parameter values that are decorated as "sensitive" in the API will not
30181// be included in the string output. The member name will be present, but the
30182// value will be replaced with "sensitive".
30183func (s EffectivePatch) String() string {
30184	return awsutil.Prettify(s)
30185}
30186
30187// GoString returns the string representation.
30188//
30189// API parameter values that are decorated as "sensitive" in the API will not
30190// be included in the string output. The member name will be present, but the
30191// value will be replaced with "sensitive".
30192func (s EffectivePatch) GoString() string {
30193	return s.String()
30194}
30195
30196// SetPatch sets the Patch field's value.
30197func (s *EffectivePatch) SetPatch(v *Patch) *EffectivePatch {
30198	s.Patch = v
30199	return s
30200}
30201
30202// SetPatchStatus sets the PatchStatus field's value.
30203func (s *EffectivePatch) SetPatchStatus(v *PatchStatus) *EffectivePatch {
30204	s.PatchStatus = v
30205	return s
30206}
30207
30208// Describes a failed association.
30209type FailedCreateAssociation struct {
30210	_ struct{} `type:"structure"`
30211
30212	// The association.
30213	Entry *CreateAssociationBatchRequestEntry `type:"structure"`
30214
30215	// The source of the failure.
30216	Fault *string `type:"string" enum:"Fault"`
30217
30218	// A description of the failure.
30219	Message *string `type:"string"`
30220}
30221
30222// String returns the string representation.
30223//
30224// API parameter values that are decorated as "sensitive" in the API will not
30225// be included in the string output. The member name will be present, but the
30226// value will be replaced with "sensitive".
30227func (s FailedCreateAssociation) String() string {
30228	return awsutil.Prettify(s)
30229}
30230
30231// GoString returns the string representation.
30232//
30233// API parameter values that are decorated as "sensitive" in the API will not
30234// be included in the string output. The member name will be present, but the
30235// value will be replaced with "sensitive".
30236func (s FailedCreateAssociation) GoString() string {
30237	return s.String()
30238}
30239
30240// SetEntry sets the Entry field's value.
30241func (s *FailedCreateAssociation) SetEntry(v *CreateAssociationBatchRequestEntry) *FailedCreateAssociation {
30242	s.Entry = v
30243	return s
30244}
30245
30246// SetFault sets the Fault field's value.
30247func (s *FailedCreateAssociation) SetFault(v string) *FailedCreateAssociation {
30248	s.Fault = &v
30249	return s
30250}
30251
30252// SetMessage sets the Message field's value.
30253func (s *FailedCreateAssociation) SetMessage(v string) *FailedCreateAssociation {
30254	s.Message = &v
30255	return s
30256}
30257
30258// Information about an Automation failure.
30259type FailureDetails struct {
30260	_ struct{} `type:"structure"`
30261
30262	// Detailed information about the Automation step failure.
30263	Details map[string][]*string `min:"1" type:"map"`
30264
30265	// The stage of the Automation execution when the failure occurred. The stages
30266	// include the following: InputValidation, PreVerification, Invocation, PostVerification.
30267	FailureStage *string `type:"string"`
30268
30269	// The type of Automation failure. Failure types include the following: Action,
30270	// Permission, Throttling, Verification, Internal.
30271	FailureType *string `type:"string"`
30272}
30273
30274// String returns the string representation.
30275//
30276// API parameter values that are decorated as "sensitive" in the API will not
30277// be included in the string output. The member name will be present, but the
30278// value will be replaced with "sensitive".
30279func (s FailureDetails) String() string {
30280	return awsutil.Prettify(s)
30281}
30282
30283// GoString returns the string representation.
30284//
30285// API parameter values that are decorated as "sensitive" in the API will not
30286// be included in the string output. The member name will be present, but the
30287// value will be replaced with "sensitive".
30288func (s FailureDetails) GoString() string {
30289	return s.String()
30290}
30291
30292// SetDetails sets the Details field's value.
30293func (s *FailureDetails) SetDetails(v map[string][]*string) *FailureDetails {
30294	s.Details = v
30295	return s
30296}
30297
30298// SetFailureStage sets the FailureStage field's value.
30299func (s *FailureDetails) SetFailureStage(v string) *FailureDetails {
30300	s.FailureStage = &v
30301	return s
30302}
30303
30304// SetFailureType sets the FailureType field's value.
30305func (s *FailureDetails) SetFailureType(v string) *FailureDetails {
30306	s.FailureType = &v
30307	return s
30308}
30309
30310// You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where
30311// the corresponding service isn't available.
30312type FeatureNotAvailableException struct {
30313	_            struct{}                  `type:"structure"`
30314	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30315
30316	Message_ *string `locationName:"Message" type:"string"`
30317}
30318
30319// String returns the string representation.
30320//
30321// API parameter values that are decorated as "sensitive" in the API will not
30322// be included in the string output. The member name will be present, but the
30323// value will be replaced with "sensitive".
30324func (s FeatureNotAvailableException) String() string {
30325	return awsutil.Prettify(s)
30326}
30327
30328// GoString returns the string representation.
30329//
30330// API parameter values that are decorated as "sensitive" in the API will not
30331// be included in the string output. The member name will be present, but the
30332// value will be replaced with "sensitive".
30333func (s FeatureNotAvailableException) GoString() string {
30334	return s.String()
30335}
30336
30337func newErrorFeatureNotAvailableException(v protocol.ResponseMetadata) error {
30338	return &FeatureNotAvailableException{
30339		RespMetadata: v,
30340	}
30341}
30342
30343// Code returns the exception type name.
30344func (s *FeatureNotAvailableException) Code() string {
30345	return "FeatureNotAvailableException"
30346}
30347
30348// Message returns the exception's message.
30349func (s *FeatureNotAvailableException) Message() string {
30350	if s.Message_ != nil {
30351		return *s.Message_
30352	}
30353	return ""
30354}
30355
30356// OrigErr always returns nil, satisfies awserr.Error interface.
30357func (s *FeatureNotAvailableException) OrigErr() error {
30358	return nil
30359}
30360
30361func (s *FeatureNotAvailableException) Error() string {
30362	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
30363}
30364
30365// Status code returns the HTTP status code for the request's response error.
30366func (s *FeatureNotAvailableException) StatusCode() int {
30367	return s.RespMetadata.StatusCode
30368}
30369
30370// RequestID returns the service's response RequestID for request.
30371func (s *FeatureNotAvailableException) RequestID() string {
30372	return s.RespMetadata.RequestID
30373}
30374
30375type GetAutomationExecutionInput struct {
30376	_ struct{} `type:"structure"`
30377
30378	// The unique identifier for an existing automation execution to examine. The
30379	// execution ID is returned by StartAutomationExecution when the execution of
30380	// an Automation runbook is initiated.
30381	//
30382	// AutomationExecutionId is a required field
30383	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
30384}
30385
30386// String returns the string representation.
30387//
30388// API parameter values that are decorated as "sensitive" in the API will not
30389// be included in the string output. The member name will be present, but the
30390// value will be replaced with "sensitive".
30391func (s GetAutomationExecutionInput) String() string {
30392	return awsutil.Prettify(s)
30393}
30394
30395// GoString returns the string representation.
30396//
30397// API parameter values that are decorated as "sensitive" in the API will not
30398// be included in the string output. The member name will be present, but the
30399// value will be replaced with "sensitive".
30400func (s GetAutomationExecutionInput) GoString() string {
30401	return s.String()
30402}
30403
30404// Validate inspects the fields of the type to determine if they are valid.
30405func (s *GetAutomationExecutionInput) Validate() error {
30406	invalidParams := request.ErrInvalidParams{Context: "GetAutomationExecutionInput"}
30407	if s.AutomationExecutionId == nil {
30408		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
30409	}
30410	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
30411		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
30412	}
30413
30414	if invalidParams.Len() > 0 {
30415		return invalidParams
30416	}
30417	return nil
30418}
30419
30420// SetAutomationExecutionId sets the AutomationExecutionId field's value.
30421func (s *GetAutomationExecutionInput) SetAutomationExecutionId(v string) *GetAutomationExecutionInput {
30422	s.AutomationExecutionId = &v
30423	return s
30424}
30425
30426type GetAutomationExecutionOutput struct {
30427	_ struct{} `type:"structure"`
30428
30429	// Detailed information about the current state of an automation execution.
30430	AutomationExecution *AutomationExecution `type:"structure"`
30431}
30432
30433// String returns the string representation.
30434//
30435// API parameter values that are decorated as "sensitive" in the API will not
30436// be included in the string output. The member name will be present, but the
30437// value will be replaced with "sensitive".
30438func (s GetAutomationExecutionOutput) String() string {
30439	return awsutil.Prettify(s)
30440}
30441
30442// GoString returns the string representation.
30443//
30444// API parameter values that are decorated as "sensitive" in the API will not
30445// be included in the string output. The member name will be present, but the
30446// value will be replaced with "sensitive".
30447func (s GetAutomationExecutionOutput) GoString() string {
30448	return s.String()
30449}
30450
30451// SetAutomationExecution sets the AutomationExecution field's value.
30452func (s *GetAutomationExecutionOutput) SetAutomationExecution(v *AutomationExecution) *GetAutomationExecutionOutput {
30453	s.AutomationExecution = v
30454	return s
30455}
30456
30457type GetCalendarStateInput struct {
30458	_ struct{} `type:"structure"`
30459
30460	// (Optional) The specific time for which you want to get calendar state information,
30461	// in ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601) format. If you don't
30462	// specify a value or AtTime, the current time is used.
30463	AtTime *string `type:"string"`
30464
30465	// The names or Amazon Resource Names (ARNs) of the Systems Manager documents
30466	// (SSM documents) that represent the calendar entries for which you want to
30467	// get the state.
30468	//
30469	// CalendarNames is a required field
30470	CalendarNames []*string `type:"list" required:"true"`
30471}
30472
30473// String returns the string representation.
30474//
30475// API parameter values that are decorated as "sensitive" in the API will not
30476// be included in the string output. The member name will be present, but the
30477// value will be replaced with "sensitive".
30478func (s GetCalendarStateInput) String() string {
30479	return awsutil.Prettify(s)
30480}
30481
30482// GoString returns the string representation.
30483//
30484// API parameter values that are decorated as "sensitive" in the API will not
30485// be included in the string output. The member name will be present, but the
30486// value will be replaced with "sensitive".
30487func (s GetCalendarStateInput) GoString() string {
30488	return s.String()
30489}
30490
30491// Validate inspects the fields of the type to determine if they are valid.
30492func (s *GetCalendarStateInput) Validate() error {
30493	invalidParams := request.ErrInvalidParams{Context: "GetCalendarStateInput"}
30494	if s.CalendarNames == nil {
30495		invalidParams.Add(request.NewErrParamRequired("CalendarNames"))
30496	}
30497
30498	if invalidParams.Len() > 0 {
30499		return invalidParams
30500	}
30501	return nil
30502}
30503
30504// SetAtTime sets the AtTime field's value.
30505func (s *GetCalendarStateInput) SetAtTime(v string) *GetCalendarStateInput {
30506	s.AtTime = &v
30507	return s
30508}
30509
30510// SetCalendarNames sets the CalendarNames field's value.
30511func (s *GetCalendarStateInput) SetCalendarNames(v []*string) *GetCalendarStateInput {
30512	s.CalendarNames = v
30513	return s
30514}
30515
30516type GetCalendarStateOutput struct {
30517	_ struct{} `type:"structure"`
30518
30519	// The time, as an ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601) string,
30520	// that you specified in your command. If you don't specify a time, GetCalendarState
30521	// uses the current time.
30522	AtTime *string `type:"string"`
30523
30524	// The time, as an ISO 8601 (https://en.wikipedia.org/wiki/ISO_8601) string,
30525	// that the calendar state will change. If the current calendar state is OPEN,
30526	// NextTransitionTime indicates when the calendar state changes to CLOSED, and
30527	// vice-versa.
30528	NextTransitionTime *string `type:"string"`
30529
30530	// The state of the calendar. An OPEN calendar indicates that actions are allowed
30531	// to proceed, and a CLOSED calendar indicates that actions aren't allowed to
30532	// proceed.
30533	State *string `type:"string" enum:"CalendarState"`
30534}
30535
30536// String returns the string representation.
30537//
30538// API parameter values that are decorated as "sensitive" in the API will not
30539// be included in the string output. The member name will be present, but the
30540// value will be replaced with "sensitive".
30541func (s GetCalendarStateOutput) String() string {
30542	return awsutil.Prettify(s)
30543}
30544
30545// GoString returns the string representation.
30546//
30547// API parameter values that are decorated as "sensitive" in the API will not
30548// be included in the string output. The member name will be present, but the
30549// value will be replaced with "sensitive".
30550func (s GetCalendarStateOutput) GoString() string {
30551	return s.String()
30552}
30553
30554// SetAtTime sets the AtTime field's value.
30555func (s *GetCalendarStateOutput) SetAtTime(v string) *GetCalendarStateOutput {
30556	s.AtTime = &v
30557	return s
30558}
30559
30560// SetNextTransitionTime sets the NextTransitionTime field's value.
30561func (s *GetCalendarStateOutput) SetNextTransitionTime(v string) *GetCalendarStateOutput {
30562	s.NextTransitionTime = &v
30563	return s
30564}
30565
30566// SetState sets the State field's value.
30567func (s *GetCalendarStateOutput) SetState(v string) *GetCalendarStateOutput {
30568	s.State = &v
30569	return s
30570}
30571
30572type GetCommandInvocationInput struct {
30573	_ struct{} `type:"structure"`
30574
30575	// (Required) The parent command ID of the invocation plugin.
30576	//
30577	// CommandId is a required field
30578	CommandId *string `min:"36" type:"string" required:"true"`
30579
30580	// (Required) The ID of the managed instance targeted by the command. A managed
30581	// instance can be an Amazon Elastic Compute Cloud (Amazon EC2) instance or
30582	// an instance in your hybrid environment that is configured for Amazon Web
30583	// Services Systems Manager.
30584	//
30585	// InstanceId is a required field
30586	InstanceId *string `type:"string" required:"true"`
30587
30588	// The name of the plugin for which you want detailed results. If the document
30589	// contains only one plugin, you can omit the name and details for that plugin.
30590	// If the document contains more than one plugin, you must specify the name
30591	// of the plugin for which you want to view details.
30592	//
30593	// Plugin names are also referred to as step names in Systems Manager documents
30594	// (SSM documents). For example, aws:RunShellScript is a plugin.
30595	//
30596	// To find the PluginName, check the document content and find the name of the
30597	// plugin. Alternatively, use ListCommandInvocations with the CommandId and
30598	// Details parameters. The PluginName is the Name attribute of the CommandPlugin
30599	// object in the CommandPlugins list.
30600	PluginName *string `min:"4" type:"string"`
30601}
30602
30603// String returns the string representation.
30604//
30605// API parameter values that are decorated as "sensitive" in the API will not
30606// be included in the string output. The member name will be present, but the
30607// value will be replaced with "sensitive".
30608func (s GetCommandInvocationInput) String() string {
30609	return awsutil.Prettify(s)
30610}
30611
30612// GoString returns the string representation.
30613//
30614// API parameter values that are decorated as "sensitive" in the API will not
30615// be included in the string output. The member name will be present, but the
30616// value will be replaced with "sensitive".
30617func (s GetCommandInvocationInput) GoString() string {
30618	return s.String()
30619}
30620
30621// Validate inspects the fields of the type to determine if they are valid.
30622func (s *GetCommandInvocationInput) Validate() error {
30623	invalidParams := request.ErrInvalidParams{Context: "GetCommandInvocationInput"}
30624	if s.CommandId == nil {
30625		invalidParams.Add(request.NewErrParamRequired("CommandId"))
30626	}
30627	if s.CommandId != nil && len(*s.CommandId) < 36 {
30628		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
30629	}
30630	if s.InstanceId == nil {
30631		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
30632	}
30633	if s.PluginName != nil && len(*s.PluginName) < 4 {
30634		invalidParams.Add(request.NewErrParamMinLen("PluginName", 4))
30635	}
30636
30637	if invalidParams.Len() > 0 {
30638		return invalidParams
30639	}
30640	return nil
30641}
30642
30643// SetCommandId sets the CommandId field's value.
30644func (s *GetCommandInvocationInput) SetCommandId(v string) *GetCommandInvocationInput {
30645	s.CommandId = &v
30646	return s
30647}
30648
30649// SetInstanceId sets the InstanceId field's value.
30650func (s *GetCommandInvocationInput) SetInstanceId(v string) *GetCommandInvocationInput {
30651	s.InstanceId = &v
30652	return s
30653}
30654
30655// SetPluginName sets the PluginName field's value.
30656func (s *GetCommandInvocationInput) SetPluginName(v string) *GetCommandInvocationInput {
30657	s.PluginName = &v
30658	return s
30659}
30660
30661type GetCommandInvocationOutput struct {
30662	_ struct{} `type:"structure"`
30663
30664	// Amazon CloudWatch Logs information where Systems Manager sent the command
30665	// output.
30666	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
30667
30668	// The parent command ID of the invocation plugin.
30669	CommandId *string `min:"36" type:"string"`
30670
30671	// The comment text for the command.
30672	Comment *string `type:"string"`
30673
30674	// The name of the document that was run. For example, AWS-RunShellScript.
30675	DocumentName *string `type:"string"`
30676
30677	// The Systems Manager document (SSM document) version used in the request.
30678	DocumentVersion *string `type:"string"`
30679
30680	// Duration since ExecutionStartDateTime.
30681	ExecutionElapsedTime *string `type:"string"`
30682
30683	// The date and time the plugin finished running. Date and time are written
30684	// in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7.
30685	// The following sample Amazon Web Services CLI command uses the InvokedAfter
30686	// filter.
30687	//
30688	// aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z
30689	//
30690	// If the plugin hasn't started to run, the string is empty.
30691	ExecutionEndDateTime *string `type:"string"`
30692
30693	// The date and time the plugin started running. Date and time are written in
30694	// ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The
30695	// following sample Amazon Web Services CLI command uses the InvokedBefore filter.
30696	//
30697	// aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z
30698	//
30699	// If the plugin hasn't started to run, the string is empty.
30700	ExecutionStartDateTime *string `type:"string"`
30701
30702	// The ID of the managed instance targeted by the command. A managed instance
30703	// can be an EC2 instance or an instance in your hybrid environment that is
30704	// configured for Systems Manager.
30705	InstanceId *string `type:"string"`
30706
30707	// The name of the plugin, or step name, for which details are reported. For
30708	// example, aws:RunShellScript is a plugin.
30709	PluginName *string `min:"4" type:"string"`
30710
30711	// The error level response code for the plugin script. If the response code
30712	// is -1, then the command hasn't started running on the instance, or it wasn't
30713	// received by the instance.
30714	ResponseCode *int64 `type:"integer"`
30715
30716	// The first 8,000 characters written by the plugin to stderr. If the command
30717	// hasn't finished running, then this string is empty.
30718	StandardErrorContent *string `type:"string"`
30719
30720	// The URL for the complete text written by the plugin to stderr. If the command
30721	// hasn't finished running, then this string is empty.
30722	StandardErrorUrl *string `type:"string"`
30723
30724	// The first 24,000 characters written by the plugin to stdout. If the command
30725	// hasn't finished running, if ExecutionStatus is neither Succeeded nor Failed,
30726	// then this string is empty.
30727	StandardOutputContent *string `type:"string"`
30728
30729	// The URL for the complete text written by the plugin to stdout in Amazon Simple
30730	// Storage Service (Amazon S3). If an S3 bucket wasn't specified, then this
30731	// string is empty.
30732	StandardOutputUrl *string `type:"string"`
30733
30734	// The status of this invocation plugin. This status can be different than StatusDetails.
30735	Status *string `type:"string" enum:"CommandInvocationStatus"`
30736
30737	// A detailed status of the command execution for an invocation. StatusDetails
30738	// includes more information than Status because it includes states resulting
30739	// from error and concurrency control parameters. StatusDetails can show different
30740	// results than Status. For more information about these statuses, see Understanding
30741	// command statuses (https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html)
30742	// in the Amazon Web Services Systems Manager User Guide. StatusDetails can
30743	// be one of the following values:
30744	//
30745	//    * Pending: The command hasn't been sent to the instance.
30746	//
30747	//    * In Progress: The command has been sent to the instance but hasn't reached
30748	//    a terminal state.
30749	//
30750	//    * Delayed: The system attempted to send the command to the target, but
30751	//    the target wasn't available. The instance might not be available because
30752	//    of network issues, because the instance was stopped, or for similar reasons.
30753	//    The system will try to send the command again.
30754	//
30755	//    * Success: The command or plugin ran successfully. This is a terminal
30756	//    state.
30757	//
30758	//    * Delivery Timed Out: The command wasn't delivered to the instance before
30759	//    the delivery timeout expired. Delivery timeouts don't count against the
30760	//    parent command's MaxErrors limit, but they do contribute to whether the
30761	//    parent command status is Success or Incomplete. This is a terminal state.
30762	//
30763	//    * Execution Timed Out: The command started to run on the instance, but
30764	//    the execution wasn't complete before the timeout expired. Execution timeouts
30765	//    count against the MaxErrors limit of the parent command. This is a terminal
30766	//    state.
30767	//
30768	//    * Failed: The command wasn't run successfully on the instance. For a plugin,
30769	//    this indicates that the result code wasn't zero. For a command invocation,
30770	//    this indicates that the result code for one or more plugins wasn't zero.
30771	//    Invocation failures count against the MaxErrors limit of the parent command.
30772	//    This is a terminal state.
30773	//
30774	//    * Canceled: The command was terminated before it was completed. This is
30775	//    a terminal state.
30776	//
30777	//    * Undeliverable: The command can't be delivered to the instance. The instance
30778	//    might not exist or might not be responding. Undeliverable invocations
30779	//    don't count against the parent command's MaxErrors limit and don't contribute
30780	//    to whether the parent command status is Success or Incomplete. This is
30781	//    a terminal state.
30782	//
30783	//    * Terminated: The parent command exceeded its MaxErrors limit and subsequent
30784	//    command invocations were canceled by the system. This is a terminal state.
30785	StatusDetails *string `type:"string"`
30786}
30787
30788// String returns the string representation.
30789//
30790// API parameter values that are decorated as "sensitive" in the API will not
30791// be included in the string output. The member name will be present, but the
30792// value will be replaced with "sensitive".
30793func (s GetCommandInvocationOutput) String() string {
30794	return awsutil.Prettify(s)
30795}
30796
30797// GoString returns the string representation.
30798//
30799// API parameter values that are decorated as "sensitive" in the API will not
30800// be included in the string output. The member name will be present, but the
30801// value will be replaced with "sensitive".
30802func (s GetCommandInvocationOutput) GoString() string {
30803	return s.String()
30804}
30805
30806// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
30807func (s *GetCommandInvocationOutput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *GetCommandInvocationOutput {
30808	s.CloudWatchOutputConfig = v
30809	return s
30810}
30811
30812// SetCommandId sets the CommandId field's value.
30813func (s *GetCommandInvocationOutput) SetCommandId(v string) *GetCommandInvocationOutput {
30814	s.CommandId = &v
30815	return s
30816}
30817
30818// SetComment sets the Comment field's value.
30819func (s *GetCommandInvocationOutput) SetComment(v string) *GetCommandInvocationOutput {
30820	s.Comment = &v
30821	return s
30822}
30823
30824// SetDocumentName sets the DocumentName field's value.
30825func (s *GetCommandInvocationOutput) SetDocumentName(v string) *GetCommandInvocationOutput {
30826	s.DocumentName = &v
30827	return s
30828}
30829
30830// SetDocumentVersion sets the DocumentVersion field's value.
30831func (s *GetCommandInvocationOutput) SetDocumentVersion(v string) *GetCommandInvocationOutput {
30832	s.DocumentVersion = &v
30833	return s
30834}
30835
30836// SetExecutionElapsedTime sets the ExecutionElapsedTime field's value.
30837func (s *GetCommandInvocationOutput) SetExecutionElapsedTime(v string) *GetCommandInvocationOutput {
30838	s.ExecutionElapsedTime = &v
30839	return s
30840}
30841
30842// SetExecutionEndDateTime sets the ExecutionEndDateTime field's value.
30843func (s *GetCommandInvocationOutput) SetExecutionEndDateTime(v string) *GetCommandInvocationOutput {
30844	s.ExecutionEndDateTime = &v
30845	return s
30846}
30847
30848// SetExecutionStartDateTime sets the ExecutionStartDateTime field's value.
30849func (s *GetCommandInvocationOutput) SetExecutionStartDateTime(v string) *GetCommandInvocationOutput {
30850	s.ExecutionStartDateTime = &v
30851	return s
30852}
30853
30854// SetInstanceId sets the InstanceId field's value.
30855func (s *GetCommandInvocationOutput) SetInstanceId(v string) *GetCommandInvocationOutput {
30856	s.InstanceId = &v
30857	return s
30858}
30859
30860// SetPluginName sets the PluginName field's value.
30861func (s *GetCommandInvocationOutput) SetPluginName(v string) *GetCommandInvocationOutput {
30862	s.PluginName = &v
30863	return s
30864}
30865
30866// SetResponseCode sets the ResponseCode field's value.
30867func (s *GetCommandInvocationOutput) SetResponseCode(v int64) *GetCommandInvocationOutput {
30868	s.ResponseCode = &v
30869	return s
30870}
30871
30872// SetStandardErrorContent sets the StandardErrorContent field's value.
30873func (s *GetCommandInvocationOutput) SetStandardErrorContent(v string) *GetCommandInvocationOutput {
30874	s.StandardErrorContent = &v
30875	return s
30876}
30877
30878// SetStandardErrorUrl sets the StandardErrorUrl field's value.
30879func (s *GetCommandInvocationOutput) SetStandardErrorUrl(v string) *GetCommandInvocationOutput {
30880	s.StandardErrorUrl = &v
30881	return s
30882}
30883
30884// SetStandardOutputContent sets the StandardOutputContent field's value.
30885func (s *GetCommandInvocationOutput) SetStandardOutputContent(v string) *GetCommandInvocationOutput {
30886	s.StandardOutputContent = &v
30887	return s
30888}
30889
30890// SetStandardOutputUrl sets the StandardOutputUrl field's value.
30891func (s *GetCommandInvocationOutput) SetStandardOutputUrl(v string) *GetCommandInvocationOutput {
30892	s.StandardOutputUrl = &v
30893	return s
30894}
30895
30896// SetStatus sets the Status field's value.
30897func (s *GetCommandInvocationOutput) SetStatus(v string) *GetCommandInvocationOutput {
30898	s.Status = &v
30899	return s
30900}
30901
30902// SetStatusDetails sets the StatusDetails field's value.
30903func (s *GetCommandInvocationOutput) SetStatusDetails(v string) *GetCommandInvocationOutput {
30904	s.StatusDetails = &v
30905	return s
30906}
30907
30908type GetConnectionStatusInput struct {
30909	_ struct{} `type:"structure"`
30910
30911	// The instance ID.
30912	//
30913	// Target is a required field
30914	Target *string `min:"1" type:"string" required:"true"`
30915}
30916
30917// String returns the string representation.
30918//
30919// API parameter values that are decorated as "sensitive" in the API will not
30920// be included in the string output. The member name will be present, but the
30921// value will be replaced with "sensitive".
30922func (s GetConnectionStatusInput) String() string {
30923	return awsutil.Prettify(s)
30924}
30925
30926// GoString returns the string representation.
30927//
30928// API parameter values that are decorated as "sensitive" in the API will not
30929// be included in the string output. The member name will be present, but the
30930// value will be replaced with "sensitive".
30931func (s GetConnectionStatusInput) GoString() string {
30932	return s.String()
30933}
30934
30935// Validate inspects the fields of the type to determine if they are valid.
30936func (s *GetConnectionStatusInput) Validate() error {
30937	invalidParams := request.ErrInvalidParams{Context: "GetConnectionStatusInput"}
30938	if s.Target == nil {
30939		invalidParams.Add(request.NewErrParamRequired("Target"))
30940	}
30941	if s.Target != nil && len(*s.Target) < 1 {
30942		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
30943	}
30944
30945	if invalidParams.Len() > 0 {
30946		return invalidParams
30947	}
30948	return nil
30949}
30950
30951// SetTarget sets the Target field's value.
30952func (s *GetConnectionStatusInput) SetTarget(v string) *GetConnectionStatusInput {
30953	s.Target = &v
30954	return s
30955}
30956
30957type GetConnectionStatusOutput struct {
30958	_ struct{} `type:"structure"`
30959
30960	// The status of the connection to the instance. For example, 'Connected' or
30961	// 'Not Connected'.
30962	Status *string `type:"string" enum:"ConnectionStatus"`
30963
30964	// The ID of the instance to check connection status.
30965	Target *string `min:"1" type:"string"`
30966}
30967
30968// String returns the string representation.
30969//
30970// API parameter values that are decorated as "sensitive" in the API will not
30971// be included in the string output. The member name will be present, but the
30972// value will be replaced with "sensitive".
30973func (s GetConnectionStatusOutput) String() string {
30974	return awsutil.Prettify(s)
30975}
30976
30977// GoString returns the string representation.
30978//
30979// API parameter values that are decorated as "sensitive" in the API will not
30980// be included in the string output. The member name will be present, but the
30981// value will be replaced with "sensitive".
30982func (s GetConnectionStatusOutput) GoString() string {
30983	return s.String()
30984}
30985
30986// SetStatus sets the Status field's value.
30987func (s *GetConnectionStatusOutput) SetStatus(v string) *GetConnectionStatusOutput {
30988	s.Status = &v
30989	return s
30990}
30991
30992// SetTarget sets the Target field's value.
30993func (s *GetConnectionStatusOutput) SetTarget(v string) *GetConnectionStatusOutput {
30994	s.Target = &v
30995	return s
30996}
30997
30998type GetDefaultPatchBaselineInput struct {
30999	_ struct{} `type:"structure"`
31000
31001	// Returns the default patch baseline for the specified operating system.
31002	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
31003}
31004
31005// String returns the string representation.
31006//
31007// API parameter values that are decorated as "sensitive" in the API will not
31008// be included in the string output. The member name will be present, but the
31009// value will be replaced with "sensitive".
31010func (s GetDefaultPatchBaselineInput) String() string {
31011	return awsutil.Prettify(s)
31012}
31013
31014// GoString returns the string representation.
31015//
31016// API parameter values that are decorated as "sensitive" in the API will not
31017// be included in the string output. The member name will be present, but the
31018// value will be replaced with "sensitive".
31019func (s GetDefaultPatchBaselineInput) GoString() string {
31020	return s.String()
31021}
31022
31023// SetOperatingSystem sets the OperatingSystem field's value.
31024func (s *GetDefaultPatchBaselineInput) SetOperatingSystem(v string) *GetDefaultPatchBaselineInput {
31025	s.OperatingSystem = &v
31026	return s
31027}
31028
31029type GetDefaultPatchBaselineOutput struct {
31030	_ struct{} `type:"structure"`
31031
31032	// The ID of the default patch baseline.
31033	BaselineId *string `min:"20" type:"string"`
31034
31035	// The operating system for the returned patch baseline.
31036	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
31037}
31038
31039// String returns the string representation.
31040//
31041// API parameter values that are decorated as "sensitive" in the API will not
31042// be included in the string output. The member name will be present, but the
31043// value will be replaced with "sensitive".
31044func (s GetDefaultPatchBaselineOutput) String() string {
31045	return awsutil.Prettify(s)
31046}
31047
31048// GoString returns the string representation.
31049//
31050// API parameter values that are decorated as "sensitive" in the API will not
31051// be included in the string output. The member name will be present, but the
31052// value will be replaced with "sensitive".
31053func (s GetDefaultPatchBaselineOutput) GoString() string {
31054	return s.String()
31055}
31056
31057// SetBaselineId sets the BaselineId field's value.
31058func (s *GetDefaultPatchBaselineOutput) SetBaselineId(v string) *GetDefaultPatchBaselineOutput {
31059	s.BaselineId = &v
31060	return s
31061}
31062
31063// SetOperatingSystem sets the OperatingSystem field's value.
31064func (s *GetDefaultPatchBaselineOutput) SetOperatingSystem(v string) *GetDefaultPatchBaselineOutput {
31065	s.OperatingSystem = &v
31066	return s
31067}
31068
31069type GetDeployablePatchSnapshotForInstanceInput struct {
31070	_ struct{} `type:"structure"`
31071
31072	// Defines the basic information about a patch baseline override.
31073	BaselineOverride *BaselineOverride `type:"structure"`
31074
31075	// The ID of the instance for which the appropriate patch snapshot should be
31076	// retrieved.
31077	//
31078	// InstanceId is a required field
31079	InstanceId *string `type:"string" required:"true"`
31080
31081	// The snapshot ID provided by the user when running AWS-RunPatchBaseline.
31082	//
31083	// SnapshotId is a required field
31084	SnapshotId *string `min:"36" type:"string" required:"true"`
31085}
31086
31087// String returns the string representation.
31088//
31089// API parameter values that are decorated as "sensitive" in the API will not
31090// be included in the string output. The member name will be present, but the
31091// value will be replaced with "sensitive".
31092func (s GetDeployablePatchSnapshotForInstanceInput) String() string {
31093	return awsutil.Prettify(s)
31094}
31095
31096// GoString returns the string representation.
31097//
31098// API parameter values that are decorated as "sensitive" in the API will not
31099// be included in the string output. The member name will be present, but the
31100// value will be replaced with "sensitive".
31101func (s GetDeployablePatchSnapshotForInstanceInput) GoString() string {
31102	return s.String()
31103}
31104
31105// Validate inspects the fields of the type to determine if they are valid.
31106func (s *GetDeployablePatchSnapshotForInstanceInput) Validate() error {
31107	invalidParams := request.ErrInvalidParams{Context: "GetDeployablePatchSnapshotForInstanceInput"}
31108	if s.InstanceId == nil {
31109		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
31110	}
31111	if s.SnapshotId == nil {
31112		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
31113	}
31114	if s.SnapshotId != nil && len(*s.SnapshotId) < 36 {
31115		invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 36))
31116	}
31117	if s.BaselineOverride != nil {
31118		if err := s.BaselineOverride.Validate(); err != nil {
31119			invalidParams.AddNested("BaselineOverride", err.(request.ErrInvalidParams))
31120		}
31121	}
31122
31123	if invalidParams.Len() > 0 {
31124		return invalidParams
31125	}
31126	return nil
31127}
31128
31129// SetBaselineOverride sets the BaselineOverride field's value.
31130func (s *GetDeployablePatchSnapshotForInstanceInput) SetBaselineOverride(v *BaselineOverride) *GetDeployablePatchSnapshotForInstanceInput {
31131	s.BaselineOverride = v
31132	return s
31133}
31134
31135// SetInstanceId sets the InstanceId field's value.
31136func (s *GetDeployablePatchSnapshotForInstanceInput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceInput {
31137	s.InstanceId = &v
31138	return s
31139}
31140
31141// SetSnapshotId sets the SnapshotId field's value.
31142func (s *GetDeployablePatchSnapshotForInstanceInput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceInput {
31143	s.SnapshotId = &v
31144	return s
31145}
31146
31147type GetDeployablePatchSnapshotForInstanceOutput struct {
31148	_ struct{} `type:"structure"`
31149
31150	// The instance ID.
31151	InstanceId *string `type:"string"`
31152
31153	// Returns the specific operating system (for example Windows Server 2012 or
31154	// Amazon Linux 2015.09) on the instance for the specified patch snapshot.
31155	Product *string `type:"string"`
31156
31157	// A pre-signed Amazon Simple Storage Service (Amazon S3) URL that can be used
31158	// to download the patch snapshot.
31159	SnapshotDownloadUrl *string `type:"string"`
31160
31161	// The user-defined snapshot ID.
31162	SnapshotId *string `min:"36" type:"string"`
31163}
31164
31165// String returns the string representation.
31166//
31167// API parameter values that are decorated as "sensitive" in the API will not
31168// be included in the string output. The member name will be present, but the
31169// value will be replaced with "sensitive".
31170func (s GetDeployablePatchSnapshotForInstanceOutput) String() string {
31171	return awsutil.Prettify(s)
31172}
31173
31174// GoString returns the string representation.
31175//
31176// API parameter values that are decorated as "sensitive" in the API will not
31177// be included in the string output. The member name will be present, but the
31178// value will be replaced with "sensitive".
31179func (s GetDeployablePatchSnapshotForInstanceOutput) GoString() string {
31180	return s.String()
31181}
31182
31183// SetInstanceId sets the InstanceId field's value.
31184func (s *GetDeployablePatchSnapshotForInstanceOutput) SetInstanceId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
31185	s.InstanceId = &v
31186	return s
31187}
31188
31189// SetProduct sets the Product field's value.
31190func (s *GetDeployablePatchSnapshotForInstanceOutput) SetProduct(v string) *GetDeployablePatchSnapshotForInstanceOutput {
31191	s.Product = &v
31192	return s
31193}
31194
31195// SetSnapshotDownloadUrl sets the SnapshotDownloadUrl field's value.
31196func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotDownloadUrl(v string) *GetDeployablePatchSnapshotForInstanceOutput {
31197	s.SnapshotDownloadUrl = &v
31198	return s
31199}
31200
31201// SetSnapshotId sets the SnapshotId field's value.
31202func (s *GetDeployablePatchSnapshotForInstanceOutput) SetSnapshotId(v string) *GetDeployablePatchSnapshotForInstanceOutput {
31203	s.SnapshotId = &v
31204	return s
31205}
31206
31207type GetDocumentInput struct {
31208	_ struct{} `type:"structure"`
31209
31210	// Returns the document in the specified format. The document format can be
31211	// either JSON or YAML. JSON is the default format.
31212	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
31213
31214	// The document version for which you want information.
31215	DocumentVersion *string `type:"string"`
31216
31217	// The name of the SSM document.
31218	//
31219	// Name is a required field
31220	Name *string `type:"string" required:"true"`
31221
31222	// An optional field specifying the version of the artifact associated with
31223	// the document. For example, "Release 12, Update 6". This value is unique across
31224	// all versions of a document and can't be changed.
31225	VersionName *string `type:"string"`
31226}
31227
31228// String returns the string representation.
31229//
31230// API parameter values that are decorated as "sensitive" in the API will not
31231// be included in the string output. The member name will be present, but the
31232// value will be replaced with "sensitive".
31233func (s GetDocumentInput) String() string {
31234	return awsutil.Prettify(s)
31235}
31236
31237// GoString returns the string representation.
31238//
31239// API parameter values that are decorated as "sensitive" in the API will not
31240// be included in the string output. The member name will be present, but the
31241// value will be replaced with "sensitive".
31242func (s GetDocumentInput) GoString() string {
31243	return s.String()
31244}
31245
31246// Validate inspects the fields of the type to determine if they are valid.
31247func (s *GetDocumentInput) Validate() error {
31248	invalidParams := request.ErrInvalidParams{Context: "GetDocumentInput"}
31249	if s.Name == nil {
31250		invalidParams.Add(request.NewErrParamRequired("Name"))
31251	}
31252
31253	if invalidParams.Len() > 0 {
31254		return invalidParams
31255	}
31256	return nil
31257}
31258
31259// SetDocumentFormat sets the DocumentFormat field's value.
31260func (s *GetDocumentInput) SetDocumentFormat(v string) *GetDocumentInput {
31261	s.DocumentFormat = &v
31262	return s
31263}
31264
31265// SetDocumentVersion sets the DocumentVersion field's value.
31266func (s *GetDocumentInput) SetDocumentVersion(v string) *GetDocumentInput {
31267	s.DocumentVersion = &v
31268	return s
31269}
31270
31271// SetName sets the Name field's value.
31272func (s *GetDocumentInput) SetName(v string) *GetDocumentInput {
31273	s.Name = &v
31274	return s
31275}
31276
31277// SetVersionName sets the VersionName field's value.
31278func (s *GetDocumentInput) SetVersionName(v string) *GetDocumentInput {
31279	s.VersionName = &v
31280	return s
31281}
31282
31283type GetDocumentOutput struct {
31284	_ struct{} `type:"structure"`
31285
31286	// A description of the document attachments, including names, locations, sizes,
31287	// and so on.
31288	AttachmentsContent []*AttachmentContent `type:"list"`
31289
31290	// The contents of the SSM document.
31291	Content *string `min:"1" type:"string"`
31292
31293	// The date the SSM document was created.
31294	CreatedDate *time.Time `type:"timestamp"`
31295
31296	// The friendly name of the SSM document. This value can differ for each version
31297	// of the document. If you want to update this value, see UpdateDocument.
31298	DisplayName *string `type:"string"`
31299
31300	// The document format, either JSON or YAML.
31301	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
31302
31303	// The document type.
31304	DocumentType *string `type:"string" enum:"DocumentType"`
31305
31306	// The document version.
31307	DocumentVersion *string `type:"string"`
31308
31309	// The name of the SSM document.
31310	Name *string `type:"string"`
31311
31312	// A list of SSM documents required by a document. For example, an ApplicationConfiguration
31313	// document requires an ApplicationConfigurationSchema document.
31314	Requires []*DocumentRequires `min:"1" type:"list"`
31315
31316	// The current review status of a new custom Systems Manager document (SSM document)
31317	// created by a member of your organization, or of the latest version of an
31318	// existing SSM document.
31319	//
31320	// Only one version of an SSM document can be in the APPROVED state at a time.
31321	// When a new version is approved, the status of the previous version changes
31322	// to REJECTED.
31323	//
31324	// Only one version of an SSM document can be in review, or PENDING, at a time.
31325	ReviewStatus *string `type:"string" enum:"ReviewStatus"`
31326
31327	// The status of the SSM document, such as Creating, Active, Updating, Failed,
31328	// and Deleting.
31329	Status *string `type:"string" enum:"DocumentStatus"`
31330
31331	// A message returned by Amazon Web Services Systems Manager that explains the
31332	// Status value. For example, a Failed status might be explained by the StatusInformation
31333	// message, "The specified S3 bucket doesn't exist. Verify that the URL of the
31334	// S3 bucket is correct."
31335	StatusInformation *string `type:"string"`
31336
31337	// The version of the artifact associated with the document. For example, "Release
31338	// 12, Update 6". This value is unique across all versions of a document, and
31339	// can't be changed.
31340	VersionName *string `type:"string"`
31341}
31342
31343// String returns the string representation.
31344//
31345// API parameter values that are decorated as "sensitive" in the API will not
31346// be included in the string output. The member name will be present, but the
31347// value will be replaced with "sensitive".
31348func (s GetDocumentOutput) String() string {
31349	return awsutil.Prettify(s)
31350}
31351
31352// GoString returns the string representation.
31353//
31354// API parameter values that are decorated as "sensitive" in the API will not
31355// be included in the string output. The member name will be present, but the
31356// value will be replaced with "sensitive".
31357func (s GetDocumentOutput) GoString() string {
31358	return s.String()
31359}
31360
31361// SetAttachmentsContent sets the AttachmentsContent field's value.
31362func (s *GetDocumentOutput) SetAttachmentsContent(v []*AttachmentContent) *GetDocumentOutput {
31363	s.AttachmentsContent = v
31364	return s
31365}
31366
31367// SetContent sets the Content field's value.
31368func (s *GetDocumentOutput) SetContent(v string) *GetDocumentOutput {
31369	s.Content = &v
31370	return s
31371}
31372
31373// SetCreatedDate sets the CreatedDate field's value.
31374func (s *GetDocumentOutput) SetCreatedDate(v time.Time) *GetDocumentOutput {
31375	s.CreatedDate = &v
31376	return s
31377}
31378
31379// SetDisplayName sets the DisplayName field's value.
31380func (s *GetDocumentOutput) SetDisplayName(v string) *GetDocumentOutput {
31381	s.DisplayName = &v
31382	return s
31383}
31384
31385// SetDocumentFormat sets the DocumentFormat field's value.
31386func (s *GetDocumentOutput) SetDocumentFormat(v string) *GetDocumentOutput {
31387	s.DocumentFormat = &v
31388	return s
31389}
31390
31391// SetDocumentType sets the DocumentType field's value.
31392func (s *GetDocumentOutput) SetDocumentType(v string) *GetDocumentOutput {
31393	s.DocumentType = &v
31394	return s
31395}
31396
31397// SetDocumentVersion sets the DocumentVersion field's value.
31398func (s *GetDocumentOutput) SetDocumentVersion(v string) *GetDocumentOutput {
31399	s.DocumentVersion = &v
31400	return s
31401}
31402
31403// SetName sets the Name field's value.
31404func (s *GetDocumentOutput) SetName(v string) *GetDocumentOutput {
31405	s.Name = &v
31406	return s
31407}
31408
31409// SetRequires sets the Requires field's value.
31410func (s *GetDocumentOutput) SetRequires(v []*DocumentRequires) *GetDocumentOutput {
31411	s.Requires = v
31412	return s
31413}
31414
31415// SetReviewStatus sets the ReviewStatus field's value.
31416func (s *GetDocumentOutput) SetReviewStatus(v string) *GetDocumentOutput {
31417	s.ReviewStatus = &v
31418	return s
31419}
31420
31421// SetStatus sets the Status field's value.
31422func (s *GetDocumentOutput) SetStatus(v string) *GetDocumentOutput {
31423	s.Status = &v
31424	return s
31425}
31426
31427// SetStatusInformation sets the StatusInformation field's value.
31428func (s *GetDocumentOutput) SetStatusInformation(v string) *GetDocumentOutput {
31429	s.StatusInformation = &v
31430	return s
31431}
31432
31433// SetVersionName sets the VersionName field's value.
31434func (s *GetDocumentOutput) SetVersionName(v string) *GetDocumentOutput {
31435	s.VersionName = &v
31436	return s
31437}
31438
31439type GetInventoryInput struct {
31440	_ struct{} `type:"structure"`
31441
31442	// Returns counts of inventory types based on one or more expressions. For example,
31443	// if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType
31444	// type, you can see a count of how many Windows and Linux instances exist in
31445	// your inventoried fleet.
31446	Aggregators []*InventoryAggregator `min:"1" type:"list"`
31447
31448	// One or more filters. Use a filter to return a more specific list of results.
31449	Filters []*InventoryFilter `min:"1" type:"list"`
31450
31451	// The maximum number of items to return for this call. The call also returns
31452	// a token that you can specify in a subsequent call to get the next set of
31453	// results.
31454	MaxResults *int64 `min:"1" type:"integer"`
31455
31456	// The token for the next set of items to return. (You received this token from
31457	// a previous call.)
31458	NextToken *string `type:"string"`
31459
31460	// The list of inventory item types to return.
31461	ResultAttributes []*ResultAttribute `min:"1" type:"list"`
31462}
31463
31464// String returns the string representation.
31465//
31466// API parameter values that are decorated as "sensitive" in the API will not
31467// be included in the string output. The member name will be present, but the
31468// value will be replaced with "sensitive".
31469func (s GetInventoryInput) String() string {
31470	return awsutil.Prettify(s)
31471}
31472
31473// GoString returns the string representation.
31474//
31475// API parameter values that are decorated as "sensitive" in the API will not
31476// be included in the string output. The member name will be present, but the
31477// value will be replaced with "sensitive".
31478func (s GetInventoryInput) GoString() string {
31479	return s.String()
31480}
31481
31482// Validate inspects the fields of the type to determine if they are valid.
31483func (s *GetInventoryInput) Validate() error {
31484	invalidParams := request.ErrInvalidParams{Context: "GetInventoryInput"}
31485	if s.Aggregators != nil && len(s.Aggregators) < 1 {
31486		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
31487	}
31488	if s.Filters != nil && len(s.Filters) < 1 {
31489		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
31490	}
31491	if s.MaxResults != nil && *s.MaxResults < 1 {
31492		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
31493	}
31494	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
31495		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
31496	}
31497	if s.Aggregators != nil {
31498		for i, v := range s.Aggregators {
31499			if v == nil {
31500				continue
31501			}
31502			if err := v.Validate(); err != nil {
31503				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
31504			}
31505		}
31506	}
31507	if s.Filters != nil {
31508		for i, v := range s.Filters {
31509			if v == nil {
31510				continue
31511			}
31512			if err := v.Validate(); err != nil {
31513				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31514			}
31515		}
31516	}
31517	if s.ResultAttributes != nil {
31518		for i, v := range s.ResultAttributes {
31519			if v == nil {
31520				continue
31521			}
31522			if err := v.Validate(); err != nil {
31523				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
31524			}
31525		}
31526	}
31527
31528	if invalidParams.Len() > 0 {
31529		return invalidParams
31530	}
31531	return nil
31532}
31533
31534// SetAggregators sets the Aggregators field's value.
31535func (s *GetInventoryInput) SetAggregators(v []*InventoryAggregator) *GetInventoryInput {
31536	s.Aggregators = v
31537	return s
31538}
31539
31540// SetFilters sets the Filters field's value.
31541func (s *GetInventoryInput) SetFilters(v []*InventoryFilter) *GetInventoryInput {
31542	s.Filters = v
31543	return s
31544}
31545
31546// SetMaxResults sets the MaxResults field's value.
31547func (s *GetInventoryInput) SetMaxResults(v int64) *GetInventoryInput {
31548	s.MaxResults = &v
31549	return s
31550}
31551
31552// SetNextToken sets the NextToken field's value.
31553func (s *GetInventoryInput) SetNextToken(v string) *GetInventoryInput {
31554	s.NextToken = &v
31555	return s
31556}
31557
31558// SetResultAttributes sets the ResultAttributes field's value.
31559func (s *GetInventoryInput) SetResultAttributes(v []*ResultAttribute) *GetInventoryInput {
31560	s.ResultAttributes = v
31561	return s
31562}
31563
31564type GetInventoryOutput struct {
31565	_ struct{} `type:"structure"`
31566
31567	// Collection of inventory entities such as a collection of instance inventory.
31568	Entities []*InventoryResultEntity `type:"list"`
31569
31570	// The token to use when requesting the next set of items. If there are no additional
31571	// items to return, the string is empty.
31572	NextToken *string `type:"string"`
31573}
31574
31575// String returns the string representation.
31576//
31577// API parameter values that are decorated as "sensitive" in the API will not
31578// be included in the string output. The member name will be present, but the
31579// value will be replaced with "sensitive".
31580func (s GetInventoryOutput) String() string {
31581	return awsutil.Prettify(s)
31582}
31583
31584// GoString returns the string representation.
31585//
31586// API parameter values that are decorated as "sensitive" in the API will not
31587// be included in the string output. The member name will be present, but the
31588// value will be replaced with "sensitive".
31589func (s GetInventoryOutput) GoString() string {
31590	return s.String()
31591}
31592
31593// SetEntities sets the Entities field's value.
31594func (s *GetInventoryOutput) SetEntities(v []*InventoryResultEntity) *GetInventoryOutput {
31595	s.Entities = v
31596	return s
31597}
31598
31599// SetNextToken sets the NextToken field's value.
31600func (s *GetInventoryOutput) SetNextToken(v string) *GetInventoryOutput {
31601	s.NextToken = &v
31602	return s
31603}
31604
31605type GetInventorySchemaInput struct {
31606	_ struct{} `type:"structure"`
31607
31608	// Returns inventory schemas that support aggregation. For example, this call
31609	// returns the AWS:InstanceInformation type, because it supports aggregation
31610	// based on the PlatformName, PlatformType, and PlatformVersion attributes.
31611	Aggregator *bool `type:"boolean"`
31612
31613	// The maximum number of items to return for this call. The call also returns
31614	// a token that you can specify in a subsequent call to get the next set of
31615	// results.
31616	MaxResults *int64 `min:"50" type:"integer"`
31617
31618	// The token for the next set of items to return. (You received this token from
31619	// a previous call.)
31620	NextToken *string `type:"string"`
31621
31622	// Returns the sub-type schema for a specified inventory type.
31623	SubType *bool `type:"boolean"`
31624
31625	// The type of inventory item to return.
31626	TypeName *string `type:"string"`
31627}
31628
31629// String returns the string representation.
31630//
31631// API parameter values that are decorated as "sensitive" in the API will not
31632// be included in the string output. The member name will be present, but the
31633// value will be replaced with "sensitive".
31634func (s GetInventorySchemaInput) String() string {
31635	return awsutil.Prettify(s)
31636}
31637
31638// GoString returns the string representation.
31639//
31640// API parameter values that are decorated as "sensitive" in the API will not
31641// be included in the string output. The member name will be present, but the
31642// value will be replaced with "sensitive".
31643func (s GetInventorySchemaInput) GoString() string {
31644	return s.String()
31645}
31646
31647// Validate inspects the fields of the type to determine if they are valid.
31648func (s *GetInventorySchemaInput) Validate() error {
31649	invalidParams := request.ErrInvalidParams{Context: "GetInventorySchemaInput"}
31650	if s.MaxResults != nil && *s.MaxResults < 50 {
31651		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
31652	}
31653
31654	if invalidParams.Len() > 0 {
31655		return invalidParams
31656	}
31657	return nil
31658}
31659
31660// SetAggregator sets the Aggregator field's value.
31661func (s *GetInventorySchemaInput) SetAggregator(v bool) *GetInventorySchemaInput {
31662	s.Aggregator = &v
31663	return s
31664}
31665
31666// SetMaxResults sets the MaxResults field's value.
31667func (s *GetInventorySchemaInput) SetMaxResults(v int64) *GetInventorySchemaInput {
31668	s.MaxResults = &v
31669	return s
31670}
31671
31672// SetNextToken sets the NextToken field's value.
31673func (s *GetInventorySchemaInput) SetNextToken(v string) *GetInventorySchemaInput {
31674	s.NextToken = &v
31675	return s
31676}
31677
31678// SetSubType sets the SubType field's value.
31679func (s *GetInventorySchemaInput) SetSubType(v bool) *GetInventorySchemaInput {
31680	s.SubType = &v
31681	return s
31682}
31683
31684// SetTypeName sets the TypeName field's value.
31685func (s *GetInventorySchemaInput) SetTypeName(v string) *GetInventorySchemaInput {
31686	s.TypeName = &v
31687	return s
31688}
31689
31690type GetInventorySchemaOutput struct {
31691	_ struct{} `type:"structure"`
31692
31693	// The token to use when requesting the next set of items. If there are no additional
31694	// items to return, the string is empty.
31695	NextToken *string `type:"string"`
31696
31697	// Inventory schemas returned by the request.
31698	Schemas []*InventoryItemSchema `type:"list"`
31699}
31700
31701// String returns the string representation.
31702//
31703// API parameter values that are decorated as "sensitive" in the API will not
31704// be included in the string output. The member name will be present, but the
31705// value will be replaced with "sensitive".
31706func (s GetInventorySchemaOutput) String() string {
31707	return awsutil.Prettify(s)
31708}
31709
31710// GoString returns the string representation.
31711//
31712// API parameter values that are decorated as "sensitive" in the API will not
31713// be included in the string output. The member name will be present, but the
31714// value will be replaced with "sensitive".
31715func (s GetInventorySchemaOutput) GoString() string {
31716	return s.String()
31717}
31718
31719// SetNextToken sets the NextToken field's value.
31720func (s *GetInventorySchemaOutput) SetNextToken(v string) *GetInventorySchemaOutput {
31721	s.NextToken = &v
31722	return s
31723}
31724
31725// SetSchemas sets the Schemas field's value.
31726func (s *GetInventorySchemaOutput) SetSchemas(v []*InventoryItemSchema) *GetInventorySchemaOutput {
31727	s.Schemas = v
31728	return s
31729}
31730
31731type GetMaintenanceWindowExecutionInput struct {
31732	_ struct{} `type:"structure"`
31733
31734	// The ID of the maintenance window execution that includes the task.
31735	//
31736	// WindowExecutionId is a required field
31737	WindowExecutionId *string `min:"36" type:"string" required:"true"`
31738}
31739
31740// String returns the string representation.
31741//
31742// API parameter values that are decorated as "sensitive" in the API will not
31743// be included in the string output. The member name will be present, but the
31744// value will be replaced with "sensitive".
31745func (s GetMaintenanceWindowExecutionInput) String() string {
31746	return awsutil.Prettify(s)
31747}
31748
31749// GoString returns the string representation.
31750//
31751// API parameter values that are decorated as "sensitive" in the API will not
31752// be included in the string output. The member name will be present, but the
31753// value will be replaced with "sensitive".
31754func (s GetMaintenanceWindowExecutionInput) GoString() string {
31755	return s.String()
31756}
31757
31758// Validate inspects the fields of the type to determine if they are valid.
31759func (s *GetMaintenanceWindowExecutionInput) Validate() error {
31760	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionInput"}
31761	if s.WindowExecutionId == nil {
31762		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
31763	}
31764	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
31765		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
31766	}
31767
31768	if invalidParams.Len() > 0 {
31769		return invalidParams
31770	}
31771	return nil
31772}
31773
31774// SetWindowExecutionId sets the WindowExecutionId field's value.
31775func (s *GetMaintenanceWindowExecutionInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionInput {
31776	s.WindowExecutionId = &v
31777	return s
31778}
31779
31780type GetMaintenanceWindowExecutionOutput struct {
31781	_ struct{} `type:"structure"`
31782
31783	// The time the maintenance window finished running.
31784	EndTime *time.Time `type:"timestamp"`
31785
31786	// The time the maintenance window started running.
31787	StartTime *time.Time `type:"timestamp"`
31788
31789	// The status of the maintenance window execution.
31790	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
31791
31792	// The details explaining the status. Not available for all status values.
31793	StatusDetails *string `type:"string"`
31794
31795	// The ID of the task executions from the maintenance window execution.
31796	TaskIds []*string `type:"list"`
31797
31798	// The ID of the maintenance window execution.
31799	WindowExecutionId *string `min:"36" type:"string"`
31800}
31801
31802// String returns the string representation.
31803//
31804// API parameter values that are decorated as "sensitive" in the API will not
31805// be included in the string output. The member name will be present, but the
31806// value will be replaced with "sensitive".
31807func (s GetMaintenanceWindowExecutionOutput) String() string {
31808	return awsutil.Prettify(s)
31809}
31810
31811// GoString returns the string representation.
31812//
31813// API parameter values that are decorated as "sensitive" in the API will not
31814// be included in the string output. The member name will be present, but the
31815// value will be replaced with "sensitive".
31816func (s GetMaintenanceWindowExecutionOutput) GoString() string {
31817	return s.String()
31818}
31819
31820// SetEndTime sets the EndTime field's value.
31821func (s *GetMaintenanceWindowExecutionOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
31822	s.EndTime = &v
31823	return s
31824}
31825
31826// SetStartTime sets the StartTime field's value.
31827func (s *GetMaintenanceWindowExecutionOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionOutput {
31828	s.StartTime = &v
31829	return s
31830}
31831
31832// SetStatus sets the Status field's value.
31833func (s *GetMaintenanceWindowExecutionOutput) SetStatus(v string) *GetMaintenanceWindowExecutionOutput {
31834	s.Status = &v
31835	return s
31836}
31837
31838// SetStatusDetails sets the StatusDetails field's value.
31839func (s *GetMaintenanceWindowExecutionOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionOutput {
31840	s.StatusDetails = &v
31841	return s
31842}
31843
31844// SetTaskIds sets the TaskIds field's value.
31845func (s *GetMaintenanceWindowExecutionOutput) SetTaskIds(v []*string) *GetMaintenanceWindowExecutionOutput {
31846	s.TaskIds = v
31847	return s
31848}
31849
31850// SetWindowExecutionId sets the WindowExecutionId field's value.
31851func (s *GetMaintenanceWindowExecutionOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionOutput {
31852	s.WindowExecutionId = &v
31853	return s
31854}
31855
31856type GetMaintenanceWindowExecutionTaskInput struct {
31857	_ struct{} `type:"structure"`
31858
31859	// The ID of the specific task execution in the maintenance window task that
31860	// should be retrieved.
31861	//
31862	// TaskId is a required field
31863	TaskId *string `min:"36" type:"string" required:"true"`
31864
31865	// The ID of the maintenance window execution that includes the task.
31866	//
31867	// WindowExecutionId is a required field
31868	WindowExecutionId *string `min:"36" type:"string" required:"true"`
31869}
31870
31871// String returns the string representation.
31872//
31873// API parameter values that are decorated as "sensitive" in the API will not
31874// be included in the string output. The member name will be present, but the
31875// value will be replaced with "sensitive".
31876func (s GetMaintenanceWindowExecutionTaskInput) String() string {
31877	return awsutil.Prettify(s)
31878}
31879
31880// GoString returns the string representation.
31881//
31882// API parameter values that are decorated as "sensitive" in the API will not
31883// be included in the string output. The member name will be present, but the
31884// value will be replaced with "sensitive".
31885func (s GetMaintenanceWindowExecutionTaskInput) GoString() string {
31886	return s.String()
31887}
31888
31889// Validate inspects the fields of the type to determine if they are valid.
31890func (s *GetMaintenanceWindowExecutionTaskInput) Validate() error {
31891	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInput"}
31892	if s.TaskId == nil {
31893		invalidParams.Add(request.NewErrParamRequired("TaskId"))
31894	}
31895	if s.TaskId != nil && len(*s.TaskId) < 36 {
31896		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
31897	}
31898	if s.WindowExecutionId == nil {
31899		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
31900	}
31901	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
31902		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
31903	}
31904
31905	if invalidParams.Len() > 0 {
31906		return invalidParams
31907	}
31908	return nil
31909}
31910
31911// SetTaskId sets the TaskId field's value.
31912func (s *GetMaintenanceWindowExecutionTaskInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInput {
31913	s.TaskId = &v
31914	return s
31915}
31916
31917// SetWindowExecutionId sets the WindowExecutionId field's value.
31918func (s *GetMaintenanceWindowExecutionTaskInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInput {
31919	s.WindowExecutionId = &v
31920	return s
31921}
31922
31923type GetMaintenanceWindowExecutionTaskInvocationInput struct {
31924	_ struct{} `type:"structure"`
31925
31926	// The invocation ID to retrieve.
31927	//
31928	// InvocationId is a required field
31929	InvocationId *string `min:"36" type:"string" required:"true"`
31930
31931	// The ID of the specific task in the maintenance window task that should be
31932	// retrieved.
31933	//
31934	// TaskId is a required field
31935	TaskId *string `min:"36" type:"string" required:"true"`
31936
31937	// The ID of the maintenance window execution for which the task is a part.
31938	//
31939	// WindowExecutionId is a required field
31940	WindowExecutionId *string `min:"36" type:"string" required:"true"`
31941}
31942
31943// String returns the string representation.
31944//
31945// API parameter values that are decorated as "sensitive" in the API will not
31946// be included in the string output. The member name will be present, but the
31947// value will be replaced with "sensitive".
31948func (s GetMaintenanceWindowExecutionTaskInvocationInput) String() string {
31949	return awsutil.Prettify(s)
31950}
31951
31952// GoString returns the string representation.
31953//
31954// API parameter values that are decorated as "sensitive" in the API will not
31955// be included in the string output. The member name will be present, but the
31956// value will be replaced with "sensitive".
31957func (s GetMaintenanceWindowExecutionTaskInvocationInput) GoString() string {
31958	return s.String()
31959}
31960
31961// Validate inspects the fields of the type to determine if they are valid.
31962func (s *GetMaintenanceWindowExecutionTaskInvocationInput) Validate() error {
31963	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowExecutionTaskInvocationInput"}
31964	if s.InvocationId == nil {
31965		invalidParams.Add(request.NewErrParamRequired("InvocationId"))
31966	}
31967	if s.InvocationId != nil && len(*s.InvocationId) < 36 {
31968		invalidParams.Add(request.NewErrParamMinLen("InvocationId", 36))
31969	}
31970	if s.TaskId == nil {
31971		invalidParams.Add(request.NewErrParamRequired("TaskId"))
31972	}
31973	if s.TaskId != nil && len(*s.TaskId) < 36 {
31974		invalidParams.Add(request.NewErrParamMinLen("TaskId", 36))
31975	}
31976	if s.WindowExecutionId == nil {
31977		invalidParams.Add(request.NewErrParamRequired("WindowExecutionId"))
31978	}
31979	if s.WindowExecutionId != nil && len(*s.WindowExecutionId) < 36 {
31980		invalidParams.Add(request.NewErrParamMinLen("WindowExecutionId", 36))
31981	}
31982
31983	if invalidParams.Len() > 0 {
31984		return invalidParams
31985	}
31986	return nil
31987}
31988
31989// SetInvocationId sets the InvocationId field's value.
31990func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
31991	s.InvocationId = &v
31992	return s
31993}
31994
31995// SetTaskId sets the TaskId field's value.
31996func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetTaskId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
31997	s.TaskId = &v
31998	return s
31999}
32000
32001// SetWindowExecutionId sets the WindowExecutionId field's value.
32002func (s *GetMaintenanceWindowExecutionTaskInvocationInput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationInput {
32003	s.WindowExecutionId = &v
32004	return s
32005}
32006
32007type GetMaintenanceWindowExecutionTaskInvocationOutput struct {
32008	_ struct{} `type:"structure"`
32009
32010	// The time that the task finished running on the target.
32011	EndTime *time.Time `type:"timestamp"`
32012
32013	// The execution ID.
32014	ExecutionId *string `type:"string"`
32015
32016	// The invocation ID.
32017	InvocationId *string `min:"36" type:"string"`
32018
32019	// User-provided value to be included in any Amazon CloudWatch Events or Amazon
32020	// EventBridge events raised while running tasks for these targets in this maintenance
32021	// window.
32022	//
32023	// OwnerInformation is a sensitive parameter and its value will be
32024	// replaced with "sensitive" in string returned by GetMaintenanceWindowExecutionTaskInvocationOutput's
32025	// String and GoString methods.
32026	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
32027
32028	// The parameters used at the time that the task ran.
32029	//
32030	// Parameters is a sensitive parameter and its value will be
32031	// replaced with "sensitive" in string returned by GetMaintenanceWindowExecutionTaskInvocationOutput's
32032	// String and GoString methods.
32033	Parameters *string `type:"string" sensitive:"true"`
32034
32035	// The time that the task started running on the target.
32036	StartTime *time.Time `type:"timestamp"`
32037
32038	// The task status for an invocation.
32039	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
32040
32041	// The details explaining the status. Details are only available for certain
32042	// status values.
32043	StatusDetails *string `type:"string"`
32044
32045	// The task execution ID.
32046	TaskExecutionId *string `min:"36" type:"string"`
32047
32048	// Retrieves the task type for a maintenance window.
32049	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
32050
32051	// The maintenance window execution ID.
32052	WindowExecutionId *string `min:"36" type:"string"`
32053
32054	// The maintenance window target ID.
32055	WindowTargetId *string `type:"string"`
32056}
32057
32058// String returns the string representation.
32059//
32060// API parameter values that are decorated as "sensitive" in the API will not
32061// be included in the string output. The member name will be present, but the
32062// value will be replaced with "sensitive".
32063func (s GetMaintenanceWindowExecutionTaskInvocationOutput) String() string {
32064	return awsutil.Prettify(s)
32065}
32066
32067// GoString returns the string representation.
32068//
32069// API parameter values that are decorated as "sensitive" in the API will not
32070// be included in the string output. The member name will be present, but the
32071// value will be replaced with "sensitive".
32072func (s GetMaintenanceWindowExecutionTaskInvocationOutput) GoString() string {
32073	return s.String()
32074}
32075
32076// SetEndTime sets the EndTime field's value.
32077func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32078	s.EndTime = &v
32079	return s
32080}
32081
32082// SetExecutionId sets the ExecutionId field's value.
32083func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32084	s.ExecutionId = &v
32085	return s
32086}
32087
32088// SetInvocationId sets the InvocationId field's value.
32089func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetInvocationId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32090	s.InvocationId = &v
32091	return s
32092}
32093
32094// SetOwnerInformation sets the OwnerInformation field's value.
32095func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetOwnerInformation(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32096	s.OwnerInformation = &v
32097	return s
32098}
32099
32100// SetParameters sets the Parameters field's value.
32101func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetParameters(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32102	s.Parameters = &v
32103	return s
32104}
32105
32106// SetStartTime sets the StartTime field's value.
32107func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32108	s.StartTime = &v
32109	return s
32110}
32111
32112// SetStatus sets the Status field's value.
32113func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32114	s.Status = &v
32115	return s
32116}
32117
32118// SetStatusDetails sets the StatusDetails field's value.
32119func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32120	s.StatusDetails = &v
32121	return s
32122}
32123
32124// SetTaskExecutionId sets the TaskExecutionId field's value.
32125func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32126	s.TaskExecutionId = &v
32127	return s
32128}
32129
32130// SetTaskType sets the TaskType field's value.
32131func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetTaskType(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32132	s.TaskType = &v
32133	return s
32134}
32135
32136// SetWindowExecutionId sets the WindowExecutionId field's value.
32137func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32138	s.WindowExecutionId = &v
32139	return s
32140}
32141
32142// SetWindowTargetId sets the WindowTargetId field's value.
32143func (s *GetMaintenanceWindowExecutionTaskInvocationOutput) SetWindowTargetId(v string) *GetMaintenanceWindowExecutionTaskInvocationOutput {
32144	s.WindowTargetId = &v
32145	return s
32146}
32147
32148type GetMaintenanceWindowExecutionTaskOutput struct {
32149	_ struct{} `type:"structure"`
32150
32151	// The time the task execution completed.
32152	EndTime *time.Time `type:"timestamp"`
32153
32154	// The defined maximum number of task executions that could be run in parallel.
32155	MaxConcurrency *string `min:"1" type:"string"`
32156
32157	// The defined maximum number of task execution errors allowed before scheduling
32158	// of the task execution would have been stopped.
32159	MaxErrors *string `min:"1" type:"string"`
32160
32161	// The priority of the task.
32162	Priority *int64 `type:"integer"`
32163
32164	// The role that was assumed when running the task.
32165	ServiceRole *string `type:"string"`
32166
32167	// The time the task execution started.
32168	StartTime *time.Time `type:"timestamp"`
32169
32170	// The status of the task.
32171	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
32172
32173	// The details explaining the status. Not available for all status values.
32174	StatusDetails *string `type:"string"`
32175
32176	// The Amazon Resource Name (ARN) of the task that ran.
32177	TaskArn *string `min:"1" type:"string"`
32178
32179	// The ID of the specific task execution in the maintenance window task that
32180	// was retrieved.
32181	TaskExecutionId *string `min:"36" type:"string"`
32182
32183	// The parameters passed to the task when it was run.
32184	//
32185	// TaskParameters has been deprecated. To specify parameters to pass to a task
32186	// when it runs, instead use the Parameters option in the TaskInvocationParameters
32187	// structure. For information about how Systems Manager handles these options
32188	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32189	//
32190	// The map has the following format:
32191	//
32192	//    * Key: string, between 1 and 255 characters
32193	//
32194	//    * Value: an array of strings, each between 1 and 255 characters
32195	//
32196	// TaskParameters is a sensitive parameter and its value will be
32197	// replaced with "sensitive" in string returned by GetMaintenanceWindowExecutionTaskOutput's
32198	// String and GoString methods.
32199	TaskParameters []map[string]*MaintenanceWindowTaskParameterValueExpression `type:"list" sensitive:"true"`
32200
32201	// The type of task that was run.
32202	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
32203
32204	// The ID of the maintenance window execution that includes the task.
32205	WindowExecutionId *string `min:"36" type:"string"`
32206}
32207
32208// String returns the string representation.
32209//
32210// API parameter values that are decorated as "sensitive" in the API will not
32211// be included in the string output. The member name will be present, but the
32212// value will be replaced with "sensitive".
32213func (s GetMaintenanceWindowExecutionTaskOutput) String() string {
32214	return awsutil.Prettify(s)
32215}
32216
32217// GoString returns the string representation.
32218//
32219// API parameter values that are decorated as "sensitive" in the API will not
32220// be included in the string output. The member name will be present, but the
32221// value will be replaced with "sensitive".
32222func (s GetMaintenanceWindowExecutionTaskOutput) GoString() string {
32223	return s.String()
32224}
32225
32226// SetEndTime sets the EndTime field's value.
32227func (s *GetMaintenanceWindowExecutionTaskOutput) SetEndTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
32228	s.EndTime = &v
32229	return s
32230}
32231
32232// SetMaxConcurrency sets the MaxConcurrency field's value.
32233func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowExecutionTaskOutput {
32234	s.MaxConcurrency = &v
32235	return s
32236}
32237
32238// SetMaxErrors sets the MaxErrors field's value.
32239func (s *GetMaintenanceWindowExecutionTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowExecutionTaskOutput {
32240	s.MaxErrors = &v
32241	return s
32242}
32243
32244// SetPriority sets the Priority field's value.
32245func (s *GetMaintenanceWindowExecutionTaskOutput) SetPriority(v int64) *GetMaintenanceWindowExecutionTaskOutput {
32246	s.Priority = &v
32247	return s
32248}
32249
32250// SetServiceRole sets the ServiceRole field's value.
32251func (s *GetMaintenanceWindowExecutionTaskOutput) SetServiceRole(v string) *GetMaintenanceWindowExecutionTaskOutput {
32252	s.ServiceRole = &v
32253	return s
32254}
32255
32256// SetStartTime sets the StartTime field's value.
32257func (s *GetMaintenanceWindowExecutionTaskOutput) SetStartTime(v time.Time) *GetMaintenanceWindowExecutionTaskOutput {
32258	s.StartTime = &v
32259	return s
32260}
32261
32262// SetStatus sets the Status field's value.
32263func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatus(v string) *GetMaintenanceWindowExecutionTaskOutput {
32264	s.Status = &v
32265	return s
32266}
32267
32268// SetStatusDetails sets the StatusDetails field's value.
32269func (s *GetMaintenanceWindowExecutionTaskOutput) SetStatusDetails(v string) *GetMaintenanceWindowExecutionTaskOutput {
32270	s.StatusDetails = &v
32271	return s
32272}
32273
32274// SetTaskArn sets the TaskArn field's value.
32275func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowExecutionTaskOutput {
32276	s.TaskArn = &v
32277	return s
32278}
32279
32280// SetTaskExecutionId sets the TaskExecutionId field's value.
32281func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
32282	s.TaskExecutionId = &v
32283	return s
32284}
32285
32286// SetTaskParameters sets the TaskParameters field's value.
32287func (s *GetMaintenanceWindowExecutionTaskOutput) SetTaskParameters(v []map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowExecutionTaskOutput {
32288	s.TaskParameters = v
32289	return s
32290}
32291
32292// SetType sets the Type field's value.
32293func (s *GetMaintenanceWindowExecutionTaskOutput) SetType(v string) *GetMaintenanceWindowExecutionTaskOutput {
32294	s.Type = &v
32295	return s
32296}
32297
32298// SetWindowExecutionId sets the WindowExecutionId field's value.
32299func (s *GetMaintenanceWindowExecutionTaskOutput) SetWindowExecutionId(v string) *GetMaintenanceWindowExecutionTaskOutput {
32300	s.WindowExecutionId = &v
32301	return s
32302}
32303
32304type GetMaintenanceWindowInput struct {
32305	_ struct{} `type:"structure"`
32306
32307	// The ID of the maintenance window for which you want to retrieve information.
32308	//
32309	// WindowId is a required field
32310	WindowId *string `min:"20" type:"string" required:"true"`
32311}
32312
32313// String returns the string representation.
32314//
32315// API parameter values that are decorated as "sensitive" in the API will not
32316// be included in the string output. The member name will be present, but the
32317// value will be replaced with "sensitive".
32318func (s GetMaintenanceWindowInput) String() string {
32319	return awsutil.Prettify(s)
32320}
32321
32322// GoString returns the string representation.
32323//
32324// API parameter values that are decorated as "sensitive" in the API will not
32325// be included in the string output. The member name will be present, but the
32326// value will be replaced with "sensitive".
32327func (s GetMaintenanceWindowInput) GoString() string {
32328	return s.String()
32329}
32330
32331// Validate inspects the fields of the type to determine if they are valid.
32332func (s *GetMaintenanceWindowInput) Validate() error {
32333	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowInput"}
32334	if s.WindowId == nil {
32335		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32336	}
32337	if s.WindowId != nil && len(*s.WindowId) < 20 {
32338		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32339	}
32340
32341	if invalidParams.Len() > 0 {
32342		return invalidParams
32343	}
32344	return nil
32345}
32346
32347// SetWindowId sets the WindowId field's value.
32348func (s *GetMaintenanceWindowInput) SetWindowId(v string) *GetMaintenanceWindowInput {
32349	s.WindowId = &v
32350	return s
32351}
32352
32353type GetMaintenanceWindowOutput struct {
32354	_ struct{} `type:"structure"`
32355
32356	// Whether targets must be registered with the maintenance window before tasks
32357	// can be defined for those targets.
32358	AllowUnassociatedTargets *bool `type:"boolean"`
32359
32360	// The date the maintenance window was created.
32361	CreatedDate *time.Time `type:"timestamp"`
32362
32363	// The number of hours before the end of the maintenance window that Amazon
32364	// Web Services Systems Manager stops scheduling new tasks for execution.
32365	Cutoff *int64 `type:"integer"`
32366
32367	// The description of the maintenance window.
32368	//
32369	// Description is a sensitive parameter and its value will be
32370	// replaced with "sensitive" in string returned by GetMaintenanceWindowOutput's
32371	// String and GoString methods.
32372	Description *string `min:"1" type:"string" sensitive:"true"`
32373
32374	// The duration of the maintenance window in hours.
32375	Duration *int64 `min:"1" type:"integer"`
32376
32377	// Indicates whether the maintenance window is enabled.
32378	Enabled *bool `type:"boolean"`
32379
32380	// The date and time, in ISO-8601 Extended format, for when the maintenance
32381	// window is scheduled to become inactive. The maintenance window won't run
32382	// after this specified time.
32383	EndDate *string `type:"string"`
32384
32385	// The date the maintenance window was last modified.
32386	ModifiedDate *time.Time `type:"timestamp"`
32387
32388	// The name of the maintenance window.
32389	Name *string `min:"3" type:"string"`
32390
32391	// The next time the maintenance window will actually run, taking into account
32392	// any specified times for the maintenance window to become active or inactive.
32393	NextExecutionTime *string `type:"string"`
32394
32395	// The schedule of the maintenance window in the form of a cron or rate expression.
32396	Schedule *string `min:"1" type:"string"`
32397
32398	// The number of days to wait to run a maintenance window after the scheduled
32399	// cron expression date and time.
32400	ScheduleOffset *int64 `min:"1" type:"integer"`
32401
32402	// The time zone that the scheduled maintenance window executions are based
32403	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
32404	// "UTC", or "Asia/Seoul". For more information, see the Time Zone Database
32405	// (https://www.iana.org/time-zones) on the IANA website.
32406	ScheduleTimezone *string `type:"string"`
32407
32408	// The date and time, in ISO-8601 Extended format, for when the maintenance
32409	// window is scheduled to become active. The maintenance window won't run before
32410	// this specified time.
32411	StartDate *string `type:"string"`
32412
32413	// The ID of the created maintenance window.
32414	WindowId *string `min:"20" type:"string"`
32415}
32416
32417// String returns the string representation.
32418//
32419// API parameter values that are decorated as "sensitive" in the API will not
32420// be included in the string output. The member name will be present, but the
32421// value will be replaced with "sensitive".
32422func (s GetMaintenanceWindowOutput) String() string {
32423	return awsutil.Prettify(s)
32424}
32425
32426// GoString returns the string representation.
32427//
32428// API parameter values that are decorated as "sensitive" in the API will not
32429// be included in the string output. The member name will be present, but the
32430// value will be replaced with "sensitive".
32431func (s GetMaintenanceWindowOutput) GoString() string {
32432	return s.String()
32433}
32434
32435// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
32436func (s *GetMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *GetMaintenanceWindowOutput {
32437	s.AllowUnassociatedTargets = &v
32438	return s
32439}
32440
32441// SetCreatedDate sets the CreatedDate field's value.
32442func (s *GetMaintenanceWindowOutput) SetCreatedDate(v time.Time) *GetMaintenanceWindowOutput {
32443	s.CreatedDate = &v
32444	return s
32445}
32446
32447// SetCutoff sets the Cutoff field's value.
32448func (s *GetMaintenanceWindowOutput) SetCutoff(v int64) *GetMaintenanceWindowOutput {
32449	s.Cutoff = &v
32450	return s
32451}
32452
32453// SetDescription sets the Description field's value.
32454func (s *GetMaintenanceWindowOutput) SetDescription(v string) *GetMaintenanceWindowOutput {
32455	s.Description = &v
32456	return s
32457}
32458
32459// SetDuration sets the Duration field's value.
32460func (s *GetMaintenanceWindowOutput) SetDuration(v int64) *GetMaintenanceWindowOutput {
32461	s.Duration = &v
32462	return s
32463}
32464
32465// SetEnabled sets the Enabled field's value.
32466func (s *GetMaintenanceWindowOutput) SetEnabled(v bool) *GetMaintenanceWindowOutput {
32467	s.Enabled = &v
32468	return s
32469}
32470
32471// SetEndDate sets the EndDate field's value.
32472func (s *GetMaintenanceWindowOutput) SetEndDate(v string) *GetMaintenanceWindowOutput {
32473	s.EndDate = &v
32474	return s
32475}
32476
32477// SetModifiedDate sets the ModifiedDate field's value.
32478func (s *GetMaintenanceWindowOutput) SetModifiedDate(v time.Time) *GetMaintenanceWindowOutput {
32479	s.ModifiedDate = &v
32480	return s
32481}
32482
32483// SetName sets the Name field's value.
32484func (s *GetMaintenanceWindowOutput) SetName(v string) *GetMaintenanceWindowOutput {
32485	s.Name = &v
32486	return s
32487}
32488
32489// SetNextExecutionTime sets the NextExecutionTime field's value.
32490func (s *GetMaintenanceWindowOutput) SetNextExecutionTime(v string) *GetMaintenanceWindowOutput {
32491	s.NextExecutionTime = &v
32492	return s
32493}
32494
32495// SetSchedule sets the Schedule field's value.
32496func (s *GetMaintenanceWindowOutput) SetSchedule(v string) *GetMaintenanceWindowOutput {
32497	s.Schedule = &v
32498	return s
32499}
32500
32501// SetScheduleOffset sets the ScheduleOffset field's value.
32502func (s *GetMaintenanceWindowOutput) SetScheduleOffset(v int64) *GetMaintenanceWindowOutput {
32503	s.ScheduleOffset = &v
32504	return s
32505}
32506
32507// SetScheduleTimezone sets the ScheduleTimezone field's value.
32508func (s *GetMaintenanceWindowOutput) SetScheduleTimezone(v string) *GetMaintenanceWindowOutput {
32509	s.ScheduleTimezone = &v
32510	return s
32511}
32512
32513// SetStartDate sets the StartDate field's value.
32514func (s *GetMaintenanceWindowOutput) SetStartDate(v string) *GetMaintenanceWindowOutput {
32515	s.StartDate = &v
32516	return s
32517}
32518
32519// SetWindowId sets the WindowId field's value.
32520func (s *GetMaintenanceWindowOutput) SetWindowId(v string) *GetMaintenanceWindowOutput {
32521	s.WindowId = &v
32522	return s
32523}
32524
32525type GetMaintenanceWindowTaskInput struct {
32526	_ struct{} `type:"structure"`
32527
32528	// The maintenance window ID that includes the task to retrieve.
32529	//
32530	// WindowId is a required field
32531	WindowId *string `min:"20" type:"string" required:"true"`
32532
32533	// The maintenance window task ID to retrieve.
32534	//
32535	// WindowTaskId is a required field
32536	WindowTaskId *string `min:"36" type:"string" required:"true"`
32537}
32538
32539// String returns the string representation.
32540//
32541// API parameter values that are decorated as "sensitive" in the API will not
32542// be included in the string output. The member name will be present, but the
32543// value will be replaced with "sensitive".
32544func (s GetMaintenanceWindowTaskInput) String() string {
32545	return awsutil.Prettify(s)
32546}
32547
32548// GoString returns the string representation.
32549//
32550// API parameter values that are decorated as "sensitive" in the API will not
32551// be included in the string output. The member name will be present, but the
32552// value will be replaced with "sensitive".
32553func (s GetMaintenanceWindowTaskInput) GoString() string {
32554	return s.String()
32555}
32556
32557// Validate inspects the fields of the type to determine if they are valid.
32558func (s *GetMaintenanceWindowTaskInput) Validate() error {
32559	invalidParams := request.ErrInvalidParams{Context: "GetMaintenanceWindowTaskInput"}
32560	if s.WindowId == nil {
32561		invalidParams.Add(request.NewErrParamRequired("WindowId"))
32562	}
32563	if s.WindowId != nil && len(*s.WindowId) < 20 {
32564		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
32565	}
32566	if s.WindowTaskId == nil {
32567		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
32568	}
32569	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
32570		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
32571	}
32572
32573	if invalidParams.Len() > 0 {
32574		return invalidParams
32575	}
32576	return nil
32577}
32578
32579// SetWindowId sets the WindowId field's value.
32580func (s *GetMaintenanceWindowTaskInput) SetWindowId(v string) *GetMaintenanceWindowTaskInput {
32581	s.WindowId = &v
32582	return s
32583}
32584
32585// SetWindowTaskId sets the WindowTaskId field's value.
32586func (s *GetMaintenanceWindowTaskInput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskInput {
32587	s.WindowTaskId = &v
32588	return s
32589}
32590
32591type GetMaintenanceWindowTaskOutput struct {
32592	_ struct{} `type:"structure"`
32593
32594	// The action to take on tasks when the maintenance window cutoff time is reached.
32595	// CONTINUE_TASK means that tasks continue to run. For Automation, Lambda, Step
32596	// Functions tasks, CANCEL_TASK means that currently running task invocations
32597	// continue, but no new task invocations are started. For Run Command tasks,
32598	// CANCEL_TASK means the system attempts to stop the task by sending a CancelCommand
32599	// operation.
32600	CutoffBehavior *string `type:"string" enum:"MaintenanceWindowTaskCutoffBehavior"`
32601
32602	// The retrieved task description.
32603	//
32604	// Description is a sensitive parameter and its value will be
32605	// replaced with "sensitive" in string returned by GetMaintenanceWindowTaskOutput's
32606	// String and GoString methods.
32607	Description *string `min:"1" type:"string" sensitive:"true"`
32608
32609	// The location in Amazon Simple Storage Service (Amazon S3) where the task
32610	// results are logged.
32611	//
32612	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
32613	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
32614	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
32615	// information about how Amazon Web Services Systems Manager handles these options
32616	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32617	LoggingInfo *LoggingInfo `type:"structure"`
32618
32619	// The maximum number of targets allowed to run this task in parallel.
32620	//
32621	// For maintenance window tasks without a target specified, you can't supply
32622	// a value for this option. Instead, the system inserts a placeholder value
32623	// of 1, which may be reported in the response to this command. This value doesn't
32624	// affect the running of your task and can be ignored.
32625	MaxConcurrency *string `min:"1" type:"string"`
32626
32627	// The maximum number of errors allowed before the task stops being scheduled.
32628	//
32629	// For maintenance window tasks without a target specified, you can't supply
32630	// a value for this option. Instead, the system inserts a placeholder value
32631	// of 1, which may be reported in the response to this command. This value doesn't
32632	// affect the running of your task and can be ignored.
32633	MaxErrors *string `min:"1" type:"string"`
32634
32635	// The retrieved task name.
32636	Name *string `min:"3" type:"string"`
32637
32638	// The priority of the task when it runs. The lower the number, the higher the
32639	// priority. Tasks that have the same priority are scheduled in parallel.
32640	Priority *int64 `type:"integer"`
32641
32642	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
32643	// service role to use to publish Amazon Simple Notification Service (Amazon
32644	// SNS) notifications for maintenance window Run Command tasks.
32645	ServiceRoleArn *string `type:"string"`
32646
32647	// The targets where the task should run.
32648	Targets []*Target `type:"list"`
32649
32650	// The resource that the task used during execution. For RUN_COMMAND and AUTOMATION
32651	// task types, the value of TaskArn is the SSM document name/ARN. For LAMBDA
32652	// tasks, the value is the function name/ARN. For STEP_FUNCTIONS tasks, the
32653	// value is the state machine ARN.
32654	TaskArn *string `min:"1" type:"string"`
32655
32656	// The parameters to pass to the task when it runs.
32657	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
32658
32659	// The parameters to pass to the task when it runs.
32660	//
32661	// TaskParameters has been deprecated. To specify parameters to pass to a task
32662	// when it runs, instead use the Parameters option in the TaskInvocationParameters
32663	// structure. For information about how Systems Manager handles these options
32664	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
32665	//
32666	// TaskParameters is a sensitive parameter and its value will be
32667	// replaced with "sensitive" in string returned by GetMaintenanceWindowTaskOutput's
32668	// String and GoString methods.
32669	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
32670
32671	// The type of task to run.
32672	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
32673
32674	// The retrieved maintenance window ID.
32675	WindowId *string `min:"20" type:"string"`
32676
32677	// The retrieved maintenance window task ID.
32678	WindowTaskId *string `min:"36" type:"string"`
32679}
32680
32681// String returns the string representation.
32682//
32683// API parameter values that are decorated as "sensitive" in the API will not
32684// be included in the string output. The member name will be present, but the
32685// value will be replaced with "sensitive".
32686func (s GetMaintenanceWindowTaskOutput) String() string {
32687	return awsutil.Prettify(s)
32688}
32689
32690// GoString returns the string representation.
32691//
32692// API parameter values that are decorated as "sensitive" in the API will not
32693// be included in the string output. The member name will be present, but the
32694// value will be replaced with "sensitive".
32695func (s GetMaintenanceWindowTaskOutput) GoString() string {
32696	return s.String()
32697}
32698
32699// SetCutoffBehavior sets the CutoffBehavior field's value.
32700func (s *GetMaintenanceWindowTaskOutput) SetCutoffBehavior(v string) *GetMaintenanceWindowTaskOutput {
32701	s.CutoffBehavior = &v
32702	return s
32703}
32704
32705// SetDescription sets the Description field's value.
32706func (s *GetMaintenanceWindowTaskOutput) SetDescription(v string) *GetMaintenanceWindowTaskOutput {
32707	s.Description = &v
32708	return s
32709}
32710
32711// SetLoggingInfo sets the LoggingInfo field's value.
32712func (s *GetMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *GetMaintenanceWindowTaskOutput {
32713	s.LoggingInfo = v
32714	return s
32715}
32716
32717// SetMaxConcurrency sets the MaxConcurrency field's value.
32718func (s *GetMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *GetMaintenanceWindowTaskOutput {
32719	s.MaxConcurrency = &v
32720	return s
32721}
32722
32723// SetMaxErrors sets the MaxErrors field's value.
32724func (s *GetMaintenanceWindowTaskOutput) SetMaxErrors(v string) *GetMaintenanceWindowTaskOutput {
32725	s.MaxErrors = &v
32726	return s
32727}
32728
32729// SetName sets the Name field's value.
32730func (s *GetMaintenanceWindowTaskOutput) SetName(v string) *GetMaintenanceWindowTaskOutput {
32731	s.Name = &v
32732	return s
32733}
32734
32735// SetPriority sets the Priority field's value.
32736func (s *GetMaintenanceWindowTaskOutput) SetPriority(v int64) *GetMaintenanceWindowTaskOutput {
32737	s.Priority = &v
32738	return s
32739}
32740
32741// SetServiceRoleArn sets the ServiceRoleArn field's value.
32742func (s *GetMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *GetMaintenanceWindowTaskOutput {
32743	s.ServiceRoleArn = &v
32744	return s
32745}
32746
32747// SetTargets sets the Targets field's value.
32748func (s *GetMaintenanceWindowTaskOutput) SetTargets(v []*Target) *GetMaintenanceWindowTaskOutput {
32749	s.Targets = v
32750	return s
32751}
32752
32753// SetTaskArn sets the TaskArn field's value.
32754func (s *GetMaintenanceWindowTaskOutput) SetTaskArn(v string) *GetMaintenanceWindowTaskOutput {
32755	s.TaskArn = &v
32756	return s
32757}
32758
32759// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
32760func (s *GetMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *GetMaintenanceWindowTaskOutput {
32761	s.TaskInvocationParameters = v
32762	return s
32763}
32764
32765// SetTaskParameters sets the TaskParameters field's value.
32766func (s *GetMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *GetMaintenanceWindowTaskOutput {
32767	s.TaskParameters = v
32768	return s
32769}
32770
32771// SetTaskType sets the TaskType field's value.
32772func (s *GetMaintenanceWindowTaskOutput) SetTaskType(v string) *GetMaintenanceWindowTaskOutput {
32773	s.TaskType = &v
32774	return s
32775}
32776
32777// SetWindowId sets the WindowId field's value.
32778func (s *GetMaintenanceWindowTaskOutput) SetWindowId(v string) *GetMaintenanceWindowTaskOutput {
32779	s.WindowId = &v
32780	return s
32781}
32782
32783// SetWindowTaskId sets the WindowTaskId field's value.
32784func (s *GetMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *GetMaintenanceWindowTaskOutput {
32785	s.WindowTaskId = &v
32786	return s
32787}
32788
32789type GetOpsItemInput struct {
32790	_ struct{} `type:"structure"`
32791
32792	// The ID of the OpsItem that you want to get.
32793	//
32794	// OpsItemId is a required field
32795	OpsItemId *string `type:"string" required:"true"`
32796}
32797
32798// String returns the string representation.
32799//
32800// API parameter values that are decorated as "sensitive" in the API will not
32801// be included in the string output. The member name will be present, but the
32802// value will be replaced with "sensitive".
32803func (s GetOpsItemInput) String() string {
32804	return awsutil.Prettify(s)
32805}
32806
32807// GoString returns the string representation.
32808//
32809// API parameter values that are decorated as "sensitive" in the API will not
32810// be included in the string output. The member name will be present, but the
32811// value will be replaced with "sensitive".
32812func (s GetOpsItemInput) GoString() string {
32813	return s.String()
32814}
32815
32816// Validate inspects the fields of the type to determine if they are valid.
32817func (s *GetOpsItemInput) Validate() error {
32818	invalidParams := request.ErrInvalidParams{Context: "GetOpsItemInput"}
32819	if s.OpsItemId == nil {
32820		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
32821	}
32822
32823	if invalidParams.Len() > 0 {
32824		return invalidParams
32825	}
32826	return nil
32827}
32828
32829// SetOpsItemId sets the OpsItemId field's value.
32830func (s *GetOpsItemInput) SetOpsItemId(v string) *GetOpsItemInput {
32831	s.OpsItemId = &v
32832	return s
32833}
32834
32835type GetOpsItemOutput struct {
32836	_ struct{} `type:"structure"`
32837
32838	// The OpsItem.
32839	OpsItem *OpsItem `type:"structure"`
32840}
32841
32842// String returns the string representation.
32843//
32844// API parameter values that are decorated as "sensitive" in the API will not
32845// be included in the string output. The member name will be present, but the
32846// value will be replaced with "sensitive".
32847func (s GetOpsItemOutput) String() string {
32848	return awsutil.Prettify(s)
32849}
32850
32851// GoString returns the string representation.
32852//
32853// API parameter values that are decorated as "sensitive" in the API will not
32854// be included in the string output. The member name will be present, but the
32855// value will be replaced with "sensitive".
32856func (s GetOpsItemOutput) GoString() string {
32857	return s.String()
32858}
32859
32860// SetOpsItem sets the OpsItem field's value.
32861func (s *GetOpsItemOutput) SetOpsItem(v *OpsItem) *GetOpsItemOutput {
32862	s.OpsItem = v
32863	return s
32864}
32865
32866type GetOpsMetadataInput struct {
32867	_ struct{} `type:"structure"`
32868
32869	// The maximum number of items to return for this call. The call also returns
32870	// a token that you can specify in a subsequent call to get the next set of
32871	// results.
32872	MaxResults *int64 `min:"1" type:"integer"`
32873
32874	// A token to start the list. Use this token to get the next set of results.
32875	NextToken *string `type:"string"`
32876
32877	// The Amazon Resource Name (ARN) of an OpsMetadata Object to view.
32878	//
32879	// OpsMetadataArn is a required field
32880	OpsMetadataArn *string `min:"1" type:"string" required:"true"`
32881}
32882
32883// String returns the string representation.
32884//
32885// API parameter values that are decorated as "sensitive" in the API will not
32886// be included in the string output. The member name will be present, but the
32887// value will be replaced with "sensitive".
32888func (s GetOpsMetadataInput) String() string {
32889	return awsutil.Prettify(s)
32890}
32891
32892// GoString returns the string representation.
32893//
32894// API parameter values that are decorated as "sensitive" in the API will not
32895// be included in the string output. The member name will be present, but the
32896// value will be replaced with "sensitive".
32897func (s GetOpsMetadataInput) GoString() string {
32898	return s.String()
32899}
32900
32901// Validate inspects the fields of the type to determine if they are valid.
32902func (s *GetOpsMetadataInput) Validate() error {
32903	invalidParams := request.ErrInvalidParams{Context: "GetOpsMetadataInput"}
32904	if s.MaxResults != nil && *s.MaxResults < 1 {
32905		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
32906	}
32907	if s.OpsMetadataArn == nil {
32908		invalidParams.Add(request.NewErrParamRequired("OpsMetadataArn"))
32909	}
32910	if s.OpsMetadataArn != nil && len(*s.OpsMetadataArn) < 1 {
32911		invalidParams.Add(request.NewErrParamMinLen("OpsMetadataArn", 1))
32912	}
32913
32914	if invalidParams.Len() > 0 {
32915		return invalidParams
32916	}
32917	return nil
32918}
32919
32920// SetMaxResults sets the MaxResults field's value.
32921func (s *GetOpsMetadataInput) SetMaxResults(v int64) *GetOpsMetadataInput {
32922	s.MaxResults = &v
32923	return s
32924}
32925
32926// SetNextToken sets the NextToken field's value.
32927func (s *GetOpsMetadataInput) SetNextToken(v string) *GetOpsMetadataInput {
32928	s.NextToken = &v
32929	return s
32930}
32931
32932// SetOpsMetadataArn sets the OpsMetadataArn field's value.
32933func (s *GetOpsMetadataInput) SetOpsMetadataArn(v string) *GetOpsMetadataInput {
32934	s.OpsMetadataArn = &v
32935	return s
32936}
32937
32938type GetOpsMetadataOutput struct {
32939	_ struct{} `type:"structure"`
32940
32941	// OpsMetadata for an Application Manager application.
32942	Metadata map[string]*MetadataValue `min:"1" type:"map"`
32943
32944	// The token for the next set of items to return. Use this token to get the
32945	// next set of results.
32946	NextToken *string `type:"string"`
32947
32948	// The resource ID of the Application Manager application.
32949	ResourceId *string `min:"1" type:"string"`
32950}
32951
32952// String returns the string representation.
32953//
32954// API parameter values that are decorated as "sensitive" in the API will not
32955// be included in the string output. The member name will be present, but the
32956// value will be replaced with "sensitive".
32957func (s GetOpsMetadataOutput) String() string {
32958	return awsutil.Prettify(s)
32959}
32960
32961// GoString returns the string representation.
32962//
32963// API parameter values that are decorated as "sensitive" in the API will not
32964// be included in the string output. The member name will be present, but the
32965// value will be replaced with "sensitive".
32966func (s GetOpsMetadataOutput) GoString() string {
32967	return s.String()
32968}
32969
32970// SetMetadata sets the Metadata field's value.
32971func (s *GetOpsMetadataOutput) SetMetadata(v map[string]*MetadataValue) *GetOpsMetadataOutput {
32972	s.Metadata = v
32973	return s
32974}
32975
32976// SetNextToken sets the NextToken field's value.
32977func (s *GetOpsMetadataOutput) SetNextToken(v string) *GetOpsMetadataOutput {
32978	s.NextToken = &v
32979	return s
32980}
32981
32982// SetResourceId sets the ResourceId field's value.
32983func (s *GetOpsMetadataOutput) SetResourceId(v string) *GetOpsMetadataOutput {
32984	s.ResourceId = &v
32985	return s
32986}
32987
32988type GetOpsSummaryInput struct {
32989	_ struct{} `type:"structure"`
32990
32991	// Optional aggregators that return counts of OpsData based on one or more expressions.
32992	Aggregators []*OpsAggregator `min:"1" type:"list"`
32993
32994	// Optional filters used to scope down the returned OpsData.
32995	Filters []*OpsFilter `min:"1" type:"list"`
32996
32997	// The maximum number of items to return for this call. The call also returns
32998	// a token that you can specify in a subsequent call to get the next set of
32999	// results.
33000	MaxResults *int64 `min:"1" type:"integer"`
33001
33002	// A token to start the list. Use this token to get the next set of results.
33003	NextToken *string `type:"string"`
33004
33005	// The OpsData data type to return.
33006	ResultAttributes []*OpsResultAttribute `min:"1" type:"list"`
33007
33008	// Specify the name of a resource data sync to get.
33009	SyncName *string `min:"1" type:"string"`
33010}
33011
33012// String returns the string representation.
33013//
33014// API parameter values that are decorated as "sensitive" in the API will not
33015// be included in the string output. The member name will be present, but the
33016// value will be replaced with "sensitive".
33017func (s GetOpsSummaryInput) String() string {
33018	return awsutil.Prettify(s)
33019}
33020
33021// GoString returns the string representation.
33022//
33023// API parameter values that are decorated as "sensitive" in the API will not
33024// be included in the string output. The member name will be present, but the
33025// value will be replaced with "sensitive".
33026func (s GetOpsSummaryInput) GoString() string {
33027	return s.String()
33028}
33029
33030// Validate inspects the fields of the type to determine if they are valid.
33031func (s *GetOpsSummaryInput) Validate() error {
33032	invalidParams := request.ErrInvalidParams{Context: "GetOpsSummaryInput"}
33033	if s.Aggregators != nil && len(s.Aggregators) < 1 {
33034		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
33035	}
33036	if s.Filters != nil && len(s.Filters) < 1 {
33037		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
33038	}
33039	if s.MaxResults != nil && *s.MaxResults < 1 {
33040		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33041	}
33042	if s.ResultAttributes != nil && len(s.ResultAttributes) < 1 {
33043		invalidParams.Add(request.NewErrParamMinLen("ResultAttributes", 1))
33044	}
33045	if s.SyncName != nil && len(*s.SyncName) < 1 {
33046		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
33047	}
33048	if s.Aggregators != nil {
33049		for i, v := range s.Aggregators {
33050			if v == nil {
33051				continue
33052			}
33053			if err := v.Validate(); err != nil {
33054				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
33055			}
33056		}
33057	}
33058	if s.Filters != nil {
33059		for i, v := range s.Filters {
33060			if v == nil {
33061				continue
33062			}
33063			if err := v.Validate(); err != nil {
33064				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
33065			}
33066		}
33067	}
33068	if s.ResultAttributes != nil {
33069		for i, v := range s.ResultAttributes {
33070			if v == nil {
33071				continue
33072			}
33073			if err := v.Validate(); err != nil {
33074				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResultAttributes", i), err.(request.ErrInvalidParams))
33075			}
33076		}
33077	}
33078
33079	if invalidParams.Len() > 0 {
33080		return invalidParams
33081	}
33082	return nil
33083}
33084
33085// SetAggregators sets the Aggregators field's value.
33086func (s *GetOpsSummaryInput) SetAggregators(v []*OpsAggregator) *GetOpsSummaryInput {
33087	s.Aggregators = v
33088	return s
33089}
33090
33091// SetFilters sets the Filters field's value.
33092func (s *GetOpsSummaryInput) SetFilters(v []*OpsFilter) *GetOpsSummaryInput {
33093	s.Filters = v
33094	return s
33095}
33096
33097// SetMaxResults sets the MaxResults field's value.
33098func (s *GetOpsSummaryInput) SetMaxResults(v int64) *GetOpsSummaryInput {
33099	s.MaxResults = &v
33100	return s
33101}
33102
33103// SetNextToken sets the NextToken field's value.
33104func (s *GetOpsSummaryInput) SetNextToken(v string) *GetOpsSummaryInput {
33105	s.NextToken = &v
33106	return s
33107}
33108
33109// SetResultAttributes sets the ResultAttributes field's value.
33110func (s *GetOpsSummaryInput) SetResultAttributes(v []*OpsResultAttribute) *GetOpsSummaryInput {
33111	s.ResultAttributes = v
33112	return s
33113}
33114
33115// SetSyncName sets the SyncName field's value.
33116func (s *GetOpsSummaryInput) SetSyncName(v string) *GetOpsSummaryInput {
33117	s.SyncName = &v
33118	return s
33119}
33120
33121type GetOpsSummaryOutput struct {
33122	_ struct{} `type:"structure"`
33123
33124	// The list of aggregated details and filtered OpsData.
33125	Entities []*OpsEntity `type:"list"`
33126
33127	// The token for the next set of items to return. Use this token to get the
33128	// next set of results.
33129	NextToken *string `type:"string"`
33130}
33131
33132// String returns the string representation.
33133//
33134// API parameter values that are decorated as "sensitive" in the API will not
33135// be included in the string output. The member name will be present, but the
33136// value will be replaced with "sensitive".
33137func (s GetOpsSummaryOutput) String() string {
33138	return awsutil.Prettify(s)
33139}
33140
33141// GoString returns the string representation.
33142//
33143// API parameter values that are decorated as "sensitive" in the API will not
33144// be included in the string output. The member name will be present, but the
33145// value will be replaced with "sensitive".
33146func (s GetOpsSummaryOutput) GoString() string {
33147	return s.String()
33148}
33149
33150// SetEntities sets the Entities field's value.
33151func (s *GetOpsSummaryOutput) SetEntities(v []*OpsEntity) *GetOpsSummaryOutput {
33152	s.Entities = v
33153	return s
33154}
33155
33156// SetNextToken sets the NextToken field's value.
33157func (s *GetOpsSummaryOutput) SetNextToken(v string) *GetOpsSummaryOutput {
33158	s.NextToken = &v
33159	return s
33160}
33161
33162type GetParameterHistoryInput struct {
33163	_ struct{} `type:"structure"`
33164
33165	// The maximum number of items to return for this call. The call also returns
33166	// a token that you can specify in a subsequent call to get the next set of
33167	// results.
33168	MaxResults *int64 `min:"1" type:"integer"`
33169
33170	// The name of the parameter for which you want to review history.
33171	//
33172	// Name is a required field
33173	Name *string `min:"1" type:"string" required:"true"`
33174
33175	// The token for the next set of items to return. (You received this token from
33176	// a previous call.)
33177	NextToken *string `type:"string"`
33178
33179	// Return decrypted values for secure string parameters. This flag is ignored
33180	// for String and StringList parameter types.
33181	WithDecryption *bool `type:"boolean"`
33182}
33183
33184// String returns the string representation.
33185//
33186// API parameter values that are decorated as "sensitive" in the API will not
33187// be included in the string output. The member name will be present, but the
33188// value will be replaced with "sensitive".
33189func (s GetParameterHistoryInput) String() string {
33190	return awsutil.Prettify(s)
33191}
33192
33193// GoString returns the string representation.
33194//
33195// API parameter values that are decorated as "sensitive" in the API will not
33196// be included in the string output. The member name will be present, but the
33197// value will be replaced with "sensitive".
33198func (s GetParameterHistoryInput) GoString() string {
33199	return s.String()
33200}
33201
33202// Validate inspects the fields of the type to determine if they are valid.
33203func (s *GetParameterHistoryInput) Validate() error {
33204	invalidParams := request.ErrInvalidParams{Context: "GetParameterHistoryInput"}
33205	if s.MaxResults != nil && *s.MaxResults < 1 {
33206		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33207	}
33208	if s.Name == nil {
33209		invalidParams.Add(request.NewErrParamRequired("Name"))
33210	}
33211	if s.Name != nil && len(*s.Name) < 1 {
33212		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
33213	}
33214
33215	if invalidParams.Len() > 0 {
33216		return invalidParams
33217	}
33218	return nil
33219}
33220
33221// SetMaxResults sets the MaxResults field's value.
33222func (s *GetParameterHistoryInput) SetMaxResults(v int64) *GetParameterHistoryInput {
33223	s.MaxResults = &v
33224	return s
33225}
33226
33227// SetName sets the Name field's value.
33228func (s *GetParameterHistoryInput) SetName(v string) *GetParameterHistoryInput {
33229	s.Name = &v
33230	return s
33231}
33232
33233// SetNextToken sets the NextToken field's value.
33234func (s *GetParameterHistoryInput) SetNextToken(v string) *GetParameterHistoryInput {
33235	s.NextToken = &v
33236	return s
33237}
33238
33239// SetWithDecryption sets the WithDecryption field's value.
33240func (s *GetParameterHistoryInput) SetWithDecryption(v bool) *GetParameterHistoryInput {
33241	s.WithDecryption = &v
33242	return s
33243}
33244
33245type GetParameterHistoryOutput struct {
33246	_ struct{} `type:"structure"`
33247
33248	// The token to use when requesting the next set of items. If there are no additional
33249	// items to return, the string is empty.
33250	NextToken *string `type:"string"`
33251
33252	// A list of parameters returned by the request.
33253	Parameters []*ParameterHistory `type:"list"`
33254}
33255
33256// String returns the string representation.
33257//
33258// API parameter values that are decorated as "sensitive" in the API will not
33259// be included in the string output. The member name will be present, but the
33260// value will be replaced with "sensitive".
33261func (s GetParameterHistoryOutput) String() string {
33262	return awsutil.Prettify(s)
33263}
33264
33265// GoString returns the string representation.
33266//
33267// API parameter values that are decorated as "sensitive" in the API will not
33268// be included in the string output. The member name will be present, but the
33269// value will be replaced with "sensitive".
33270func (s GetParameterHistoryOutput) GoString() string {
33271	return s.String()
33272}
33273
33274// SetNextToken sets the NextToken field's value.
33275func (s *GetParameterHistoryOutput) SetNextToken(v string) *GetParameterHistoryOutput {
33276	s.NextToken = &v
33277	return s
33278}
33279
33280// SetParameters sets the Parameters field's value.
33281func (s *GetParameterHistoryOutput) SetParameters(v []*ParameterHistory) *GetParameterHistoryOutput {
33282	s.Parameters = v
33283	return s
33284}
33285
33286type GetParameterInput struct {
33287	_ struct{} `type:"structure"`
33288
33289	// The name of the parameter you want to query.
33290	//
33291	// To query by parameter label, use "Name": "name:label". To query by parameter
33292	// version, use "Name": "name:version".
33293	//
33294	// Name is a required field
33295	Name *string `min:"1" type:"string" required:"true"`
33296
33297	// Return decrypted values for secure string parameters. This flag is ignored
33298	// for String and StringList parameter types.
33299	WithDecryption *bool `type:"boolean"`
33300}
33301
33302// String returns the string representation.
33303//
33304// API parameter values that are decorated as "sensitive" in the API will not
33305// be included in the string output. The member name will be present, but the
33306// value will be replaced with "sensitive".
33307func (s GetParameterInput) String() string {
33308	return awsutil.Prettify(s)
33309}
33310
33311// GoString returns the string representation.
33312//
33313// API parameter values that are decorated as "sensitive" in the API will not
33314// be included in the string output. The member name will be present, but the
33315// value will be replaced with "sensitive".
33316func (s GetParameterInput) GoString() string {
33317	return s.String()
33318}
33319
33320// Validate inspects the fields of the type to determine if they are valid.
33321func (s *GetParameterInput) Validate() error {
33322	invalidParams := request.ErrInvalidParams{Context: "GetParameterInput"}
33323	if s.Name == nil {
33324		invalidParams.Add(request.NewErrParamRequired("Name"))
33325	}
33326	if s.Name != nil && len(*s.Name) < 1 {
33327		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
33328	}
33329
33330	if invalidParams.Len() > 0 {
33331		return invalidParams
33332	}
33333	return nil
33334}
33335
33336// SetName sets the Name field's value.
33337func (s *GetParameterInput) SetName(v string) *GetParameterInput {
33338	s.Name = &v
33339	return s
33340}
33341
33342// SetWithDecryption sets the WithDecryption field's value.
33343func (s *GetParameterInput) SetWithDecryption(v bool) *GetParameterInput {
33344	s.WithDecryption = &v
33345	return s
33346}
33347
33348type GetParameterOutput struct {
33349	_ struct{} `type:"structure"`
33350
33351	// Information about a parameter.
33352	Parameter *Parameter `type:"structure"`
33353}
33354
33355// String returns the string representation.
33356//
33357// API parameter values that are decorated as "sensitive" in the API will not
33358// be included in the string output. The member name will be present, but the
33359// value will be replaced with "sensitive".
33360func (s GetParameterOutput) String() string {
33361	return awsutil.Prettify(s)
33362}
33363
33364// GoString returns the string representation.
33365//
33366// API parameter values that are decorated as "sensitive" in the API will not
33367// be included in the string output. The member name will be present, but the
33368// value will be replaced with "sensitive".
33369func (s GetParameterOutput) GoString() string {
33370	return s.String()
33371}
33372
33373// SetParameter sets the Parameter field's value.
33374func (s *GetParameterOutput) SetParameter(v *Parameter) *GetParameterOutput {
33375	s.Parameter = v
33376	return s
33377}
33378
33379type GetParametersByPathInput struct {
33380	_ struct{} `type:"structure"`
33381
33382	// The maximum number of items to return for this call. The call also returns
33383	// a token that you can specify in a subsequent call to get the next set of
33384	// results.
33385	MaxResults *int64 `min:"1" type:"integer"`
33386
33387	// A token to start the list. Use this token to get the next set of results.
33388	NextToken *string `type:"string"`
33389
33390	// Filters to limit the request results.
33391	//
33392	// The following Key values are supported for GetParametersByPath: Type, KeyId,
33393	// and Label.
33394	//
33395	// The following Key values aren't supported for GetParametersByPath: tag, DataType,
33396	// Name, Path, and Tier.
33397	ParameterFilters []*ParameterStringFilter `type:"list"`
33398
33399	// The hierarchy for the parameter. Hierarchies start with a forward slash (/).
33400	// The hierachy is the parameter name except the last part of the parameter.
33401	// For the API call to succeeed, the last part of the parameter name can't be
33402	// in the path. A parameter name hierarchy can have a maximum of 15 levels.
33403	// Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33
33404	//
33405	// Path is a required field
33406	Path *string `min:"1" type:"string" required:"true"`
33407
33408	// Retrieve all parameters within a hierarchy.
33409	//
33410	// If a user has access to a path, then the user can access all levels of that
33411	// path. For example, if a user has permission to access path /a, then the user
33412	// can also access /a/b. Even if a user has explicitly been denied access in
33413	// IAM for parameter /a/b, they can still call the GetParametersByPath API operation
33414	// recursively for /a and view /a/b.
33415	Recursive *bool `type:"boolean"`
33416
33417	// Retrieve all parameters in a hierarchy with their value decrypted.
33418	WithDecryption *bool `type:"boolean"`
33419}
33420
33421// String returns the string representation.
33422//
33423// API parameter values that are decorated as "sensitive" in the API will not
33424// be included in the string output. The member name will be present, but the
33425// value will be replaced with "sensitive".
33426func (s GetParametersByPathInput) String() string {
33427	return awsutil.Prettify(s)
33428}
33429
33430// GoString returns the string representation.
33431//
33432// API parameter values that are decorated as "sensitive" in the API will not
33433// be included in the string output. The member name will be present, but the
33434// value will be replaced with "sensitive".
33435func (s GetParametersByPathInput) GoString() string {
33436	return s.String()
33437}
33438
33439// Validate inspects the fields of the type to determine if they are valid.
33440func (s *GetParametersByPathInput) Validate() error {
33441	invalidParams := request.ErrInvalidParams{Context: "GetParametersByPathInput"}
33442	if s.MaxResults != nil && *s.MaxResults < 1 {
33443		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33444	}
33445	if s.Path == nil {
33446		invalidParams.Add(request.NewErrParamRequired("Path"))
33447	}
33448	if s.Path != nil && len(*s.Path) < 1 {
33449		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
33450	}
33451	if s.ParameterFilters != nil {
33452		for i, v := range s.ParameterFilters {
33453			if v == nil {
33454				continue
33455			}
33456			if err := v.Validate(); err != nil {
33457				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ParameterFilters", i), err.(request.ErrInvalidParams))
33458			}
33459		}
33460	}
33461
33462	if invalidParams.Len() > 0 {
33463		return invalidParams
33464	}
33465	return nil
33466}
33467
33468// SetMaxResults sets the MaxResults field's value.
33469func (s *GetParametersByPathInput) SetMaxResults(v int64) *GetParametersByPathInput {
33470	s.MaxResults = &v
33471	return s
33472}
33473
33474// SetNextToken sets the NextToken field's value.
33475func (s *GetParametersByPathInput) SetNextToken(v string) *GetParametersByPathInput {
33476	s.NextToken = &v
33477	return s
33478}
33479
33480// SetParameterFilters sets the ParameterFilters field's value.
33481func (s *GetParametersByPathInput) SetParameterFilters(v []*ParameterStringFilter) *GetParametersByPathInput {
33482	s.ParameterFilters = v
33483	return s
33484}
33485
33486// SetPath sets the Path field's value.
33487func (s *GetParametersByPathInput) SetPath(v string) *GetParametersByPathInput {
33488	s.Path = &v
33489	return s
33490}
33491
33492// SetRecursive sets the Recursive field's value.
33493func (s *GetParametersByPathInput) SetRecursive(v bool) *GetParametersByPathInput {
33494	s.Recursive = &v
33495	return s
33496}
33497
33498// SetWithDecryption sets the WithDecryption field's value.
33499func (s *GetParametersByPathInput) SetWithDecryption(v bool) *GetParametersByPathInput {
33500	s.WithDecryption = &v
33501	return s
33502}
33503
33504type GetParametersByPathOutput struct {
33505	_ struct{} `type:"structure"`
33506
33507	// The token for the next set of items to return. Use this token to get the
33508	// next set of results.
33509	NextToken *string `type:"string"`
33510
33511	// A list of parameters found in the specified hierarchy.
33512	Parameters []*Parameter `type:"list"`
33513}
33514
33515// String returns the string representation.
33516//
33517// API parameter values that are decorated as "sensitive" in the API will not
33518// be included in the string output. The member name will be present, but the
33519// value will be replaced with "sensitive".
33520func (s GetParametersByPathOutput) String() string {
33521	return awsutil.Prettify(s)
33522}
33523
33524// GoString returns the string representation.
33525//
33526// API parameter values that are decorated as "sensitive" in the API will not
33527// be included in the string output. The member name will be present, but the
33528// value will be replaced with "sensitive".
33529func (s GetParametersByPathOutput) GoString() string {
33530	return s.String()
33531}
33532
33533// SetNextToken sets the NextToken field's value.
33534func (s *GetParametersByPathOutput) SetNextToken(v string) *GetParametersByPathOutput {
33535	s.NextToken = &v
33536	return s
33537}
33538
33539// SetParameters sets the Parameters field's value.
33540func (s *GetParametersByPathOutput) SetParameters(v []*Parameter) *GetParametersByPathOutput {
33541	s.Parameters = v
33542	return s
33543}
33544
33545type GetParametersInput struct {
33546	_ struct{} `type:"structure"`
33547
33548	// Names of the parameters for which you want to query information.
33549	//
33550	// To query by parameter label, use "Name": "name:label". To query by parameter
33551	// version, use "Name": "name:version".
33552	//
33553	// Names is a required field
33554	Names []*string `min:"1" type:"list" required:"true"`
33555
33556	// Return decrypted secure string value. Return decrypted values for secure
33557	// string parameters. This flag is ignored for String and StringList parameter
33558	// types.
33559	WithDecryption *bool `type:"boolean"`
33560}
33561
33562// String returns the string representation.
33563//
33564// API parameter values that are decorated as "sensitive" in the API will not
33565// be included in the string output. The member name will be present, but the
33566// value will be replaced with "sensitive".
33567func (s GetParametersInput) String() string {
33568	return awsutil.Prettify(s)
33569}
33570
33571// GoString returns the string representation.
33572//
33573// API parameter values that are decorated as "sensitive" in the API will not
33574// be included in the string output. The member name will be present, but the
33575// value will be replaced with "sensitive".
33576func (s GetParametersInput) GoString() string {
33577	return s.String()
33578}
33579
33580// Validate inspects the fields of the type to determine if they are valid.
33581func (s *GetParametersInput) Validate() error {
33582	invalidParams := request.ErrInvalidParams{Context: "GetParametersInput"}
33583	if s.Names == nil {
33584		invalidParams.Add(request.NewErrParamRequired("Names"))
33585	}
33586	if s.Names != nil && len(s.Names) < 1 {
33587		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
33588	}
33589
33590	if invalidParams.Len() > 0 {
33591		return invalidParams
33592	}
33593	return nil
33594}
33595
33596// SetNames sets the Names field's value.
33597func (s *GetParametersInput) SetNames(v []*string) *GetParametersInput {
33598	s.Names = v
33599	return s
33600}
33601
33602// SetWithDecryption sets the WithDecryption field's value.
33603func (s *GetParametersInput) SetWithDecryption(v bool) *GetParametersInput {
33604	s.WithDecryption = &v
33605	return s
33606}
33607
33608type GetParametersOutput struct {
33609	_ struct{} `type:"structure"`
33610
33611	// A list of parameters that aren't formatted correctly or don't run during
33612	// an execution.
33613	InvalidParameters []*string `min:"1" type:"list"`
33614
33615	// A list of details for a parameter.
33616	Parameters []*Parameter `type:"list"`
33617}
33618
33619// String returns the string representation.
33620//
33621// API parameter values that are decorated as "sensitive" in the API will not
33622// be included in the string output. The member name will be present, but the
33623// value will be replaced with "sensitive".
33624func (s GetParametersOutput) String() string {
33625	return awsutil.Prettify(s)
33626}
33627
33628// GoString returns the string representation.
33629//
33630// API parameter values that are decorated as "sensitive" in the API will not
33631// be included in the string output. The member name will be present, but the
33632// value will be replaced with "sensitive".
33633func (s GetParametersOutput) GoString() string {
33634	return s.String()
33635}
33636
33637// SetInvalidParameters sets the InvalidParameters field's value.
33638func (s *GetParametersOutput) SetInvalidParameters(v []*string) *GetParametersOutput {
33639	s.InvalidParameters = v
33640	return s
33641}
33642
33643// SetParameters sets the Parameters field's value.
33644func (s *GetParametersOutput) SetParameters(v []*Parameter) *GetParametersOutput {
33645	s.Parameters = v
33646	return s
33647}
33648
33649type GetPatchBaselineForPatchGroupInput struct {
33650	_ struct{} `type:"structure"`
33651
33652	// Returns he operating system rule specified for patch groups using the patch
33653	// baseline.
33654	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
33655
33656	// The name of the patch group whose patch baseline should be retrieved.
33657	//
33658	// PatchGroup is a required field
33659	PatchGroup *string `min:"1" type:"string" required:"true"`
33660}
33661
33662// String returns the string representation.
33663//
33664// API parameter values that are decorated as "sensitive" in the API will not
33665// be included in the string output. The member name will be present, but the
33666// value will be replaced with "sensitive".
33667func (s GetPatchBaselineForPatchGroupInput) String() string {
33668	return awsutil.Prettify(s)
33669}
33670
33671// GoString returns the string representation.
33672//
33673// API parameter values that are decorated as "sensitive" in the API will not
33674// be included in the string output. The member name will be present, but the
33675// value will be replaced with "sensitive".
33676func (s GetPatchBaselineForPatchGroupInput) GoString() string {
33677	return s.String()
33678}
33679
33680// Validate inspects the fields of the type to determine if they are valid.
33681func (s *GetPatchBaselineForPatchGroupInput) Validate() error {
33682	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineForPatchGroupInput"}
33683	if s.PatchGroup == nil {
33684		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
33685	}
33686	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
33687		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
33688	}
33689
33690	if invalidParams.Len() > 0 {
33691		return invalidParams
33692	}
33693	return nil
33694}
33695
33696// SetOperatingSystem sets the OperatingSystem field's value.
33697func (s *GetPatchBaselineForPatchGroupInput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupInput {
33698	s.OperatingSystem = &v
33699	return s
33700}
33701
33702// SetPatchGroup sets the PatchGroup field's value.
33703func (s *GetPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupInput {
33704	s.PatchGroup = &v
33705	return s
33706}
33707
33708type GetPatchBaselineForPatchGroupOutput struct {
33709	_ struct{} `type:"structure"`
33710
33711	// The ID of the patch baseline that should be used for the patch group.
33712	BaselineId *string `min:"20" type:"string"`
33713
33714	// The operating system rule specified for patch groups using the patch baseline.
33715	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
33716
33717	// The name of the patch group.
33718	PatchGroup *string `min:"1" type:"string"`
33719}
33720
33721// String returns the string representation.
33722//
33723// API parameter values that are decorated as "sensitive" in the API will not
33724// be included in the string output. The member name will be present, but the
33725// value will be replaced with "sensitive".
33726func (s GetPatchBaselineForPatchGroupOutput) String() string {
33727	return awsutil.Prettify(s)
33728}
33729
33730// GoString returns the string representation.
33731//
33732// API parameter values that are decorated as "sensitive" in the API will not
33733// be included in the string output. The member name will be present, but the
33734// value will be replaced with "sensitive".
33735func (s GetPatchBaselineForPatchGroupOutput) GoString() string {
33736	return s.String()
33737}
33738
33739// SetBaselineId sets the BaselineId field's value.
33740func (s *GetPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *GetPatchBaselineForPatchGroupOutput {
33741	s.BaselineId = &v
33742	return s
33743}
33744
33745// SetOperatingSystem sets the OperatingSystem field's value.
33746func (s *GetPatchBaselineForPatchGroupOutput) SetOperatingSystem(v string) *GetPatchBaselineForPatchGroupOutput {
33747	s.OperatingSystem = &v
33748	return s
33749}
33750
33751// SetPatchGroup sets the PatchGroup field's value.
33752func (s *GetPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *GetPatchBaselineForPatchGroupOutput {
33753	s.PatchGroup = &v
33754	return s
33755}
33756
33757type GetPatchBaselineInput struct {
33758	_ struct{} `type:"structure"`
33759
33760	// The ID of the patch baseline to retrieve.
33761	//
33762	// To retrieve information about an Amazon Web Services managed patch baseline,
33763	// specify the full Amazon Resource Name (ARN) of the baseline. For example,
33764	// for the baseline AWS-AmazonLinuxDefaultPatchBaseline, specify arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7
33765	// instead of pb-0e392de35e7c563b7.
33766	//
33767	// BaselineId is a required field
33768	BaselineId *string `min:"20" type:"string" required:"true"`
33769}
33770
33771// String returns the string representation.
33772//
33773// API parameter values that are decorated as "sensitive" in the API will not
33774// be included in the string output. The member name will be present, but the
33775// value will be replaced with "sensitive".
33776func (s GetPatchBaselineInput) String() string {
33777	return awsutil.Prettify(s)
33778}
33779
33780// GoString returns the string representation.
33781//
33782// API parameter values that are decorated as "sensitive" in the API will not
33783// be included in the string output. The member name will be present, but the
33784// value will be replaced with "sensitive".
33785func (s GetPatchBaselineInput) GoString() string {
33786	return s.String()
33787}
33788
33789// Validate inspects the fields of the type to determine if they are valid.
33790func (s *GetPatchBaselineInput) Validate() error {
33791	invalidParams := request.ErrInvalidParams{Context: "GetPatchBaselineInput"}
33792	if s.BaselineId == nil {
33793		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
33794	}
33795	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
33796		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
33797	}
33798
33799	if invalidParams.Len() > 0 {
33800		return invalidParams
33801	}
33802	return nil
33803}
33804
33805// SetBaselineId sets the BaselineId field's value.
33806func (s *GetPatchBaselineInput) SetBaselineId(v string) *GetPatchBaselineInput {
33807	s.BaselineId = &v
33808	return s
33809}
33810
33811type GetPatchBaselineOutput struct {
33812	_ struct{} `type:"structure"`
33813
33814	// A set of rules used to include patches in the baseline.
33815	ApprovalRules *PatchRuleGroup `type:"structure"`
33816
33817	// A list of explicitly approved patches for the baseline.
33818	ApprovedPatches []*string `type:"list"`
33819
33820	// Returns the specified compliance severity level for approved patches in the
33821	// patch baseline.
33822	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
33823
33824	// Indicates whether the list of approved patches includes non-security updates
33825	// that should be applied to the instances. The default value is false. Applies
33826	// to Linux instances only.
33827	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
33828
33829	// The ID of the retrieved patch baseline.
33830	BaselineId *string `min:"20" type:"string"`
33831
33832	// The date the patch baseline was created.
33833	CreatedDate *time.Time `type:"timestamp"`
33834
33835	// A description of the patch baseline.
33836	Description *string `min:"1" type:"string"`
33837
33838	// A set of global filters used to exclude patches from the baseline.
33839	GlobalFilters *PatchFilterGroup `type:"structure"`
33840
33841	// The date the patch baseline was last modified.
33842	ModifiedDate *time.Time `type:"timestamp"`
33843
33844	// The name of the patch baseline.
33845	Name *string `min:"3" type:"string"`
33846
33847	// Returns the operating system specified for the patch baseline.
33848	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
33849
33850	// Patch groups included in the patch baseline.
33851	PatchGroups []*string `type:"list"`
33852
33853	// A list of explicitly rejected patches for the baseline.
33854	RejectedPatches []*string `type:"list"`
33855
33856	// The action specified to take on patches included in the RejectedPatches list.
33857	// A patch can be allowed only if it is a dependency of another package, or
33858	// blocked entirely along with packages that include it as a dependency.
33859	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
33860
33861	// Information about the patches to use to update the instances, including target
33862	// operating systems and source repositories. Applies to Linux instances only.
33863	Sources []*PatchSource `type:"list"`
33864}
33865
33866// String returns the string representation.
33867//
33868// API parameter values that are decorated as "sensitive" in the API will not
33869// be included in the string output. The member name will be present, but the
33870// value will be replaced with "sensitive".
33871func (s GetPatchBaselineOutput) String() string {
33872	return awsutil.Prettify(s)
33873}
33874
33875// GoString returns the string representation.
33876//
33877// API parameter values that are decorated as "sensitive" in the API will not
33878// be included in the string output. The member name will be present, but the
33879// value will be replaced with "sensitive".
33880func (s GetPatchBaselineOutput) GoString() string {
33881	return s.String()
33882}
33883
33884// SetApprovalRules sets the ApprovalRules field's value.
33885func (s *GetPatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *GetPatchBaselineOutput {
33886	s.ApprovalRules = v
33887	return s
33888}
33889
33890// SetApprovedPatches sets the ApprovedPatches field's value.
33891func (s *GetPatchBaselineOutput) SetApprovedPatches(v []*string) *GetPatchBaselineOutput {
33892	s.ApprovedPatches = v
33893	return s
33894}
33895
33896// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
33897func (s *GetPatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *GetPatchBaselineOutput {
33898	s.ApprovedPatchesComplianceLevel = &v
33899	return s
33900}
33901
33902// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
33903func (s *GetPatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *GetPatchBaselineOutput {
33904	s.ApprovedPatchesEnableNonSecurity = &v
33905	return s
33906}
33907
33908// SetBaselineId sets the BaselineId field's value.
33909func (s *GetPatchBaselineOutput) SetBaselineId(v string) *GetPatchBaselineOutput {
33910	s.BaselineId = &v
33911	return s
33912}
33913
33914// SetCreatedDate sets the CreatedDate field's value.
33915func (s *GetPatchBaselineOutput) SetCreatedDate(v time.Time) *GetPatchBaselineOutput {
33916	s.CreatedDate = &v
33917	return s
33918}
33919
33920// SetDescription sets the Description field's value.
33921func (s *GetPatchBaselineOutput) SetDescription(v string) *GetPatchBaselineOutput {
33922	s.Description = &v
33923	return s
33924}
33925
33926// SetGlobalFilters sets the GlobalFilters field's value.
33927func (s *GetPatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *GetPatchBaselineOutput {
33928	s.GlobalFilters = v
33929	return s
33930}
33931
33932// SetModifiedDate sets the ModifiedDate field's value.
33933func (s *GetPatchBaselineOutput) SetModifiedDate(v time.Time) *GetPatchBaselineOutput {
33934	s.ModifiedDate = &v
33935	return s
33936}
33937
33938// SetName sets the Name field's value.
33939func (s *GetPatchBaselineOutput) SetName(v string) *GetPatchBaselineOutput {
33940	s.Name = &v
33941	return s
33942}
33943
33944// SetOperatingSystem sets the OperatingSystem field's value.
33945func (s *GetPatchBaselineOutput) SetOperatingSystem(v string) *GetPatchBaselineOutput {
33946	s.OperatingSystem = &v
33947	return s
33948}
33949
33950// SetPatchGroups sets the PatchGroups field's value.
33951func (s *GetPatchBaselineOutput) SetPatchGroups(v []*string) *GetPatchBaselineOutput {
33952	s.PatchGroups = v
33953	return s
33954}
33955
33956// SetRejectedPatches sets the RejectedPatches field's value.
33957func (s *GetPatchBaselineOutput) SetRejectedPatches(v []*string) *GetPatchBaselineOutput {
33958	s.RejectedPatches = v
33959	return s
33960}
33961
33962// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
33963func (s *GetPatchBaselineOutput) SetRejectedPatchesAction(v string) *GetPatchBaselineOutput {
33964	s.RejectedPatchesAction = &v
33965	return s
33966}
33967
33968// SetSources sets the Sources field's value.
33969func (s *GetPatchBaselineOutput) SetSources(v []*PatchSource) *GetPatchBaselineOutput {
33970	s.Sources = v
33971	return s
33972}
33973
33974// The request body of the GetServiceSetting API operation.
33975type GetServiceSettingInput struct {
33976	_ struct{} `type:"structure"`
33977
33978	// The ID of the service setting to get. The setting ID can be one of the following.
33979	//
33980	//    * /ssm/automation/customer-script-log-destination
33981	//
33982	//    * /ssm/automation/customer-script-log-group-name
33983	//
33984	//    * /ssm/documents/console/public-sharing-permission
33985	//
33986	//    * /ssm/parameter-store/default-parameter-tier
33987	//
33988	//    * /ssm/parameter-store/high-throughput-enabled
33989	//
33990	//    * /ssm/managed-instance/activation-tier
33991	//
33992	// SettingId is a required field
33993	SettingId *string `min:"1" type:"string" required:"true"`
33994}
33995
33996// String returns the string representation.
33997//
33998// API parameter values that are decorated as "sensitive" in the API will not
33999// be included in the string output. The member name will be present, but the
34000// value will be replaced with "sensitive".
34001func (s GetServiceSettingInput) String() string {
34002	return awsutil.Prettify(s)
34003}
34004
34005// GoString returns the string representation.
34006//
34007// API parameter values that are decorated as "sensitive" in the API will not
34008// be included in the string output. The member name will be present, but the
34009// value will be replaced with "sensitive".
34010func (s GetServiceSettingInput) GoString() string {
34011	return s.String()
34012}
34013
34014// Validate inspects the fields of the type to determine if they are valid.
34015func (s *GetServiceSettingInput) Validate() error {
34016	invalidParams := request.ErrInvalidParams{Context: "GetServiceSettingInput"}
34017	if s.SettingId == nil {
34018		invalidParams.Add(request.NewErrParamRequired("SettingId"))
34019	}
34020	if s.SettingId != nil && len(*s.SettingId) < 1 {
34021		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
34022	}
34023
34024	if invalidParams.Len() > 0 {
34025		return invalidParams
34026	}
34027	return nil
34028}
34029
34030// SetSettingId sets the SettingId field's value.
34031func (s *GetServiceSettingInput) SetSettingId(v string) *GetServiceSettingInput {
34032	s.SettingId = &v
34033	return s
34034}
34035
34036// The query result body of the GetServiceSetting API operation.
34037type GetServiceSettingOutput struct {
34038	_ struct{} `type:"structure"`
34039
34040	// The query result of the current service setting.
34041	ServiceSetting *ServiceSetting `type:"structure"`
34042}
34043
34044// String returns the string representation.
34045//
34046// API parameter values that are decorated as "sensitive" in the API will not
34047// be included in the string output. The member name will be present, but the
34048// value will be replaced with "sensitive".
34049func (s GetServiceSettingOutput) String() string {
34050	return awsutil.Prettify(s)
34051}
34052
34053// GoString returns the string representation.
34054//
34055// API parameter values that are decorated as "sensitive" in the API will not
34056// be included in the string output. The member name will be present, but the
34057// value will be replaced with "sensitive".
34058func (s GetServiceSettingOutput) GoString() string {
34059	return s.String()
34060}
34061
34062// SetServiceSetting sets the ServiceSetting field's value.
34063func (s *GetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *GetServiceSettingOutput {
34064	s.ServiceSetting = v
34065	return s
34066}
34067
34068// A hierarchy can have a maximum of 15 levels. For more information, see Requirements
34069// and constraints for parameter names (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
34070// in the Amazon Web Services Systems Manager User Guide.
34071type HierarchyLevelLimitExceededException struct {
34072	_            struct{}                  `type:"structure"`
34073	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34074
34075	// A hierarchy can have a maximum of 15 levels. For more information, see Requirements
34076	// and constraints for parameter names (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html)
34077	// in the Amazon Web Services Systems Manager User Guide.
34078	Message_ *string `locationName:"message" type:"string"`
34079}
34080
34081// String returns the string representation.
34082//
34083// API parameter values that are decorated as "sensitive" in the API will not
34084// be included in the string output. The member name will be present, but the
34085// value will be replaced with "sensitive".
34086func (s HierarchyLevelLimitExceededException) String() string {
34087	return awsutil.Prettify(s)
34088}
34089
34090// GoString returns the string representation.
34091//
34092// API parameter values that are decorated as "sensitive" in the API will not
34093// be included in the string output. The member name will be present, but the
34094// value will be replaced with "sensitive".
34095func (s HierarchyLevelLimitExceededException) GoString() string {
34096	return s.String()
34097}
34098
34099func newErrorHierarchyLevelLimitExceededException(v protocol.ResponseMetadata) error {
34100	return &HierarchyLevelLimitExceededException{
34101		RespMetadata: v,
34102	}
34103}
34104
34105// Code returns the exception type name.
34106func (s *HierarchyLevelLimitExceededException) Code() string {
34107	return "HierarchyLevelLimitExceededException"
34108}
34109
34110// Message returns the exception's message.
34111func (s *HierarchyLevelLimitExceededException) Message() string {
34112	if s.Message_ != nil {
34113		return *s.Message_
34114	}
34115	return ""
34116}
34117
34118// OrigErr always returns nil, satisfies awserr.Error interface.
34119func (s *HierarchyLevelLimitExceededException) OrigErr() error {
34120	return nil
34121}
34122
34123func (s *HierarchyLevelLimitExceededException) Error() string {
34124	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
34125}
34126
34127// Status code returns the HTTP status code for the request's response error.
34128func (s *HierarchyLevelLimitExceededException) StatusCode() int {
34129	return s.RespMetadata.StatusCode
34130}
34131
34132// RequestID returns the service's response RequestID for request.
34133func (s *HierarchyLevelLimitExceededException) RequestID() string {
34134	return s.RespMetadata.RequestID
34135}
34136
34137// Parameter Store doesn't support changing a parameter type in a hierarchy.
34138// For example, you can't change a parameter from a String type to a SecureString
34139// type. You must create a new, unique parameter.
34140type HierarchyTypeMismatchException struct {
34141	_            struct{}                  `type:"structure"`
34142	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34143
34144	// Parameter Store doesn't support changing a parameter type in a hierarchy.
34145	// For example, you can't change a parameter from a String type to a SecureString
34146	// type. You must create a new, unique parameter.
34147	Message_ *string `locationName:"message" type:"string"`
34148}
34149
34150// String returns the string representation.
34151//
34152// API parameter values that are decorated as "sensitive" in the API will not
34153// be included in the string output. The member name will be present, but the
34154// value will be replaced with "sensitive".
34155func (s HierarchyTypeMismatchException) String() string {
34156	return awsutil.Prettify(s)
34157}
34158
34159// GoString returns the string representation.
34160//
34161// API parameter values that are decorated as "sensitive" in the API will not
34162// be included in the string output. The member name will be present, but the
34163// value will be replaced with "sensitive".
34164func (s HierarchyTypeMismatchException) GoString() string {
34165	return s.String()
34166}
34167
34168func newErrorHierarchyTypeMismatchException(v protocol.ResponseMetadata) error {
34169	return &HierarchyTypeMismatchException{
34170		RespMetadata: v,
34171	}
34172}
34173
34174// Code returns the exception type name.
34175func (s *HierarchyTypeMismatchException) Code() string {
34176	return "HierarchyTypeMismatchException"
34177}
34178
34179// Message returns the exception's message.
34180func (s *HierarchyTypeMismatchException) Message() string {
34181	if s.Message_ != nil {
34182		return *s.Message_
34183	}
34184	return ""
34185}
34186
34187// OrigErr always returns nil, satisfies awserr.Error interface.
34188func (s *HierarchyTypeMismatchException) OrigErr() error {
34189	return nil
34190}
34191
34192func (s *HierarchyTypeMismatchException) Error() string {
34193	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
34194}
34195
34196// Status code returns the HTTP status code for the request's response error.
34197func (s *HierarchyTypeMismatchException) StatusCode() int {
34198	return s.RespMetadata.StatusCode
34199}
34200
34201// RequestID returns the service's response RequestID for request.
34202func (s *HierarchyTypeMismatchException) RequestID() string {
34203	return s.RespMetadata.RequestID
34204}
34205
34206// Error returned when an idempotent operation is retried and the parameters
34207// don't match the original call to the API with the same idempotency token.
34208type IdempotentParameterMismatch struct {
34209	_            struct{}                  `type:"structure"`
34210	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34211
34212	Message_ *string `locationName:"Message" type:"string"`
34213}
34214
34215// String returns the string representation.
34216//
34217// API parameter values that are decorated as "sensitive" in the API will not
34218// be included in the string output. The member name will be present, but the
34219// value will be replaced with "sensitive".
34220func (s IdempotentParameterMismatch) String() string {
34221	return awsutil.Prettify(s)
34222}
34223
34224// GoString returns the string representation.
34225//
34226// API parameter values that are decorated as "sensitive" in the API will not
34227// be included in the string output. The member name will be present, but the
34228// value will be replaced with "sensitive".
34229func (s IdempotentParameterMismatch) GoString() string {
34230	return s.String()
34231}
34232
34233func newErrorIdempotentParameterMismatch(v protocol.ResponseMetadata) error {
34234	return &IdempotentParameterMismatch{
34235		RespMetadata: v,
34236	}
34237}
34238
34239// Code returns the exception type name.
34240func (s *IdempotentParameterMismatch) Code() string {
34241	return "IdempotentParameterMismatch"
34242}
34243
34244// Message returns the exception's message.
34245func (s *IdempotentParameterMismatch) Message() string {
34246	if s.Message_ != nil {
34247		return *s.Message_
34248	}
34249	return ""
34250}
34251
34252// OrigErr always returns nil, satisfies awserr.Error interface.
34253func (s *IdempotentParameterMismatch) OrigErr() error {
34254	return nil
34255}
34256
34257func (s *IdempotentParameterMismatch) Error() string {
34258	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
34259}
34260
34261// Status code returns the HTTP status code for the request's response error.
34262func (s *IdempotentParameterMismatch) StatusCode() int {
34263	return s.RespMetadata.StatusCode
34264}
34265
34266// RequestID returns the service's response RequestID for request.
34267func (s *IdempotentParameterMismatch) RequestID() string {
34268	return s.RespMetadata.RequestID
34269}
34270
34271// There is a conflict in the policies specified for this parameter. You can't,
34272// for example, specify two Expiration policies for a parameter. Review your
34273// policies, and try again.
34274type IncompatiblePolicyException struct {
34275	_            struct{}                  `type:"structure"`
34276	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34277
34278	Message_ *string `locationName:"message" type:"string"`
34279}
34280
34281// String returns the string representation.
34282//
34283// API parameter values that are decorated as "sensitive" in the API will not
34284// be included in the string output. The member name will be present, but the
34285// value will be replaced with "sensitive".
34286func (s IncompatiblePolicyException) String() string {
34287	return awsutil.Prettify(s)
34288}
34289
34290// GoString returns the string representation.
34291//
34292// API parameter values that are decorated as "sensitive" in the API will not
34293// be included in the string output. The member name will be present, but the
34294// value will be replaced with "sensitive".
34295func (s IncompatiblePolicyException) GoString() string {
34296	return s.String()
34297}
34298
34299func newErrorIncompatiblePolicyException(v protocol.ResponseMetadata) error {
34300	return &IncompatiblePolicyException{
34301		RespMetadata: v,
34302	}
34303}
34304
34305// Code returns the exception type name.
34306func (s *IncompatiblePolicyException) Code() string {
34307	return "IncompatiblePolicyException"
34308}
34309
34310// Message returns the exception's message.
34311func (s *IncompatiblePolicyException) Message() string {
34312	if s.Message_ != nil {
34313		return *s.Message_
34314	}
34315	return ""
34316}
34317
34318// OrigErr always returns nil, satisfies awserr.Error interface.
34319func (s *IncompatiblePolicyException) OrigErr() error {
34320	return nil
34321}
34322
34323func (s *IncompatiblePolicyException) Error() string {
34324	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
34325}
34326
34327// Status code returns the HTTP status code for the request's response error.
34328func (s *IncompatiblePolicyException) StatusCode() int {
34329	return s.RespMetadata.StatusCode
34330}
34331
34332// RequestID returns the service's response RequestID for request.
34333func (s *IncompatiblePolicyException) RequestID() string {
34334	return s.RespMetadata.RequestID
34335}
34336
34337// Status information about the aggregated associations.
34338type InstanceAggregatedAssociationOverview struct {
34339	_ struct{} `type:"structure"`
34340
34341	// Detailed status information about the aggregated associations.
34342	DetailedStatus *string `type:"string"`
34343
34344	// The number of associations for the instance(s).
34345	InstanceAssociationStatusAggregatedCount map[string]*int64 `type:"map"`
34346}
34347
34348// String returns the string representation.
34349//
34350// API parameter values that are decorated as "sensitive" in the API will not
34351// be included in the string output. The member name will be present, but the
34352// value will be replaced with "sensitive".
34353func (s InstanceAggregatedAssociationOverview) String() string {
34354	return awsutil.Prettify(s)
34355}
34356
34357// GoString returns the string representation.
34358//
34359// API parameter values that are decorated as "sensitive" in the API will not
34360// be included in the string output. The member name will be present, but the
34361// value will be replaced with "sensitive".
34362func (s InstanceAggregatedAssociationOverview) GoString() string {
34363	return s.String()
34364}
34365
34366// SetDetailedStatus sets the DetailedStatus field's value.
34367func (s *InstanceAggregatedAssociationOverview) SetDetailedStatus(v string) *InstanceAggregatedAssociationOverview {
34368	s.DetailedStatus = &v
34369	return s
34370}
34371
34372// SetInstanceAssociationStatusAggregatedCount sets the InstanceAssociationStatusAggregatedCount field's value.
34373func (s *InstanceAggregatedAssociationOverview) SetInstanceAssociationStatusAggregatedCount(v map[string]*int64) *InstanceAggregatedAssociationOverview {
34374	s.InstanceAssociationStatusAggregatedCount = v
34375	return s
34376}
34377
34378// One or more association documents on the instance.
34379type InstanceAssociation struct {
34380	_ struct{} `type:"structure"`
34381
34382	// The association ID.
34383	AssociationId *string `type:"string"`
34384
34385	// Version information for the association on the instance.
34386	AssociationVersion *string `type:"string"`
34387
34388	// The content of the association document for the instance(s).
34389	Content *string `min:"1" type:"string"`
34390
34391	// The instance ID.
34392	InstanceId *string `type:"string"`
34393}
34394
34395// String returns the string representation.
34396//
34397// API parameter values that are decorated as "sensitive" in the API will not
34398// be included in the string output. The member name will be present, but the
34399// value will be replaced with "sensitive".
34400func (s InstanceAssociation) String() string {
34401	return awsutil.Prettify(s)
34402}
34403
34404// GoString returns the string representation.
34405//
34406// API parameter values that are decorated as "sensitive" in the API will not
34407// be included in the string output. The member name will be present, but the
34408// value will be replaced with "sensitive".
34409func (s InstanceAssociation) GoString() string {
34410	return s.String()
34411}
34412
34413// SetAssociationId sets the AssociationId field's value.
34414func (s *InstanceAssociation) SetAssociationId(v string) *InstanceAssociation {
34415	s.AssociationId = &v
34416	return s
34417}
34418
34419// SetAssociationVersion sets the AssociationVersion field's value.
34420func (s *InstanceAssociation) SetAssociationVersion(v string) *InstanceAssociation {
34421	s.AssociationVersion = &v
34422	return s
34423}
34424
34425// SetContent sets the Content field's value.
34426func (s *InstanceAssociation) SetContent(v string) *InstanceAssociation {
34427	s.Content = &v
34428	return s
34429}
34430
34431// SetInstanceId sets the InstanceId field's value.
34432func (s *InstanceAssociation) SetInstanceId(v string) *InstanceAssociation {
34433	s.InstanceId = &v
34434	return s
34435}
34436
34437// An S3 bucket where you want to store the results of this request.
34438//
34439// For the minimal permissions required to enable Amazon S3 output for an association,
34440// see Creating associations (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-assoc.html)
34441// in the Systems Manager User Guide.
34442type InstanceAssociationOutputLocation struct {
34443	_ struct{} `type:"structure"`
34444
34445	// An S3 bucket where you want to store the results of this request.
34446	S3Location *S3OutputLocation `type:"structure"`
34447}
34448
34449// String returns the string representation.
34450//
34451// API parameter values that are decorated as "sensitive" in the API will not
34452// be included in the string output. The member name will be present, but the
34453// value will be replaced with "sensitive".
34454func (s InstanceAssociationOutputLocation) String() string {
34455	return awsutil.Prettify(s)
34456}
34457
34458// GoString returns the string representation.
34459//
34460// API parameter values that are decorated as "sensitive" in the API will not
34461// be included in the string output. The member name will be present, but the
34462// value will be replaced with "sensitive".
34463func (s InstanceAssociationOutputLocation) GoString() string {
34464	return s.String()
34465}
34466
34467// Validate inspects the fields of the type to determine if they are valid.
34468func (s *InstanceAssociationOutputLocation) Validate() error {
34469	invalidParams := request.ErrInvalidParams{Context: "InstanceAssociationOutputLocation"}
34470	if s.S3Location != nil {
34471		if err := s.S3Location.Validate(); err != nil {
34472			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
34473		}
34474	}
34475
34476	if invalidParams.Len() > 0 {
34477		return invalidParams
34478	}
34479	return nil
34480}
34481
34482// SetS3Location sets the S3Location field's value.
34483func (s *InstanceAssociationOutputLocation) SetS3Location(v *S3OutputLocation) *InstanceAssociationOutputLocation {
34484	s.S3Location = v
34485	return s
34486}
34487
34488// The URL of S3 bucket where you want to store the results of this request.
34489type InstanceAssociationOutputUrl struct {
34490	_ struct{} `type:"structure"`
34491
34492	// The URL of S3 bucket where you want to store the results of this request.
34493	S3OutputUrl *S3OutputUrl `type:"structure"`
34494}
34495
34496// String returns the string representation.
34497//
34498// API parameter values that are decorated as "sensitive" in the API will not
34499// be included in the string output. The member name will be present, but the
34500// value will be replaced with "sensitive".
34501func (s InstanceAssociationOutputUrl) String() string {
34502	return awsutil.Prettify(s)
34503}
34504
34505// GoString returns the string representation.
34506//
34507// API parameter values that are decorated as "sensitive" in the API will not
34508// be included in the string output. The member name will be present, but the
34509// value will be replaced with "sensitive".
34510func (s InstanceAssociationOutputUrl) GoString() string {
34511	return s.String()
34512}
34513
34514// SetS3OutputUrl sets the S3OutputUrl field's value.
34515func (s *InstanceAssociationOutputUrl) SetS3OutputUrl(v *S3OutputUrl) *InstanceAssociationOutputUrl {
34516	s.S3OutputUrl = v
34517	return s
34518}
34519
34520// Status information about the instance association.
34521type InstanceAssociationStatusInfo struct {
34522	_ struct{} `type:"structure"`
34523
34524	// The association ID.
34525	AssociationId *string `type:"string"`
34526
34527	// The name of the association applied to the instance.
34528	AssociationName *string `type:"string"`
34529
34530	// The version of the association applied to the instance.
34531	AssociationVersion *string `type:"string"`
34532
34533	// Detailed status information about the instance association.
34534	DetailedStatus *string `type:"string"`
34535
34536	// The association document versions.
34537	DocumentVersion *string `type:"string"`
34538
34539	// An error code returned by the request to create the association.
34540	ErrorCode *string `type:"string"`
34541
34542	// The date the instance association ran.
34543	ExecutionDate *time.Time `type:"timestamp"`
34544
34545	// Summary information about association execution.
34546	ExecutionSummary *string `min:"1" type:"string"`
34547
34548	// The instance ID where the association was created.
34549	InstanceId *string `type:"string"`
34550
34551	// The name of the association.
34552	Name *string `type:"string"`
34553
34554	// A URL for an S3 bucket where you want to store the results of this request.
34555	OutputUrl *InstanceAssociationOutputUrl `type:"structure"`
34556
34557	// Status information about the instance association.
34558	Status *string `type:"string"`
34559}
34560
34561// String returns the string representation.
34562//
34563// API parameter values that are decorated as "sensitive" in the API will not
34564// be included in the string output. The member name will be present, but the
34565// value will be replaced with "sensitive".
34566func (s InstanceAssociationStatusInfo) String() string {
34567	return awsutil.Prettify(s)
34568}
34569
34570// GoString returns the string representation.
34571//
34572// API parameter values that are decorated as "sensitive" in the API will not
34573// be included in the string output. The member name will be present, but the
34574// value will be replaced with "sensitive".
34575func (s InstanceAssociationStatusInfo) GoString() string {
34576	return s.String()
34577}
34578
34579// SetAssociationId sets the AssociationId field's value.
34580func (s *InstanceAssociationStatusInfo) SetAssociationId(v string) *InstanceAssociationStatusInfo {
34581	s.AssociationId = &v
34582	return s
34583}
34584
34585// SetAssociationName sets the AssociationName field's value.
34586func (s *InstanceAssociationStatusInfo) SetAssociationName(v string) *InstanceAssociationStatusInfo {
34587	s.AssociationName = &v
34588	return s
34589}
34590
34591// SetAssociationVersion sets the AssociationVersion field's value.
34592func (s *InstanceAssociationStatusInfo) SetAssociationVersion(v string) *InstanceAssociationStatusInfo {
34593	s.AssociationVersion = &v
34594	return s
34595}
34596
34597// SetDetailedStatus sets the DetailedStatus field's value.
34598func (s *InstanceAssociationStatusInfo) SetDetailedStatus(v string) *InstanceAssociationStatusInfo {
34599	s.DetailedStatus = &v
34600	return s
34601}
34602
34603// SetDocumentVersion sets the DocumentVersion field's value.
34604func (s *InstanceAssociationStatusInfo) SetDocumentVersion(v string) *InstanceAssociationStatusInfo {
34605	s.DocumentVersion = &v
34606	return s
34607}
34608
34609// SetErrorCode sets the ErrorCode field's value.
34610func (s *InstanceAssociationStatusInfo) SetErrorCode(v string) *InstanceAssociationStatusInfo {
34611	s.ErrorCode = &v
34612	return s
34613}
34614
34615// SetExecutionDate sets the ExecutionDate field's value.
34616func (s *InstanceAssociationStatusInfo) SetExecutionDate(v time.Time) *InstanceAssociationStatusInfo {
34617	s.ExecutionDate = &v
34618	return s
34619}
34620
34621// SetExecutionSummary sets the ExecutionSummary field's value.
34622func (s *InstanceAssociationStatusInfo) SetExecutionSummary(v string) *InstanceAssociationStatusInfo {
34623	s.ExecutionSummary = &v
34624	return s
34625}
34626
34627// SetInstanceId sets the InstanceId field's value.
34628func (s *InstanceAssociationStatusInfo) SetInstanceId(v string) *InstanceAssociationStatusInfo {
34629	s.InstanceId = &v
34630	return s
34631}
34632
34633// SetName sets the Name field's value.
34634func (s *InstanceAssociationStatusInfo) SetName(v string) *InstanceAssociationStatusInfo {
34635	s.Name = &v
34636	return s
34637}
34638
34639// SetOutputUrl sets the OutputUrl field's value.
34640func (s *InstanceAssociationStatusInfo) SetOutputUrl(v *InstanceAssociationOutputUrl) *InstanceAssociationStatusInfo {
34641	s.OutputUrl = v
34642	return s
34643}
34644
34645// SetStatus sets the Status field's value.
34646func (s *InstanceAssociationStatusInfo) SetStatus(v string) *InstanceAssociationStatusInfo {
34647	s.Status = &v
34648	return s
34649}
34650
34651// Describes a filter for a specific list of instances.
34652type InstanceInformation struct {
34653	_ struct{} `type:"structure"`
34654
34655	// The activation ID created by Amazon Web Services Systems Manager when the
34656	// server or virtual machine (VM) was registered.
34657	ActivationId *string `type:"string"`
34658
34659	// The version of SSM Agent running on your Linux instance.
34660	AgentVersion *string `type:"string"`
34661
34662	// Information about the association.
34663	AssociationOverview *InstanceAggregatedAssociationOverview `type:"structure"`
34664
34665	// The status of the association.
34666	AssociationStatus *string `type:"string"`
34667
34668	// The fully qualified host name of the managed instance.
34669	ComputerName *string `min:"1" type:"string"`
34670
34671	// The IP address of the managed instance.
34672	IPAddress *string `min:"1" type:"string"`
34673
34674	// The Identity and Access Management (IAM) role assigned to the on-premises
34675	// Systems Manager managed instance. This call doesn't return the IAM role for
34676	// Amazon Elastic Compute Cloud (Amazon EC2) instances. To retrieve the IAM
34677	// role for an EC2 instance, use the Amazon EC2 DescribeInstances operation.
34678	// For information, see DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
34679	// in the Amazon EC2 API Reference or describe-instances (https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html)
34680	// in the Amazon Web Services CLI Command Reference.
34681	IamRole *string `type:"string"`
34682
34683	// The instance ID.
34684	InstanceId *string `type:"string"`
34685
34686	// Indicates whether the latest version of SSM Agent is running on your Linux
34687	// Managed Instance. This field doesn't indicate whether or not the latest version
34688	// is installed on Windows managed instances, because some older versions of
34689	// Windows Server use the EC2Config service to process Systems Manager requests.
34690	IsLatestVersion *bool `type:"boolean"`
34691
34692	// The date the association was last run.
34693	LastAssociationExecutionDate *time.Time `type:"timestamp"`
34694
34695	// The date and time when the agent last pinged the Systems Manager service.
34696	LastPingDateTime *time.Time `type:"timestamp"`
34697
34698	// The last date the association was successfully run.
34699	LastSuccessfulAssociationExecutionDate *time.Time `type:"timestamp"`
34700
34701	// The name assigned to an on-premises server or virtual machine (VM) when it
34702	// is activated as a Systems Manager managed instance. The name is specified
34703	// as the DefaultInstanceName property using the CreateActivation command. It
34704	// is applied to the managed instance by specifying the Activation Code and
34705	// Activation ID when you install SSM Agent on the instance, as explained in
34706	// Install SSM Agent for a hybrid environment (Linux) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html)
34707	// and Install SSM Agent for a hybrid environment (Windows) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html).
34708	// To retrieve the Name tag of an EC2 instance, use the Amazon EC2 DescribeInstances
34709	// operation. For information, see DescribeInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html)
34710	// in the Amazon EC2 API Reference or describe-instances (https://docs.aws.amazon.com/cli/latest/ec2/describe-instances.html)
34711	// in the Amazon Web Services CLI Command Reference.
34712	Name *string `type:"string"`
34713
34714	// Connection status of SSM Agent.
34715	//
34716	// The status Inactive has been deprecated and is no longer in use.
34717	PingStatus *string `type:"string" enum:"PingStatus"`
34718
34719	// The name of the operating system platform running on your instance.
34720	PlatformName *string `type:"string"`
34721
34722	// The operating system platform type.
34723	PlatformType *string `type:"string" enum:"PlatformType"`
34724
34725	// The version of the OS platform running on your instance.
34726	PlatformVersion *string `type:"string"`
34727
34728	// The date the server or VM was registered with Amazon Web Services as a managed
34729	// instance.
34730	RegistrationDate *time.Time `type:"timestamp"`
34731
34732	// The type of instance. Instances are either EC2 instances or managed instances.
34733	ResourceType *string `type:"string" enum:"ResourceType"`
34734}
34735
34736// String returns the string representation.
34737//
34738// API parameter values that are decorated as "sensitive" in the API will not
34739// be included in the string output. The member name will be present, but the
34740// value will be replaced with "sensitive".
34741func (s InstanceInformation) String() string {
34742	return awsutil.Prettify(s)
34743}
34744
34745// GoString returns the string representation.
34746//
34747// API parameter values that are decorated as "sensitive" in the API will not
34748// be included in the string output. The member name will be present, but the
34749// value will be replaced with "sensitive".
34750func (s InstanceInformation) GoString() string {
34751	return s.String()
34752}
34753
34754// SetActivationId sets the ActivationId field's value.
34755func (s *InstanceInformation) SetActivationId(v string) *InstanceInformation {
34756	s.ActivationId = &v
34757	return s
34758}
34759
34760// SetAgentVersion sets the AgentVersion field's value.
34761func (s *InstanceInformation) SetAgentVersion(v string) *InstanceInformation {
34762	s.AgentVersion = &v
34763	return s
34764}
34765
34766// SetAssociationOverview sets the AssociationOverview field's value.
34767func (s *InstanceInformation) SetAssociationOverview(v *InstanceAggregatedAssociationOverview) *InstanceInformation {
34768	s.AssociationOverview = v
34769	return s
34770}
34771
34772// SetAssociationStatus sets the AssociationStatus field's value.
34773func (s *InstanceInformation) SetAssociationStatus(v string) *InstanceInformation {
34774	s.AssociationStatus = &v
34775	return s
34776}
34777
34778// SetComputerName sets the ComputerName field's value.
34779func (s *InstanceInformation) SetComputerName(v string) *InstanceInformation {
34780	s.ComputerName = &v
34781	return s
34782}
34783
34784// SetIPAddress sets the IPAddress field's value.
34785func (s *InstanceInformation) SetIPAddress(v string) *InstanceInformation {
34786	s.IPAddress = &v
34787	return s
34788}
34789
34790// SetIamRole sets the IamRole field's value.
34791func (s *InstanceInformation) SetIamRole(v string) *InstanceInformation {
34792	s.IamRole = &v
34793	return s
34794}
34795
34796// SetInstanceId sets the InstanceId field's value.
34797func (s *InstanceInformation) SetInstanceId(v string) *InstanceInformation {
34798	s.InstanceId = &v
34799	return s
34800}
34801
34802// SetIsLatestVersion sets the IsLatestVersion field's value.
34803func (s *InstanceInformation) SetIsLatestVersion(v bool) *InstanceInformation {
34804	s.IsLatestVersion = &v
34805	return s
34806}
34807
34808// SetLastAssociationExecutionDate sets the LastAssociationExecutionDate field's value.
34809func (s *InstanceInformation) SetLastAssociationExecutionDate(v time.Time) *InstanceInformation {
34810	s.LastAssociationExecutionDate = &v
34811	return s
34812}
34813
34814// SetLastPingDateTime sets the LastPingDateTime field's value.
34815func (s *InstanceInformation) SetLastPingDateTime(v time.Time) *InstanceInformation {
34816	s.LastPingDateTime = &v
34817	return s
34818}
34819
34820// SetLastSuccessfulAssociationExecutionDate sets the LastSuccessfulAssociationExecutionDate field's value.
34821func (s *InstanceInformation) SetLastSuccessfulAssociationExecutionDate(v time.Time) *InstanceInformation {
34822	s.LastSuccessfulAssociationExecutionDate = &v
34823	return s
34824}
34825
34826// SetName sets the Name field's value.
34827func (s *InstanceInformation) SetName(v string) *InstanceInformation {
34828	s.Name = &v
34829	return s
34830}
34831
34832// SetPingStatus sets the PingStatus field's value.
34833func (s *InstanceInformation) SetPingStatus(v string) *InstanceInformation {
34834	s.PingStatus = &v
34835	return s
34836}
34837
34838// SetPlatformName sets the PlatformName field's value.
34839func (s *InstanceInformation) SetPlatformName(v string) *InstanceInformation {
34840	s.PlatformName = &v
34841	return s
34842}
34843
34844// SetPlatformType sets the PlatformType field's value.
34845func (s *InstanceInformation) SetPlatformType(v string) *InstanceInformation {
34846	s.PlatformType = &v
34847	return s
34848}
34849
34850// SetPlatformVersion sets the PlatformVersion field's value.
34851func (s *InstanceInformation) SetPlatformVersion(v string) *InstanceInformation {
34852	s.PlatformVersion = &v
34853	return s
34854}
34855
34856// SetRegistrationDate sets the RegistrationDate field's value.
34857func (s *InstanceInformation) SetRegistrationDate(v time.Time) *InstanceInformation {
34858	s.RegistrationDate = &v
34859	return s
34860}
34861
34862// SetResourceType sets the ResourceType field's value.
34863func (s *InstanceInformation) SetResourceType(v string) *InstanceInformation {
34864	s.ResourceType = &v
34865	return s
34866}
34867
34868// Describes a filter for a specific list of instances. You can filter instances
34869// information by using tags. You specify tags by using a key-value mapping.
34870//
34871// Use this operation instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList
34872// method. The InstanceInformationFilterList method is a legacy method and doesn't
34873// support tags.
34874type InstanceInformationFilter struct {
34875	_ struct{} `type:"structure"`
34876
34877	// The name of the filter.
34878	//
34879	// Key is a required field
34880	Key *string `locationName:"key" type:"string" required:"true" enum:"InstanceInformationFilterKey"`
34881
34882	// The filter values.
34883	//
34884	// ValueSet is a required field
34885	ValueSet []*string `locationName:"valueSet" min:"1" type:"list" required:"true"`
34886}
34887
34888// String returns the string representation.
34889//
34890// API parameter values that are decorated as "sensitive" in the API will not
34891// be included in the string output. The member name will be present, but the
34892// value will be replaced with "sensitive".
34893func (s InstanceInformationFilter) String() string {
34894	return awsutil.Prettify(s)
34895}
34896
34897// GoString returns the string representation.
34898//
34899// API parameter values that are decorated as "sensitive" in the API will not
34900// be included in the string output. The member name will be present, but the
34901// value will be replaced with "sensitive".
34902func (s InstanceInformationFilter) GoString() string {
34903	return s.String()
34904}
34905
34906// Validate inspects the fields of the type to determine if they are valid.
34907func (s *InstanceInformationFilter) Validate() error {
34908	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationFilter"}
34909	if s.Key == nil {
34910		invalidParams.Add(request.NewErrParamRequired("Key"))
34911	}
34912	if s.ValueSet == nil {
34913		invalidParams.Add(request.NewErrParamRequired("ValueSet"))
34914	}
34915	if s.ValueSet != nil && len(s.ValueSet) < 1 {
34916		invalidParams.Add(request.NewErrParamMinLen("ValueSet", 1))
34917	}
34918
34919	if invalidParams.Len() > 0 {
34920		return invalidParams
34921	}
34922	return nil
34923}
34924
34925// SetKey sets the Key field's value.
34926func (s *InstanceInformationFilter) SetKey(v string) *InstanceInformationFilter {
34927	s.Key = &v
34928	return s
34929}
34930
34931// SetValueSet sets the ValueSet field's value.
34932func (s *InstanceInformationFilter) SetValueSet(v []*string) *InstanceInformationFilter {
34933	s.ValueSet = v
34934	return s
34935}
34936
34937// The filters to describe or get information about your managed instances.
34938type InstanceInformationStringFilter struct {
34939	_ struct{} `type:"structure"`
34940
34941	// The filter key name to describe your instances. For example:
34942	//
34943	// "InstanceIds"|"AgentVersion"|"PingStatus"|"PlatformTypes"|"ActivationIds"|"IamRole"|"ResourceType"|"AssociationStatus"|"Tag
34944	// Key"
34945	//
34946	// Tag key isn't a valid filter. You must specify either tag-key or tag:keyname
34947	// and a string. Here are some valid examples: tag-key, tag:123, tag:al!, tag:Windows.
34948	// Here are some invalid examples: tag-keys, Tag Key, tag:, tagKey, abc:keyname.
34949	//
34950	// Key is a required field
34951	Key *string `min:"1" type:"string" required:"true"`
34952
34953	// The filter values.
34954	//
34955	// Values is a required field
34956	Values []*string `min:"1" type:"list" required:"true"`
34957}
34958
34959// String returns the string representation.
34960//
34961// API parameter values that are decorated as "sensitive" in the API will not
34962// be included in the string output. The member name will be present, but the
34963// value will be replaced with "sensitive".
34964func (s InstanceInformationStringFilter) String() string {
34965	return awsutil.Prettify(s)
34966}
34967
34968// GoString returns the string representation.
34969//
34970// API parameter values that are decorated as "sensitive" in the API will not
34971// be included in the string output. The member name will be present, but the
34972// value will be replaced with "sensitive".
34973func (s InstanceInformationStringFilter) GoString() string {
34974	return s.String()
34975}
34976
34977// Validate inspects the fields of the type to determine if they are valid.
34978func (s *InstanceInformationStringFilter) Validate() error {
34979	invalidParams := request.ErrInvalidParams{Context: "InstanceInformationStringFilter"}
34980	if s.Key == nil {
34981		invalidParams.Add(request.NewErrParamRequired("Key"))
34982	}
34983	if s.Key != nil && len(*s.Key) < 1 {
34984		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
34985	}
34986	if s.Values == nil {
34987		invalidParams.Add(request.NewErrParamRequired("Values"))
34988	}
34989	if s.Values != nil && len(s.Values) < 1 {
34990		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
34991	}
34992
34993	if invalidParams.Len() > 0 {
34994		return invalidParams
34995	}
34996	return nil
34997}
34998
34999// SetKey sets the Key field's value.
35000func (s *InstanceInformationStringFilter) SetKey(v string) *InstanceInformationStringFilter {
35001	s.Key = &v
35002	return s
35003}
35004
35005// SetValues sets the Values field's value.
35006func (s *InstanceInformationStringFilter) SetValues(v []*string) *InstanceInformationStringFilter {
35007	s.Values = v
35008	return s
35009}
35010
35011// Defines the high-level patch compliance state for a managed instance, providing
35012// information about the number of installed, missing, not applicable, and failed
35013// patches along with metadata about the operation when this information was
35014// gathered for the instance.
35015type InstancePatchState struct {
35016	_ struct{} `type:"structure"`
35017
35018	// The ID of the patch baseline used to patch the instance.
35019	//
35020	// BaselineId is a required field
35021	BaselineId *string `min:"20" type:"string" required:"true"`
35022
35023	// The number of instances where patches that are specified as Critical for
35024	// compliance reporting in the patch baseline aren't installed. These patches
35025	// might be missing, have failed installation, were rejected, or were installed
35026	// but awaiting a required instance reboot. The status of these instances is
35027	// NON_COMPLIANT.
35028	CriticalNonCompliantCount *int64 `type:"integer"`
35029
35030	// The number of patches from the patch baseline that were attempted to be installed
35031	// during the last patching operation, but failed to install.
35032	FailedCount *int64 `type:"integer"`
35033
35034	// An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL
35035	// to a list of patches to be installed. This patch installation list, which
35036	// you maintain in an S3 bucket in YAML format and specify in the SSM document
35037	// AWS-RunPatchBaseline, overrides the patches specified by the default patch
35038	// baseline.
35039	//
35040	// For more information about the InstallOverrideList parameter, see About the
35041	// AWS-RunPatchBaseline (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-about-aws-runpatchbaseline.html)
35042	// SSM document in the Amazon Web Services Systems Manager User Guide.
35043	InstallOverrideList *string `min:"1" type:"string"`
35044
35045	// The number of patches from the patch baseline that are installed on the instance.
35046	InstalledCount *int64 `type:"integer"`
35047
35048	// The number of patches not specified in the patch baseline that are installed
35049	// on the instance.
35050	InstalledOtherCount *int64 `type:"integer"`
35051
35052	// The number of patches installed by Patch Manager since the last time the
35053	// instance was rebooted.
35054	InstalledPendingRebootCount *int64 `type:"integer"`
35055
35056	// The number of patches installed on an instance that are specified in a RejectedPatches
35057	// list. Patches with a status of InstalledRejected were typically installed
35058	// before they were added to a RejectedPatches list.
35059	//
35060	// If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction,
35061	// the value of InstalledRejectedCount will always be 0 (zero).
35062	InstalledRejectedCount *int64 `type:"integer"`
35063
35064	// The ID of the managed instance the high-level patch compliance information
35065	// was collected for.
35066	//
35067	// InstanceId is a required field
35068	InstanceId *string `type:"string" required:"true"`
35069
35070	// The time of the last attempt to patch the instance with NoReboot specified
35071	// as the reboot option.
35072	LastNoRebootInstallOperationTime *time.Time `type:"timestamp"`
35073
35074	// The number of patches from the patch baseline that are applicable for the
35075	// instance but aren't currently installed.
35076	MissingCount *int64 `type:"integer"`
35077
35078	// The number of patches from the patch baseline that aren't applicable for
35079	// the instance and therefore aren't installed on the instance. This number
35080	// may be truncated if the list of patch names is very large. The number of
35081	// patches beyond this limit are reported in UnreportedNotApplicableCount.
35082	NotApplicableCount *int64 `type:"integer"`
35083
35084	// The type of patching operation that was performed: or
35085	//
35086	//    * SCAN assesses the patch compliance state.
35087	//
35088	//    * INSTALL installs missing patches.
35089	//
35090	// Operation is a required field
35091	Operation *string `type:"string" required:"true" enum:"PatchOperationType"`
35092
35093	// The time the most recent patching operation completed on the instance.
35094	//
35095	// OperationEndTime is a required field
35096	OperationEndTime *time.Time `type:"timestamp" required:"true"`
35097
35098	// The time the most recent patching operation was started on the instance.
35099	//
35100	// OperationStartTime is a required field
35101	OperationStartTime *time.Time `type:"timestamp" required:"true"`
35102
35103	// The number of instances with patches installed that are specified as other
35104	// than Critical or Security but aren't compliant with the patch baseline. The
35105	// status of these instances is NON_COMPLIANT.
35106	OtherNonCompliantCount *int64 `type:"integer"`
35107
35108	// Placeholder information. This field will always be empty in the current release
35109	// of the service.
35110	//
35111	// OwnerInformation is a sensitive parameter and its value will be
35112	// replaced with "sensitive" in string returned by InstancePatchState's
35113	// String and GoString methods.
35114	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
35115
35116	// The name of the patch group the managed instance belongs to.
35117	//
35118	// PatchGroup is a required field
35119	PatchGroup *string `min:"1" type:"string" required:"true"`
35120
35121	// Indicates the reboot option specified in the patch baseline.
35122	//
35123	// Reboot options apply to Install operations only. Reboots aren't attempted
35124	// for Patch Manager Scan operations.
35125	//
35126	//    * RebootIfNeeded: Patch Manager tries to reboot the instance if it installed
35127	//    any patches, or if any patches are detected with a status of InstalledPendingReboot.
35128	//
35129	//    * NoReboot: Patch Manager attempts to install missing packages without
35130	//    trying to reboot the system. Patches installed with this option are assigned
35131	//    a status of InstalledPendingReboot. These patches might not be in effect
35132	//    until a reboot is performed.
35133	RebootOption *string `type:"string" enum:"RebootOption"`
35134
35135	// The number of instances where patches that are specified as Security in a
35136	// patch advisory aren't installed. These patches might be missing, have failed
35137	// installation, were rejected, or were installed but awaiting a required instance
35138	// reboot. The status of these instances is NON_COMPLIANT.
35139	SecurityNonCompliantCount *int64 `type:"integer"`
35140
35141	// The ID of the patch baseline snapshot used during the patching operation
35142	// when this compliance data was collected.
35143	SnapshotId *string `min:"36" type:"string"`
35144
35145	// The number of patches beyond the supported limit of NotApplicableCount that
35146	// aren't reported by name to Inventory. Inventory is a capability of Amazon
35147	// Web Services Systems Manager.
35148	UnreportedNotApplicableCount *int64 `type:"integer"`
35149}
35150
35151// String returns the string representation.
35152//
35153// API parameter values that are decorated as "sensitive" in the API will not
35154// be included in the string output. The member name will be present, but the
35155// value will be replaced with "sensitive".
35156func (s InstancePatchState) String() string {
35157	return awsutil.Prettify(s)
35158}
35159
35160// GoString returns the string representation.
35161//
35162// API parameter values that are decorated as "sensitive" in the API will not
35163// be included in the string output. The member name will be present, but the
35164// value will be replaced with "sensitive".
35165func (s InstancePatchState) GoString() string {
35166	return s.String()
35167}
35168
35169// SetBaselineId sets the BaselineId field's value.
35170func (s *InstancePatchState) SetBaselineId(v string) *InstancePatchState {
35171	s.BaselineId = &v
35172	return s
35173}
35174
35175// SetCriticalNonCompliantCount sets the CriticalNonCompliantCount field's value.
35176func (s *InstancePatchState) SetCriticalNonCompliantCount(v int64) *InstancePatchState {
35177	s.CriticalNonCompliantCount = &v
35178	return s
35179}
35180
35181// SetFailedCount sets the FailedCount field's value.
35182func (s *InstancePatchState) SetFailedCount(v int64) *InstancePatchState {
35183	s.FailedCount = &v
35184	return s
35185}
35186
35187// SetInstallOverrideList sets the InstallOverrideList field's value.
35188func (s *InstancePatchState) SetInstallOverrideList(v string) *InstancePatchState {
35189	s.InstallOverrideList = &v
35190	return s
35191}
35192
35193// SetInstalledCount sets the InstalledCount field's value.
35194func (s *InstancePatchState) SetInstalledCount(v int64) *InstancePatchState {
35195	s.InstalledCount = &v
35196	return s
35197}
35198
35199// SetInstalledOtherCount sets the InstalledOtherCount field's value.
35200func (s *InstancePatchState) SetInstalledOtherCount(v int64) *InstancePatchState {
35201	s.InstalledOtherCount = &v
35202	return s
35203}
35204
35205// SetInstalledPendingRebootCount sets the InstalledPendingRebootCount field's value.
35206func (s *InstancePatchState) SetInstalledPendingRebootCount(v int64) *InstancePatchState {
35207	s.InstalledPendingRebootCount = &v
35208	return s
35209}
35210
35211// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
35212func (s *InstancePatchState) SetInstalledRejectedCount(v int64) *InstancePatchState {
35213	s.InstalledRejectedCount = &v
35214	return s
35215}
35216
35217// SetInstanceId sets the InstanceId field's value.
35218func (s *InstancePatchState) SetInstanceId(v string) *InstancePatchState {
35219	s.InstanceId = &v
35220	return s
35221}
35222
35223// SetLastNoRebootInstallOperationTime sets the LastNoRebootInstallOperationTime field's value.
35224func (s *InstancePatchState) SetLastNoRebootInstallOperationTime(v time.Time) *InstancePatchState {
35225	s.LastNoRebootInstallOperationTime = &v
35226	return s
35227}
35228
35229// SetMissingCount sets the MissingCount field's value.
35230func (s *InstancePatchState) SetMissingCount(v int64) *InstancePatchState {
35231	s.MissingCount = &v
35232	return s
35233}
35234
35235// SetNotApplicableCount sets the NotApplicableCount field's value.
35236func (s *InstancePatchState) SetNotApplicableCount(v int64) *InstancePatchState {
35237	s.NotApplicableCount = &v
35238	return s
35239}
35240
35241// SetOperation sets the Operation field's value.
35242func (s *InstancePatchState) SetOperation(v string) *InstancePatchState {
35243	s.Operation = &v
35244	return s
35245}
35246
35247// SetOperationEndTime sets the OperationEndTime field's value.
35248func (s *InstancePatchState) SetOperationEndTime(v time.Time) *InstancePatchState {
35249	s.OperationEndTime = &v
35250	return s
35251}
35252
35253// SetOperationStartTime sets the OperationStartTime field's value.
35254func (s *InstancePatchState) SetOperationStartTime(v time.Time) *InstancePatchState {
35255	s.OperationStartTime = &v
35256	return s
35257}
35258
35259// SetOtherNonCompliantCount sets the OtherNonCompliantCount field's value.
35260func (s *InstancePatchState) SetOtherNonCompliantCount(v int64) *InstancePatchState {
35261	s.OtherNonCompliantCount = &v
35262	return s
35263}
35264
35265// SetOwnerInformation sets the OwnerInformation field's value.
35266func (s *InstancePatchState) SetOwnerInformation(v string) *InstancePatchState {
35267	s.OwnerInformation = &v
35268	return s
35269}
35270
35271// SetPatchGroup sets the PatchGroup field's value.
35272func (s *InstancePatchState) SetPatchGroup(v string) *InstancePatchState {
35273	s.PatchGroup = &v
35274	return s
35275}
35276
35277// SetRebootOption sets the RebootOption field's value.
35278func (s *InstancePatchState) SetRebootOption(v string) *InstancePatchState {
35279	s.RebootOption = &v
35280	return s
35281}
35282
35283// SetSecurityNonCompliantCount sets the SecurityNonCompliantCount field's value.
35284func (s *InstancePatchState) SetSecurityNonCompliantCount(v int64) *InstancePatchState {
35285	s.SecurityNonCompliantCount = &v
35286	return s
35287}
35288
35289// SetSnapshotId sets the SnapshotId field's value.
35290func (s *InstancePatchState) SetSnapshotId(v string) *InstancePatchState {
35291	s.SnapshotId = &v
35292	return s
35293}
35294
35295// SetUnreportedNotApplicableCount sets the UnreportedNotApplicableCount field's value.
35296func (s *InstancePatchState) SetUnreportedNotApplicableCount(v int64) *InstancePatchState {
35297	s.UnreportedNotApplicableCount = &v
35298	return s
35299}
35300
35301// Defines a filter used in DescribeInstancePatchStatesForPatchGroup to scope
35302// down the information returned by the API.
35303//
35304// Example: To filter for all instances in a patch group having more than three
35305// patches with a FailedCount status, use the following for the filter:
35306//
35307//    * Value for Key: FailedCount
35308//
35309//    * Value for Type: GreaterThan
35310//
35311//    * Value for Values: 3
35312type InstancePatchStateFilter struct {
35313	_ struct{} `type:"structure"`
35314
35315	// The key for the filter. Supported values include the following:
35316	//
35317	//    * InstalledCount
35318	//
35319	//    * InstalledOtherCount
35320	//
35321	//    * InstalledPendingRebootCount
35322	//
35323	//    * InstalledRejectedCount
35324	//
35325	//    * MissingCount
35326	//
35327	//    * FailedCount
35328	//
35329	//    * UnreportedNotApplicableCount
35330	//
35331	//    * NotApplicableCount
35332	//
35333	// Key is a required field
35334	Key *string `min:"1" type:"string" required:"true"`
35335
35336	// The type of comparison that should be performed for the value.
35337	//
35338	// Type is a required field
35339	Type *string `type:"string" required:"true" enum:"InstancePatchStateOperatorType"`
35340
35341	// The value for the filter. Must be an integer greater than or equal to 0.
35342	//
35343	// Values is a required field
35344	Values []*string `min:"1" type:"list" required:"true"`
35345}
35346
35347// String returns the string representation.
35348//
35349// API parameter values that are decorated as "sensitive" in the API will not
35350// be included in the string output. The member name will be present, but the
35351// value will be replaced with "sensitive".
35352func (s InstancePatchStateFilter) String() string {
35353	return awsutil.Prettify(s)
35354}
35355
35356// GoString returns the string representation.
35357//
35358// API parameter values that are decorated as "sensitive" in the API will not
35359// be included in the string output. The member name will be present, but the
35360// value will be replaced with "sensitive".
35361func (s InstancePatchStateFilter) GoString() string {
35362	return s.String()
35363}
35364
35365// Validate inspects the fields of the type to determine if they are valid.
35366func (s *InstancePatchStateFilter) Validate() error {
35367	invalidParams := request.ErrInvalidParams{Context: "InstancePatchStateFilter"}
35368	if s.Key == nil {
35369		invalidParams.Add(request.NewErrParamRequired("Key"))
35370	}
35371	if s.Key != nil && len(*s.Key) < 1 {
35372		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
35373	}
35374	if s.Type == nil {
35375		invalidParams.Add(request.NewErrParamRequired("Type"))
35376	}
35377	if s.Values == nil {
35378		invalidParams.Add(request.NewErrParamRequired("Values"))
35379	}
35380	if s.Values != nil && len(s.Values) < 1 {
35381		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
35382	}
35383
35384	if invalidParams.Len() > 0 {
35385		return invalidParams
35386	}
35387	return nil
35388}
35389
35390// SetKey sets the Key field's value.
35391func (s *InstancePatchStateFilter) SetKey(v string) *InstancePatchStateFilter {
35392	s.Key = &v
35393	return s
35394}
35395
35396// SetType sets the Type field's value.
35397func (s *InstancePatchStateFilter) SetType(v string) *InstancePatchStateFilter {
35398	s.Type = &v
35399	return s
35400}
35401
35402// SetValues sets the Values field's value.
35403func (s *InstancePatchStateFilter) SetValues(v []*string) *InstancePatchStateFilter {
35404	s.Values = v
35405	return s
35406}
35407
35408// An error occurred on the server side.
35409type InternalServerError struct {
35410	_            struct{}                  `type:"structure"`
35411	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35412
35413	Message_ *string `locationName:"Message" type:"string"`
35414}
35415
35416// String returns the string representation.
35417//
35418// API parameter values that are decorated as "sensitive" in the API will not
35419// be included in the string output. The member name will be present, but the
35420// value will be replaced with "sensitive".
35421func (s InternalServerError) String() string {
35422	return awsutil.Prettify(s)
35423}
35424
35425// GoString returns the string representation.
35426//
35427// API parameter values that are decorated as "sensitive" in the API will not
35428// be included in the string output. The member name will be present, but the
35429// value will be replaced with "sensitive".
35430func (s InternalServerError) GoString() string {
35431	return s.String()
35432}
35433
35434func newErrorInternalServerError(v protocol.ResponseMetadata) error {
35435	return &InternalServerError{
35436		RespMetadata: v,
35437	}
35438}
35439
35440// Code returns the exception type name.
35441func (s *InternalServerError) Code() string {
35442	return "InternalServerError"
35443}
35444
35445// Message returns the exception's message.
35446func (s *InternalServerError) Message() string {
35447	if s.Message_ != nil {
35448		return *s.Message_
35449	}
35450	return ""
35451}
35452
35453// OrigErr always returns nil, satisfies awserr.Error interface.
35454func (s *InternalServerError) OrigErr() error {
35455	return nil
35456}
35457
35458func (s *InternalServerError) Error() string {
35459	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35460}
35461
35462// Status code returns the HTTP status code for the request's response error.
35463func (s *InternalServerError) StatusCode() int {
35464	return s.RespMetadata.StatusCode
35465}
35466
35467// RequestID returns the service's response RequestID for request.
35468func (s *InternalServerError) RequestID() string {
35469	return s.RespMetadata.RequestID
35470}
35471
35472// The activation isn't valid. The activation might have been deleted, or the
35473// ActivationId and the ActivationCode don't match.
35474type InvalidActivation struct {
35475	_            struct{}                  `type:"structure"`
35476	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35477
35478	Message_ *string `locationName:"Message" type:"string"`
35479}
35480
35481// String returns the string representation.
35482//
35483// API parameter values that are decorated as "sensitive" in the API will not
35484// be included in the string output. The member name will be present, but the
35485// value will be replaced with "sensitive".
35486func (s InvalidActivation) String() string {
35487	return awsutil.Prettify(s)
35488}
35489
35490// GoString returns the string representation.
35491//
35492// API parameter values that are decorated as "sensitive" in the API will not
35493// be included in the string output. The member name will be present, but the
35494// value will be replaced with "sensitive".
35495func (s InvalidActivation) GoString() string {
35496	return s.String()
35497}
35498
35499func newErrorInvalidActivation(v protocol.ResponseMetadata) error {
35500	return &InvalidActivation{
35501		RespMetadata: v,
35502	}
35503}
35504
35505// Code returns the exception type name.
35506func (s *InvalidActivation) Code() string {
35507	return "InvalidActivation"
35508}
35509
35510// Message returns the exception's message.
35511func (s *InvalidActivation) Message() string {
35512	if s.Message_ != nil {
35513		return *s.Message_
35514	}
35515	return ""
35516}
35517
35518// OrigErr always returns nil, satisfies awserr.Error interface.
35519func (s *InvalidActivation) OrigErr() error {
35520	return nil
35521}
35522
35523func (s *InvalidActivation) Error() string {
35524	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35525}
35526
35527// Status code returns the HTTP status code for the request's response error.
35528func (s *InvalidActivation) StatusCode() int {
35529	return s.RespMetadata.StatusCode
35530}
35531
35532// RequestID returns the service's response RequestID for request.
35533func (s *InvalidActivation) RequestID() string {
35534	return s.RespMetadata.RequestID
35535}
35536
35537// The activation ID isn't valid. Verify the you entered the correct ActivationId
35538// or ActivationCode and try again.
35539type InvalidActivationId struct {
35540	_            struct{}                  `type:"structure"`
35541	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35542
35543	Message_ *string `locationName:"Message" type:"string"`
35544}
35545
35546// String returns the string representation.
35547//
35548// API parameter values that are decorated as "sensitive" in the API will not
35549// be included in the string output. The member name will be present, but the
35550// value will be replaced with "sensitive".
35551func (s InvalidActivationId) String() string {
35552	return awsutil.Prettify(s)
35553}
35554
35555// GoString returns the string representation.
35556//
35557// API parameter values that are decorated as "sensitive" in the API will not
35558// be included in the string output. The member name will be present, but the
35559// value will be replaced with "sensitive".
35560func (s InvalidActivationId) GoString() string {
35561	return s.String()
35562}
35563
35564func newErrorInvalidActivationId(v protocol.ResponseMetadata) error {
35565	return &InvalidActivationId{
35566		RespMetadata: v,
35567	}
35568}
35569
35570// Code returns the exception type name.
35571func (s *InvalidActivationId) Code() string {
35572	return "InvalidActivationId"
35573}
35574
35575// Message returns the exception's message.
35576func (s *InvalidActivationId) Message() string {
35577	if s.Message_ != nil {
35578		return *s.Message_
35579	}
35580	return ""
35581}
35582
35583// OrigErr always returns nil, satisfies awserr.Error interface.
35584func (s *InvalidActivationId) OrigErr() error {
35585	return nil
35586}
35587
35588func (s *InvalidActivationId) Error() string {
35589	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35590}
35591
35592// Status code returns the HTTP status code for the request's response error.
35593func (s *InvalidActivationId) StatusCode() int {
35594	return s.RespMetadata.StatusCode
35595}
35596
35597// RequestID returns the service's response RequestID for request.
35598func (s *InvalidActivationId) RequestID() string {
35599	return s.RespMetadata.RequestID
35600}
35601
35602// The specified aggregator isn't valid for inventory groups. Verify that the
35603// aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.
35604type InvalidAggregatorException struct {
35605	_            struct{}                  `type:"structure"`
35606	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35607
35608	Message_ *string `locationName:"Message" type:"string"`
35609}
35610
35611// String returns the string representation.
35612//
35613// API parameter values that are decorated as "sensitive" in the API will not
35614// be included in the string output. The member name will be present, but the
35615// value will be replaced with "sensitive".
35616func (s InvalidAggregatorException) String() string {
35617	return awsutil.Prettify(s)
35618}
35619
35620// GoString returns the string representation.
35621//
35622// API parameter values that are decorated as "sensitive" in the API will not
35623// be included in the string output. The member name will be present, but the
35624// value will be replaced with "sensitive".
35625func (s InvalidAggregatorException) GoString() string {
35626	return s.String()
35627}
35628
35629func newErrorInvalidAggregatorException(v protocol.ResponseMetadata) error {
35630	return &InvalidAggregatorException{
35631		RespMetadata: v,
35632	}
35633}
35634
35635// Code returns the exception type name.
35636func (s *InvalidAggregatorException) Code() string {
35637	return "InvalidAggregatorException"
35638}
35639
35640// Message returns the exception's message.
35641func (s *InvalidAggregatorException) Message() string {
35642	if s.Message_ != nil {
35643		return *s.Message_
35644	}
35645	return ""
35646}
35647
35648// OrigErr always returns nil, satisfies awserr.Error interface.
35649func (s *InvalidAggregatorException) OrigErr() error {
35650	return nil
35651}
35652
35653func (s *InvalidAggregatorException) Error() string {
35654	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35655}
35656
35657// Status code returns the HTTP status code for the request's response error.
35658func (s *InvalidAggregatorException) StatusCode() int {
35659	return s.RespMetadata.StatusCode
35660}
35661
35662// RequestID returns the service's response RequestID for request.
35663func (s *InvalidAggregatorException) RequestID() string {
35664	return s.RespMetadata.RequestID
35665}
35666
35667// The request doesn't meet the regular expression requirement.
35668type InvalidAllowedPatternException struct {
35669	_            struct{}                  `type:"structure"`
35670	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35671
35672	// The request doesn't meet the regular expression requirement.
35673	Message_ *string `locationName:"message" type:"string"`
35674}
35675
35676// String returns the string representation.
35677//
35678// API parameter values that are decorated as "sensitive" in the API will not
35679// be included in the string output. The member name will be present, but the
35680// value will be replaced with "sensitive".
35681func (s InvalidAllowedPatternException) String() string {
35682	return awsutil.Prettify(s)
35683}
35684
35685// GoString returns the string representation.
35686//
35687// API parameter values that are decorated as "sensitive" in the API will not
35688// be included in the string output. The member name will be present, but the
35689// value will be replaced with "sensitive".
35690func (s InvalidAllowedPatternException) GoString() string {
35691	return s.String()
35692}
35693
35694func newErrorInvalidAllowedPatternException(v protocol.ResponseMetadata) error {
35695	return &InvalidAllowedPatternException{
35696		RespMetadata: v,
35697	}
35698}
35699
35700// Code returns the exception type name.
35701func (s *InvalidAllowedPatternException) Code() string {
35702	return "InvalidAllowedPatternException"
35703}
35704
35705// Message returns the exception's message.
35706func (s *InvalidAllowedPatternException) Message() string {
35707	if s.Message_ != nil {
35708		return *s.Message_
35709	}
35710	return ""
35711}
35712
35713// OrigErr always returns nil, satisfies awserr.Error interface.
35714func (s *InvalidAllowedPatternException) OrigErr() error {
35715	return nil
35716}
35717
35718func (s *InvalidAllowedPatternException) Error() string {
35719	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35720}
35721
35722// Status code returns the HTTP status code for the request's response error.
35723func (s *InvalidAllowedPatternException) StatusCode() int {
35724	return s.RespMetadata.StatusCode
35725}
35726
35727// RequestID returns the service's response RequestID for request.
35728func (s *InvalidAllowedPatternException) RequestID() string {
35729	return s.RespMetadata.RequestID
35730}
35731
35732// The association isn't valid or doesn't exist.
35733type InvalidAssociation struct {
35734	_            struct{}                  `type:"structure"`
35735	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35736
35737	Message_ *string `locationName:"Message" type:"string"`
35738}
35739
35740// String returns the string representation.
35741//
35742// API parameter values that are decorated as "sensitive" in the API will not
35743// be included in the string output. The member name will be present, but the
35744// value will be replaced with "sensitive".
35745func (s InvalidAssociation) String() string {
35746	return awsutil.Prettify(s)
35747}
35748
35749// GoString returns the string representation.
35750//
35751// API parameter values that are decorated as "sensitive" in the API will not
35752// be included in the string output. The member name will be present, but the
35753// value will be replaced with "sensitive".
35754func (s InvalidAssociation) GoString() string {
35755	return s.String()
35756}
35757
35758func newErrorInvalidAssociation(v protocol.ResponseMetadata) error {
35759	return &InvalidAssociation{
35760		RespMetadata: v,
35761	}
35762}
35763
35764// Code returns the exception type name.
35765func (s *InvalidAssociation) Code() string {
35766	return "InvalidAssociation"
35767}
35768
35769// Message returns the exception's message.
35770func (s *InvalidAssociation) Message() string {
35771	if s.Message_ != nil {
35772		return *s.Message_
35773	}
35774	return ""
35775}
35776
35777// OrigErr always returns nil, satisfies awserr.Error interface.
35778func (s *InvalidAssociation) OrigErr() error {
35779	return nil
35780}
35781
35782func (s *InvalidAssociation) Error() string {
35783	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35784}
35785
35786// Status code returns the HTTP status code for the request's response error.
35787func (s *InvalidAssociation) StatusCode() int {
35788	return s.RespMetadata.StatusCode
35789}
35790
35791// RequestID returns the service's response RequestID for request.
35792func (s *InvalidAssociation) RequestID() string {
35793	return s.RespMetadata.RequestID
35794}
35795
35796// The version you specified isn't valid. Use ListAssociationVersions to view
35797// all versions of an association according to the association ID. Or, use the
35798// $LATEST parameter to view the latest version of the association.
35799type InvalidAssociationVersion struct {
35800	_            struct{}                  `type:"structure"`
35801	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35802
35803	Message_ *string `locationName:"Message" type:"string"`
35804}
35805
35806// String returns the string representation.
35807//
35808// API parameter values that are decorated as "sensitive" in the API will not
35809// be included in the string output. The member name will be present, but the
35810// value will be replaced with "sensitive".
35811func (s InvalidAssociationVersion) String() string {
35812	return awsutil.Prettify(s)
35813}
35814
35815// GoString returns the string representation.
35816//
35817// API parameter values that are decorated as "sensitive" in the API will not
35818// be included in the string output. The member name will be present, but the
35819// value will be replaced with "sensitive".
35820func (s InvalidAssociationVersion) GoString() string {
35821	return s.String()
35822}
35823
35824func newErrorInvalidAssociationVersion(v protocol.ResponseMetadata) error {
35825	return &InvalidAssociationVersion{
35826		RespMetadata: v,
35827	}
35828}
35829
35830// Code returns the exception type name.
35831func (s *InvalidAssociationVersion) Code() string {
35832	return "InvalidAssociationVersion"
35833}
35834
35835// Message returns the exception's message.
35836func (s *InvalidAssociationVersion) Message() string {
35837	if s.Message_ != nil {
35838		return *s.Message_
35839	}
35840	return ""
35841}
35842
35843// OrigErr always returns nil, satisfies awserr.Error interface.
35844func (s *InvalidAssociationVersion) OrigErr() error {
35845	return nil
35846}
35847
35848func (s *InvalidAssociationVersion) Error() string {
35849	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35850}
35851
35852// Status code returns the HTTP status code for the request's response error.
35853func (s *InvalidAssociationVersion) StatusCode() int {
35854	return s.RespMetadata.StatusCode
35855}
35856
35857// RequestID returns the service's response RequestID for request.
35858func (s *InvalidAssociationVersion) RequestID() string {
35859	return s.RespMetadata.RequestID
35860}
35861
35862// The supplied parameters for invoking the specified Automation runbook are
35863// incorrect. For example, they may not match the set of parameters permitted
35864// for the specified Automation document.
35865type InvalidAutomationExecutionParametersException struct {
35866	_            struct{}                  `type:"structure"`
35867	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35868
35869	Message_ *string `locationName:"Message" type:"string"`
35870}
35871
35872// String returns the string representation.
35873//
35874// API parameter values that are decorated as "sensitive" in the API will not
35875// be included in the string output. The member name will be present, but the
35876// value will be replaced with "sensitive".
35877func (s InvalidAutomationExecutionParametersException) String() string {
35878	return awsutil.Prettify(s)
35879}
35880
35881// GoString returns the string representation.
35882//
35883// API parameter values that are decorated as "sensitive" in the API will not
35884// be included in the string output. The member name will be present, but the
35885// value will be replaced with "sensitive".
35886func (s InvalidAutomationExecutionParametersException) GoString() string {
35887	return s.String()
35888}
35889
35890func newErrorInvalidAutomationExecutionParametersException(v protocol.ResponseMetadata) error {
35891	return &InvalidAutomationExecutionParametersException{
35892		RespMetadata: v,
35893	}
35894}
35895
35896// Code returns the exception type name.
35897func (s *InvalidAutomationExecutionParametersException) Code() string {
35898	return "InvalidAutomationExecutionParametersException"
35899}
35900
35901// Message returns the exception's message.
35902func (s *InvalidAutomationExecutionParametersException) Message() string {
35903	if s.Message_ != nil {
35904		return *s.Message_
35905	}
35906	return ""
35907}
35908
35909// OrigErr always returns nil, satisfies awserr.Error interface.
35910func (s *InvalidAutomationExecutionParametersException) OrigErr() error {
35911	return nil
35912}
35913
35914func (s *InvalidAutomationExecutionParametersException) Error() string {
35915	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35916}
35917
35918// Status code returns the HTTP status code for the request's response error.
35919func (s *InvalidAutomationExecutionParametersException) StatusCode() int {
35920	return s.RespMetadata.StatusCode
35921}
35922
35923// RequestID returns the service's response RequestID for request.
35924func (s *InvalidAutomationExecutionParametersException) RequestID() string {
35925	return s.RespMetadata.RequestID
35926}
35927
35928// The signal isn't valid for the current Automation execution.
35929type InvalidAutomationSignalException struct {
35930	_            struct{}                  `type:"structure"`
35931	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35932
35933	Message_ *string `locationName:"Message" type:"string"`
35934}
35935
35936// String returns the string representation.
35937//
35938// API parameter values that are decorated as "sensitive" in the API will not
35939// be included in the string output. The member name will be present, but the
35940// value will be replaced with "sensitive".
35941func (s InvalidAutomationSignalException) String() string {
35942	return awsutil.Prettify(s)
35943}
35944
35945// GoString returns the string representation.
35946//
35947// API parameter values that are decorated as "sensitive" in the API will not
35948// be included in the string output. The member name will be present, but the
35949// value will be replaced with "sensitive".
35950func (s InvalidAutomationSignalException) GoString() string {
35951	return s.String()
35952}
35953
35954func newErrorInvalidAutomationSignalException(v protocol.ResponseMetadata) error {
35955	return &InvalidAutomationSignalException{
35956		RespMetadata: v,
35957	}
35958}
35959
35960// Code returns the exception type name.
35961func (s *InvalidAutomationSignalException) Code() string {
35962	return "InvalidAutomationSignalException"
35963}
35964
35965// Message returns the exception's message.
35966func (s *InvalidAutomationSignalException) Message() string {
35967	if s.Message_ != nil {
35968		return *s.Message_
35969	}
35970	return ""
35971}
35972
35973// OrigErr always returns nil, satisfies awserr.Error interface.
35974func (s *InvalidAutomationSignalException) OrigErr() error {
35975	return nil
35976}
35977
35978func (s *InvalidAutomationSignalException) Error() string {
35979	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
35980}
35981
35982// Status code returns the HTTP status code for the request's response error.
35983func (s *InvalidAutomationSignalException) StatusCode() int {
35984	return s.RespMetadata.StatusCode
35985}
35986
35987// RequestID returns the service's response RequestID for request.
35988func (s *InvalidAutomationSignalException) RequestID() string {
35989	return s.RespMetadata.RequestID
35990}
35991
35992// The specified update status operation isn't valid.
35993type InvalidAutomationStatusUpdateException struct {
35994	_            struct{}                  `type:"structure"`
35995	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35996
35997	Message_ *string `locationName:"Message" type:"string"`
35998}
35999
36000// String returns the string representation.
36001//
36002// API parameter values that are decorated as "sensitive" in the API will not
36003// be included in the string output. The member name will be present, but the
36004// value will be replaced with "sensitive".
36005func (s InvalidAutomationStatusUpdateException) String() string {
36006	return awsutil.Prettify(s)
36007}
36008
36009// GoString returns the string representation.
36010//
36011// API parameter values that are decorated as "sensitive" in the API will not
36012// be included in the string output. The member name will be present, but the
36013// value will be replaced with "sensitive".
36014func (s InvalidAutomationStatusUpdateException) GoString() string {
36015	return s.String()
36016}
36017
36018func newErrorInvalidAutomationStatusUpdateException(v protocol.ResponseMetadata) error {
36019	return &InvalidAutomationStatusUpdateException{
36020		RespMetadata: v,
36021	}
36022}
36023
36024// Code returns the exception type name.
36025func (s *InvalidAutomationStatusUpdateException) Code() string {
36026	return "InvalidAutomationStatusUpdateException"
36027}
36028
36029// Message returns the exception's message.
36030func (s *InvalidAutomationStatusUpdateException) Message() string {
36031	if s.Message_ != nil {
36032		return *s.Message_
36033	}
36034	return ""
36035}
36036
36037// OrigErr always returns nil, satisfies awserr.Error interface.
36038func (s *InvalidAutomationStatusUpdateException) OrigErr() error {
36039	return nil
36040}
36041
36042func (s *InvalidAutomationStatusUpdateException) Error() string {
36043	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36044}
36045
36046// Status code returns the HTTP status code for the request's response error.
36047func (s *InvalidAutomationStatusUpdateException) StatusCode() int {
36048	return s.RespMetadata.StatusCode
36049}
36050
36051// RequestID returns the service's response RequestID for request.
36052func (s *InvalidAutomationStatusUpdateException) RequestID() string {
36053	return s.RespMetadata.RequestID
36054}
36055
36056// The specified command ID isn't valid. Verify the ID and try again.
36057type InvalidCommandId struct {
36058	_            struct{}                  `type:"structure"`
36059	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36060
36061	Message_ *string `locationName:"message" type:"string"`
36062}
36063
36064// String returns the string representation.
36065//
36066// API parameter values that are decorated as "sensitive" in the API will not
36067// be included in the string output. The member name will be present, but the
36068// value will be replaced with "sensitive".
36069func (s InvalidCommandId) String() string {
36070	return awsutil.Prettify(s)
36071}
36072
36073// GoString returns the string representation.
36074//
36075// API parameter values that are decorated as "sensitive" in the API will not
36076// be included in the string output. The member name will be present, but the
36077// value will be replaced with "sensitive".
36078func (s InvalidCommandId) GoString() string {
36079	return s.String()
36080}
36081
36082func newErrorInvalidCommandId(v protocol.ResponseMetadata) error {
36083	return &InvalidCommandId{
36084		RespMetadata: v,
36085	}
36086}
36087
36088// Code returns the exception type name.
36089func (s *InvalidCommandId) Code() string {
36090	return "InvalidCommandId"
36091}
36092
36093// Message returns the exception's message.
36094func (s *InvalidCommandId) Message() string {
36095	if s.Message_ != nil {
36096		return *s.Message_
36097	}
36098	return ""
36099}
36100
36101// OrigErr always returns nil, satisfies awserr.Error interface.
36102func (s *InvalidCommandId) OrigErr() error {
36103	return nil
36104}
36105
36106func (s *InvalidCommandId) Error() string {
36107	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36108}
36109
36110// Status code returns the HTTP status code for the request's response error.
36111func (s *InvalidCommandId) StatusCode() int {
36112	return s.RespMetadata.StatusCode
36113}
36114
36115// RequestID returns the service's response RequestID for request.
36116func (s *InvalidCommandId) RequestID() string {
36117	return s.RespMetadata.RequestID
36118}
36119
36120// One or more of the parameters specified for the delete operation isn't valid.
36121// Verify all parameters and try again.
36122type InvalidDeleteInventoryParametersException struct {
36123	_            struct{}                  `type:"structure"`
36124	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36125
36126	Message_ *string `locationName:"Message" type:"string"`
36127}
36128
36129// String returns the string representation.
36130//
36131// API parameter values that are decorated as "sensitive" in the API will not
36132// be included in the string output. The member name will be present, but the
36133// value will be replaced with "sensitive".
36134func (s InvalidDeleteInventoryParametersException) String() string {
36135	return awsutil.Prettify(s)
36136}
36137
36138// GoString returns the string representation.
36139//
36140// API parameter values that are decorated as "sensitive" in the API will not
36141// be included in the string output. The member name will be present, but the
36142// value will be replaced with "sensitive".
36143func (s InvalidDeleteInventoryParametersException) GoString() string {
36144	return s.String()
36145}
36146
36147func newErrorInvalidDeleteInventoryParametersException(v protocol.ResponseMetadata) error {
36148	return &InvalidDeleteInventoryParametersException{
36149		RespMetadata: v,
36150	}
36151}
36152
36153// Code returns the exception type name.
36154func (s *InvalidDeleteInventoryParametersException) Code() string {
36155	return "InvalidDeleteInventoryParametersException"
36156}
36157
36158// Message returns the exception's message.
36159func (s *InvalidDeleteInventoryParametersException) Message() string {
36160	if s.Message_ != nil {
36161		return *s.Message_
36162	}
36163	return ""
36164}
36165
36166// OrigErr always returns nil, satisfies awserr.Error interface.
36167func (s *InvalidDeleteInventoryParametersException) OrigErr() error {
36168	return nil
36169}
36170
36171func (s *InvalidDeleteInventoryParametersException) Error() string {
36172	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36173}
36174
36175// Status code returns the HTTP status code for the request's response error.
36176func (s *InvalidDeleteInventoryParametersException) StatusCode() int {
36177	return s.RespMetadata.StatusCode
36178}
36179
36180// RequestID returns the service's response RequestID for request.
36181func (s *InvalidDeleteInventoryParametersException) RequestID() string {
36182	return s.RespMetadata.RequestID
36183}
36184
36185// The ID specified for the delete operation doesn't exist or isn't valid. Verify
36186// the ID and try again.
36187type InvalidDeletionIdException struct {
36188	_            struct{}                  `type:"structure"`
36189	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36190
36191	Message_ *string `locationName:"Message" type:"string"`
36192}
36193
36194// String returns the string representation.
36195//
36196// API parameter values that are decorated as "sensitive" in the API will not
36197// be included in the string output. The member name will be present, but the
36198// value will be replaced with "sensitive".
36199func (s InvalidDeletionIdException) String() string {
36200	return awsutil.Prettify(s)
36201}
36202
36203// GoString returns the string representation.
36204//
36205// API parameter values that are decorated as "sensitive" in the API will not
36206// be included in the string output. The member name will be present, but the
36207// value will be replaced with "sensitive".
36208func (s InvalidDeletionIdException) GoString() string {
36209	return s.String()
36210}
36211
36212func newErrorInvalidDeletionIdException(v protocol.ResponseMetadata) error {
36213	return &InvalidDeletionIdException{
36214		RespMetadata: v,
36215	}
36216}
36217
36218// Code returns the exception type name.
36219func (s *InvalidDeletionIdException) Code() string {
36220	return "InvalidDeletionIdException"
36221}
36222
36223// Message returns the exception's message.
36224func (s *InvalidDeletionIdException) Message() string {
36225	if s.Message_ != nil {
36226		return *s.Message_
36227	}
36228	return ""
36229}
36230
36231// OrigErr always returns nil, satisfies awserr.Error interface.
36232func (s *InvalidDeletionIdException) OrigErr() error {
36233	return nil
36234}
36235
36236func (s *InvalidDeletionIdException) Error() string {
36237	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36238}
36239
36240// Status code returns the HTTP status code for the request's response error.
36241func (s *InvalidDeletionIdException) StatusCode() int {
36242	return s.RespMetadata.StatusCode
36243}
36244
36245// RequestID returns the service's response RequestID for request.
36246func (s *InvalidDeletionIdException) RequestID() string {
36247	return s.RespMetadata.RequestID
36248}
36249
36250// The specified SSM document doesn't exist.
36251type InvalidDocument struct {
36252	_            struct{}                  `type:"structure"`
36253	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36254
36255	// The SSM document doesn't exist or the document isn't available to the user.
36256	// This exception can be issued by various API operations.
36257	Message_ *string `locationName:"Message" type:"string"`
36258}
36259
36260// String returns the string representation.
36261//
36262// API parameter values that are decorated as "sensitive" in the API will not
36263// be included in the string output. The member name will be present, but the
36264// value will be replaced with "sensitive".
36265func (s InvalidDocument) String() string {
36266	return awsutil.Prettify(s)
36267}
36268
36269// GoString returns the string representation.
36270//
36271// API parameter values that are decorated as "sensitive" in the API will not
36272// be included in the string output. The member name will be present, but the
36273// value will be replaced with "sensitive".
36274func (s InvalidDocument) GoString() string {
36275	return s.String()
36276}
36277
36278func newErrorInvalidDocument(v protocol.ResponseMetadata) error {
36279	return &InvalidDocument{
36280		RespMetadata: v,
36281	}
36282}
36283
36284// Code returns the exception type name.
36285func (s *InvalidDocument) Code() string {
36286	return "InvalidDocument"
36287}
36288
36289// Message returns the exception's message.
36290func (s *InvalidDocument) Message() string {
36291	if s.Message_ != nil {
36292		return *s.Message_
36293	}
36294	return ""
36295}
36296
36297// OrigErr always returns nil, satisfies awserr.Error interface.
36298func (s *InvalidDocument) OrigErr() error {
36299	return nil
36300}
36301
36302func (s *InvalidDocument) Error() string {
36303	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36304}
36305
36306// Status code returns the HTTP status code for the request's response error.
36307func (s *InvalidDocument) StatusCode() int {
36308	return s.RespMetadata.StatusCode
36309}
36310
36311// RequestID returns the service's response RequestID for request.
36312func (s *InvalidDocument) RequestID() string {
36313	return s.RespMetadata.RequestID
36314}
36315
36316// The content for the document isn't valid.
36317type InvalidDocumentContent struct {
36318	_            struct{}                  `type:"structure"`
36319	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36320
36321	// A description of the validation error.
36322	Message_ *string `locationName:"Message" type:"string"`
36323}
36324
36325// String returns the string representation.
36326//
36327// API parameter values that are decorated as "sensitive" in the API will not
36328// be included in the string output. The member name will be present, but the
36329// value will be replaced with "sensitive".
36330func (s InvalidDocumentContent) String() string {
36331	return awsutil.Prettify(s)
36332}
36333
36334// GoString returns the string representation.
36335//
36336// API parameter values that are decorated as "sensitive" in the API will not
36337// be included in the string output. The member name will be present, but the
36338// value will be replaced with "sensitive".
36339func (s InvalidDocumentContent) GoString() string {
36340	return s.String()
36341}
36342
36343func newErrorInvalidDocumentContent(v protocol.ResponseMetadata) error {
36344	return &InvalidDocumentContent{
36345		RespMetadata: v,
36346	}
36347}
36348
36349// Code returns the exception type name.
36350func (s *InvalidDocumentContent) Code() string {
36351	return "InvalidDocumentContent"
36352}
36353
36354// Message returns the exception's message.
36355func (s *InvalidDocumentContent) Message() string {
36356	if s.Message_ != nil {
36357		return *s.Message_
36358	}
36359	return ""
36360}
36361
36362// OrigErr always returns nil, satisfies awserr.Error interface.
36363func (s *InvalidDocumentContent) OrigErr() error {
36364	return nil
36365}
36366
36367func (s *InvalidDocumentContent) Error() string {
36368	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36369}
36370
36371// Status code returns the HTTP status code for the request's response error.
36372func (s *InvalidDocumentContent) StatusCode() int {
36373	return s.RespMetadata.StatusCode
36374}
36375
36376// RequestID returns the service's response RequestID for request.
36377func (s *InvalidDocumentContent) RequestID() string {
36378	return s.RespMetadata.RequestID
36379}
36380
36381// You attempted to delete a document while it is still shared. You must stop
36382// sharing the document before you can delete it.
36383type InvalidDocumentOperation struct {
36384	_            struct{}                  `type:"structure"`
36385	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36386
36387	Message_ *string `locationName:"Message" type:"string"`
36388}
36389
36390// String returns the string representation.
36391//
36392// API parameter values that are decorated as "sensitive" in the API will not
36393// be included in the string output. The member name will be present, but the
36394// value will be replaced with "sensitive".
36395func (s InvalidDocumentOperation) String() string {
36396	return awsutil.Prettify(s)
36397}
36398
36399// GoString returns the string representation.
36400//
36401// API parameter values that are decorated as "sensitive" in the API will not
36402// be included in the string output. The member name will be present, but the
36403// value will be replaced with "sensitive".
36404func (s InvalidDocumentOperation) GoString() string {
36405	return s.String()
36406}
36407
36408func newErrorInvalidDocumentOperation(v protocol.ResponseMetadata) error {
36409	return &InvalidDocumentOperation{
36410		RespMetadata: v,
36411	}
36412}
36413
36414// Code returns the exception type name.
36415func (s *InvalidDocumentOperation) Code() string {
36416	return "InvalidDocumentOperation"
36417}
36418
36419// Message returns the exception's message.
36420func (s *InvalidDocumentOperation) Message() string {
36421	if s.Message_ != nil {
36422		return *s.Message_
36423	}
36424	return ""
36425}
36426
36427// OrigErr always returns nil, satisfies awserr.Error interface.
36428func (s *InvalidDocumentOperation) OrigErr() error {
36429	return nil
36430}
36431
36432func (s *InvalidDocumentOperation) Error() string {
36433	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36434}
36435
36436// Status code returns the HTTP status code for the request's response error.
36437func (s *InvalidDocumentOperation) StatusCode() int {
36438	return s.RespMetadata.StatusCode
36439}
36440
36441// RequestID returns the service's response RequestID for request.
36442func (s *InvalidDocumentOperation) RequestID() string {
36443	return s.RespMetadata.RequestID
36444}
36445
36446// The version of the document schema isn't supported.
36447type InvalidDocumentSchemaVersion struct {
36448	_            struct{}                  `type:"structure"`
36449	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36450
36451	Message_ *string `locationName:"Message" type:"string"`
36452}
36453
36454// String returns the string representation.
36455//
36456// API parameter values that are decorated as "sensitive" in the API will not
36457// be included in the string output. The member name will be present, but the
36458// value will be replaced with "sensitive".
36459func (s InvalidDocumentSchemaVersion) String() string {
36460	return awsutil.Prettify(s)
36461}
36462
36463// GoString returns the string representation.
36464//
36465// API parameter values that are decorated as "sensitive" in the API will not
36466// be included in the string output. The member name will be present, but the
36467// value will be replaced with "sensitive".
36468func (s InvalidDocumentSchemaVersion) GoString() string {
36469	return s.String()
36470}
36471
36472func newErrorInvalidDocumentSchemaVersion(v protocol.ResponseMetadata) error {
36473	return &InvalidDocumentSchemaVersion{
36474		RespMetadata: v,
36475	}
36476}
36477
36478// Code returns the exception type name.
36479func (s *InvalidDocumentSchemaVersion) Code() string {
36480	return "InvalidDocumentSchemaVersion"
36481}
36482
36483// Message returns the exception's message.
36484func (s *InvalidDocumentSchemaVersion) Message() string {
36485	if s.Message_ != nil {
36486		return *s.Message_
36487	}
36488	return ""
36489}
36490
36491// OrigErr always returns nil, satisfies awserr.Error interface.
36492func (s *InvalidDocumentSchemaVersion) OrigErr() error {
36493	return nil
36494}
36495
36496func (s *InvalidDocumentSchemaVersion) Error() string {
36497	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36498}
36499
36500// Status code returns the HTTP status code for the request's response error.
36501func (s *InvalidDocumentSchemaVersion) StatusCode() int {
36502	return s.RespMetadata.StatusCode
36503}
36504
36505// RequestID returns the service's response RequestID for request.
36506func (s *InvalidDocumentSchemaVersion) RequestID() string {
36507	return s.RespMetadata.RequestID
36508}
36509
36510// The SSM document type isn't valid. Valid document types are described in
36511// the DocumentType property.
36512type InvalidDocumentType struct {
36513	_            struct{}                  `type:"structure"`
36514	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36515
36516	Message_ *string `locationName:"Message" type:"string"`
36517}
36518
36519// String returns the string representation.
36520//
36521// API parameter values that are decorated as "sensitive" in the API will not
36522// be included in the string output. The member name will be present, but the
36523// value will be replaced with "sensitive".
36524func (s InvalidDocumentType) String() string {
36525	return awsutil.Prettify(s)
36526}
36527
36528// GoString returns the string representation.
36529//
36530// API parameter values that are decorated as "sensitive" in the API will not
36531// be included in the string output. The member name will be present, but the
36532// value will be replaced with "sensitive".
36533func (s InvalidDocumentType) GoString() string {
36534	return s.String()
36535}
36536
36537func newErrorInvalidDocumentType(v protocol.ResponseMetadata) error {
36538	return &InvalidDocumentType{
36539		RespMetadata: v,
36540	}
36541}
36542
36543// Code returns the exception type name.
36544func (s *InvalidDocumentType) Code() string {
36545	return "InvalidDocumentType"
36546}
36547
36548// Message returns the exception's message.
36549func (s *InvalidDocumentType) Message() string {
36550	if s.Message_ != nil {
36551		return *s.Message_
36552	}
36553	return ""
36554}
36555
36556// OrigErr always returns nil, satisfies awserr.Error interface.
36557func (s *InvalidDocumentType) OrigErr() error {
36558	return nil
36559}
36560
36561func (s *InvalidDocumentType) Error() string {
36562	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36563}
36564
36565// Status code returns the HTTP status code for the request's response error.
36566func (s *InvalidDocumentType) StatusCode() int {
36567	return s.RespMetadata.StatusCode
36568}
36569
36570// RequestID returns the service's response RequestID for request.
36571func (s *InvalidDocumentType) RequestID() string {
36572	return s.RespMetadata.RequestID
36573}
36574
36575// The document version isn't valid or doesn't exist.
36576type InvalidDocumentVersion struct {
36577	_            struct{}                  `type:"structure"`
36578	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36579
36580	Message_ *string `locationName:"Message" type:"string"`
36581}
36582
36583// String returns the string representation.
36584//
36585// API parameter values that are decorated as "sensitive" in the API will not
36586// be included in the string output. The member name will be present, but the
36587// value will be replaced with "sensitive".
36588func (s InvalidDocumentVersion) String() string {
36589	return awsutil.Prettify(s)
36590}
36591
36592// GoString returns the string representation.
36593//
36594// API parameter values that are decorated as "sensitive" in the API will not
36595// be included in the string output. The member name will be present, but the
36596// value will be replaced with "sensitive".
36597func (s InvalidDocumentVersion) GoString() string {
36598	return s.String()
36599}
36600
36601func newErrorInvalidDocumentVersion(v protocol.ResponseMetadata) error {
36602	return &InvalidDocumentVersion{
36603		RespMetadata: v,
36604	}
36605}
36606
36607// Code returns the exception type name.
36608func (s *InvalidDocumentVersion) Code() string {
36609	return "InvalidDocumentVersion"
36610}
36611
36612// Message returns the exception's message.
36613func (s *InvalidDocumentVersion) Message() string {
36614	if s.Message_ != nil {
36615		return *s.Message_
36616	}
36617	return ""
36618}
36619
36620// OrigErr always returns nil, satisfies awserr.Error interface.
36621func (s *InvalidDocumentVersion) OrigErr() error {
36622	return nil
36623}
36624
36625func (s *InvalidDocumentVersion) Error() string {
36626	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36627}
36628
36629// Status code returns the HTTP status code for the request's response error.
36630func (s *InvalidDocumentVersion) StatusCode() int {
36631	return s.RespMetadata.StatusCode
36632}
36633
36634// RequestID returns the service's response RequestID for request.
36635func (s *InvalidDocumentVersion) RequestID() string {
36636	return s.RespMetadata.RequestID
36637}
36638
36639// The filter name isn't valid. Verify the you entered the correct name and
36640// try again.
36641type InvalidFilter struct {
36642	_            struct{}                  `type:"structure"`
36643	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36644
36645	Message_ *string `locationName:"Message" type:"string"`
36646}
36647
36648// String returns the string representation.
36649//
36650// API parameter values that are decorated as "sensitive" in the API will not
36651// be included in the string output. The member name will be present, but the
36652// value will be replaced with "sensitive".
36653func (s InvalidFilter) String() string {
36654	return awsutil.Prettify(s)
36655}
36656
36657// GoString returns the string representation.
36658//
36659// API parameter values that are decorated as "sensitive" in the API will not
36660// be included in the string output. The member name will be present, but the
36661// value will be replaced with "sensitive".
36662func (s InvalidFilter) GoString() string {
36663	return s.String()
36664}
36665
36666func newErrorInvalidFilter(v protocol.ResponseMetadata) error {
36667	return &InvalidFilter{
36668		RespMetadata: v,
36669	}
36670}
36671
36672// Code returns the exception type name.
36673func (s *InvalidFilter) Code() string {
36674	return "InvalidFilter"
36675}
36676
36677// Message returns the exception's message.
36678func (s *InvalidFilter) Message() string {
36679	if s.Message_ != nil {
36680		return *s.Message_
36681	}
36682	return ""
36683}
36684
36685// OrigErr always returns nil, satisfies awserr.Error interface.
36686func (s *InvalidFilter) OrigErr() error {
36687	return nil
36688}
36689
36690func (s *InvalidFilter) Error() string {
36691	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36692}
36693
36694// Status code returns the HTTP status code for the request's response error.
36695func (s *InvalidFilter) StatusCode() int {
36696	return s.RespMetadata.StatusCode
36697}
36698
36699// RequestID returns the service's response RequestID for request.
36700func (s *InvalidFilter) RequestID() string {
36701	return s.RespMetadata.RequestID
36702}
36703
36704// The specified key isn't valid.
36705type InvalidFilterKey struct {
36706	_            struct{}                  `type:"structure"`
36707	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36708
36709	Message_ *string `locationName:"message" type:"string"`
36710}
36711
36712// String returns the string representation.
36713//
36714// API parameter values that are decorated as "sensitive" in the API will not
36715// be included in the string output. The member name will be present, but the
36716// value will be replaced with "sensitive".
36717func (s InvalidFilterKey) String() string {
36718	return awsutil.Prettify(s)
36719}
36720
36721// GoString returns the string representation.
36722//
36723// API parameter values that are decorated as "sensitive" in the API will not
36724// be included in the string output. The member name will be present, but the
36725// value will be replaced with "sensitive".
36726func (s InvalidFilterKey) GoString() string {
36727	return s.String()
36728}
36729
36730func newErrorInvalidFilterKey(v protocol.ResponseMetadata) error {
36731	return &InvalidFilterKey{
36732		RespMetadata: v,
36733	}
36734}
36735
36736// Code returns the exception type name.
36737func (s *InvalidFilterKey) Code() string {
36738	return "InvalidFilterKey"
36739}
36740
36741// Message returns the exception's message.
36742func (s *InvalidFilterKey) Message() string {
36743	if s.Message_ != nil {
36744		return *s.Message_
36745	}
36746	return ""
36747}
36748
36749// OrigErr always returns nil, satisfies awserr.Error interface.
36750func (s *InvalidFilterKey) OrigErr() error {
36751	return nil
36752}
36753
36754func (s *InvalidFilterKey) Error() string {
36755	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36756}
36757
36758// Status code returns the HTTP status code for the request's response error.
36759func (s *InvalidFilterKey) StatusCode() int {
36760	return s.RespMetadata.StatusCode
36761}
36762
36763// RequestID returns the service's response RequestID for request.
36764func (s *InvalidFilterKey) RequestID() string {
36765	return s.RespMetadata.RequestID
36766}
36767
36768// The specified filter option isn't valid. Valid options are Equals and BeginsWith.
36769// For Path filter, valid options are Recursive and OneLevel.
36770type InvalidFilterOption struct {
36771	_            struct{}                  `type:"structure"`
36772	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36773
36774	// The specified filter option isn't valid. Valid options are Equals and BeginsWith.
36775	// For Path filter, valid options are Recursive and OneLevel.
36776	Message_ *string `locationName:"message" type:"string"`
36777}
36778
36779// String returns the string representation.
36780//
36781// API parameter values that are decorated as "sensitive" in the API will not
36782// be included in the string output. The member name will be present, but the
36783// value will be replaced with "sensitive".
36784func (s InvalidFilterOption) String() string {
36785	return awsutil.Prettify(s)
36786}
36787
36788// GoString returns the string representation.
36789//
36790// API parameter values that are decorated as "sensitive" in the API will not
36791// be included in the string output. The member name will be present, but the
36792// value will be replaced with "sensitive".
36793func (s InvalidFilterOption) GoString() string {
36794	return s.String()
36795}
36796
36797func newErrorInvalidFilterOption(v protocol.ResponseMetadata) error {
36798	return &InvalidFilterOption{
36799		RespMetadata: v,
36800	}
36801}
36802
36803// Code returns the exception type name.
36804func (s *InvalidFilterOption) Code() string {
36805	return "InvalidFilterOption"
36806}
36807
36808// Message returns the exception's message.
36809func (s *InvalidFilterOption) Message() string {
36810	if s.Message_ != nil {
36811		return *s.Message_
36812	}
36813	return ""
36814}
36815
36816// OrigErr always returns nil, satisfies awserr.Error interface.
36817func (s *InvalidFilterOption) OrigErr() error {
36818	return nil
36819}
36820
36821func (s *InvalidFilterOption) Error() string {
36822	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36823}
36824
36825// Status code returns the HTTP status code for the request's response error.
36826func (s *InvalidFilterOption) StatusCode() int {
36827	return s.RespMetadata.StatusCode
36828}
36829
36830// RequestID returns the service's response RequestID for request.
36831func (s *InvalidFilterOption) RequestID() string {
36832	return s.RespMetadata.RequestID
36833}
36834
36835// The filter value isn't valid. Verify the value and try again.
36836type InvalidFilterValue struct {
36837	_            struct{}                  `type:"structure"`
36838	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36839
36840	Message_ *string `locationName:"Message" type:"string"`
36841}
36842
36843// String returns the string representation.
36844//
36845// API parameter values that are decorated as "sensitive" in the API will not
36846// be included in the string output. The member name will be present, but the
36847// value will be replaced with "sensitive".
36848func (s InvalidFilterValue) String() string {
36849	return awsutil.Prettify(s)
36850}
36851
36852// GoString returns the string representation.
36853//
36854// API parameter values that are decorated as "sensitive" in the API will not
36855// be included in the string output. The member name will be present, but the
36856// value will be replaced with "sensitive".
36857func (s InvalidFilterValue) GoString() string {
36858	return s.String()
36859}
36860
36861func newErrorInvalidFilterValue(v protocol.ResponseMetadata) error {
36862	return &InvalidFilterValue{
36863		RespMetadata: v,
36864	}
36865}
36866
36867// Code returns the exception type name.
36868func (s *InvalidFilterValue) Code() string {
36869	return "InvalidFilterValue"
36870}
36871
36872// Message returns the exception's message.
36873func (s *InvalidFilterValue) Message() string {
36874	if s.Message_ != nil {
36875		return *s.Message_
36876	}
36877	return ""
36878}
36879
36880// OrigErr always returns nil, satisfies awserr.Error interface.
36881func (s *InvalidFilterValue) OrigErr() error {
36882	return nil
36883}
36884
36885func (s *InvalidFilterValue) Error() string {
36886	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36887}
36888
36889// Status code returns the HTTP status code for the request's response error.
36890func (s *InvalidFilterValue) StatusCode() int {
36891	return s.RespMetadata.StatusCode
36892}
36893
36894// RequestID returns the service's response RequestID for request.
36895func (s *InvalidFilterValue) RequestID() string {
36896	return s.RespMetadata.RequestID
36897}
36898
36899// The following problems can cause this exception:
36900//
36901//    * You don't have permission to access the instance.
36902//
36903//    * Amazon Web Services Systems Manager Agent(SSM Agent) isn't running.
36904//    Verify that SSM Agent is running.
36905//
36906//    * SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM
36907//    Agent.
36908//
36909//    * The instance isn't in valid state. Valid states are: Running, Pending,
36910//    Stopped, and Stopping. Invalid states are: Shutting-down and Terminated.
36911type InvalidInstanceId struct {
36912	_            struct{}                  `type:"structure"`
36913	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36914
36915	Message_ *string `locationName:"Message" type:"string"`
36916}
36917
36918// String returns the string representation.
36919//
36920// API parameter values that are decorated as "sensitive" in the API will not
36921// be included in the string output. The member name will be present, but the
36922// value will be replaced with "sensitive".
36923func (s InvalidInstanceId) String() string {
36924	return awsutil.Prettify(s)
36925}
36926
36927// GoString returns the string representation.
36928//
36929// API parameter values that are decorated as "sensitive" in the API will not
36930// be included in the string output. The member name will be present, but the
36931// value will be replaced with "sensitive".
36932func (s InvalidInstanceId) GoString() string {
36933	return s.String()
36934}
36935
36936func newErrorInvalidInstanceId(v protocol.ResponseMetadata) error {
36937	return &InvalidInstanceId{
36938		RespMetadata: v,
36939	}
36940}
36941
36942// Code returns the exception type name.
36943func (s *InvalidInstanceId) Code() string {
36944	return "InvalidInstanceId"
36945}
36946
36947// Message returns the exception's message.
36948func (s *InvalidInstanceId) Message() string {
36949	if s.Message_ != nil {
36950		return *s.Message_
36951	}
36952	return ""
36953}
36954
36955// OrigErr always returns nil, satisfies awserr.Error interface.
36956func (s *InvalidInstanceId) OrigErr() error {
36957	return nil
36958}
36959
36960func (s *InvalidInstanceId) Error() string {
36961	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
36962}
36963
36964// Status code returns the HTTP status code for the request's response error.
36965func (s *InvalidInstanceId) StatusCode() int {
36966	return s.RespMetadata.StatusCode
36967}
36968
36969// RequestID returns the service's response RequestID for request.
36970func (s *InvalidInstanceId) RequestID() string {
36971	return s.RespMetadata.RequestID
36972}
36973
36974// The specified filter value isn't valid.
36975type InvalidInstanceInformationFilterValue struct {
36976	_            struct{}                  `type:"structure"`
36977	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
36978
36979	Message_ *string `locationName:"message" type:"string"`
36980}
36981
36982// String returns the string representation.
36983//
36984// API parameter values that are decorated as "sensitive" in the API will not
36985// be included in the string output. The member name will be present, but the
36986// value will be replaced with "sensitive".
36987func (s InvalidInstanceInformationFilterValue) String() string {
36988	return awsutil.Prettify(s)
36989}
36990
36991// GoString returns the string representation.
36992//
36993// API parameter values that are decorated as "sensitive" in the API will not
36994// be included in the string output. The member name will be present, but the
36995// value will be replaced with "sensitive".
36996func (s InvalidInstanceInformationFilterValue) GoString() string {
36997	return s.String()
36998}
36999
37000func newErrorInvalidInstanceInformationFilterValue(v protocol.ResponseMetadata) error {
37001	return &InvalidInstanceInformationFilterValue{
37002		RespMetadata: v,
37003	}
37004}
37005
37006// Code returns the exception type name.
37007func (s *InvalidInstanceInformationFilterValue) Code() string {
37008	return "InvalidInstanceInformationFilterValue"
37009}
37010
37011// Message returns the exception's message.
37012func (s *InvalidInstanceInformationFilterValue) Message() string {
37013	if s.Message_ != nil {
37014		return *s.Message_
37015	}
37016	return ""
37017}
37018
37019// OrigErr always returns nil, satisfies awserr.Error interface.
37020func (s *InvalidInstanceInformationFilterValue) OrigErr() error {
37021	return nil
37022}
37023
37024func (s *InvalidInstanceInformationFilterValue) Error() string {
37025	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37026}
37027
37028// Status code returns the HTTP status code for the request's response error.
37029func (s *InvalidInstanceInformationFilterValue) StatusCode() int {
37030	return s.RespMetadata.StatusCode
37031}
37032
37033// RequestID returns the service's response RequestID for request.
37034func (s *InvalidInstanceInformationFilterValue) RequestID() string {
37035	return s.RespMetadata.RequestID
37036}
37037
37038// The specified inventory group isn't valid.
37039type InvalidInventoryGroupException struct {
37040	_            struct{}                  `type:"structure"`
37041	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37042
37043	Message_ *string `locationName:"Message" type:"string"`
37044}
37045
37046// String returns the string representation.
37047//
37048// API parameter values that are decorated as "sensitive" in the API will not
37049// be included in the string output. The member name will be present, but the
37050// value will be replaced with "sensitive".
37051func (s InvalidInventoryGroupException) String() string {
37052	return awsutil.Prettify(s)
37053}
37054
37055// GoString returns the string representation.
37056//
37057// API parameter values that are decorated as "sensitive" in the API will not
37058// be included in the string output. The member name will be present, but the
37059// value will be replaced with "sensitive".
37060func (s InvalidInventoryGroupException) GoString() string {
37061	return s.String()
37062}
37063
37064func newErrorInvalidInventoryGroupException(v protocol.ResponseMetadata) error {
37065	return &InvalidInventoryGroupException{
37066		RespMetadata: v,
37067	}
37068}
37069
37070// Code returns the exception type name.
37071func (s *InvalidInventoryGroupException) Code() string {
37072	return "InvalidInventoryGroupException"
37073}
37074
37075// Message returns the exception's message.
37076func (s *InvalidInventoryGroupException) Message() string {
37077	if s.Message_ != nil {
37078		return *s.Message_
37079	}
37080	return ""
37081}
37082
37083// OrigErr always returns nil, satisfies awserr.Error interface.
37084func (s *InvalidInventoryGroupException) OrigErr() error {
37085	return nil
37086}
37087
37088func (s *InvalidInventoryGroupException) Error() string {
37089	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37090}
37091
37092// Status code returns the HTTP status code for the request's response error.
37093func (s *InvalidInventoryGroupException) StatusCode() int {
37094	return s.RespMetadata.StatusCode
37095}
37096
37097// RequestID returns the service's response RequestID for request.
37098func (s *InvalidInventoryGroupException) RequestID() string {
37099	return s.RespMetadata.RequestID
37100}
37101
37102// You specified invalid keys or values in the Context attribute for InventoryItem.
37103// Verify the keys and values, and try again.
37104type InvalidInventoryItemContextException struct {
37105	_            struct{}                  `type:"structure"`
37106	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37107
37108	Message_ *string `locationName:"Message" type:"string"`
37109}
37110
37111// String returns the string representation.
37112//
37113// API parameter values that are decorated as "sensitive" in the API will not
37114// be included in the string output. The member name will be present, but the
37115// value will be replaced with "sensitive".
37116func (s InvalidInventoryItemContextException) String() string {
37117	return awsutil.Prettify(s)
37118}
37119
37120// GoString returns the string representation.
37121//
37122// API parameter values that are decorated as "sensitive" in the API will not
37123// be included in the string output. The member name will be present, but the
37124// value will be replaced with "sensitive".
37125func (s InvalidInventoryItemContextException) GoString() string {
37126	return s.String()
37127}
37128
37129func newErrorInvalidInventoryItemContextException(v protocol.ResponseMetadata) error {
37130	return &InvalidInventoryItemContextException{
37131		RespMetadata: v,
37132	}
37133}
37134
37135// Code returns the exception type name.
37136func (s *InvalidInventoryItemContextException) Code() string {
37137	return "InvalidInventoryItemContextException"
37138}
37139
37140// Message returns the exception's message.
37141func (s *InvalidInventoryItemContextException) Message() string {
37142	if s.Message_ != nil {
37143		return *s.Message_
37144	}
37145	return ""
37146}
37147
37148// OrigErr always returns nil, satisfies awserr.Error interface.
37149func (s *InvalidInventoryItemContextException) OrigErr() error {
37150	return nil
37151}
37152
37153func (s *InvalidInventoryItemContextException) Error() string {
37154	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37155}
37156
37157// Status code returns the HTTP status code for the request's response error.
37158func (s *InvalidInventoryItemContextException) StatusCode() int {
37159	return s.RespMetadata.StatusCode
37160}
37161
37162// RequestID returns the service's response RequestID for request.
37163func (s *InvalidInventoryItemContextException) RequestID() string {
37164	return s.RespMetadata.RequestID
37165}
37166
37167// The request isn't valid.
37168type InvalidInventoryRequestException struct {
37169	_            struct{}                  `type:"structure"`
37170	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37171
37172	Message_ *string `locationName:"Message" type:"string"`
37173}
37174
37175// String returns the string representation.
37176//
37177// API parameter values that are decorated as "sensitive" in the API will not
37178// be included in the string output. The member name will be present, but the
37179// value will be replaced with "sensitive".
37180func (s InvalidInventoryRequestException) String() string {
37181	return awsutil.Prettify(s)
37182}
37183
37184// GoString returns the string representation.
37185//
37186// API parameter values that are decorated as "sensitive" in the API will not
37187// be included in the string output. The member name will be present, but the
37188// value will be replaced with "sensitive".
37189func (s InvalidInventoryRequestException) GoString() string {
37190	return s.String()
37191}
37192
37193func newErrorInvalidInventoryRequestException(v protocol.ResponseMetadata) error {
37194	return &InvalidInventoryRequestException{
37195		RespMetadata: v,
37196	}
37197}
37198
37199// Code returns the exception type name.
37200func (s *InvalidInventoryRequestException) Code() string {
37201	return "InvalidInventoryRequestException"
37202}
37203
37204// Message returns the exception's message.
37205func (s *InvalidInventoryRequestException) Message() string {
37206	if s.Message_ != nil {
37207		return *s.Message_
37208	}
37209	return ""
37210}
37211
37212// OrigErr always returns nil, satisfies awserr.Error interface.
37213func (s *InvalidInventoryRequestException) OrigErr() error {
37214	return nil
37215}
37216
37217func (s *InvalidInventoryRequestException) Error() string {
37218	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37219}
37220
37221// Status code returns the HTTP status code for the request's response error.
37222func (s *InvalidInventoryRequestException) StatusCode() int {
37223	return s.RespMetadata.StatusCode
37224}
37225
37226// RequestID returns the service's response RequestID for request.
37227func (s *InvalidInventoryRequestException) RequestID() string {
37228	return s.RespMetadata.RequestID
37229}
37230
37231// One or more content items isn't valid.
37232type InvalidItemContentException struct {
37233	_            struct{}                  `type:"structure"`
37234	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37235
37236	Message_ *string `locationName:"Message" type:"string"`
37237
37238	TypeName *string `min:"1" type:"string"`
37239}
37240
37241// String returns the string representation.
37242//
37243// API parameter values that are decorated as "sensitive" in the API will not
37244// be included in the string output. The member name will be present, but the
37245// value will be replaced with "sensitive".
37246func (s InvalidItemContentException) String() string {
37247	return awsutil.Prettify(s)
37248}
37249
37250// GoString returns the string representation.
37251//
37252// API parameter values that are decorated as "sensitive" in the API will not
37253// be included in the string output. The member name will be present, but the
37254// value will be replaced with "sensitive".
37255func (s InvalidItemContentException) GoString() string {
37256	return s.String()
37257}
37258
37259func newErrorInvalidItemContentException(v protocol.ResponseMetadata) error {
37260	return &InvalidItemContentException{
37261		RespMetadata: v,
37262	}
37263}
37264
37265// Code returns the exception type name.
37266func (s *InvalidItemContentException) Code() string {
37267	return "InvalidItemContentException"
37268}
37269
37270// Message returns the exception's message.
37271func (s *InvalidItemContentException) Message() string {
37272	if s.Message_ != nil {
37273		return *s.Message_
37274	}
37275	return ""
37276}
37277
37278// OrigErr always returns nil, satisfies awserr.Error interface.
37279func (s *InvalidItemContentException) OrigErr() error {
37280	return nil
37281}
37282
37283func (s *InvalidItemContentException) Error() string {
37284	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
37285}
37286
37287// Status code returns the HTTP status code for the request's response error.
37288func (s *InvalidItemContentException) StatusCode() int {
37289	return s.RespMetadata.StatusCode
37290}
37291
37292// RequestID returns the service's response RequestID for request.
37293func (s *InvalidItemContentException) RequestID() string {
37294	return s.RespMetadata.RequestID
37295}
37296
37297// The query key ID isn't valid.
37298type InvalidKeyId struct {
37299	_            struct{}                  `type:"structure"`
37300	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37301
37302	Message_ *string `locationName:"message" type:"string"`
37303}
37304
37305// String returns the string representation.
37306//
37307// API parameter values that are decorated as "sensitive" in the API will not
37308// be included in the string output. The member name will be present, but the
37309// value will be replaced with "sensitive".
37310func (s InvalidKeyId) String() string {
37311	return awsutil.Prettify(s)
37312}
37313
37314// GoString returns the string representation.
37315//
37316// API parameter values that are decorated as "sensitive" in the API will not
37317// be included in the string output. The member name will be present, but the
37318// value will be replaced with "sensitive".
37319func (s InvalidKeyId) GoString() string {
37320	return s.String()
37321}
37322
37323func newErrorInvalidKeyId(v protocol.ResponseMetadata) error {
37324	return &InvalidKeyId{
37325		RespMetadata: v,
37326	}
37327}
37328
37329// Code returns the exception type name.
37330func (s *InvalidKeyId) Code() string {
37331	return "InvalidKeyId"
37332}
37333
37334// Message returns the exception's message.
37335func (s *InvalidKeyId) Message() string {
37336	if s.Message_ != nil {
37337		return *s.Message_
37338	}
37339	return ""
37340}
37341
37342// OrigErr always returns nil, satisfies awserr.Error interface.
37343func (s *InvalidKeyId) OrigErr() error {
37344	return nil
37345}
37346
37347func (s *InvalidKeyId) Error() string {
37348	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37349}
37350
37351// Status code returns the HTTP status code for the request's response error.
37352func (s *InvalidKeyId) StatusCode() int {
37353	return s.RespMetadata.StatusCode
37354}
37355
37356// RequestID returns the service's response RequestID for request.
37357func (s *InvalidKeyId) RequestID() string {
37358	return s.RespMetadata.RequestID
37359}
37360
37361// The specified token isn't valid.
37362type InvalidNextToken struct {
37363	_            struct{}                  `type:"structure"`
37364	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37365
37366	Message_ *string `locationName:"Message" type:"string"`
37367}
37368
37369// String returns the string representation.
37370//
37371// API parameter values that are decorated as "sensitive" in the API will not
37372// be included in the string output. The member name will be present, but the
37373// value will be replaced with "sensitive".
37374func (s InvalidNextToken) String() string {
37375	return awsutil.Prettify(s)
37376}
37377
37378// GoString returns the string representation.
37379//
37380// API parameter values that are decorated as "sensitive" in the API will not
37381// be included in the string output. The member name will be present, but the
37382// value will be replaced with "sensitive".
37383func (s InvalidNextToken) GoString() string {
37384	return s.String()
37385}
37386
37387func newErrorInvalidNextToken(v protocol.ResponseMetadata) error {
37388	return &InvalidNextToken{
37389		RespMetadata: v,
37390	}
37391}
37392
37393// Code returns the exception type name.
37394func (s *InvalidNextToken) Code() string {
37395	return "InvalidNextToken"
37396}
37397
37398// Message returns the exception's message.
37399func (s *InvalidNextToken) Message() string {
37400	if s.Message_ != nil {
37401		return *s.Message_
37402	}
37403	return ""
37404}
37405
37406// OrigErr always returns nil, satisfies awserr.Error interface.
37407func (s *InvalidNextToken) OrigErr() error {
37408	return nil
37409}
37410
37411func (s *InvalidNextToken) Error() string {
37412	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37413}
37414
37415// Status code returns the HTTP status code for the request's response error.
37416func (s *InvalidNextToken) StatusCode() int {
37417	return s.RespMetadata.StatusCode
37418}
37419
37420// RequestID returns the service's response RequestID for request.
37421func (s *InvalidNextToken) RequestID() string {
37422	return s.RespMetadata.RequestID
37423}
37424
37425// One or more configuration items isn't valid. Verify that a valid Amazon Resource
37426// Name (ARN) was provided for an Amazon Simple Notification Service topic.
37427type InvalidNotificationConfig struct {
37428	_            struct{}                  `type:"structure"`
37429	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37430
37431	Message_ *string `locationName:"Message" type:"string"`
37432}
37433
37434// String returns the string representation.
37435//
37436// API parameter values that are decorated as "sensitive" in the API will not
37437// be included in the string output. The member name will be present, but the
37438// value will be replaced with "sensitive".
37439func (s InvalidNotificationConfig) String() string {
37440	return awsutil.Prettify(s)
37441}
37442
37443// GoString returns the string representation.
37444//
37445// API parameter values that are decorated as "sensitive" in the API will not
37446// be included in the string output. The member name will be present, but the
37447// value will be replaced with "sensitive".
37448func (s InvalidNotificationConfig) GoString() string {
37449	return s.String()
37450}
37451
37452func newErrorInvalidNotificationConfig(v protocol.ResponseMetadata) error {
37453	return &InvalidNotificationConfig{
37454		RespMetadata: v,
37455	}
37456}
37457
37458// Code returns the exception type name.
37459func (s *InvalidNotificationConfig) Code() string {
37460	return "InvalidNotificationConfig"
37461}
37462
37463// Message returns the exception's message.
37464func (s *InvalidNotificationConfig) Message() string {
37465	if s.Message_ != nil {
37466		return *s.Message_
37467	}
37468	return ""
37469}
37470
37471// OrigErr always returns nil, satisfies awserr.Error interface.
37472func (s *InvalidNotificationConfig) OrigErr() error {
37473	return nil
37474}
37475
37476func (s *InvalidNotificationConfig) Error() string {
37477	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37478}
37479
37480// Status code returns the HTTP status code for the request's response error.
37481func (s *InvalidNotificationConfig) StatusCode() int {
37482	return s.RespMetadata.StatusCode
37483}
37484
37485// RequestID returns the service's response RequestID for request.
37486func (s *InvalidNotificationConfig) RequestID() string {
37487	return s.RespMetadata.RequestID
37488}
37489
37490// The delete inventory option specified isn't valid. Verify the option and
37491// try again.
37492type InvalidOptionException struct {
37493	_            struct{}                  `type:"structure"`
37494	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37495
37496	Message_ *string `locationName:"Message" type:"string"`
37497}
37498
37499// String returns the string representation.
37500//
37501// API parameter values that are decorated as "sensitive" in the API will not
37502// be included in the string output. The member name will be present, but the
37503// value will be replaced with "sensitive".
37504func (s InvalidOptionException) String() string {
37505	return awsutil.Prettify(s)
37506}
37507
37508// GoString returns the string representation.
37509//
37510// API parameter values that are decorated as "sensitive" in the API will not
37511// be included in the string output. The member name will be present, but the
37512// value will be replaced with "sensitive".
37513func (s InvalidOptionException) GoString() string {
37514	return s.String()
37515}
37516
37517func newErrorInvalidOptionException(v protocol.ResponseMetadata) error {
37518	return &InvalidOptionException{
37519		RespMetadata: v,
37520	}
37521}
37522
37523// Code returns the exception type name.
37524func (s *InvalidOptionException) Code() string {
37525	return "InvalidOptionException"
37526}
37527
37528// Message returns the exception's message.
37529func (s *InvalidOptionException) Message() string {
37530	if s.Message_ != nil {
37531		return *s.Message_
37532	}
37533	return ""
37534}
37535
37536// OrigErr always returns nil, satisfies awserr.Error interface.
37537func (s *InvalidOptionException) OrigErr() error {
37538	return nil
37539}
37540
37541func (s *InvalidOptionException) Error() string {
37542	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37543}
37544
37545// Status code returns the HTTP status code for the request's response error.
37546func (s *InvalidOptionException) StatusCode() int {
37547	return s.RespMetadata.StatusCode
37548}
37549
37550// RequestID returns the service's response RequestID for request.
37551func (s *InvalidOptionException) RequestID() string {
37552	return s.RespMetadata.RequestID
37553}
37554
37555// The S3 bucket doesn't exist.
37556type InvalidOutputFolder struct {
37557	_            struct{}                  `type:"structure"`
37558	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37559
37560	Message_ *string `locationName:"message" type:"string"`
37561}
37562
37563// String returns the string representation.
37564//
37565// API parameter values that are decorated as "sensitive" in the API will not
37566// be included in the string output. The member name will be present, but the
37567// value will be replaced with "sensitive".
37568func (s InvalidOutputFolder) String() string {
37569	return awsutil.Prettify(s)
37570}
37571
37572// GoString returns the string representation.
37573//
37574// API parameter values that are decorated as "sensitive" in the API will not
37575// be included in the string output. The member name will be present, but the
37576// value will be replaced with "sensitive".
37577func (s InvalidOutputFolder) GoString() string {
37578	return s.String()
37579}
37580
37581func newErrorInvalidOutputFolder(v protocol.ResponseMetadata) error {
37582	return &InvalidOutputFolder{
37583		RespMetadata: v,
37584	}
37585}
37586
37587// Code returns the exception type name.
37588func (s *InvalidOutputFolder) Code() string {
37589	return "InvalidOutputFolder"
37590}
37591
37592// Message returns the exception's message.
37593func (s *InvalidOutputFolder) Message() string {
37594	if s.Message_ != nil {
37595		return *s.Message_
37596	}
37597	return ""
37598}
37599
37600// OrigErr always returns nil, satisfies awserr.Error interface.
37601func (s *InvalidOutputFolder) OrigErr() error {
37602	return nil
37603}
37604
37605func (s *InvalidOutputFolder) Error() string {
37606	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37607}
37608
37609// Status code returns the HTTP status code for the request's response error.
37610func (s *InvalidOutputFolder) StatusCode() int {
37611	return s.RespMetadata.StatusCode
37612}
37613
37614// RequestID returns the service's response RequestID for request.
37615func (s *InvalidOutputFolder) RequestID() string {
37616	return s.RespMetadata.RequestID
37617}
37618
37619// The output location isn't valid or doesn't exist.
37620type InvalidOutputLocation struct {
37621	_            struct{}                  `type:"structure"`
37622	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37623
37624	Message_ *string `locationName:"message" type:"string"`
37625}
37626
37627// String returns the string representation.
37628//
37629// API parameter values that are decorated as "sensitive" in the API will not
37630// be included in the string output. The member name will be present, but the
37631// value will be replaced with "sensitive".
37632func (s InvalidOutputLocation) String() string {
37633	return awsutil.Prettify(s)
37634}
37635
37636// GoString returns the string representation.
37637//
37638// API parameter values that are decorated as "sensitive" in the API will not
37639// be included in the string output. The member name will be present, but the
37640// value will be replaced with "sensitive".
37641func (s InvalidOutputLocation) GoString() string {
37642	return s.String()
37643}
37644
37645func newErrorInvalidOutputLocation(v protocol.ResponseMetadata) error {
37646	return &InvalidOutputLocation{
37647		RespMetadata: v,
37648	}
37649}
37650
37651// Code returns the exception type name.
37652func (s *InvalidOutputLocation) Code() string {
37653	return "InvalidOutputLocation"
37654}
37655
37656// Message returns the exception's message.
37657func (s *InvalidOutputLocation) Message() string {
37658	if s.Message_ != nil {
37659		return *s.Message_
37660	}
37661	return ""
37662}
37663
37664// OrigErr always returns nil, satisfies awserr.Error interface.
37665func (s *InvalidOutputLocation) OrigErr() error {
37666	return nil
37667}
37668
37669func (s *InvalidOutputLocation) Error() string {
37670	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37671}
37672
37673// Status code returns the HTTP status code for the request's response error.
37674func (s *InvalidOutputLocation) StatusCode() int {
37675	return s.RespMetadata.StatusCode
37676}
37677
37678// RequestID returns the service's response RequestID for request.
37679func (s *InvalidOutputLocation) RequestID() string {
37680	return s.RespMetadata.RequestID
37681}
37682
37683// You must specify values for all required parameters in the Amazon Web Services
37684// Systems Manager document (SSM document). You can only supply values to parameters
37685// defined in the SSM document.
37686type InvalidParameters struct {
37687	_            struct{}                  `type:"structure"`
37688	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37689
37690	Message_ *string `locationName:"Message" type:"string"`
37691}
37692
37693// String returns the string representation.
37694//
37695// API parameter values that are decorated as "sensitive" in the API will not
37696// be included in the string output. The member name will be present, but the
37697// value will be replaced with "sensitive".
37698func (s InvalidParameters) String() string {
37699	return awsutil.Prettify(s)
37700}
37701
37702// GoString returns the string representation.
37703//
37704// API parameter values that are decorated as "sensitive" in the API will not
37705// be included in the string output. The member name will be present, but the
37706// value will be replaced with "sensitive".
37707func (s InvalidParameters) GoString() string {
37708	return s.String()
37709}
37710
37711func newErrorInvalidParameters(v protocol.ResponseMetadata) error {
37712	return &InvalidParameters{
37713		RespMetadata: v,
37714	}
37715}
37716
37717// Code returns the exception type name.
37718func (s *InvalidParameters) Code() string {
37719	return "InvalidParameters"
37720}
37721
37722// Message returns the exception's message.
37723func (s *InvalidParameters) Message() string {
37724	if s.Message_ != nil {
37725		return *s.Message_
37726	}
37727	return ""
37728}
37729
37730// OrigErr always returns nil, satisfies awserr.Error interface.
37731func (s *InvalidParameters) OrigErr() error {
37732	return nil
37733}
37734
37735func (s *InvalidParameters) Error() string {
37736	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37737}
37738
37739// Status code returns the HTTP status code for the request's response error.
37740func (s *InvalidParameters) StatusCode() int {
37741	return s.RespMetadata.StatusCode
37742}
37743
37744// RequestID returns the service's response RequestID for request.
37745func (s *InvalidParameters) RequestID() string {
37746	return s.RespMetadata.RequestID
37747}
37748
37749// The permission type isn't supported. Share is the only supported permission
37750// type.
37751type InvalidPermissionType struct {
37752	_            struct{}                  `type:"structure"`
37753	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37754
37755	Message_ *string `locationName:"Message" type:"string"`
37756}
37757
37758// String returns the string representation.
37759//
37760// API parameter values that are decorated as "sensitive" in the API will not
37761// be included in the string output. The member name will be present, but the
37762// value will be replaced with "sensitive".
37763func (s InvalidPermissionType) String() string {
37764	return awsutil.Prettify(s)
37765}
37766
37767// GoString returns the string representation.
37768//
37769// API parameter values that are decorated as "sensitive" in the API will not
37770// be included in the string output. The member name will be present, but the
37771// value will be replaced with "sensitive".
37772func (s InvalidPermissionType) GoString() string {
37773	return s.String()
37774}
37775
37776func newErrorInvalidPermissionType(v protocol.ResponseMetadata) error {
37777	return &InvalidPermissionType{
37778		RespMetadata: v,
37779	}
37780}
37781
37782// Code returns the exception type name.
37783func (s *InvalidPermissionType) Code() string {
37784	return "InvalidPermissionType"
37785}
37786
37787// Message returns the exception's message.
37788func (s *InvalidPermissionType) Message() string {
37789	if s.Message_ != nil {
37790		return *s.Message_
37791	}
37792	return ""
37793}
37794
37795// OrigErr always returns nil, satisfies awserr.Error interface.
37796func (s *InvalidPermissionType) OrigErr() error {
37797	return nil
37798}
37799
37800func (s *InvalidPermissionType) Error() string {
37801	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37802}
37803
37804// Status code returns the HTTP status code for the request's response error.
37805func (s *InvalidPermissionType) StatusCode() int {
37806	return s.RespMetadata.StatusCode
37807}
37808
37809// RequestID returns the service's response RequestID for request.
37810func (s *InvalidPermissionType) RequestID() string {
37811	return s.RespMetadata.RequestID
37812}
37813
37814// The plugin name isn't valid.
37815type InvalidPluginName struct {
37816	_            struct{}                  `type:"structure"`
37817	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37818
37819	Message_ *string `locationName:"message" type:"string"`
37820}
37821
37822// String returns the string representation.
37823//
37824// API parameter values that are decorated as "sensitive" in the API will not
37825// be included in the string output. The member name will be present, but the
37826// value will be replaced with "sensitive".
37827func (s InvalidPluginName) String() string {
37828	return awsutil.Prettify(s)
37829}
37830
37831// GoString returns the string representation.
37832//
37833// API parameter values that are decorated as "sensitive" in the API will not
37834// be included in the string output. The member name will be present, but the
37835// value will be replaced with "sensitive".
37836func (s InvalidPluginName) GoString() string {
37837	return s.String()
37838}
37839
37840func newErrorInvalidPluginName(v protocol.ResponseMetadata) error {
37841	return &InvalidPluginName{
37842		RespMetadata: v,
37843	}
37844}
37845
37846// Code returns the exception type name.
37847func (s *InvalidPluginName) Code() string {
37848	return "InvalidPluginName"
37849}
37850
37851// Message returns the exception's message.
37852func (s *InvalidPluginName) Message() string {
37853	if s.Message_ != nil {
37854		return *s.Message_
37855	}
37856	return ""
37857}
37858
37859// OrigErr always returns nil, satisfies awserr.Error interface.
37860func (s *InvalidPluginName) OrigErr() error {
37861	return nil
37862}
37863
37864func (s *InvalidPluginName) Error() string {
37865	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37866}
37867
37868// Status code returns the HTTP status code for the request's response error.
37869func (s *InvalidPluginName) StatusCode() int {
37870	return s.RespMetadata.StatusCode
37871}
37872
37873// RequestID returns the service's response RequestID for request.
37874func (s *InvalidPluginName) RequestID() string {
37875	return s.RespMetadata.RequestID
37876}
37877
37878// A policy attribute or its value is invalid.
37879type InvalidPolicyAttributeException struct {
37880	_            struct{}                  `type:"structure"`
37881	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37882
37883	Message_ *string `locationName:"message" type:"string"`
37884}
37885
37886// String returns the string representation.
37887//
37888// API parameter values that are decorated as "sensitive" in the API will not
37889// be included in the string output. The member name will be present, but the
37890// value will be replaced with "sensitive".
37891func (s InvalidPolicyAttributeException) String() string {
37892	return awsutil.Prettify(s)
37893}
37894
37895// GoString returns the string representation.
37896//
37897// API parameter values that are decorated as "sensitive" in the API will not
37898// be included in the string output. The member name will be present, but the
37899// value will be replaced with "sensitive".
37900func (s InvalidPolicyAttributeException) GoString() string {
37901	return s.String()
37902}
37903
37904func newErrorInvalidPolicyAttributeException(v protocol.ResponseMetadata) error {
37905	return &InvalidPolicyAttributeException{
37906		RespMetadata: v,
37907	}
37908}
37909
37910// Code returns the exception type name.
37911func (s *InvalidPolicyAttributeException) Code() string {
37912	return "InvalidPolicyAttributeException"
37913}
37914
37915// Message returns the exception's message.
37916func (s *InvalidPolicyAttributeException) Message() string {
37917	if s.Message_ != nil {
37918		return *s.Message_
37919	}
37920	return ""
37921}
37922
37923// OrigErr always returns nil, satisfies awserr.Error interface.
37924func (s *InvalidPolicyAttributeException) OrigErr() error {
37925	return nil
37926}
37927
37928func (s *InvalidPolicyAttributeException) Error() string {
37929	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37930}
37931
37932// Status code returns the HTTP status code for the request's response error.
37933func (s *InvalidPolicyAttributeException) StatusCode() int {
37934	return s.RespMetadata.StatusCode
37935}
37936
37937// RequestID returns the service's response RequestID for request.
37938func (s *InvalidPolicyAttributeException) RequestID() string {
37939	return s.RespMetadata.RequestID
37940}
37941
37942// The policy type isn't supported. Parameter Store supports the following policy
37943// types: Expiration, ExpirationNotification, and NoChangeNotification.
37944type InvalidPolicyTypeException struct {
37945	_            struct{}                  `type:"structure"`
37946	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37947
37948	Message_ *string `locationName:"message" type:"string"`
37949}
37950
37951// String returns the string representation.
37952//
37953// API parameter values that are decorated as "sensitive" in the API will not
37954// be included in the string output. The member name will be present, but the
37955// value will be replaced with "sensitive".
37956func (s InvalidPolicyTypeException) String() string {
37957	return awsutil.Prettify(s)
37958}
37959
37960// GoString returns the string representation.
37961//
37962// API parameter values that are decorated as "sensitive" in the API will not
37963// be included in the string output. The member name will be present, but the
37964// value will be replaced with "sensitive".
37965func (s InvalidPolicyTypeException) GoString() string {
37966	return s.String()
37967}
37968
37969func newErrorInvalidPolicyTypeException(v protocol.ResponseMetadata) error {
37970	return &InvalidPolicyTypeException{
37971		RespMetadata: v,
37972	}
37973}
37974
37975// Code returns the exception type name.
37976func (s *InvalidPolicyTypeException) Code() string {
37977	return "InvalidPolicyTypeException"
37978}
37979
37980// Message returns the exception's message.
37981func (s *InvalidPolicyTypeException) Message() string {
37982	if s.Message_ != nil {
37983		return *s.Message_
37984	}
37985	return ""
37986}
37987
37988// OrigErr always returns nil, satisfies awserr.Error interface.
37989func (s *InvalidPolicyTypeException) OrigErr() error {
37990	return nil
37991}
37992
37993func (s *InvalidPolicyTypeException) Error() string {
37994	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
37995}
37996
37997// Status code returns the HTTP status code for the request's response error.
37998func (s *InvalidPolicyTypeException) StatusCode() int {
37999	return s.RespMetadata.StatusCode
38000}
38001
38002// RequestID returns the service's response RequestID for request.
38003func (s *InvalidPolicyTypeException) RequestID() string {
38004	return s.RespMetadata.RequestID
38005}
38006
38007// The resource ID isn't valid. Verify that you entered the correct ID and try
38008// again.
38009type InvalidResourceId struct {
38010	_            struct{}                  `type:"structure"`
38011	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38012
38013	Message_ *string `locationName:"message" type:"string"`
38014}
38015
38016// String returns the string representation.
38017//
38018// API parameter values that are decorated as "sensitive" in the API will not
38019// be included in the string output. The member name will be present, but the
38020// value will be replaced with "sensitive".
38021func (s InvalidResourceId) String() string {
38022	return awsutil.Prettify(s)
38023}
38024
38025// GoString returns the string representation.
38026//
38027// API parameter values that are decorated as "sensitive" in the API will not
38028// be included in the string output. The member name will be present, but the
38029// value will be replaced with "sensitive".
38030func (s InvalidResourceId) GoString() string {
38031	return s.String()
38032}
38033
38034func newErrorInvalidResourceId(v protocol.ResponseMetadata) error {
38035	return &InvalidResourceId{
38036		RespMetadata: v,
38037	}
38038}
38039
38040// Code returns the exception type name.
38041func (s *InvalidResourceId) Code() string {
38042	return "InvalidResourceId"
38043}
38044
38045// Message returns the exception's message.
38046func (s *InvalidResourceId) Message() string {
38047	if s.Message_ != nil {
38048		return *s.Message_
38049	}
38050	return ""
38051}
38052
38053// OrigErr always returns nil, satisfies awserr.Error interface.
38054func (s *InvalidResourceId) OrigErr() error {
38055	return nil
38056}
38057
38058func (s *InvalidResourceId) Error() string {
38059	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38060}
38061
38062// Status code returns the HTTP status code for the request's response error.
38063func (s *InvalidResourceId) StatusCode() int {
38064	return s.RespMetadata.StatusCode
38065}
38066
38067// RequestID returns the service's response RequestID for request.
38068func (s *InvalidResourceId) RequestID() string {
38069	return s.RespMetadata.RequestID
38070}
38071
38072// The resource type isn't valid. For example, if you are attempting to tag
38073// an instance, the instance must be a registered, managed instance.
38074type InvalidResourceType struct {
38075	_            struct{}                  `type:"structure"`
38076	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38077
38078	Message_ *string `locationName:"message" type:"string"`
38079}
38080
38081// String returns the string representation.
38082//
38083// API parameter values that are decorated as "sensitive" in the API will not
38084// be included in the string output. The member name will be present, but the
38085// value will be replaced with "sensitive".
38086func (s InvalidResourceType) String() string {
38087	return awsutil.Prettify(s)
38088}
38089
38090// GoString returns the string representation.
38091//
38092// API parameter values that are decorated as "sensitive" in the API will not
38093// be included in the string output. The member name will be present, but the
38094// value will be replaced with "sensitive".
38095func (s InvalidResourceType) GoString() string {
38096	return s.String()
38097}
38098
38099func newErrorInvalidResourceType(v protocol.ResponseMetadata) error {
38100	return &InvalidResourceType{
38101		RespMetadata: v,
38102	}
38103}
38104
38105// Code returns the exception type name.
38106func (s *InvalidResourceType) Code() string {
38107	return "InvalidResourceType"
38108}
38109
38110// Message returns the exception's message.
38111func (s *InvalidResourceType) Message() string {
38112	if s.Message_ != nil {
38113		return *s.Message_
38114	}
38115	return ""
38116}
38117
38118// OrigErr always returns nil, satisfies awserr.Error interface.
38119func (s *InvalidResourceType) OrigErr() error {
38120	return nil
38121}
38122
38123func (s *InvalidResourceType) Error() string {
38124	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38125}
38126
38127// Status code returns the HTTP status code for the request's response error.
38128func (s *InvalidResourceType) StatusCode() int {
38129	return s.RespMetadata.StatusCode
38130}
38131
38132// RequestID returns the service's response RequestID for request.
38133func (s *InvalidResourceType) RequestID() string {
38134	return s.RespMetadata.RequestID
38135}
38136
38137// The specified inventory item result attribute isn't valid.
38138type InvalidResultAttributeException struct {
38139	_            struct{}                  `type:"structure"`
38140	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38141
38142	Message_ *string `locationName:"Message" type:"string"`
38143}
38144
38145// String returns the string representation.
38146//
38147// API parameter values that are decorated as "sensitive" in the API will not
38148// be included in the string output. The member name will be present, but the
38149// value will be replaced with "sensitive".
38150func (s InvalidResultAttributeException) String() string {
38151	return awsutil.Prettify(s)
38152}
38153
38154// GoString returns the string representation.
38155//
38156// API parameter values that are decorated as "sensitive" in the API will not
38157// be included in the string output. The member name will be present, but the
38158// value will be replaced with "sensitive".
38159func (s InvalidResultAttributeException) GoString() string {
38160	return s.String()
38161}
38162
38163func newErrorInvalidResultAttributeException(v protocol.ResponseMetadata) error {
38164	return &InvalidResultAttributeException{
38165		RespMetadata: v,
38166	}
38167}
38168
38169// Code returns the exception type name.
38170func (s *InvalidResultAttributeException) Code() string {
38171	return "InvalidResultAttributeException"
38172}
38173
38174// Message returns the exception's message.
38175func (s *InvalidResultAttributeException) Message() string {
38176	if s.Message_ != nil {
38177		return *s.Message_
38178	}
38179	return ""
38180}
38181
38182// OrigErr always returns nil, satisfies awserr.Error interface.
38183func (s *InvalidResultAttributeException) OrigErr() error {
38184	return nil
38185}
38186
38187func (s *InvalidResultAttributeException) Error() string {
38188	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38189}
38190
38191// Status code returns the HTTP status code for the request's response error.
38192func (s *InvalidResultAttributeException) StatusCode() int {
38193	return s.RespMetadata.StatusCode
38194}
38195
38196// RequestID returns the service's response RequestID for request.
38197func (s *InvalidResultAttributeException) RequestID() string {
38198	return s.RespMetadata.RequestID
38199}
38200
38201// The role name can't contain invalid characters. Also verify that you specified
38202// an IAM role for notifications that includes the required trust policy. For
38203// information about configuring the IAM role for Run Command notifications,
38204// see Configuring Amazon SNS Notifications for Run Command (https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-sns-notifications.html)
38205// in the Amazon Web Services Systems Manager User Guide.
38206type InvalidRole struct {
38207	_            struct{}                  `type:"structure"`
38208	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38209
38210	Message_ *string `locationName:"Message" type:"string"`
38211}
38212
38213// String returns the string representation.
38214//
38215// API parameter values that are decorated as "sensitive" in the API will not
38216// be included in the string output. The member name will be present, but the
38217// value will be replaced with "sensitive".
38218func (s InvalidRole) String() string {
38219	return awsutil.Prettify(s)
38220}
38221
38222// GoString returns the string representation.
38223//
38224// API parameter values that are decorated as "sensitive" in the API will not
38225// be included in the string output. The member name will be present, but the
38226// value will be replaced with "sensitive".
38227func (s InvalidRole) GoString() string {
38228	return s.String()
38229}
38230
38231func newErrorInvalidRole(v protocol.ResponseMetadata) error {
38232	return &InvalidRole{
38233		RespMetadata: v,
38234	}
38235}
38236
38237// Code returns the exception type name.
38238func (s *InvalidRole) Code() string {
38239	return "InvalidRole"
38240}
38241
38242// Message returns the exception's message.
38243func (s *InvalidRole) Message() string {
38244	if s.Message_ != nil {
38245		return *s.Message_
38246	}
38247	return ""
38248}
38249
38250// OrigErr always returns nil, satisfies awserr.Error interface.
38251func (s *InvalidRole) OrigErr() error {
38252	return nil
38253}
38254
38255func (s *InvalidRole) Error() string {
38256	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38257}
38258
38259// Status code returns the HTTP status code for the request's response error.
38260func (s *InvalidRole) StatusCode() int {
38261	return s.RespMetadata.StatusCode
38262}
38263
38264// RequestID returns the service's response RequestID for request.
38265func (s *InvalidRole) RequestID() string {
38266	return s.RespMetadata.RequestID
38267}
38268
38269// The schedule is invalid. Verify your cron or rate expression and try again.
38270type InvalidSchedule struct {
38271	_            struct{}                  `type:"structure"`
38272	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38273
38274	Message_ *string `locationName:"Message" type:"string"`
38275}
38276
38277// String returns the string representation.
38278//
38279// API parameter values that are decorated as "sensitive" in the API will not
38280// be included in the string output. The member name will be present, but the
38281// value will be replaced with "sensitive".
38282func (s InvalidSchedule) String() string {
38283	return awsutil.Prettify(s)
38284}
38285
38286// GoString returns the string representation.
38287//
38288// API parameter values that are decorated as "sensitive" in the API will not
38289// be included in the string output. The member name will be present, but the
38290// value will be replaced with "sensitive".
38291func (s InvalidSchedule) GoString() string {
38292	return s.String()
38293}
38294
38295func newErrorInvalidSchedule(v protocol.ResponseMetadata) error {
38296	return &InvalidSchedule{
38297		RespMetadata: v,
38298	}
38299}
38300
38301// Code returns the exception type name.
38302func (s *InvalidSchedule) Code() string {
38303	return "InvalidSchedule"
38304}
38305
38306// Message returns the exception's message.
38307func (s *InvalidSchedule) Message() string {
38308	if s.Message_ != nil {
38309		return *s.Message_
38310	}
38311	return ""
38312}
38313
38314// OrigErr always returns nil, satisfies awserr.Error interface.
38315func (s *InvalidSchedule) OrigErr() error {
38316	return nil
38317}
38318
38319func (s *InvalidSchedule) Error() string {
38320	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38321}
38322
38323// Status code returns the HTTP status code for the request's response error.
38324func (s *InvalidSchedule) StatusCode() int {
38325	return s.RespMetadata.StatusCode
38326}
38327
38328// RequestID returns the service's response RequestID for request.
38329func (s *InvalidSchedule) RequestID() string {
38330	return s.RespMetadata.RequestID
38331}
38332
38333// The target isn't valid or doesn't exist. It might not be configured for Systems
38334// Manager or you might not have permission to perform the operation.
38335type InvalidTarget struct {
38336	_            struct{}                  `type:"structure"`
38337	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38338
38339	Message_ *string `locationName:"Message" type:"string"`
38340}
38341
38342// String returns the string representation.
38343//
38344// API parameter values that are decorated as "sensitive" in the API will not
38345// be included in the string output. The member name will be present, but the
38346// value will be replaced with "sensitive".
38347func (s InvalidTarget) String() string {
38348	return awsutil.Prettify(s)
38349}
38350
38351// GoString returns the string representation.
38352//
38353// API parameter values that are decorated as "sensitive" in the API will not
38354// be included in the string output. The member name will be present, but the
38355// value will be replaced with "sensitive".
38356func (s InvalidTarget) GoString() string {
38357	return s.String()
38358}
38359
38360func newErrorInvalidTarget(v protocol.ResponseMetadata) error {
38361	return &InvalidTarget{
38362		RespMetadata: v,
38363	}
38364}
38365
38366// Code returns the exception type name.
38367func (s *InvalidTarget) Code() string {
38368	return "InvalidTarget"
38369}
38370
38371// Message returns the exception's message.
38372func (s *InvalidTarget) Message() string {
38373	if s.Message_ != nil {
38374		return *s.Message_
38375	}
38376	return ""
38377}
38378
38379// OrigErr always returns nil, satisfies awserr.Error interface.
38380func (s *InvalidTarget) OrigErr() error {
38381	return nil
38382}
38383
38384func (s *InvalidTarget) Error() string {
38385	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38386}
38387
38388// Status code returns the HTTP status code for the request's response error.
38389func (s *InvalidTarget) StatusCode() int {
38390	return s.RespMetadata.StatusCode
38391}
38392
38393// RequestID returns the service's response RequestID for request.
38394func (s *InvalidTarget) RequestID() string {
38395	return s.RespMetadata.RequestID
38396}
38397
38398// The parameter type name isn't valid.
38399type InvalidTypeNameException struct {
38400	_            struct{}                  `type:"structure"`
38401	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38402
38403	Message_ *string `locationName:"Message" type:"string"`
38404}
38405
38406// String returns the string representation.
38407//
38408// API parameter values that are decorated as "sensitive" in the API will not
38409// be included in the string output. The member name will be present, but the
38410// value will be replaced with "sensitive".
38411func (s InvalidTypeNameException) String() string {
38412	return awsutil.Prettify(s)
38413}
38414
38415// GoString returns the string representation.
38416//
38417// API parameter values that are decorated as "sensitive" in the API will not
38418// be included in the string output. The member name will be present, but the
38419// value will be replaced with "sensitive".
38420func (s InvalidTypeNameException) GoString() string {
38421	return s.String()
38422}
38423
38424func newErrorInvalidTypeNameException(v protocol.ResponseMetadata) error {
38425	return &InvalidTypeNameException{
38426		RespMetadata: v,
38427	}
38428}
38429
38430// Code returns the exception type name.
38431func (s *InvalidTypeNameException) Code() string {
38432	return "InvalidTypeNameException"
38433}
38434
38435// Message returns the exception's message.
38436func (s *InvalidTypeNameException) Message() string {
38437	if s.Message_ != nil {
38438		return *s.Message_
38439	}
38440	return ""
38441}
38442
38443// OrigErr always returns nil, satisfies awserr.Error interface.
38444func (s *InvalidTypeNameException) OrigErr() error {
38445	return nil
38446}
38447
38448func (s *InvalidTypeNameException) Error() string {
38449	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38450}
38451
38452// Status code returns the HTTP status code for the request's response error.
38453func (s *InvalidTypeNameException) StatusCode() int {
38454	return s.RespMetadata.StatusCode
38455}
38456
38457// RequestID returns the service's response RequestID for request.
38458func (s *InvalidTypeNameException) RequestID() string {
38459	return s.RespMetadata.RequestID
38460}
38461
38462// The update isn't valid.
38463type InvalidUpdate struct {
38464	_            struct{}                  `type:"structure"`
38465	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38466
38467	Message_ *string `locationName:"Message" type:"string"`
38468}
38469
38470// String returns the string representation.
38471//
38472// API parameter values that are decorated as "sensitive" in the API will not
38473// be included in the string output. The member name will be present, but the
38474// value will be replaced with "sensitive".
38475func (s InvalidUpdate) String() string {
38476	return awsutil.Prettify(s)
38477}
38478
38479// GoString returns the string representation.
38480//
38481// API parameter values that are decorated as "sensitive" in the API will not
38482// be included in the string output. The member name will be present, but the
38483// value will be replaced with "sensitive".
38484func (s InvalidUpdate) GoString() string {
38485	return s.String()
38486}
38487
38488func newErrorInvalidUpdate(v protocol.ResponseMetadata) error {
38489	return &InvalidUpdate{
38490		RespMetadata: v,
38491	}
38492}
38493
38494// Code returns the exception type name.
38495func (s *InvalidUpdate) Code() string {
38496	return "InvalidUpdate"
38497}
38498
38499// Message returns the exception's message.
38500func (s *InvalidUpdate) Message() string {
38501	if s.Message_ != nil {
38502		return *s.Message_
38503	}
38504	return ""
38505}
38506
38507// OrigErr always returns nil, satisfies awserr.Error interface.
38508func (s *InvalidUpdate) OrigErr() error {
38509	return nil
38510}
38511
38512func (s *InvalidUpdate) Error() string {
38513	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
38514}
38515
38516// Status code returns the HTTP status code for the request's response error.
38517func (s *InvalidUpdate) StatusCode() int {
38518	return s.RespMetadata.StatusCode
38519}
38520
38521// RequestID returns the service's response RequestID for request.
38522func (s *InvalidUpdate) RequestID() string {
38523	return s.RespMetadata.RequestID
38524}
38525
38526// Specifies the inventory type and attribute for the aggregation execution.
38527type InventoryAggregator struct {
38528	_ struct{} `type:"structure"`
38529
38530	// Nested aggregators to further refine aggregation for an inventory type.
38531	Aggregators []*InventoryAggregator `min:"1" type:"list"`
38532
38533	// The inventory type and attribute name for aggregation.
38534	Expression *string `min:"1" type:"string"`
38535
38536	// A user-defined set of one or more filters on which to aggregate inventory
38537	// data. Groups return a count of resources that match and don't match the specified
38538	// criteria.
38539	Groups []*InventoryGroup `min:"1" type:"list"`
38540}
38541
38542// String returns the string representation.
38543//
38544// API parameter values that are decorated as "sensitive" in the API will not
38545// be included in the string output. The member name will be present, but the
38546// value will be replaced with "sensitive".
38547func (s InventoryAggregator) String() string {
38548	return awsutil.Prettify(s)
38549}
38550
38551// GoString returns the string representation.
38552//
38553// API parameter values that are decorated as "sensitive" in the API will not
38554// be included in the string output. The member name will be present, but the
38555// value will be replaced with "sensitive".
38556func (s InventoryAggregator) GoString() string {
38557	return s.String()
38558}
38559
38560// Validate inspects the fields of the type to determine if they are valid.
38561func (s *InventoryAggregator) Validate() error {
38562	invalidParams := request.ErrInvalidParams{Context: "InventoryAggregator"}
38563	if s.Aggregators != nil && len(s.Aggregators) < 1 {
38564		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
38565	}
38566	if s.Expression != nil && len(*s.Expression) < 1 {
38567		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
38568	}
38569	if s.Groups != nil && len(s.Groups) < 1 {
38570		invalidParams.Add(request.NewErrParamMinLen("Groups", 1))
38571	}
38572	if s.Aggregators != nil {
38573		for i, v := range s.Aggregators {
38574			if v == nil {
38575				continue
38576			}
38577			if err := v.Validate(); err != nil {
38578				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
38579			}
38580		}
38581	}
38582	if s.Groups != nil {
38583		for i, v := range s.Groups {
38584			if v == nil {
38585				continue
38586			}
38587			if err := v.Validate(); err != nil {
38588				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Groups", i), err.(request.ErrInvalidParams))
38589			}
38590		}
38591	}
38592
38593	if invalidParams.Len() > 0 {
38594		return invalidParams
38595	}
38596	return nil
38597}
38598
38599// SetAggregators sets the Aggregators field's value.
38600func (s *InventoryAggregator) SetAggregators(v []*InventoryAggregator) *InventoryAggregator {
38601	s.Aggregators = v
38602	return s
38603}
38604
38605// SetExpression sets the Expression field's value.
38606func (s *InventoryAggregator) SetExpression(v string) *InventoryAggregator {
38607	s.Expression = &v
38608	return s
38609}
38610
38611// SetGroups sets the Groups field's value.
38612func (s *InventoryAggregator) SetGroups(v []*InventoryGroup) *InventoryAggregator {
38613	s.Groups = v
38614	return s
38615}
38616
38617// Status information returned by the DeleteInventory operation.
38618type InventoryDeletionStatusItem struct {
38619	_ struct{} `type:"structure"`
38620
38621	// The deletion ID returned by the DeleteInventory operation.
38622	DeletionId *string `type:"string"`
38623
38624	// The UTC timestamp when the delete operation started.
38625	DeletionStartTime *time.Time `type:"timestamp"`
38626
38627	// Information about the delete operation. For more information about this summary,
38628	// see Understanding the delete inventory summary (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-custom.html#sysman-inventory-delete)
38629	// in the Amazon Web Services Systems Manager User Guide.
38630	DeletionSummary *InventoryDeletionSummary `type:"structure"`
38631
38632	// The status of the operation. Possible values are InProgress and Complete.
38633	LastStatus *string `type:"string" enum:"InventoryDeletionStatus"`
38634
38635	// Information about the status.
38636	LastStatusMessage *string `type:"string"`
38637
38638	// The UTC timestamp of when the last status report.
38639	LastStatusUpdateTime *time.Time `type:"timestamp"`
38640
38641	// The name of the inventory data type.
38642	TypeName *string `min:"1" type:"string"`
38643}
38644
38645// String returns the string representation.
38646//
38647// API parameter values that are decorated as "sensitive" in the API will not
38648// be included in the string output. The member name will be present, but the
38649// value will be replaced with "sensitive".
38650func (s InventoryDeletionStatusItem) String() string {
38651	return awsutil.Prettify(s)
38652}
38653
38654// GoString returns the string representation.
38655//
38656// API parameter values that are decorated as "sensitive" in the API will not
38657// be included in the string output. The member name will be present, but the
38658// value will be replaced with "sensitive".
38659func (s InventoryDeletionStatusItem) GoString() string {
38660	return s.String()
38661}
38662
38663// SetDeletionId sets the DeletionId field's value.
38664func (s *InventoryDeletionStatusItem) SetDeletionId(v string) *InventoryDeletionStatusItem {
38665	s.DeletionId = &v
38666	return s
38667}
38668
38669// SetDeletionStartTime sets the DeletionStartTime field's value.
38670func (s *InventoryDeletionStatusItem) SetDeletionStartTime(v time.Time) *InventoryDeletionStatusItem {
38671	s.DeletionStartTime = &v
38672	return s
38673}
38674
38675// SetDeletionSummary sets the DeletionSummary field's value.
38676func (s *InventoryDeletionStatusItem) SetDeletionSummary(v *InventoryDeletionSummary) *InventoryDeletionStatusItem {
38677	s.DeletionSummary = v
38678	return s
38679}
38680
38681// SetLastStatus sets the LastStatus field's value.
38682func (s *InventoryDeletionStatusItem) SetLastStatus(v string) *InventoryDeletionStatusItem {
38683	s.LastStatus = &v
38684	return s
38685}
38686
38687// SetLastStatusMessage sets the LastStatusMessage field's value.
38688func (s *InventoryDeletionStatusItem) SetLastStatusMessage(v string) *InventoryDeletionStatusItem {
38689	s.LastStatusMessage = &v
38690	return s
38691}
38692
38693// SetLastStatusUpdateTime sets the LastStatusUpdateTime field's value.
38694func (s *InventoryDeletionStatusItem) SetLastStatusUpdateTime(v time.Time) *InventoryDeletionStatusItem {
38695	s.LastStatusUpdateTime = &v
38696	return s
38697}
38698
38699// SetTypeName sets the TypeName field's value.
38700func (s *InventoryDeletionStatusItem) SetTypeName(v string) *InventoryDeletionStatusItem {
38701	s.TypeName = &v
38702	return s
38703}
38704
38705// Information about the delete operation.
38706type InventoryDeletionSummary struct {
38707	_ struct{} `type:"structure"`
38708
38709	// Remaining number of items to delete.
38710	RemainingCount *int64 `type:"integer"`
38711
38712	// A list of counts and versions for deleted items.
38713	SummaryItems []*InventoryDeletionSummaryItem `type:"list"`
38714
38715	// The total number of items to delete. This count doesn't change during the
38716	// delete operation.
38717	TotalCount *int64 `type:"integer"`
38718}
38719
38720// String returns the string representation.
38721//
38722// API parameter values that are decorated as "sensitive" in the API will not
38723// be included in the string output. The member name will be present, but the
38724// value will be replaced with "sensitive".
38725func (s InventoryDeletionSummary) String() string {
38726	return awsutil.Prettify(s)
38727}
38728
38729// GoString returns the string representation.
38730//
38731// API parameter values that are decorated as "sensitive" in the API will not
38732// be included in the string output. The member name will be present, but the
38733// value will be replaced with "sensitive".
38734func (s InventoryDeletionSummary) GoString() string {
38735	return s.String()
38736}
38737
38738// SetRemainingCount sets the RemainingCount field's value.
38739func (s *InventoryDeletionSummary) SetRemainingCount(v int64) *InventoryDeletionSummary {
38740	s.RemainingCount = &v
38741	return s
38742}
38743
38744// SetSummaryItems sets the SummaryItems field's value.
38745func (s *InventoryDeletionSummary) SetSummaryItems(v []*InventoryDeletionSummaryItem) *InventoryDeletionSummary {
38746	s.SummaryItems = v
38747	return s
38748}
38749
38750// SetTotalCount sets the TotalCount field's value.
38751func (s *InventoryDeletionSummary) SetTotalCount(v int64) *InventoryDeletionSummary {
38752	s.TotalCount = &v
38753	return s
38754}
38755
38756// Either a count, remaining count, or a version number in a delete inventory
38757// summary.
38758type InventoryDeletionSummaryItem struct {
38759	_ struct{} `type:"structure"`
38760
38761	// A count of the number of deleted items.
38762	Count *int64 `type:"integer"`
38763
38764	// The remaining number of items to delete.
38765	RemainingCount *int64 `type:"integer"`
38766
38767	// The inventory type version.
38768	Version *string `type:"string"`
38769}
38770
38771// String returns the string representation.
38772//
38773// API parameter values that are decorated as "sensitive" in the API will not
38774// be included in the string output. The member name will be present, but the
38775// value will be replaced with "sensitive".
38776func (s InventoryDeletionSummaryItem) String() string {
38777	return awsutil.Prettify(s)
38778}
38779
38780// GoString returns the string representation.
38781//
38782// API parameter values that are decorated as "sensitive" in the API will not
38783// be included in the string output. The member name will be present, but the
38784// value will be replaced with "sensitive".
38785func (s InventoryDeletionSummaryItem) GoString() string {
38786	return s.String()
38787}
38788
38789// SetCount sets the Count field's value.
38790func (s *InventoryDeletionSummaryItem) SetCount(v int64) *InventoryDeletionSummaryItem {
38791	s.Count = &v
38792	return s
38793}
38794
38795// SetRemainingCount sets the RemainingCount field's value.
38796func (s *InventoryDeletionSummaryItem) SetRemainingCount(v int64) *InventoryDeletionSummaryItem {
38797	s.RemainingCount = &v
38798	return s
38799}
38800
38801// SetVersion sets the Version field's value.
38802func (s *InventoryDeletionSummaryItem) SetVersion(v string) *InventoryDeletionSummaryItem {
38803	s.Version = &v
38804	return s
38805}
38806
38807// One or more filters. Use a filter to return a more specific list of results.
38808type InventoryFilter struct {
38809	_ struct{} `type:"structure"`
38810
38811	// The name of the filter key.
38812	//
38813	// Key is a required field
38814	Key *string `min:"1" type:"string" required:"true"`
38815
38816	// The type of filter.
38817	//
38818	// The Exists filter must be used with aggregators. For more information, see
38819	// Aggregating inventory data (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-aggregate.html)
38820	// in the Amazon Web Services Systems Manager User Guide.
38821	Type *string `type:"string" enum:"InventoryQueryOperatorType"`
38822
38823	// Inventory filter values. Example: inventory filter where instance IDs are
38824	// specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
38825	// i-1a2b3c4d5e6,Type=Equal.
38826	//
38827	// Values is a required field
38828	Values []*string `min:"1" type:"list" required:"true"`
38829}
38830
38831// String returns the string representation.
38832//
38833// API parameter values that are decorated as "sensitive" in the API will not
38834// be included in the string output. The member name will be present, but the
38835// value will be replaced with "sensitive".
38836func (s InventoryFilter) String() string {
38837	return awsutil.Prettify(s)
38838}
38839
38840// GoString returns the string representation.
38841//
38842// API parameter values that are decorated as "sensitive" in the API will not
38843// be included in the string output. The member name will be present, but the
38844// value will be replaced with "sensitive".
38845func (s InventoryFilter) GoString() string {
38846	return s.String()
38847}
38848
38849// Validate inspects the fields of the type to determine if they are valid.
38850func (s *InventoryFilter) Validate() error {
38851	invalidParams := request.ErrInvalidParams{Context: "InventoryFilter"}
38852	if s.Key == nil {
38853		invalidParams.Add(request.NewErrParamRequired("Key"))
38854	}
38855	if s.Key != nil && len(*s.Key) < 1 {
38856		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
38857	}
38858	if s.Values == nil {
38859		invalidParams.Add(request.NewErrParamRequired("Values"))
38860	}
38861	if s.Values != nil && len(s.Values) < 1 {
38862		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
38863	}
38864
38865	if invalidParams.Len() > 0 {
38866		return invalidParams
38867	}
38868	return nil
38869}
38870
38871// SetKey sets the Key field's value.
38872func (s *InventoryFilter) SetKey(v string) *InventoryFilter {
38873	s.Key = &v
38874	return s
38875}
38876
38877// SetType sets the Type field's value.
38878func (s *InventoryFilter) SetType(v string) *InventoryFilter {
38879	s.Type = &v
38880	return s
38881}
38882
38883// SetValues sets the Values field's value.
38884func (s *InventoryFilter) SetValues(v []*string) *InventoryFilter {
38885	s.Values = v
38886	return s
38887}
38888
38889// A user-defined set of one or more filters on which to aggregate inventory
38890// data. Groups return a count of resources that match and don't match the specified
38891// criteria.
38892type InventoryGroup struct {
38893	_ struct{} `type:"structure"`
38894
38895	// Filters define the criteria for the group. The matchingCount field displays
38896	// the number of resources that match the criteria. The notMatchingCount field
38897	// displays the number of resources that don't match the criteria.
38898	//
38899	// Filters is a required field
38900	Filters []*InventoryFilter `min:"1" type:"list" required:"true"`
38901
38902	// The name of the group.
38903	//
38904	// Name is a required field
38905	Name *string `min:"1" type:"string" required:"true"`
38906}
38907
38908// String returns the string representation.
38909//
38910// API parameter values that are decorated as "sensitive" in the API will not
38911// be included in the string output. The member name will be present, but the
38912// value will be replaced with "sensitive".
38913func (s InventoryGroup) String() string {
38914	return awsutil.Prettify(s)
38915}
38916
38917// GoString returns the string representation.
38918//
38919// API parameter values that are decorated as "sensitive" in the API will not
38920// be included in the string output. The member name will be present, but the
38921// value will be replaced with "sensitive".
38922func (s InventoryGroup) GoString() string {
38923	return s.String()
38924}
38925
38926// Validate inspects the fields of the type to determine if they are valid.
38927func (s *InventoryGroup) Validate() error {
38928	invalidParams := request.ErrInvalidParams{Context: "InventoryGroup"}
38929	if s.Filters == nil {
38930		invalidParams.Add(request.NewErrParamRequired("Filters"))
38931	}
38932	if s.Filters != nil && len(s.Filters) < 1 {
38933		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
38934	}
38935	if s.Name == nil {
38936		invalidParams.Add(request.NewErrParamRequired("Name"))
38937	}
38938	if s.Name != nil && len(*s.Name) < 1 {
38939		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
38940	}
38941	if s.Filters != nil {
38942		for i, v := range s.Filters {
38943			if v == nil {
38944				continue
38945			}
38946			if err := v.Validate(); err != nil {
38947				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
38948			}
38949		}
38950	}
38951
38952	if invalidParams.Len() > 0 {
38953		return invalidParams
38954	}
38955	return nil
38956}
38957
38958// SetFilters sets the Filters field's value.
38959func (s *InventoryGroup) SetFilters(v []*InventoryFilter) *InventoryGroup {
38960	s.Filters = v
38961	return s
38962}
38963
38964// SetName sets the Name field's value.
38965func (s *InventoryGroup) SetName(v string) *InventoryGroup {
38966	s.Name = &v
38967	return s
38968}
38969
38970// Information collected from managed instances based on your inventory policy
38971// document
38972type InventoryItem struct {
38973	_ struct{} `type:"structure"`
38974
38975	// The time the inventory information was collected.
38976	//
38977	// CaptureTime is a required field
38978	CaptureTime *string `type:"string" required:"true"`
38979
38980	// The inventory data of the inventory type.
38981	Content []map[string]*string `type:"list"`
38982
38983	// MD5 hash of the inventory item type contents. The content hash is used to
38984	// determine whether to update inventory information. The PutInventory API doesn't
38985	// update the inventory item type contents if the MD5 hash hasn't changed since
38986	// last update.
38987	ContentHash *string `type:"string"`
38988
38989	// A map of associated properties for a specified inventory type. For example,
38990	// with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType
38991	// properties of the AWS:ComplianceItem type.
38992	Context map[string]*string `type:"map"`
38993
38994	// The schema version for the inventory item.
38995	//
38996	// SchemaVersion is a required field
38997	SchemaVersion *string `type:"string" required:"true"`
38998
38999	// The name of the inventory type. Default inventory item type names start with
39000	// AWS. Custom inventory type names will start with Custom. Default inventory
39001	// item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation,
39002	// AWS:Network, and AWS:WindowsUpdate.
39003	//
39004	// TypeName is a required field
39005	TypeName *string `min:"1" type:"string" required:"true"`
39006}
39007
39008// String returns the string representation.
39009//
39010// API parameter values that are decorated as "sensitive" in the API will not
39011// be included in the string output. The member name will be present, but the
39012// value will be replaced with "sensitive".
39013func (s InventoryItem) String() string {
39014	return awsutil.Prettify(s)
39015}
39016
39017// GoString returns the string representation.
39018//
39019// API parameter values that are decorated as "sensitive" in the API will not
39020// be included in the string output. The member name will be present, but the
39021// value will be replaced with "sensitive".
39022func (s InventoryItem) GoString() string {
39023	return s.String()
39024}
39025
39026// Validate inspects the fields of the type to determine if they are valid.
39027func (s *InventoryItem) Validate() error {
39028	invalidParams := request.ErrInvalidParams{Context: "InventoryItem"}
39029	if s.CaptureTime == nil {
39030		invalidParams.Add(request.NewErrParamRequired("CaptureTime"))
39031	}
39032	if s.SchemaVersion == nil {
39033		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
39034	}
39035	if s.TypeName == nil {
39036		invalidParams.Add(request.NewErrParamRequired("TypeName"))
39037	}
39038	if s.TypeName != nil && len(*s.TypeName) < 1 {
39039		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
39040	}
39041
39042	if invalidParams.Len() > 0 {
39043		return invalidParams
39044	}
39045	return nil
39046}
39047
39048// SetCaptureTime sets the CaptureTime field's value.
39049func (s *InventoryItem) SetCaptureTime(v string) *InventoryItem {
39050	s.CaptureTime = &v
39051	return s
39052}
39053
39054// SetContent sets the Content field's value.
39055func (s *InventoryItem) SetContent(v []map[string]*string) *InventoryItem {
39056	s.Content = v
39057	return s
39058}
39059
39060// SetContentHash sets the ContentHash field's value.
39061func (s *InventoryItem) SetContentHash(v string) *InventoryItem {
39062	s.ContentHash = &v
39063	return s
39064}
39065
39066// SetContext sets the Context field's value.
39067func (s *InventoryItem) SetContext(v map[string]*string) *InventoryItem {
39068	s.Context = v
39069	return s
39070}
39071
39072// SetSchemaVersion sets the SchemaVersion field's value.
39073func (s *InventoryItem) SetSchemaVersion(v string) *InventoryItem {
39074	s.SchemaVersion = &v
39075	return s
39076}
39077
39078// SetTypeName sets the TypeName field's value.
39079func (s *InventoryItem) SetTypeName(v string) *InventoryItem {
39080	s.TypeName = &v
39081	return s
39082}
39083
39084// Attributes are the entries within the inventory item content. It contains
39085// name and value.
39086type InventoryItemAttribute struct {
39087	_ struct{} `type:"structure"`
39088
39089	// The data type of the inventory item attribute.
39090	//
39091	// DataType is a required field
39092	DataType *string `type:"string" required:"true" enum:"InventoryAttributeDataType"`
39093
39094	// Name of the inventory item attribute.
39095	//
39096	// Name is a required field
39097	Name *string `type:"string" required:"true"`
39098}
39099
39100// String returns the string representation.
39101//
39102// API parameter values that are decorated as "sensitive" in the API will not
39103// be included in the string output. The member name will be present, but the
39104// value will be replaced with "sensitive".
39105func (s InventoryItemAttribute) String() string {
39106	return awsutil.Prettify(s)
39107}
39108
39109// GoString returns the string representation.
39110//
39111// API parameter values that are decorated as "sensitive" in the API will not
39112// be included in the string output. The member name will be present, but the
39113// value will be replaced with "sensitive".
39114func (s InventoryItemAttribute) GoString() string {
39115	return s.String()
39116}
39117
39118// SetDataType sets the DataType field's value.
39119func (s *InventoryItemAttribute) SetDataType(v string) *InventoryItemAttribute {
39120	s.DataType = &v
39121	return s
39122}
39123
39124// SetName sets the Name field's value.
39125func (s *InventoryItemAttribute) SetName(v string) *InventoryItemAttribute {
39126	s.Name = &v
39127	return s
39128}
39129
39130// The inventory item schema definition. Users can use this to compose inventory
39131// query filters.
39132type InventoryItemSchema struct {
39133	_ struct{} `type:"structure"`
39134
39135	// The schema attributes for inventory. This contains data type and attribute
39136	// name.
39137	//
39138	// Attributes is a required field
39139	Attributes []*InventoryItemAttribute `min:"1" type:"list" required:"true"`
39140
39141	// The alias name of the inventory type. The alias name is used for display
39142	// purposes.
39143	DisplayName *string `type:"string"`
39144
39145	// The name of the inventory type. Default inventory item type names start with
39146	// Amazon Web Services. Custom inventory type names will start with Custom.
39147	// Default inventory item types include the following: AWS:AWSComponent, AWS:Application,
39148	// AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.
39149	//
39150	// TypeName is a required field
39151	TypeName *string `min:"1" type:"string" required:"true"`
39152
39153	// The schema version for the inventory item.
39154	Version *string `type:"string"`
39155}
39156
39157// String returns the string representation.
39158//
39159// API parameter values that are decorated as "sensitive" in the API will not
39160// be included in the string output. The member name will be present, but the
39161// value will be replaced with "sensitive".
39162func (s InventoryItemSchema) String() string {
39163	return awsutil.Prettify(s)
39164}
39165
39166// GoString returns the string representation.
39167//
39168// API parameter values that are decorated as "sensitive" in the API will not
39169// be included in the string output. The member name will be present, but the
39170// value will be replaced with "sensitive".
39171func (s InventoryItemSchema) GoString() string {
39172	return s.String()
39173}
39174
39175// SetAttributes sets the Attributes field's value.
39176func (s *InventoryItemSchema) SetAttributes(v []*InventoryItemAttribute) *InventoryItemSchema {
39177	s.Attributes = v
39178	return s
39179}
39180
39181// SetDisplayName sets the DisplayName field's value.
39182func (s *InventoryItemSchema) SetDisplayName(v string) *InventoryItemSchema {
39183	s.DisplayName = &v
39184	return s
39185}
39186
39187// SetTypeName sets the TypeName field's value.
39188func (s *InventoryItemSchema) SetTypeName(v string) *InventoryItemSchema {
39189	s.TypeName = &v
39190	return s
39191}
39192
39193// SetVersion sets the Version field's value.
39194func (s *InventoryItemSchema) SetVersion(v string) *InventoryItemSchema {
39195	s.Version = &v
39196	return s
39197}
39198
39199// Inventory query results.
39200type InventoryResultEntity struct {
39201	_ struct{} `type:"structure"`
39202
39203	// The data section in the inventory result entity JSON.
39204	Data map[string]*InventoryResultItem `type:"map"`
39205
39206	// ID of the inventory result entity. For example, for managed instance inventory
39207	// the result will be the managed instance ID. For EC2 instance inventory, the
39208	// result will be the instance ID.
39209	Id *string `type:"string"`
39210}
39211
39212// String returns the string representation.
39213//
39214// API parameter values that are decorated as "sensitive" in the API will not
39215// be included in the string output. The member name will be present, but the
39216// value will be replaced with "sensitive".
39217func (s InventoryResultEntity) String() string {
39218	return awsutil.Prettify(s)
39219}
39220
39221// GoString returns the string representation.
39222//
39223// API parameter values that are decorated as "sensitive" in the API will not
39224// be included in the string output. The member name will be present, but the
39225// value will be replaced with "sensitive".
39226func (s InventoryResultEntity) GoString() string {
39227	return s.String()
39228}
39229
39230// SetData sets the Data field's value.
39231func (s *InventoryResultEntity) SetData(v map[string]*InventoryResultItem) *InventoryResultEntity {
39232	s.Data = v
39233	return s
39234}
39235
39236// SetId sets the Id field's value.
39237func (s *InventoryResultEntity) SetId(v string) *InventoryResultEntity {
39238	s.Id = &v
39239	return s
39240}
39241
39242// The inventory result item.
39243type InventoryResultItem struct {
39244	_ struct{} `type:"structure"`
39245
39246	// The time inventory item data was captured.
39247	CaptureTime *string `type:"string"`
39248
39249	// Contains all the inventory data of the item type. Results include attribute
39250	// names and values.
39251	//
39252	// Content is a required field
39253	Content []map[string]*string `type:"list" required:"true"`
39254
39255	// MD5 hash of the inventory item type contents. The content hash is used to
39256	// determine whether to update inventory information. The PutInventory API doesn't
39257	// update the inventory item type contents if the MD5 hash hasn't changed since
39258	// last update.
39259	ContentHash *string `type:"string"`
39260
39261	// The schema version for the inventory result item/
39262	//
39263	// SchemaVersion is a required field
39264	SchemaVersion *string `type:"string" required:"true"`
39265
39266	// The name of the inventory result item type.
39267	//
39268	// TypeName is a required field
39269	TypeName *string `min:"1" type:"string" required:"true"`
39270}
39271
39272// String returns the string representation.
39273//
39274// API parameter values that are decorated as "sensitive" in the API will not
39275// be included in the string output. The member name will be present, but the
39276// value will be replaced with "sensitive".
39277func (s InventoryResultItem) String() string {
39278	return awsutil.Prettify(s)
39279}
39280
39281// GoString returns the string representation.
39282//
39283// API parameter values that are decorated as "sensitive" in the API will not
39284// be included in the string output. The member name will be present, but the
39285// value will be replaced with "sensitive".
39286func (s InventoryResultItem) GoString() string {
39287	return s.String()
39288}
39289
39290// SetCaptureTime sets the CaptureTime field's value.
39291func (s *InventoryResultItem) SetCaptureTime(v string) *InventoryResultItem {
39292	s.CaptureTime = &v
39293	return s
39294}
39295
39296// SetContent sets the Content field's value.
39297func (s *InventoryResultItem) SetContent(v []map[string]*string) *InventoryResultItem {
39298	s.Content = v
39299	return s
39300}
39301
39302// SetContentHash sets the ContentHash field's value.
39303func (s *InventoryResultItem) SetContentHash(v string) *InventoryResultItem {
39304	s.ContentHash = &v
39305	return s
39306}
39307
39308// SetSchemaVersion sets the SchemaVersion field's value.
39309func (s *InventoryResultItem) SetSchemaVersion(v string) *InventoryResultItem {
39310	s.SchemaVersion = &v
39311	return s
39312}
39313
39314// SetTypeName sets the TypeName field's value.
39315func (s *InventoryResultItem) SetTypeName(v string) *InventoryResultItem {
39316	s.TypeName = &v
39317	return s
39318}
39319
39320// The command ID and instance ID you specified didn't match any invocations.
39321// Verify the command ID and the instance ID and try again.
39322type InvocationDoesNotExist struct {
39323	_            struct{}                  `type:"structure"`
39324	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
39325
39326	Message_ *string `locationName:"message" type:"string"`
39327}
39328
39329// String returns the string representation.
39330//
39331// API parameter values that are decorated as "sensitive" in the API will not
39332// be included in the string output. The member name will be present, but the
39333// value will be replaced with "sensitive".
39334func (s InvocationDoesNotExist) String() string {
39335	return awsutil.Prettify(s)
39336}
39337
39338// GoString returns the string representation.
39339//
39340// API parameter values that are decorated as "sensitive" in the API will not
39341// be included in the string output. The member name will be present, but the
39342// value will be replaced with "sensitive".
39343func (s InvocationDoesNotExist) GoString() string {
39344	return s.String()
39345}
39346
39347func newErrorInvocationDoesNotExist(v protocol.ResponseMetadata) error {
39348	return &InvocationDoesNotExist{
39349		RespMetadata: v,
39350	}
39351}
39352
39353// Code returns the exception type name.
39354func (s *InvocationDoesNotExist) Code() string {
39355	return "InvocationDoesNotExist"
39356}
39357
39358// Message returns the exception's message.
39359func (s *InvocationDoesNotExist) Message() string {
39360	if s.Message_ != nil {
39361		return *s.Message_
39362	}
39363	return ""
39364}
39365
39366// OrigErr always returns nil, satisfies awserr.Error interface.
39367func (s *InvocationDoesNotExist) OrigErr() error {
39368	return nil
39369}
39370
39371func (s *InvocationDoesNotExist) Error() string {
39372	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
39373}
39374
39375// Status code returns the HTTP status code for the request's response error.
39376func (s *InvocationDoesNotExist) StatusCode() int {
39377	return s.RespMetadata.StatusCode
39378}
39379
39380// RequestID returns the service's response RequestID for request.
39381func (s *InvocationDoesNotExist) RequestID() string {
39382	return s.RespMetadata.RequestID
39383}
39384
39385// The inventory item has invalid content.
39386type ItemContentMismatchException struct {
39387	_            struct{}                  `type:"structure"`
39388	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
39389
39390	Message_ *string `locationName:"Message" type:"string"`
39391
39392	TypeName *string `min:"1" type:"string"`
39393}
39394
39395// String returns the string representation.
39396//
39397// API parameter values that are decorated as "sensitive" in the API will not
39398// be included in the string output. The member name will be present, but the
39399// value will be replaced with "sensitive".
39400func (s ItemContentMismatchException) String() string {
39401	return awsutil.Prettify(s)
39402}
39403
39404// GoString returns the string representation.
39405//
39406// API parameter values that are decorated as "sensitive" in the API will not
39407// be included in the string output. The member name will be present, but the
39408// value will be replaced with "sensitive".
39409func (s ItemContentMismatchException) GoString() string {
39410	return s.String()
39411}
39412
39413func newErrorItemContentMismatchException(v protocol.ResponseMetadata) error {
39414	return &ItemContentMismatchException{
39415		RespMetadata: v,
39416	}
39417}
39418
39419// Code returns the exception type name.
39420func (s *ItemContentMismatchException) Code() string {
39421	return "ItemContentMismatchException"
39422}
39423
39424// Message returns the exception's message.
39425func (s *ItemContentMismatchException) Message() string {
39426	if s.Message_ != nil {
39427		return *s.Message_
39428	}
39429	return ""
39430}
39431
39432// OrigErr always returns nil, satisfies awserr.Error interface.
39433func (s *ItemContentMismatchException) OrigErr() error {
39434	return nil
39435}
39436
39437func (s *ItemContentMismatchException) Error() string {
39438	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
39439}
39440
39441// Status code returns the HTTP status code for the request's response error.
39442func (s *ItemContentMismatchException) StatusCode() int {
39443	return s.RespMetadata.StatusCode
39444}
39445
39446// RequestID returns the service's response RequestID for request.
39447func (s *ItemContentMismatchException) RequestID() string {
39448	return s.RespMetadata.RequestID
39449}
39450
39451// The inventory item size has exceeded the size limit.
39452type ItemSizeLimitExceededException struct {
39453	_            struct{}                  `type:"structure"`
39454	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
39455
39456	Message_ *string `locationName:"Message" type:"string"`
39457
39458	TypeName *string `min:"1" type:"string"`
39459}
39460
39461// String returns the string representation.
39462//
39463// API parameter values that are decorated as "sensitive" in the API will not
39464// be included in the string output. The member name will be present, but the
39465// value will be replaced with "sensitive".
39466func (s ItemSizeLimitExceededException) String() string {
39467	return awsutil.Prettify(s)
39468}
39469
39470// GoString returns the string representation.
39471//
39472// API parameter values that are decorated as "sensitive" in the API will not
39473// be included in the string output. The member name will be present, but the
39474// value will be replaced with "sensitive".
39475func (s ItemSizeLimitExceededException) GoString() string {
39476	return s.String()
39477}
39478
39479func newErrorItemSizeLimitExceededException(v protocol.ResponseMetadata) error {
39480	return &ItemSizeLimitExceededException{
39481		RespMetadata: v,
39482	}
39483}
39484
39485// Code returns the exception type name.
39486func (s *ItemSizeLimitExceededException) Code() string {
39487	return "ItemSizeLimitExceededException"
39488}
39489
39490// Message returns the exception's message.
39491func (s *ItemSizeLimitExceededException) Message() string {
39492	if s.Message_ != nil {
39493		return *s.Message_
39494	}
39495	return ""
39496}
39497
39498// OrigErr always returns nil, satisfies awserr.Error interface.
39499func (s *ItemSizeLimitExceededException) OrigErr() error {
39500	return nil
39501}
39502
39503func (s *ItemSizeLimitExceededException) Error() string {
39504	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
39505}
39506
39507// Status code returns the HTTP status code for the request's response error.
39508func (s *ItemSizeLimitExceededException) StatusCode() int {
39509	return s.RespMetadata.StatusCode
39510}
39511
39512// RequestID returns the service's response RequestID for request.
39513func (s *ItemSizeLimitExceededException) RequestID() string {
39514	return s.RespMetadata.RequestID
39515}
39516
39517type LabelParameterVersionInput struct {
39518	_ struct{} `type:"structure"`
39519
39520	// One or more labels to attach to the specified parameter version.
39521	//
39522	// Labels is a required field
39523	Labels []*string `min:"1" type:"list" required:"true"`
39524
39525	// The parameter name on which you want to attach one or more labels.
39526	//
39527	// Name is a required field
39528	Name *string `min:"1" type:"string" required:"true"`
39529
39530	// The specific version of the parameter on which you want to attach one or
39531	// more labels. If no version is specified, the system attaches the label to
39532	// the latest version.
39533	ParameterVersion *int64 `type:"long"`
39534}
39535
39536// String returns the string representation.
39537//
39538// API parameter values that are decorated as "sensitive" in the API will not
39539// be included in the string output. The member name will be present, but the
39540// value will be replaced with "sensitive".
39541func (s LabelParameterVersionInput) String() string {
39542	return awsutil.Prettify(s)
39543}
39544
39545// GoString returns the string representation.
39546//
39547// API parameter values that are decorated as "sensitive" in the API will not
39548// be included in the string output. The member name will be present, but the
39549// value will be replaced with "sensitive".
39550func (s LabelParameterVersionInput) GoString() string {
39551	return s.String()
39552}
39553
39554// Validate inspects the fields of the type to determine if they are valid.
39555func (s *LabelParameterVersionInput) Validate() error {
39556	invalidParams := request.ErrInvalidParams{Context: "LabelParameterVersionInput"}
39557	if s.Labels == nil {
39558		invalidParams.Add(request.NewErrParamRequired("Labels"))
39559	}
39560	if s.Labels != nil && len(s.Labels) < 1 {
39561		invalidParams.Add(request.NewErrParamMinLen("Labels", 1))
39562	}
39563	if s.Name == nil {
39564		invalidParams.Add(request.NewErrParamRequired("Name"))
39565	}
39566	if s.Name != nil && len(*s.Name) < 1 {
39567		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
39568	}
39569
39570	if invalidParams.Len() > 0 {
39571		return invalidParams
39572	}
39573	return nil
39574}
39575
39576// SetLabels sets the Labels field's value.
39577func (s *LabelParameterVersionInput) SetLabels(v []*string) *LabelParameterVersionInput {
39578	s.Labels = v
39579	return s
39580}
39581
39582// SetName sets the Name field's value.
39583func (s *LabelParameterVersionInput) SetName(v string) *LabelParameterVersionInput {
39584	s.Name = &v
39585	return s
39586}
39587
39588// SetParameterVersion sets the ParameterVersion field's value.
39589func (s *LabelParameterVersionInput) SetParameterVersion(v int64) *LabelParameterVersionInput {
39590	s.ParameterVersion = &v
39591	return s
39592}
39593
39594type LabelParameterVersionOutput struct {
39595	_ struct{} `type:"structure"`
39596
39597	// The label doesn't meet the requirements. For information about parameter
39598	// label requirements, see Labeling parameters (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html)
39599	// in the Amazon Web Services Systems Manager User Guide.
39600	InvalidLabels []*string `min:"1" type:"list"`
39601
39602	// The version of the parameter that has been labeled.
39603	ParameterVersion *int64 `type:"long"`
39604}
39605
39606// String returns the string representation.
39607//
39608// API parameter values that are decorated as "sensitive" in the API will not
39609// be included in the string output. The member name will be present, but the
39610// value will be replaced with "sensitive".
39611func (s LabelParameterVersionOutput) String() string {
39612	return awsutil.Prettify(s)
39613}
39614
39615// GoString returns the string representation.
39616//
39617// API parameter values that are decorated as "sensitive" in the API will not
39618// be included in the string output. The member name will be present, but the
39619// value will be replaced with "sensitive".
39620func (s LabelParameterVersionOutput) GoString() string {
39621	return s.String()
39622}
39623
39624// SetInvalidLabels sets the InvalidLabels field's value.
39625func (s *LabelParameterVersionOutput) SetInvalidLabels(v []*string) *LabelParameterVersionOutput {
39626	s.InvalidLabels = v
39627	return s
39628}
39629
39630// SetParameterVersion sets the ParameterVersion field's value.
39631func (s *LabelParameterVersionOutput) SetParameterVersion(v int64) *LabelParameterVersionOutput {
39632	s.ParameterVersion = &v
39633	return s
39634}
39635
39636type ListAssociationVersionsInput struct {
39637	_ struct{} `type:"structure"`
39638
39639	// The association ID for which you want to view all versions.
39640	//
39641	// AssociationId is a required field
39642	AssociationId *string `type:"string" required:"true"`
39643
39644	// The maximum number of items to return for this call. The call also returns
39645	// a token that you can specify in a subsequent call to get the next set of
39646	// results.
39647	MaxResults *int64 `min:"1" type:"integer"`
39648
39649	// A token to start the list. Use this token to get the next set of results.
39650	NextToken *string `type:"string"`
39651}
39652
39653// String returns the string representation.
39654//
39655// API parameter values that are decorated as "sensitive" in the API will not
39656// be included in the string output. The member name will be present, but the
39657// value will be replaced with "sensitive".
39658func (s ListAssociationVersionsInput) String() string {
39659	return awsutil.Prettify(s)
39660}
39661
39662// GoString returns the string representation.
39663//
39664// API parameter values that are decorated as "sensitive" in the API will not
39665// be included in the string output. The member name will be present, but the
39666// value will be replaced with "sensitive".
39667func (s ListAssociationVersionsInput) GoString() string {
39668	return s.String()
39669}
39670
39671// Validate inspects the fields of the type to determine if they are valid.
39672func (s *ListAssociationVersionsInput) Validate() error {
39673	invalidParams := request.ErrInvalidParams{Context: "ListAssociationVersionsInput"}
39674	if s.AssociationId == nil {
39675		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
39676	}
39677	if s.MaxResults != nil && *s.MaxResults < 1 {
39678		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
39679	}
39680
39681	if invalidParams.Len() > 0 {
39682		return invalidParams
39683	}
39684	return nil
39685}
39686
39687// SetAssociationId sets the AssociationId field's value.
39688func (s *ListAssociationVersionsInput) SetAssociationId(v string) *ListAssociationVersionsInput {
39689	s.AssociationId = &v
39690	return s
39691}
39692
39693// SetMaxResults sets the MaxResults field's value.
39694func (s *ListAssociationVersionsInput) SetMaxResults(v int64) *ListAssociationVersionsInput {
39695	s.MaxResults = &v
39696	return s
39697}
39698
39699// SetNextToken sets the NextToken field's value.
39700func (s *ListAssociationVersionsInput) SetNextToken(v string) *ListAssociationVersionsInput {
39701	s.NextToken = &v
39702	return s
39703}
39704
39705type ListAssociationVersionsOutput struct {
39706	_ struct{} `type:"structure"`
39707
39708	// Information about all versions of the association for the specified association
39709	// ID.
39710	AssociationVersions []*AssociationVersionInfo `min:"1" type:"list"`
39711
39712	// The token for the next set of items to return. Use this token to get the
39713	// next set of results.
39714	NextToken *string `type:"string"`
39715}
39716
39717// String returns the string representation.
39718//
39719// API parameter values that are decorated as "sensitive" in the API will not
39720// be included in the string output. The member name will be present, but the
39721// value will be replaced with "sensitive".
39722func (s ListAssociationVersionsOutput) String() string {
39723	return awsutil.Prettify(s)
39724}
39725
39726// GoString returns the string representation.
39727//
39728// API parameter values that are decorated as "sensitive" in the API will not
39729// be included in the string output. The member name will be present, but the
39730// value will be replaced with "sensitive".
39731func (s ListAssociationVersionsOutput) GoString() string {
39732	return s.String()
39733}
39734
39735// SetAssociationVersions sets the AssociationVersions field's value.
39736func (s *ListAssociationVersionsOutput) SetAssociationVersions(v []*AssociationVersionInfo) *ListAssociationVersionsOutput {
39737	s.AssociationVersions = v
39738	return s
39739}
39740
39741// SetNextToken sets the NextToken field's value.
39742func (s *ListAssociationVersionsOutput) SetNextToken(v string) *ListAssociationVersionsOutput {
39743	s.NextToken = &v
39744	return s
39745}
39746
39747type ListAssociationsInput struct {
39748	_ struct{} `type:"structure"`
39749
39750	// One or more filters. Use a filter to return a more specific list of results.
39751	//
39752	// Filtering associations using the InstanceID attribute only returns legacy
39753	// associations created using the InstanceID attribute. Associations targeting
39754	// the instance that are part of the Target Attributes ResourceGroup or Tags
39755	// aren't returned.
39756	AssociationFilterList []*AssociationFilter `min:"1" type:"list"`
39757
39758	// The maximum number of items to return for this call. The call also returns
39759	// a token that you can specify in a subsequent call to get the next set of
39760	// results.
39761	MaxResults *int64 `min:"1" type:"integer"`
39762
39763	// The token for the next set of items to return. (You received this token from
39764	// a previous call.)
39765	NextToken *string `type:"string"`
39766}
39767
39768// String returns the string representation.
39769//
39770// API parameter values that are decorated as "sensitive" in the API will not
39771// be included in the string output. The member name will be present, but the
39772// value will be replaced with "sensitive".
39773func (s ListAssociationsInput) String() string {
39774	return awsutil.Prettify(s)
39775}
39776
39777// GoString returns the string representation.
39778//
39779// API parameter values that are decorated as "sensitive" in the API will not
39780// be included in the string output. The member name will be present, but the
39781// value will be replaced with "sensitive".
39782func (s ListAssociationsInput) GoString() string {
39783	return s.String()
39784}
39785
39786// Validate inspects the fields of the type to determine if they are valid.
39787func (s *ListAssociationsInput) Validate() error {
39788	invalidParams := request.ErrInvalidParams{Context: "ListAssociationsInput"}
39789	if s.AssociationFilterList != nil && len(s.AssociationFilterList) < 1 {
39790		invalidParams.Add(request.NewErrParamMinLen("AssociationFilterList", 1))
39791	}
39792	if s.MaxResults != nil && *s.MaxResults < 1 {
39793		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
39794	}
39795	if s.AssociationFilterList != nil {
39796		for i, v := range s.AssociationFilterList {
39797			if v == nil {
39798				continue
39799			}
39800			if err := v.Validate(); err != nil {
39801				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AssociationFilterList", i), err.(request.ErrInvalidParams))
39802			}
39803		}
39804	}
39805
39806	if invalidParams.Len() > 0 {
39807		return invalidParams
39808	}
39809	return nil
39810}
39811
39812// SetAssociationFilterList sets the AssociationFilterList field's value.
39813func (s *ListAssociationsInput) SetAssociationFilterList(v []*AssociationFilter) *ListAssociationsInput {
39814	s.AssociationFilterList = v
39815	return s
39816}
39817
39818// SetMaxResults sets the MaxResults field's value.
39819func (s *ListAssociationsInput) SetMaxResults(v int64) *ListAssociationsInput {
39820	s.MaxResults = &v
39821	return s
39822}
39823
39824// SetNextToken sets the NextToken field's value.
39825func (s *ListAssociationsInput) SetNextToken(v string) *ListAssociationsInput {
39826	s.NextToken = &v
39827	return s
39828}
39829
39830type ListAssociationsOutput struct {
39831	_ struct{} `type:"structure"`
39832
39833	// The associations.
39834	Associations []*Association `type:"list"`
39835
39836	// The token to use when requesting the next set of items. If there are no additional
39837	// items to return, the string is empty.
39838	NextToken *string `type:"string"`
39839}
39840
39841// String returns the string representation.
39842//
39843// API parameter values that are decorated as "sensitive" in the API will not
39844// be included in the string output. The member name will be present, but the
39845// value will be replaced with "sensitive".
39846func (s ListAssociationsOutput) String() string {
39847	return awsutil.Prettify(s)
39848}
39849
39850// GoString returns the string representation.
39851//
39852// API parameter values that are decorated as "sensitive" in the API will not
39853// be included in the string output. The member name will be present, but the
39854// value will be replaced with "sensitive".
39855func (s ListAssociationsOutput) GoString() string {
39856	return s.String()
39857}
39858
39859// SetAssociations sets the Associations field's value.
39860func (s *ListAssociationsOutput) SetAssociations(v []*Association) *ListAssociationsOutput {
39861	s.Associations = v
39862	return s
39863}
39864
39865// SetNextToken sets the NextToken field's value.
39866func (s *ListAssociationsOutput) SetNextToken(v string) *ListAssociationsOutput {
39867	s.NextToken = &v
39868	return s
39869}
39870
39871type ListCommandInvocationsInput struct {
39872	_ struct{} `type:"structure"`
39873
39874	// (Optional) The invocations for a specific command ID.
39875	CommandId *string `min:"36" type:"string"`
39876
39877	// (Optional) If set this returns the response of the command executions and
39878	// any command output. The default value is false.
39879	Details *bool `type:"boolean"`
39880
39881	// (Optional) One or more filters. Use a filter to return a more specific list
39882	// of results.
39883	Filters []*CommandFilter `min:"1" type:"list"`
39884
39885	// (Optional) The command execution details for a specific instance ID.
39886	InstanceId *string `type:"string"`
39887
39888	// (Optional) The maximum number of items to return for this call. The call
39889	// also returns a token that you can specify in a subsequent call to get the
39890	// next set of results.
39891	MaxResults *int64 `min:"1" type:"integer"`
39892
39893	// (Optional) The token for the next set of items to return. (You received this
39894	// token from a previous call.)
39895	NextToken *string `type:"string"`
39896}
39897
39898// String returns the string representation.
39899//
39900// API parameter values that are decorated as "sensitive" in the API will not
39901// be included in the string output. The member name will be present, but the
39902// value will be replaced with "sensitive".
39903func (s ListCommandInvocationsInput) String() string {
39904	return awsutil.Prettify(s)
39905}
39906
39907// GoString returns the string representation.
39908//
39909// API parameter values that are decorated as "sensitive" in the API will not
39910// be included in the string output. The member name will be present, but the
39911// value will be replaced with "sensitive".
39912func (s ListCommandInvocationsInput) GoString() string {
39913	return s.String()
39914}
39915
39916// Validate inspects the fields of the type to determine if they are valid.
39917func (s *ListCommandInvocationsInput) Validate() error {
39918	invalidParams := request.ErrInvalidParams{Context: "ListCommandInvocationsInput"}
39919	if s.CommandId != nil && len(*s.CommandId) < 36 {
39920		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
39921	}
39922	if s.Filters != nil && len(s.Filters) < 1 {
39923		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
39924	}
39925	if s.MaxResults != nil && *s.MaxResults < 1 {
39926		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
39927	}
39928	if s.Filters != nil {
39929		for i, v := range s.Filters {
39930			if v == nil {
39931				continue
39932			}
39933			if err := v.Validate(); err != nil {
39934				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
39935			}
39936		}
39937	}
39938
39939	if invalidParams.Len() > 0 {
39940		return invalidParams
39941	}
39942	return nil
39943}
39944
39945// SetCommandId sets the CommandId field's value.
39946func (s *ListCommandInvocationsInput) SetCommandId(v string) *ListCommandInvocationsInput {
39947	s.CommandId = &v
39948	return s
39949}
39950
39951// SetDetails sets the Details field's value.
39952func (s *ListCommandInvocationsInput) SetDetails(v bool) *ListCommandInvocationsInput {
39953	s.Details = &v
39954	return s
39955}
39956
39957// SetFilters sets the Filters field's value.
39958func (s *ListCommandInvocationsInput) SetFilters(v []*CommandFilter) *ListCommandInvocationsInput {
39959	s.Filters = v
39960	return s
39961}
39962
39963// SetInstanceId sets the InstanceId field's value.
39964func (s *ListCommandInvocationsInput) SetInstanceId(v string) *ListCommandInvocationsInput {
39965	s.InstanceId = &v
39966	return s
39967}
39968
39969// SetMaxResults sets the MaxResults field's value.
39970func (s *ListCommandInvocationsInput) SetMaxResults(v int64) *ListCommandInvocationsInput {
39971	s.MaxResults = &v
39972	return s
39973}
39974
39975// SetNextToken sets the NextToken field's value.
39976func (s *ListCommandInvocationsInput) SetNextToken(v string) *ListCommandInvocationsInput {
39977	s.NextToken = &v
39978	return s
39979}
39980
39981type ListCommandInvocationsOutput struct {
39982	_ struct{} `type:"structure"`
39983
39984	// (Optional) A list of all invocations.
39985	CommandInvocations []*CommandInvocation `type:"list"`
39986
39987	// (Optional) The token for the next set of items to return. (You received this
39988	// token from a previous call.)
39989	NextToken *string `type:"string"`
39990}
39991
39992// String returns the string representation.
39993//
39994// API parameter values that are decorated as "sensitive" in the API will not
39995// be included in the string output. The member name will be present, but the
39996// value will be replaced with "sensitive".
39997func (s ListCommandInvocationsOutput) String() string {
39998	return awsutil.Prettify(s)
39999}
40000
40001// GoString returns the string representation.
40002//
40003// API parameter values that are decorated as "sensitive" in the API will not
40004// be included in the string output. The member name will be present, but the
40005// value will be replaced with "sensitive".
40006func (s ListCommandInvocationsOutput) GoString() string {
40007	return s.String()
40008}
40009
40010// SetCommandInvocations sets the CommandInvocations field's value.
40011func (s *ListCommandInvocationsOutput) SetCommandInvocations(v []*CommandInvocation) *ListCommandInvocationsOutput {
40012	s.CommandInvocations = v
40013	return s
40014}
40015
40016// SetNextToken sets the NextToken field's value.
40017func (s *ListCommandInvocationsOutput) SetNextToken(v string) *ListCommandInvocationsOutput {
40018	s.NextToken = &v
40019	return s
40020}
40021
40022type ListCommandsInput struct {
40023	_ struct{} `type:"structure"`
40024
40025	// (Optional) If provided, lists only the specified command.
40026	CommandId *string `min:"36" type:"string"`
40027
40028	// (Optional) One or more filters. Use a filter to return a more specific list
40029	// of results.
40030	Filters []*CommandFilter `min:"1" type:"list"`
40031
40032	// (Optional) Lists commands issued against this instance ID.
40033	//
40034	// You can't specify an instance ID in the same command that you specify Status
40035	// = Pending. This is because the command hasn't reached the instance yet.
40036	InstanceId *string `type:"string"`
40037
40038	// (Optional) The maximum number of items to return for this call. The call
40039	// also returns a token that you can specify in a subsequent call to get the
40040	// next set of results.
40041	MaxResults *int64 `min:"1" type:"integer"`
40042
40043	// (Optional) The token for the next set of items to return. (You received this
40044	// token from a previous call.)
40045	NextToken *string `type:"string"`
40046}
40047
40048// String returns the string representation.
40049//
40050// API parameter values that are decorated as "sensitive" in the API will not
40051// be included in the string output. The member name will be present, but the
40052// value will be replaced with "sensitive".
40053func (s ListCommandsInput) String() string {
40054	return awsutil.Prettify(s)
40055}
40056
40057// GoString returns the string representation.
40058//
40059// API parameter values that are decorated as "sensitive" in the API will not
40060// be included in the string output. The member name will be present, but the
40061// value will be replaced with "sensitive".
40062func (s ListCommandsInput) GoString() string {
40063	return s.String()
40064}
40065
40066// Validate inspects the fields of the type to determine if they are valid.
40067func (s *ListCommandsInput) Validate() error {
40068	invalidParams := request.ErrInvalidParams{Context: "ListCommandsInput"}
40069	if s.CommandId != nil && len(*s.CommandId) < 36 {
40070		invalidParams.Add(request.NewErrParamMinLen("CommandId", 36))
40071	}
40072	if s.Filters != nil && len(s.Filters) < 1 {
40073		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
40074	}
40075	if s.MaxResults != nil && *s.MaxResults < 1 {
40076		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40077	}
40078	if s.Filters != nil {
40079		for i, v := range s.Filters {
40080			if v == nil {
40081				continue
40082			}
40083			if err := v.Validate(); err != nil {
40084				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
40085			}
40086		}
40087	}
40088
40089	if invalidParams.Len() > 0 {
40090		return invalidParams
40091	}
40092	return nil
40093}
40094
40095// SetCommandId sets the CommandId field's value.
40096func (s *ListCommandsInput) SetCommandId(v string) *ListCommandsInput {
40097	s.CommandId = &v
40098	return s
40099}
40100
40101// SetFilters sets the Filters field's value.
40102func (s *ListCommandsInput) SetFilters(v []*CommandFilter) *ListCommandsInput {
40103	s.Filters = v
40104	return s
40105}
40106
40107// SetInstanceId sets the InstanceId field's value.
40108func (s *ListCommandsInput) SetInstanceId(v string) *ListCommandsInput {
40109	s.InstanceId = &v
40110	return s
40111}
40112
40113// SetMaxResults sets the MaxResults field's value.
40114func (s *ListCommandsInput) SetMaxResults(v int64) *ListCommandsInput {
40115	s.MaxResults = &v
40116	return s
40117}
40118
40119// SetNextToken sets the NextToken field's value.
40120func (s *ListCommandsInput) SetNextToken(v string) *ListCommandsInput {
40121	s.NextToken = &v
40122	return s
40123}
40124
40125type ListCommandsOutput struct {
40126	_ struct{} `type:"structure"`
40127
40128	// (Optional) The list of commands requested by the user.
40129	Commands []*Command `type:"list"`
40130
40131	// (Optional) The token for the next set of items to return. (You received this
40132	// token from a previous call.)
40133	NextToken *string `type:"string"`
40134}
40135
40136// String returns the string representation.
40137//
40138// API parameter values that are decorated as "sensitive" in the API will not
40139// be included in the string output. The member name will be present, but the
40140// value will be replaced with "sensitive".
40141func (s ListCommandsOutput) String() string {
40142	return awsutil.Prettify(s)
40143}
40144
40145// GoString returns the string representation.
40146//
40147// API parameter values that are decorated as "sensitive" in the API will not
40148// be included in the string output. The member name will be present, but the
40149// value will be replaced with "sensitive".
40150func (s ListCommandsOutput) GoString() string {
40151	return s.String()
40152}
40153
40154// SetCommands sets the Commands field's value.
40155func (s *ListCommandsOutput) SetCommands(v []*Command) *ListCommandsOutput {
40156	s.Commands = v
40157	return s
40158}
40159
40160// SetNextToken sets the NextToken field's value.
40161func (s *ListCommandsOutput) SetNextToken(v string) *ListCommandsOutput {
40162	s.NextToken = &v
40163	return s
40164}
40165
40166type ListComplianceItemsInput struct {
40167	_ struct{} `type:"structure"`
40168
40169	// One or more compliance filters. Use a filter to return a more specific list
40170	// of results.
40171	Filters []*ComplianceStringFilter `type:"list"`
40172
40173	// The maximum number of items to return for this call. The call also returns
40174	// a token that you can specify in a subsequent call to get the next set of
40175	// results.
40176	MaxResults *int64 `min:"1" type:"integer"`
40177
40178	// A token to start the list. Use this token to get the next set of results.
40179	NextToken *string `type:"string"`
40180
40181	// The ID for the resources from which to get compliance information. Currently,
40182	// you can only specify one resource ID.
40183	ResourceIds []*string `min:"1" type:"list"`
40184
40185	// The type of resource from which to get compliance information. Currently,
40186	// the only supported resource type is ManagedInstance.
40187	ResourceTypes []*string `min:"1" type:"list"`
40188}
40189
40190// String returns the string representation.
40191//
40192// API parameter values that are decorated as "sensitive" in the API will not
40193// be included in the string output. The member name will be present, but the
40194// value will be replaced with "sensitive".
40195func (s ListComplianceItemsInput) String() string {
40196	return awsutil.Prettify(s)
40197}
40198
40199// GoString returns the string representation.
40200//
40201// API parameter values that are decorated as "sensitive" in the API will not
40202// be included in the string output. The member name will be present, but the
40203// value will be replaced with "sensitive".
40204func (s ListComplianceItemsInput) GoString() string {
40205	return s.String()
40206}
40207
40208// Validate inspects the fields of the type to determine if they are valid.
40209func (s *ListComplianceItemsInput) Validate() error {
40210	invalidParams := request.ErrInvalidParams{Context: "ListComplianceItemsInput"}
40211	if s.MaxResults != nil && *s.MaxResults < 1 {
40212		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40213	}
40214	if s.ResourceIds != nil && len(s.ResourceIds) < 1 {
40215		invalidParams.Add(request.NewErrParamMinLen("ResourceIds", 1))
40216	}
40217	if s.ResourceTypes != nil && len(s.ResourceTypes) < 1 {
40218		invalidParams.Add(request.NewErrParamMinLen("ResourceTypes", 1))
40219	}
40220	if s.Filters != nil {
40221		for i, v := range s.Filters {
40222			if v == nil {
40223				continue
40224			}
40225			if err := v.Validate(); err != nil {
40226				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
40227			}
40228		}
40229	}
40230
40231	if invalidParams.Len() > 0 {
40232		return invalidParams
40233	}
40234	return nil
40235}
40236
40237// SetFilters sets the Filters field's value.
40238func (s *ListComplianceItemsInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceItemsInput {
40239	s.Filters = v
40240	return s
40241}
40242
40243// SetMaxResults sets the MaxResults field's value.
40244func (s *ListComplianceItemsInput) SetMaxResults(v int64) *ListComplianceItemsInput {
40245	s.MaxResults = &v
40246	return s
40247}
40248
40249// SetNextToken sets the NextToken field's value.
40250func (s *ListComplianceItemsInput) SetNextToken(v string) *ListComplianceItemsInput {
40251	s.NextToken = &v
40252	return s
40253}
40254
40255// SetResourceIds sets the ResourceIds field's value.
40256func (s *ListComplianceItemsInput) SetResourceIds(v []*string) *ListComplianceItemsInput {
40257	s.ResourceIds = v
40258	return s
40259}
40260
40261// SetResourceTypes sets the ResourceTypes field's value.
40262func (s *ListComplianceItemsInput) SetResourceTypes(v []*string) *ListComplianceItemsInput {
40263	s.ResourceTypes = v
40264	return s
40265}
40266
40267type ListComplianceItemsOutput struct {
40268	_ struct{} `type:"structure"`
40269
40270	// A list of compliance information for the specified resource ID.
40271	ComplianceItems []*ComplianceItem `type:"list"`
40272
40273	// The token for the next set of items to return. Use this token to get the
40274	// next set of results.
40275	NextToken *string `type:"string"`
40276}
40277
40278// String returns the string representation.
40279//
40280// API parameter values that are decorated as "sensitive" in the API will not
40281// be included in the string output. The member name will be present, but the
40282// value will be replaced with "sensitive".
40283func (s ListComplianceItemsOutput) String() string {
40284	return awsutil.Prettify(s)
40285}
40286
40287// GoString returns the string representation.
40288//
40289// API parameter values that are decorated as "sensitive" in the API will not
40290// be included in the string output. The member name will be present, but the
40291// value will be replaced with "sensitive".
40292func (s ListComplianceItemsOutput) GoString() string {
40293	return s.String()
40294}
40295
40296// SetComplianceItems sets the ComplianceItems field's value.
40297func (s *ListComplianceItemsOutput) SetComplianceItems(v []*ComplianceItem) *ListComplianceItemsOutput {
40298	s.ComplianceItems = v
40299	return s
40300}
40301
40302// SetNextToken sets the NextToken field's value.
40303func (s *ListComplianceItemsOutput) SetNextToken(v string) *ListComplianceItemsOutput {
40304	s.NextToken = &v
40305	return s
40306}
40307
40308type ListComplianceSummariesInput struct {
40309	_ struct{} `type:"structure"`
40310
40311	// One or more compliance or inventory filters. Use a filter to return a more
40312	// specific list of results.
40313	Filters []*ComplianceStringFilter `type:"list"`
40314
40315	// The maximum number of items to return for this call. Currently, you can specify
40316	// null or 50. The call also returns a token that you can specify in a subsequent
40317	// call to get the next set of results.
40318	MaxResults *int64 `min:"1" type:"integer"`
40319
40320	// A token to start the list. Use this token to get the next set of results.
40321	NextToken *string `type:"string"`
40322}
40323
40324// String returns the string representation.
40325//
40326// API parameter values that are decorated as "sensitive" in the API will not
40327// be included in the string output. The member name will be present, but the
40328// value will be replaced with "sensitive".
40329func (s ListComplianceSummariesInput) String() string {
40330	return awsutil.Prettify(s)
40331}
40332
40333// GoString returns the string representation.
40334//
40335// API parameter values that are decorated as "sensitive" in the API will not
40336// be included in the string output. The member name will be present, but the
40337// value will be replaced with "sensitive".
40338func (s ListComplianceSummariesInput) GoString() string {
40339	return s.String()
40340}
40341
40342// Validate inspects the fields of the type to determine if they are valid.
40343func (s *ListComplianceSummariesInput) Validate() error {
40344	invalidParams := request.ErrInvalidParams{Context: "ListComplianceSummariesInput"}
40345	if s.MaxResults != nil && *s.MaxResults < 1 {
40346		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40347	}
40348	if s.Filters != nil {
40349		for i, v := range s.Filters {
40350			if v == nil {
40351				continue
40352			}
40353			if err := v.Validate(); err != nil {
40354				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
40355			}
40356		}
40357	}
40358
40359	if invalidParams.Len() > 0 {
40360		return invalidParams
40361	}
40362	return nil
40363}
40364
40365// SetFilters sets the Filters field's value.
40366func (s *ListComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListComplianceSummariesInput {
40367	s.Filters = v
40368	return s
40369}
40370
40371// SetMaxResults sets the MaxResults field's value.
40372func (s *ListComplianceSummariesInput) SetMaxResults(v int64) *ListComplianceSummariesInput {
40373	s.MaxResults = &v
40374	return s
40375}
40376
40377// SetNextToken sets the NextToken field's value.
40378func (s *ListComplianceSummariesInput) SetNextToken(v string) *ListComplianceSummariesInput {
40379	s.NextToken = &v
40380	return s
40381}
40382
40383type ListComplianceSummariesOutput struct {
40384	_ struct{} `type:"structure"`
40385
40386	// A list of compliant and non-compliant summary counts based on compliance
40387	// types. For example, this call returns State Manager associations, patches,
40388	// or custom compliance types according to the filter criteria that you specified.
40389	ComplianceSummaryItems []*ComplianceSummaryItem `type:"list"`
40390
40391	// The token for the next set of items to return. Use this token to get the
40392	// next set of results.
40393	NextToken *string `type:"string"`
40394}
40395
40396// String returns the string representation.
40397//
40398// API parameter values that are decorated as "sensitive" in the API will not
40399// be included in the string output. The member name will be present, but the
40400// value will be replaced with "sensitive".
40401func (s ListComplianceSummariesOutput) String() string {
40402	return awsutil.Prettify(s)
40403}
40404
40405// GoString returns the string representation.
40406//
40407// API parameter values that are decorated as "sensitive" in the API will not
40408// be included in the string output. The member name will be present, but the
40409// value will be replaced with "sensitive".
40410func (s ListComplianceSummariesOutput) GoString() string {
40411	return s.String()
40412}
40413
40414// SetComplianceSummaryItems sets the ComplianceSummaryItems field's value.
40415func (s *ListComplianceSummariesOutput) SetComplianceSummaryItems(v []*ComplianceSummaryItem) *ListComplianceSummariesOutput {
40416	s.ComplianceSummaryItems = v
40417	return s
40418}
40419
40420// SetNextToken sets the NextToken field's value.
40421func (s *ListComplianceSummariesOutput) SetNextToken(v string) *ListComplianceSummariesOutput {
40422	s.NextToken = &v
40423	return s
40424}
40425
40426type ListDocumentMetadataHistoryInput struct {
40427	_ struct{} `type:"structure"`
40428
40429	// The version of the change template.
40430	DocumentVersion *string `type:"string"`
40431
40432	// The maximum number of items to return for this call. The call also returns
40433	// a token that you can specify in a subsequent call to get the next set of
40434	// results.
40435	MaxResults *int64 `min:"1" type:"integer"`
40436
40437	// The type of data for which details are being requested. Currently, the only
40438	// supported value is DocumentReviews.
40439	//
40440	// Metadata is a required field
40441	Metadata *string `type:"string" required:"true" enum:"DocumentMetadataEnum"`
40442
40443	// The name of the change template.
40444	//
40445	// Name is a required field
40446	Name *string `type:"string" required:"true"`
40447
40448	// The token for the next set of items to return. (You received this token from
40449	// a previous call.)
40450	NextToken *string `type:"string"`
40451}
40452
40453// String returns the string representation.
40454//
40455// API parameter values that are decorated as "sensitive" in the API will not
40456// be included in the string output. The member name will be present, but the
40457// value will be replaced with "sensitive".
40458func (s ListDocumentMetadataHistoryInput) String() string {
40459	return awsutil.Prettify(s)
40460}
40461
40462// GoString returns the string representation.
40463//
40464// API parameter values that are decorated as "sensitive" in the API will not
40465// be included in the string output. The member name will be present, but the
40466// value will be replaced with "sensitive".
40467func (s ListDocumentMetadataHistoryInput) GoString() string {
40468	return s.String()
40469}
40470
40471// Validate inspects the fields of the type to determine if they are valid.
40472func (s *ListDocumentMetadataHistoryInput) Validate() error {
40473	invalidParams := request.ErrInvalidParams{Context: "ListDocumentMetadataHistoryInput"}
40474	if s.MaxResults != nil && *s.MaxResults < 1 {
40475		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40476	}
40477	if s.Metadata == nil {
40478		invalidParams.Add(request.NewErrParamRequired("Metadata"))
40479	}
40480	if s.Name == nil {
40481		invalidParams.Add(request.NewErrParamRequired("Name"))
40482	}
40483
40484	if invalidParams.Len() > 0 {
40485		return invalidParams
40486	}
40487	return nil
40488}
40489
40490// SetDocumentVersion sets the DocumentVersion field's value.
40491func (s *ListDocumentMetadataHistoryInput) SetDocumentVersion(v string) *ListDocumentMetadataHistoryInput {
40492	s.DocumentVersion = &v
40493	return s
40494}
40495
40496// SetMaxResults sets the MaxResults field's value.
40497func (s *ListDocumentMetadataHistoryInput) SetMaxResults(v int64) *ListDocumentMetadataHistoryInput {
40498	s.MaxResults = &v
40499	return s
40500}
40501
40502// SetMetadata sets the Metadata field's value.
40503func (s *ListDocumentMetadataHistoryInput) SetMetadata(v string) *ListDocumentMetadataHistoryInput {
40504	s.Metadata = &v
40505	return s
40506}
40507
40508// SetName sets the Name field's value.
40509func (s *ListDocumentMetadataHistoryInput) SetName(v string) *ListDocumentMetadataHistoryInput {
40510	s.Name = &v
40511	return s
40512}
40513
40514// SetNextToken sets the NextToken field's value.
40515func (s *ListDocumentMetadataHistoryInput) SetNextToken(v string) *ListDocumentMetadataHistoryInput {
40516	s.NextToken = &v
40517	return s
40518}
40519
40520type ListDocumentMetadataHistoryOutput struct {
40521	_ struct{} `type:"structure"`
40522
40523	// The user ID of the person in the organization who requested the review of
40524	// the change template.
40525	Author *string `type:"string"`
40526
40527	// The version of the change template.
40528	DocumentVersion *string `type:"string"`
40529
40530	// Information about the response to the change template approval request.
40531	Metadata *DocumentMetadataResponseInfo `type:"structure"`
40532
40533	// The name of the change template.
40534	Name *string `type:"string"`
40535
40536	// The maximum number of items to return for this call. The call also returns
40537	// a token that you can specify in a subsequent call to get the next set of
40538	// results.
40539	NextToken *string `type:"string"`
40540}
40541
40542// String returns the string representation.
40543//
40544// API parameter values that are decorated as "sensitive" in the API will not
40545// be included in the string output. The member name will be present, but the
40546// value will be replaced with "sensitive".
40547func (s ListDocumentMetadataHistoryOutput) String() string {
40548	return awsutil.Prettify(s)
40549}
40550
40551// GoString returns the string representation.
40552//
40553// API parameter values that are decorated as "sensitive" in the API will not
40554// be included in the string output. The member name will be present, but the
40555// value will be replaced with "sensitive".
40556func (s ListDocumentMetadataHistoryOutput) GoString() string {
40557	return s.String()
40558}
40559
40560// SetAuthor sets the Author field's value.
40561func (s *ListDocumentMetadataHistoryOutput) SetAuthor(v string) *ListDocumentMetadataHistoryOutput {
40562	s.Author = &v
40563	return s
40564}
40565
40566// SetDocumentVersion sets the DocumentVersion field's value.
40567func (s *ListDocumentMetadataHistoryOutput) SetDocumentVersion(v string) *ListDocumentMetadataHistoryOutput {
40568	s.DocumentVersion = &v
40569	return s
40570}
40571
40572// SetMetadata sets the Metadata field's value.
40573func (s *ListDocumentMetadataHistoryOutput) SetMetadata(v *DocumentMetadataResponseInfo) *ListDocumentMetadataHistoryOutput {
40574	s.Metadata = v
40575	return s
40576}
40577
40578// SetName sets the Name field's value.
40579func (s *ListDocumentMetadataHistoryOutput) SetName(v string) *ListDocumentMetadataHistoryOutput {
40580	s.Name = &v
40581	return s
40582}
40583
40584// SetNextToken sets the NextToken field's value.
40585func (s *ListDocumentMetadataHistoryOutput) SetNextToken(v string) *ListDocumentMetadataHistoryOutput {
40586	s.NextToken = &v
40587	return s
40588}
40589
40590type ListDocumentVersionsInput struct {
40591	_ struct{} `type:"structure"`
40592
40593	// The maximum number of items to return for this call. The call also returns
40594	// a token that you can specify in a subsequent call to get the next set of
40595	// results.
40596	MaxResults *int64 `min:"1" type:"integer"`
40597
40598	// The name of the document. You can specify an Amazon Resource Name (ARN).
40599	//
40600	// Name is a required field
40601	Name *string `type:"string" required:"true"`
40602
40603	// The token for the next set of items to return. (You received this token from
40604	// a previous call.)
40605	NextToken *string `type:"string"`
40606}
40607
40608// String returns the string representation.
40609//
40610// API parameter values that are decorated as "sensitive" in the API will not
40611// be included in the string output. The member name will be present, but the
40612// value will be replaced with "sensitive".
40613func (s ListDocumentVersionsInput) String() string {
40614	return awsutil.Prettify(s)
40615}
40616
40617// GoString returns the string representation.
40618//
40619// API parameter values that are decorated as "sensitive" in the API will not
40620// be included in the string output. The member name will be present, but the
40621// value will be replaced with "sensitive".
40622func (s ListDocumentVersionsInput) GoString() string {
40623	return s.String()
40624}
40625
40626// Validate inspects the fields of the type to determine if they are valid.
40627func (s *ListDocumentVersionsInput) Validate() error {
40628	invalidParams := request.ErrInvalidParams{Context: "ListDocumentVersionsInput"}
40629	if s.MaxResults != nil && *s.MaxResults < 1 {
40630		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40631	}
40632	if s.Name == nil {
40633		invalidParams.Add(request.NewErrParamRequired("Name"))
40634	}
40635
40636	if invalidParams.Len() > 0 {
40637		return invalidParams
40638	}
40639	return nil
40640}
40641
40642// SetMaxResults sets the MaxResults field's value.
40643func (s *ListDocumentVersionsInput) SetMaxResults(v int64) *ListDocumentVersionsInput {
40644	s.MaxResults = &v
40645	return s
40646}
40647
40648// SetName sets the Name field's value.
40649func (s *ListDocumentVersionsInput) SetName(v string) *ListDocumentVersionsInput {
40650	s.Name = &v
40651	return s
40652}
40653
40654// SetNextToken sets the NextToken field's value.
40655func (s *ListDocumentVersionsInput) SetNextToken(v string) *ListDocumentVersionsInput {
40656	s.NextToken = &v
40657	return s
40658}
40659
40660type ListDocumentVersionsOutput struct {
40661	_ struct{} `type:"structure"`
40662
40663	// The document versions.
40664	DocumentVersions []*DocumentVersionInfo `min:"1" type:"list"`
40665
40666	// The token to use when requesting the next set of items. If there are no additional
40667	// items to return, the string is empty.
40668	NextToken *string `type:"string"`
40669}
40670
40671// String returns the string representation.
40672//
40673// API parameter values that are decorated as "sensitive" in the API will not
40674// be included in the string output. The member name will be present, but the
40675// value will be replaced with "sensitive".
40676func (s ListDocumentVersionsOutput) String() string {
40677	return awsutil.Prettify(s)
40678}
40679
40680// GoString returns the string representation.
40681//
40682// API parameter values that are decorated as "sensitive" in the API will not
40683// be included in the string output. The member name will be present, but the
40684// value will be replaced with "sensitive".
40685func (s ListDocumentVersionsOutput) GoString() string {
40686	return s.String()
40687}
40688
40689// SetDocumentVersions sets the DocumentVersions field's value.
40690func (s *ListDocumentVersionsOutput) SetDocumentVersions(v []*DocumentVersionInfo) *ListDocumentVersionsOutput {
40691	s.DocumentVersions = v
40692	return s
40693}
40694
40695// SetNextToken sets the NextToken field's value.
40696func (s *ListDocumentVersionsOutput) SetNextToken(v string) *ListDocumentVersionsOutput {
40697	s.NextToken = &v
40698	return s
40699}
40700
40701type ListDocumentsInput struct {
40702	_ struct{} `type:"structure"`
40703
40704	// This data type is deprecated. Instead, use Filters.
40705	DocumentFilterList []*DocumentFilter `min:"1" type:"list"`
40706
40707	// One or more DocumentKeyValuesFilter objects. Use a filter to return a more
40708	// specific list of results. For keys, you can specify one or more key-value
40709	// pair tags that have been applied to a document. Other valid keys include
40710	// Owner, Name, PlatformTypes, DocumentType, and TargetType. For example, to
40711	// return documents you own use Key=Owner,Values=Self. To specify a custom key-value
40712	// pair, use the format Key=tag:tagName,Values=valueName.
40713	//
40714	// This API operation only supports filtering documents by using a single tag
40715	// key and one or more tag values. For example: Key=tag:tagName,Values=valueName1,valueName2
40716	Filters []*DocumentKeyValuesFilter `type:"list"`
40717
40718	// The maximum number of items to return for this call. The call also returns
40719	// a token that you can specify in a subsequent call to get the next set of
40720	// results.
40721	MaxResults *int64 `min:"1" type:"integer"`
40722
40723	// The token for the next set of items to return. (You received this token from
40724	// a previous call.)
40725	NextToken *string `type:"string"`
40726}
40727
40728// String returns the string representation.
40729//
40730// API parameter values that are decorated as "sensitive" in the API will not
40731// be included in the string output. The member name will be present, but the
40732// value will be replaced with "sensitive".
40733func (s ListDocumentsInput) String() string {
40734	return awsutil.Prettify(s)
40735}
40736
40737// GoString returns the string representation.
40738//
40739// API parameter values that are decorated as "sensitive" in the API will not
40740// be included in the string output. The member name will be present, but the
40741// value will be replaced with "sensitive".
40742func (s ListDocumentsInput) GoString() string {
40743	return s.String()
40744}
40745
40746// Validate inspects the fields of the type to determine if they are valid.
40747func (s *ListDocumentsInput) Validate() error {
40748	invalidParams := request.ErrInvalidParams{Context: "ListDocumentsInput"}
40749	if s.DocumentFilterList != nil && len(s.DocumentFilterList) < 1 {
40750		invalidParams.Add(request.NewErrParamMinLen("DocumentFilterList", 1))
40751	}
40752	if s.MaxResults != nil && *s.MaxResults < 1 {
40753		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40754	}
40755	if s.DocumentFilterList != nil {
40756		for i, v := range s.DocumentFilterList {
40757			if v == nil {
40758				continue
40759			}
40760			if err := v.Validate(); err != nil {
40761				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentFilterList", i), err.(request.ErrInvalidParams))
40762			}
40763		}
40764	}
40765	if s.Filters != nil {
40766		for i, v := range s.Filters {
40767			if v == nil {
40768				continue
40769			}
40770			if err := v.Validate(); err != nil {
40771				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
40772			}
40773		}
40774	}
40775
40776	if invalidParams.Len() > 0 {
40777		return invalidParams
40778	}
40779	return nil
40780}
40781
40782// SetDocumentFilterList sets the DocumentFilterList field's value.
40783func (s *ListDocumentsInput) SetDocumentFilterList(v []*DocumentFilter) *ListDocumentsInput {
40784	s.DocumentFilterList = v
40785	return s
40786}
40787
40788// SetFilters sets the Filters field's value.
40789func (s *ListDocumentsInput) SetFilters(v []*DocumentKeyValuesFilter) *ListDocumentsInput {
40790	s.Filters = v
40791	return s
40792}
40793
40794// SetMaxResults sets the MaxResults field's value.
40795func (s *ListDocumentsInput) SetMaxResults(v int64) *ListDocumentsInput {
40796	s.MaxResults = &v
40797	return s
40798}
40799
40800// SetNextToken sets the NextToken field's value.
40801func (s *ListDocumentsInput) SetNextToken(v string) *ListDocumentsInput {
40802	s.NextToken = &v
40803	return s
40804}
40805
40806type ListDocumentsOutput struct {
40807	_ struct{} `type:"structure"`
40808
40809	// The names of the SSM documents.
40810	DocumentIdentifiers []*DocumentIdentifier `type:"list"`
40811
40812	// The token to use when requesting the next set of items. If there are no additional
40813	// items to return, the string is empty.
40814	NextToken *string `type:"string"`
40815}
40816
40817// String returns the string representation.
40818//
40819// API parameter values that are decorated as "sensitive" in the API will not
40820// be included in the string output. The member name will be present, but the
40821// value will be replaced with "sensitive".
40822func (s ListDocumentsOutput) String() string {
40823	return awsutil.Prettify(s)
40824}
40825
40826// GoString returns the string representation.
40827//
40828// API parameter values that are decorated as "sensitive" in the API will not
40829// be included in the string output. The member name will be present, but the
40830// value will be replaced with "sensitive".
40831func (s ListDocumentsOutput) GoString() string {
40832	return s.String()
40833}
40834
40835// SetDocumentIdentifiers sets the DocumentIdentifiers field's value.
40836func (s *ListDocumentsOutput) SetDocumentIdentifiers(v []*DocumentIdentifier) *ListDocumentsOutput {
40837	s.DocumentIdentifiers = v
40838	return s
40839}
40840
40841// SetNextToken sets the NextToken field's value.
40842func (s *ListDocumentsOutput) SetNextToken(v string) *ListDocumentsOutput {
40843	s.NextToken = &v
40844	return s
40845}
40846
40847type ListInventoryEntriesInput struct {
40848	_ struct{} `type:"structure"`
40849
40850	// One or more filters. Use a filter to return a more specific list of results.
40851	Filters []*InventoryFilter `min:"1" type:"list"`
40852
40853	// The instance ID for which you want inventory information.
40854	//
40855	// InstanceId is a required field
40856	InstanceId *string `type:"string" required:"true"`
40857
40858	// The maximum number of items to return for this call. The call also returns
40859	// a token that you can specify in a subsequent call to get the next set of
40860	// results.
40861	MaxResults *int64 `min:"1" type:"integer"`
40862
40863	// The token for the next set of items to return. (You received this token from
40864	// a previous call.)
40865	NextToken *string `type:"string"`
40866
40867	// The type of inventory item for which you want information.
40868	//
40869	// TypeName is a required field
40870	TypeName *string `min:"1" type:"string" required:"true"`
40871}
40872
40873// String returns the string representation.
40874//
40875// API parameter values that are decorated as "sensitive" in the API will not
40876// be included in the string output. The member name will be present, but the
40877// value will be replaced with "sensitive".
40878func (s ListInventoryEntriesInput) String() string {
40879	return awsutil.Prettify(s)
40880}
40881
40882// GoString returns the string representation.
40883//
40884// API parameter values that are decorated as "sensitive" in the API will not
40885// be included in the string output. The member name will be present, but the
40886// value will be replaced with "sensitive".
40887func (s ListInventoryEntriesInput) GoString() string {
40888	return s.String()
40889}
40890
40891// Validate inspects the fields of the type to determine if they are valid.
40892func (s *ListInventoryEntriesInput) Validate() error {
40893	invalidParams := request.ErrInvalidParams{Context: "ListInventoryEntriesInput"}
40894	if s.Filters != nil && len(s.Filters) < 1 {
40895		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
40896	}
40897	if s.InstanceId == nil {
40898		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
40899	}
40900	if s.MaxResults != nil && *s.MaxResults < 1 {
40901		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
40902	}
40903	if s.TypeName == nil {
40904		invalidParams.Add(request.NewErrParamRequired("TypeName"))
40905	}
40906	if s.TypeName != nil && len(*s.TypeName) < 1 {
40907		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
40908	}
40909	if s.Filters != nil {
40910		for i, v := range s.Filters {
40911			if v == nil {
40912				continue
40913			}
40914			if err := v.Validate(); err != nil {
40915				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
40916			}
40917		}
40918	}
40919
40920	if invalidParams.Len() > 0 {
40921		return invalidParams
40922	}
40923	return nil
40924}
40925
40926// SetFilters sets the Filters field's value.
40927func (s *ListInventoryEntriesInput) SetFilters(v []*InventoryFilter) *ListInventoryEntriesInput {
40928	s.Filters = v
40929	return s
40930}
40931
40932// SetInstanceId sets the InstanceId field's value.
40933func (s *ListInventoryEntriesInput) SetInstanceId(v string) *ListInventoryEntriesInput {
40934	s.InstanceId = &v
40935	return s
40936}
40937
40938// SetMaxResults sets the MaxResults field's value.
40939func (s *ListInventoryEntriesInput) SetMaxResults(v int64) *ListInventoryEntriesInput {
40940	s.MaxResults = &v
40941	return s
40942}
40943
40944// SetNextToken sets the NextToken field's value.
40945func (s *ListInventoryEntriesInput) SetNextToken(v string) *ListInventoryEntriesInput {
40946	s.NextToken = &v
40947	return s
40948}
40949
40950// SetTypeName sets the TypeName field's value.
40951func (s *ListInventoryEntriesInput) SetTypeName(v string) *ListInventoryEntriesInput {
40952	s.TypeName = &v
40953	return s
40954}
40955
40956type ListInventoryEntriesOutput struct {
40957	_ struct{} `type:"structure"`
40958
40959	// The time that inventory information was collected for the instance(s).
40960	CaptureTime *string `type:"string"`
40961
40962	// A list of inventory items on the instance(s).
40963	Entries []map[string]*string `type:"list"`
40964
40965	// The instance ID targeted by the request to query inventory information.
40966	InstanceId *string `type:"string"`
40967
40968	// The token to use when requesting the next set of items. If there are no additional
40969	// items to return, the string is empty.
40970	NextToken *string `type:"string"`
40971
40972	// The inventory schema version used by the instance(s).
40973	SchemaVersion *string `type:"string"`
40974
40975	// The type of inventory item returned by the request.
40976	TypeName *string `min:"1" type:"string"`
40977}
40978
40979// String returns the string representation.
40980//
40981// API parameter values that are decorated as "sensitive" in the API will not
40982// be included in the string output. The member name will be present, but the
40983// value will be replaced with "sensitive".
40984func (s ListInventoryEntriesOutput) String() string {
40985	return awsutil.Prettify(s)
40986}
40987
40988// GoString returns the string representation.
40989//
40990// API parameter values that are decorated as "sensitive" in the API will not
40991// be included in the string output. The member name will be present, but the
40992// value will be replaced with "sensitive".
40993func (s ListInventoryEntriesOutput) GoString() string {
40994	return s.String()
40995}
40996
40997// SetCaptureTime sets the CaptureTime field's value.
40998func (s *ListInventoryEntriesOutput) SetCaptureTime(v string) *ListInventoryEntriesOutput {
40999	s.CaptureTime = &v
41000	return s
41001}
41002
41003// SetEntries sets the Entries field's value.
41004func (s *ListInventoryEntriesOutput) SetEntries(v []map[string]*string) *ListInventoryEntriesOutput {
41005	s.Entries = v
41006	return s
41007}
41008
41009// SetInstanceId sets the InstanceId field's value.
41010func (s *ListInventoryEntriesOutput) SetInstanceId(v string) *ListInventoryEntriesOutput {
41011	s.InstanceId = &v
41012	return s
41013}
41014
41015// SetNextToken sets the NextToken field's value.
41016func (s *ListInventoryEntriesOutput) SetNextToken(v string) *ListInventoryEntriesOutput {
41017	s.NextToken = &v
41018	return s
41019}
41020
41021// SetSchemaVersion sets the SchemaVersion field's value.
41022func (s *ListInventoryEntriesOutput) SetSchemaVersion(v string) *ListInventoryEntriesOutput {
41023	s.SchemaVersion = &v
41024	return s
41025}
41026
41027// SetTypeName sets the TypeName field's value.
41028func (s *ListInventoryEntriesOutput) SetTypeName(v string) *ListInventoryEntriesOutput {
41029	s.TypeName = &v
41030	return s
41031}
41032
41033type ListOpsItemEventsInput struct {
41034	_ struct{} `type:"structure"`
41035
41036	// One or more OpsItem filters. Use a filter to return a more specific list
41037	// of results.
41038	Filters []*OpsItemEventFilter `type:"list"`
41039
41040	// The maximum number of items to return for this call. The call also returns
41041	// a token that you can specify in a subsequent call to get the next set of
41042	// results.
41043	MaxResults *int64 `min:"1" type:"integer"`
41044
41045	// A token to start the list. Use this token to get the next set of results.
41046	NextToken *string `type:"string"`
41047}
41048
41049// String returns the string representation.
41050//
41051// API parameter values that are decorated as "sensitive" in the API will not
41052// be included in the string output. The member name will be present, but the
41053// value will be replaced with "sensitive".
41054func (s ListOpsItemEventsInput) String() string {
41055	return awsutil.Prettify(s)
41056}
41057
41058// GoString returns the string representation.
41059//
41060// API parameter values that are decorated as "sensitive" in the API will not
41061// be included in the string output. The member name will be present, but the
41062// value will be replaced with "sensitive".
41063func (s ListOpsItemEventsInput) GoString() string {
41064	return s.String()
41065}
41066
41067// Validate inspects the fields of the type to determine if they are valid.
41068func (s *ListOpsItemEventsInput) Validate() error {
41069	invalidParams := request.ErrInvalidParams{Context: "ListOpsItemEventsInput"}
41070	if s.MaxResults != nil && *s.MaxResults < 1 {
41071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
41072	}
41073	if s.Filters != nil {
41074		for i, v := range s.Filters {
41075			if v == nil {
41076				continue
41077			}
41078			if err := v.Validate(); err != nil {
41079				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
41080			}
41081		}
41082	}
41083
41084	if invalidParams.Len() > 0 {
41085		return invalidParams
41086	}
41087	return nil
41088}
41089
41090// SetFilters sets the Filters field's value.
41091func (s *ListOpsItemEventsInput) SetFilters(v []*OpsItemEventFilter) *ListOpsItemEventsInput {
41092	s.Filters = v
41093	return s
41094}
41095
41096// SetMaxResults sets the MaxResults field's value.
41097func (s *ListOpsItemEventsInput) SetMaxResults(v int64) *ListOpsItemEventsInput {
41098	s.MaxResults = &v
41099	return s
41100}
41101
41102// SetNextToken sets the NextToken field's value.
41103func (s *ListOpsItemEventsInput) SetNextToken(v string) *ListOpsItemEventsInput {
41104	s.NextToken = &v
41105	return s
41106}
41107
41108type ListOpsItemEventsOutput struct {
41109	_ struct{} `type:"structure"`
41110
41111	// The token for the next set of items to return. Use this token to get the
41112	// next set of results.
41113	NextToken *string `type:"string"`
41114
41115	// A list of event information for the specified OpsItems.
41116	Summaries []*OpsItemEventSummary `type:"list"`
41117}
41118
41119// String returns the string representation.
41120//
41121// API parameter values that are decorated as "sensitive" in the API will not
41122// be included in the string output. The member name will be present, but the
41123// value will be replaced with "sensitive".
41124func (s ListOpsItemEventsOutput) String() string {
41125	return awsutil.Prettify(s)
41126}
41127
41128// GoString returns the string representation.
41129//
41130// API parameter values that are decorated as "sensitive" in the API will not
41131// be included in the string output. The member name will be present, but the
41132// value will be replaced with "sensitive".
41133func (s ListOpsItemEventsOutput) GoString() string {
41134	return s.String()
41135}
41136
41137// SetNextToken sets the NextToken field's value.
41138func (s *ListOpsItemEventsOutput) SetNextToken(v string) *ListOpsItemEventsOutput {
41139	s.NextToken = &v
41140	return s
41141}
41142
41143// SetSummaries sets the Summaries field's value.
41144func (s *ListOpsItemEventsOutput) SetSummaries(v []*OpsItemEventSummary) *ListOpsItemEventsOutput {
41145	s.Summaries = v
41146	return s
41147}
41148
41149type ListOpsItemRelatedItemsInput struct {
41150	_ struct{} `type:"structure"`
41151
41152	// One or more OpsItem filters. Use a filter to return a more specific list
41153	// of results.
41154	Filters []*OpsItemRelatedItemsFilter `type:"list"`
41155
41156	// The maximum number of items to return for this call. The call also returns
41157	// a token that you can specify in a subsequent call to get the next set of
41158	// results.
41159	MaxResults *int64 `min:"1" type:"integer"`
41160
41161	// The token for the next set of items to return. (You received this token from
41162	// a previous call.)
41163	NextToken *string `type:"string"`
41164
41165	// The ID of the OpsItem for which you want to list all related-item resources.
41166	OpsItemId *string `type:"string"`
41167}
41168
41169// String returns the string representation.
41170//
41171// API parameter values that are decorated as "sensitive" in the API will not
41172// be included in the string output. The member name will be present, but the
41173// value will be replaced with "sensitive".
41174func (s ListOpsItemRelatedItemsInput) String() string {
41175	return awsutil.Prettify(s)
41176}
41177
41178// GoString returns the string representation.
41179//
41180// API parameter values that are decorated as "sensitive" in the API will not
41181// be included in the string output. The member name will be present, but the
41182// value will be replaced with "sensitive".
41183func (s ListOpsItemRelatedItemsInput) GoString() string {
41184	return s.String()
41185}
41186
41187// Validate inspects the fields of the type to determine if they are valid.
41188func (s *ListOpsItemRelatedItemsInput) Validate() error {
41189	invalidParams := request.ErrInvalidParams{Context: "ListOpsItemRelatedItemsInput"}
41190	if s.MaxResults != nil && *s.MaxResults < 1 {
41191		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
41192	}
41193	if s.Filters != nil {
41194		for i, v := range s.Filters {
41195			if v == nil {
41196				continue
41197			}
41198			if err := v.Validate(); err != nil {
41199				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
41200			}
41201		}
41202	}
41203
41204	if invalidParams.Len() > 0 {
41205		return invalidParams
41206	}
41207	return nil
41208}
41209
41210// SetFilters sets the Filters field's value.
41211func (s *ListOpsItemRelatedItemsInput) SetFilters(v []*OpsItemRelatedItemsFilter) *ListOpsItemRelatedItemsInput {
41212	s.Filters = v
41213	return s
41214}
41215
41216// SetMaxResults sets the MaxResults field's value.
41217func (s *ListOpsItemRelatedItemsInput) SetMaxResults(v int64) *ListOpsItemRelatedItemsInput {
41218	s.MaxResults = &v
41219	return s
41220}
41221
41222// SetNextToken sets the NextToken field's value.
41223func (s *ListOpsItemRelatedItemsInput) SetNextToken(v string) *ListOpsItemRelatedItemsInput {
41224	s.NextToken = &v
41225	return s
41226}
41227
41228// SetOpsItemId sets the OpsItemId field's value.
41229func (s *ListOpsItemRelatedItemsInput) SetOpsItemId(v string) *ListOpsItemRelatedItemsInput {
41230	s.OpsItemId = &v
41231	return s
41232}
41233
41234type ListOpsItemRelatedItemsOutput struct {
41235	_ struct{} `type:"structure"`
41236
41237	// The token for the next set of items to return. Use this token to get the
41238	// next set of results.
41239	NextToken *string `type:"string"`
41240
41241	// A list of related-item resources for the specified OpsItem.
41242	Summaries []*OpsItemRelatedItemSummary `type:"list"`
41243}
41244
41245// String returns the string representation.
41246//
41247// API parameter values that are decorated as "sensitive" in the API will not
41248// be included in the string output. The member name will be present, but the
41249// value will be replaced with "sensitive".
41250func (s ListOpsItemRelatedItemsOutput) String() string {
41251	return awsutil.Prettify(s)
41252}
41253
41254// GoString returns the string representation.
41255//
41256// API parameter values that are decorated as "sensitive" in the API will not
41257// be included in the string output. The member name will be present, but the
41258// value will be replaced with "sensitive".
41259func (s ListOpsItemRelatedItemsOutput) GoString() string {
41260	return s.String()
41261}
41262
41263// SetNextToken sets the NextToken field's value.
41264func (s *ListOpsItemRelatedItemsOutput) SetNextToken(v string) *ListOpsItemRelatedItemsOutput {
41265	s.NextToken = &v
41266	return s
41267}
41268
41269// SetSummaries sets the Summaries field's value.
41270func (s *ListOpsItemRelatedItemsOutput) SetSummaries(v []*OpsItemRelatedItemSummary) *ListOpsItemRelatedItemsOutput {
41271	s.Summaries = v
41272	return s
41273}
41274
41275type ListOpsMetadataInput struct {
41276	_ struct{} `type:"structure"`
41277
41278	// One or more filters to limit the number of OpsMetadata objects returned by
41279	// the call.
41280	Filters []*OpsMetadataFilter `type:"list"`
41281
41282	// The maximum number of items to return for this call. The call also returns
41283	// a token that you can specify in a subsequent call to get the next set of
41284	// results.
41285	MaxResults *int64 `min:"1" type:"integer"`
41286
41287	// A token to start the list. Use this token to get the next set of results.
41288	NextToken *string `type:"string"`
41289}
41290
41291// String returns the string representation.
41292//
41293// API parameter values that are decorated as "sensitive" in the API will not
41294// be included in the string output. The member name will be present, but the
41295// value will be replaced with "sensitive".
41296func (s ListOpsMetadataInput) String() string {
41297	return awsutil.Prettify(s)
41298}
41299
41300// GoString returns the string representation.
41301//
41302// API parameter values that are decorated as "sensitive" in the API will not
41303// be included in the string output. The member name will be present, but the
41304// value will be replaced with "sensitive".
41305func (s ListOpsMetadataInput) GoString() string {
41306	return s.String()
41307}
41308
41309// Validate inspects the fields of the type to determine if they are valid.
41310func (s *ListOpsMetadataInput) Validate() error {
41311	invalidParams := request.ErrInvalidParams{Context: "ListOpsMetadataInput"}
41312	if s.MaxResults != nil && *s.MaxResults < 1 {
41313		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
41314	}
41315	if s.Filters != nil {
41316		for i, v := range s.Filters {
41317			if v == nil {
41318				continue
41319			}
41320			if err := v.Validate(); err != nil {
41321				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
41322			}
41323		}
41324	}
41325
41326	if invalidParams.Len() > 0 {
41327		return invalidParams
41328	}
41329	return nil
41330}
41331
41332// SetFilters sets the Filters field's value.
41333func (s *ListOpsMetadataInput) SetFilters(v []*OpsMetadataFilter) *ListOpsMetadataInput {
41334	s.Filters = v
41335	return s
41336}
41337
41338// SetMaxResults sets the MaxResults field's value.
41339func (s *ListOpsMetadataInput) SetMaxResults(v int64) *ListOpsMetadataInput {
41340	s.MaxResults = &v
41341	return s
41342}
41343
41344// SetNextToken sets the NextToken field's value.
41345func (s *ListOpsMetadataInput) SetNextToken(v string) *ListOpsMetadataInput {
41346	s.NextToken = &v
41347	return s
41348}
41349
41350type ListOpsMetadataOutput struct {
41351	_ struct{} `type:"structure"`
41352
41353	// The token for the next set of items to return. Use this token to get the
41354	// next set of results.
41355	NextToken *string `type:"string"`
41356
41357	// Returns a list of OpsMetadata objects.
41358	OpsMetadataList []*OpsMetadata `min:"1" type:"list"`
41359}
41360
41361// String returns the string representation.
41362//
41363// API parameter values that are decorated as "sensitive" in the API will not
41364// be included in the string output. The member name will be present, but the
41365// value will be replaced with "sensitive".
41366func (s ListOpsMetadataOutput) String() string {
41367	return awsutil.Prettify(s)
41368}
41369
41370// GoString returns the string representation.
41371//
41372// API parameter values that are decorated as "sensitive" in the API will not
41373// be included in the string output. The member name will be present, but the
41374// value will be replaced with "sensitive".
41375func (s ListOpsMetadataOutput) GoString() string {
41376	return s.String()
41377}
41378
41379// SetNextToken sets the NextToken field's value.
41380func (s *ListOpsMetadataOutput) SetNextToken(v string) *ListOpsMetadataOutput {
41381	s.NextToken = &v
41382	return s
41383}
41384
41385// SetOpsMetadataList sets the OpsMetadataList field's value.
41386func (s *ListOpsMetadataOutput) SetOpsMetadataList(v []*OpsMetadata) *ListOpsMetadataOutput {
41387	s.OpsMetadataList = v
41388	return s
41389}
41390
41391type ListResourceComplianceSummariesInput struct {
41392	_ struct{} `type:"structure"`
41393
41394	// One or more filters. Use a filter to return a more specific list of results.
41395	Filters []*ComplianceStringFilter `type:"list"`
41396
41397	// The maximum number of items to return for this call. The call also returns
41398	// a token that you can specify in a subsequent call to get the next set of
41399	// results.
41400	MaxResults *int64 `min:"1" type:"integer"`
41401
41402	// A token to start the list. Use this token to get the next set of results.
41403	NextToken *string `type:"string"`
41404}
41405
41406// String returns the string representation.
41407//
41408// API parameter values that are decorated as "sensitive" in the API will not
41409// be included in the string output. The member name will be present, but the
41410// value will be replaced with "sensitive".
41411func (s ListResourceComplianceSummariesInput) String() string {
41412	return awsutil.Prettify(s)
41413}
41414
41415// GoString returns the string representation.
41416//
41417// API parameter values that are decorated as "sensitive" in the API will not
41418// be included in the string output. The member name will be present, but the
41419// value will be replaced with "sensitive".
41420func (s ListResourceComplianceSummariesInput) GoString() string {
41421	return s.String()
41422}
41423
41424// Validate inspects the fields of the type to determine if they are valid.
41425func (s *ListResourceComplianceSummariesInput) Validate() error {
41426	invalidParams := request.ErrInvalidParams{Context: "ListResourceComplianceSummariesInput"}
41427	if s.MaxResults != nil && *s.MaxResults < 1 {
41428		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
41429	}
41430	if s.Filters != nil {
41431		for i, v := range s.Filters {
41432			if v == nil {
41433				continue
41434			}
41435			if err := v.Validate(); err != nil {
41436				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
41437			}
41438		}
41439	}
41440
41441	if invalidParams.Len() > 0 {
41442		return invalidParams
41443	}
41444	return nil
41445}
41446
41447// SetFilters sets the Filters field's value.
41448func (s *ListResourceComplianceSummariesInput) SetFilters(v []*ComplianceStringFilter) *ListResourceComplianceSummariesInput {
41449	s.Filters = v
41450	return s
41451}
41452
41453// SetMaxResults sets the MaxResults field's value.
41454func (s *ListResourceComplianceSummariesInput) SetMaxResults(v int64) *ListResourceComplianceSummariesInput {
41455	s.MaxResults = &v
41456	return s
41457}
41458
41459// SetNextToken sets the NextToken field's value.
41460func (s *ListResourceComplianceSummariesInput) SetNextToken(v string) *ListResourceComplianceSummariesInput {
41461	s.NextToken = &v
41462	return s
41463}
41464
41465type ListResourceComplianceSummariesOutput struct {
41466	_ struct{} `type:"structure"`
41467
41468	// The token for the next set of items to return. Use this token to get the
41469	// next set of results.
41470	NextToken *string `type:"string"`
41471
41472	// A summary count for specified or targeted managed instances. Summary count
41473	// includes information about compliant and non-compliant State Manager associations,
41474	// patch status, or custom items according to the filter criteria that you specify.
41475	ResourceComplianceSummaryItems []*ResourceComplianceSummaryItem `type:"list"`
41476}
41477
41478// String returns the string representation.
41479//
41480// API parameter values that are decorated as "sensitive" in the API will not
41481// be included in the string output. The member name will be present, but the
41482// value will be replaced with "sensitive".
41483func (s ListResourceComplianceSummariesOutput) String() string {
41484	return awsutil.Prettify(s)
41485}
41486
41487// GoString returns the string representation.
41488//
41489// API parameter values that are decorated as "sensitive" in the API will not
41490// be included in the string output. The member name will be present, but the
41491// value will be replaced with "sensitive".
41492func (s ListResourceComplianceSummariesOutput) GoString() string {
41493	return s.String()
41494}
41495
41496// SetNextToken sets the NextToken field's value.
41497func (s *ListResourceComplianceSummariesOutput) SetNextToken(v string) *ListResourceComplianceSummariesOutput {
41498	s.NextToken = &v
41499	return s
41500}
41501
41502// SetResourceComplianceSummaryItems sets the ResourceComplianceSummaryItems field's value.
41503func (s *ListResourceComplianceSummariesOutput) SetResourceComplianceSummaryItems(v []*ResourceComplianceSummaryItem) *ListResourceComplianceSummariesOutput {
41504	s.ResourceComplianceSummaryItems = v
41505	return s
41506}
41507
41508type ListResourceDataSyncInput struct {
41509	_ struct{} `type:"structure"`
41510
41511	// The maximum number of items to return for this call. The call also returns
41512	// a token that you can specify in a subsequent call to get the next set of
41513	// results.
41514	MaxResults *int64 `min:"1" type:"integer"`
41515
41516	// A token to start the list. Use this token to get the next set of results.
41517	NextToken *string `type:"string"`
41518
41519	// View a list of resource data syncs according to the sync type. Specify SyncToDestination
41520	// to view resource data syncs that synchronize data to an Amazon S3 bucket.
41521	// Specify SyncFromSource to view resource data syncs from Organizations or
41522	// from multiple Amazon Web Services Regions.
41523	SyncType *string `min:"1" type:"string"`
41524}
41525
41526// String returns the string representation.
41527//
41528// API parameter values that are decorated as "sensitive" in the API will not
41529// be included in the string output. The member name will be present, but the
41530// value will be replaced with "sensitive".
41531func (s ListResourceDataSyncInput) String() string {
41532	return awsutil.Prettify(s)
41533}
41534
41535// GoString returns the string representation.
41536//
41537// API parameter values that are decorated as "sensitive" in the API will not
41538// be included in the string output. The member name will be present, but the
41539// value will be replaced with "sensitive".
41540func (s ListResourceDataSyncInput) GoString() string {
41541	return s.String()
41542}
41543
41544// Validate inspects the fields of the type to determine if they are valid.
41545func (s *ListResourceDataSyncInput) Validate() error {
41546	invalidParams := request.ErrInvalidParams{Context: "ListResourceDataSyncInput"}
41547	if s.MaxResults != nil && *s.MaxResults < 1 {
41548		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
41549	}
41550	if s.SyncType != nil && len(*s.SyncType) < 1 {
41551		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
41552	}
41553
41554	if invalidParams.Len() > 0 {
41555		return invalidParams
41556	}
41557	return nil
41558}
41559
41560// SetMaxResults sets the MaxResults field's value.
41561func (s *ListResourceDataSyncInput) SetMaxResults(v int64) *ListResourceDataSyncInput {
41562	s.MaxResults = &v
41563	return s
41564}
41565
41566// SetNextToken sets the NextToken field's value.
41567func (s *ListResourceDataSyncInput) SetNextToken(v string) *ListResourceDataSyncInput {
41568	s.NextToken = &v
41569	return s
41570}
41571
41572// SetSyncType sets the SyncType field's value.
41573func (s *ListResourceDataSyncInput) SetSyncType(v string) *ListResourceDataSyncInput {
41574	s.SyncType = &v
41575	return s
41576}
41577
41578type ListResourceDataSyncOutput struct {
41579	_ struct{} `type:"structure"`
41580
41581	// The token for the next set of items to return. Use this token to get the
41582	// next set of results.
41583	NextToken *string `type:"string"`
41584
41585	// A list of your current resource data sync configurations and their statuses.
41586	ResourceDataSyncItems []*ResourceDataSyncItem `type:"list"`
41587}
41588
41589// String returns the string representation.
41590//
41591// API parameter values that are decorated as "sensitive" in the API will not
41592// be included in the string output. The member name will be present, but the
41593// value will be replaced with "sensitive".
41594func (s ListResourceDataSyncOutput) String() string {
41595	return awsutil.Prettify(s)
41596}
41597
41598// GoString returns the string representation.
41599//
41600// API parameter values that are decorated as "sensitive" in the API will not
41601// be included in the string output. The member name will be present, but the
41602// value will be replaced with "sensitive".
41603func (s ListResourceDataSyncOutput) GoString() string {
41604	return s.String()
41605}
41606
41607// SetNextToken sets the NextToken field's value.
41608func (s *ListResourceDataSyncOutput) SetNextToken(v string) *ListResourceDataSyncOutput {
41609	s.NextToken = &v
41610	return s
41611}
41612
41613// SetResourceDataSyncItems sets the ResourceDataSyncItems field's value.
41614func (s *ListResourceDataSyncOutput) SetResourceDataSyncItems(v []*ResourceDataSyncItem) *ListResourceDataSyncOutput {
41615	s.ResourceDataSyncItems = v
41616	return s
41617}
41618
41619type ListTagsForResourceInput struct {
41620	_ struct{} `type:"structure"`
41621
41622	// The resource ID for which you want to see a list of tags.
41623	//
41624	// ResourceId is a required field
41625	ResourceId *string `type:"string" required:"true"`
41626
41627	// Returns a list of tags for a specific resource type.
41628	//
41629	// ResourceType is a required field
41630	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
41631}
41632
41633// String returns the string representation.
41634//
41635// API parameter values that are decorated as "sensitive" in the API will not
41636// be included in the string output. The member name will be present, but the
41637// value will be replaced with "sensitive".
41638func (s ListTagsForResourceInput) String() string {
41639	return awsutil.Prettify(s)
41640}
41641
41642// GoString returns the string representation.
41643//
41644// API parameter values that are decorated as "sensitive" in the API will not
41645// be included in the string output. The member name will be present, but the
41646// value will be replaced with "sensitive".
41647func (s ListTagsForResourceInput) GoString() string {
41648	return s.String()
41649}
41650
41651// Validate inspects the fields of the type to determine if they are valid.
41652func (s *ListTagsForResourceInput) Validate() error {
41653	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
41654	if s.ResourceId == nil {
41655		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
41656	}
41657	if s.ResourceType == nil {
41658		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
41659	}
41660
41661	if invalidParams.Len() > 0 {
41662		return invalidParams
41663	}
41664	return nil
41665}
41666
41667// SetResourceId sets the ResourceId field's value.
41668func (s *ListTagsForResourceInput) SetResourceId(v string) *ListTagsForResourceInput {
41669	s.ResourceId = &v
41670	return s
41671}
41672
41673// SetResourceType sets the ResourceType field's value.
41674func (s *ListTagsForResourceInput) SetResourceType(v string) *ListTagsForResourceInput {
41675	s.ResourceType = &v
41676	return s
41677}
41678
41679type ListTagsForResourceOutput struct {
41680	_ struct{} `type:"structure"`
41681
41682	// A list of tags.
41683	TagList []*Tag `type:"list"`
41684}
41685
41686// String returns the string representation.
41687//
41688// API parameter values that are decorated as "sensitive" in the API will not
41689// be included in the string output. The member name will be present, but the
41690// value will be replaced with "sensitive".
41691func (s ListTagsForResourceOutput) String() string {
41692	return awsutil.Prettify(s)
41693}
41694
41695// GoString returns the string representation.
41696//
41697// API parameter values that are decorated as "sensitive" in the API will not
41698// be included in the string output. The member name will be present, but the
41699// value will be replaced with "sensitive".
41700func (s ListTagsForResourceOutput) GoString() string {
41701	return s.String()
41702}
41703
41704// SetTagList sets the TagList field's value.
41705func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
41706	s.TagList = v
41707	return s
41708}
41709
41710// Information about an Amazon Simple Storage Service (Amazon S3) bucket to
41711// write instance-level logs to.
41712//
41713// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
41714// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
41715// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
41716// information about how Amazon Web Services Systems Manager handles these options
41717// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
41718type LoggingInfo struct {
41719	_ struct{} `type:"structure"`
41720
41721	// The name of an S3 bucket where execution logs are stored .
41722	//
41723	// S3BucketName is a required field
41724	S3BucketName *string `min:"3" type:"string" required:"true"`
41725
41726	// (Optional) The S3 bucket subfolder.
41727	S3KeyPrefix *string `type:"string"`
41728
41729	// The Amazon Web Services Region where the S3 bucket is located.
41730	//
41731	// S3Region is a required field
41732	S3Region *string `min:"3" type:"string" required:"true"`
41733}
41734
41735// String returns the string representation.
41736//
41737// API parameter values that are decorated as "sensitive" in the API will not
41738// be included in the string output. The member name will be present, but the
41739// value will be replaced with "sensitive".
41740func (s LoggingInfo) String() string {
41741	return awsutil.Prettify(s)
41742}
41743
41744// GoString returns the string representation.
41745//
41746// API parameter values that are decorated as "sensitive" in the API will not
41747// be included in the string output. The member name will be present, but the
41748// value will be replaced with "sensitive".
41749func (s LoggingInfo) GoString() string {
41750	return s.String()
41751}
41752
41753// Validate inspects the fields of the type to determine if they are valid.
41754func (s *LoggingInfo) Validate() error {
41755	invalidParams := request.ErrInvalidParams{Context: "LoggingInfo"}
41756	if s.S3BucketName == nil {
41757		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
41758	}
41759	if s.S3BucketName != nil && len(*s.S3BucketName) < 3 {
41760		invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3))
41761	}
41762	if s.S3Region == nil {
41763		invalidParams.Add(request.NewErrParamRequired("S3Region"))
41764	}
41765	if s.S3Region != nil && len(*s.S3Region) < 3 {
41766		invalidParams.Add(request.NewErrParamMinLen("S3Region", 3))
41767	}
41768
41769	if invalidParams.Len() > 0 {
41770		return invalidParams
41771	}
41772	return nil
41773}
41774
41775// SetS3BucketName sets the S3BucketName field's value.
41776func (s *LoggingInfo) SetS3BucketName(v string) *LoggingInfo {
41777	s.S3BucketName = &v
41778	return s
41779}
41780
41781// SetS3KeyPrefix sets the S3KeyPrefix field's value.
41782func (s *LoggingInfo) SetS3KeyPrefix(v string) *LoggingInfo {
41783	s.S3KeyPrefix = &v
41784	return s
41785}
41786
41787// SetS3Region sets the S3Region field's value.
41788func (s *LoggingInfo) SetS3Region(v string) *LoggingInfo {
41789	s.S3Region = &v
41790	return s
41791}
41792
41793// The parameters for an AUTOMATION task type.
41794type MaintenanceWindowAutomationParameters struct {
41795	_ struct{} `type:"structure"`
41796
41797	// The version of an Automation runbook to use during task execution.
41798	DocumentVersion *string `type:"string"`
41799
41800	// The parameters for the AUTOMATION task.
41801	//
41802	// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
41803	// and UpdateMaintenanceWindowTask.
41804	//
41805	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
41806	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
41807	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
41808	// information about how Amazon Web Services Systems Manager handles these options
41809	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
41810	//
41811	// TaskParameters has been deprecated. To specify parameters to pass to a task
41812	// when it runs, instead use the Parameters option in the TaskInvocationParameters
41813	// structure. For information about how Systems Manager handles these options
41814	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
41815	//
41816	// For AUTOMATION task types, Amazon Web Services Systems Manager ignores any
41817	// values specified for these parameters.
41818	Parameters map[string][]*string `min:"1" type:"map"`
41819}
41820
41821// String returns the string representation.
41822//
41823// API parameter values that are decorated as "sensitive" in the API will not
41824// be included in the string output. The member name will be present, but the
41825// value will be replaced with "sensitive".
41826func (s MaintenanceWindowAutomationParameters) String() string {
41827	return awsutil.Prettify(s)
41828}
41829
41830// GoString returns the string representation.
41831//
41832// API parameter values that are decorated as "sensitive" in the API will not
41833// be included in the string output. The member name will be present, but the
41834// value will be replaced with "sensitive".
41835func (s MaintenanceWindowAutomationParameters) GoString() string {
41836	return s.String()
41837}
41838
41839// Validate inspects the fields of the type to determine if they are valid.
41840func (s *MaintenanceWindowAutomationParameters) Validate() error {
41841	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowAutomationParameters"}
41842	if s.Parameters != nil && len(s.Parameters) < 1 {
41843		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
41844	}
41845
41846	if invalidParams.Len() > 0 {
41847		return invalidParams
41848	}
41849	return nil
41850}
41851
41852// SetDocumentVersion sets the DocumentVersion field's value.
41853func (s *MaintenanceWindowAutomationParameters) SetDocumentVersion(v string) *MaintenanceWindowAutomationParameters {
41854	s.DocumentVersion = &v
41855	return s
41856}
41857
41858// SetParameters sets the Parameters field's value.
41859func (s *MaintenanceWindowAutomationParameters) SetParameters(v map[string][]*string) *MaintenanceWindowAutomationParameters {
41860	s.Parameters = v
41861	return s
41862}
41863
41864// Describes the information about an execution of a maintenance window.
41865type MaintenanceWindowExecution struct {
41866	_ struct{} `type:"structure"`
41867
41868	// The time the execution finished.
41869	EndTime *time.Time `type:"timestamp"`
41870
41871	// The time the execution started.
41872	StartTime *time.Time `type:"timestamp"`
41873
41874	// The status of the execution.
41875	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
41876
41877	// The details explaining the status. Not available for all status values.
41878	StatusDetails *string `type:"string"`
41879
41880	// The ID of the maintenance window execution.
41881	WindowExecutionId *string `min:"36" type:"string"`
41882
41883	// The ID of the maintenance window.
41884	WindowId *string `min:"20" type:"string"`
41885}
41886
41887// String returns the string representation.
41888//
41889// API parameter values that are decorated as "sensitive" in the API will not
41890// be included in the string output. The member name will be present, but the
41891// value will be replaced with "sensitive".
41892func (s MaintenanceWindowExecution) String() string {
41893	return awsutil.Prettify(s)
41894}
41895
41896// GoString returns the string representation.
41897//
41898// API parameter values that are decorated as "sensitive" in the API will not
41899// be included in the string output. The member name will be present, but the
41900// value will be replaced with "sensitive".
41901func (s MaintenanceWindowExecution) GoString() string {
41902	return s.String()
41903}
41904
41905// SetEndTime sets the EndTime field's value.
41906func (s *MaintenanceWindowExecution) SetEndTime(v time.Time) *MaintenanceWindowExecution {
41907	s.EndTime = &v
41908	return s
41909}
41910
41911// SetStartTime sets the StartTime field's value.
41912func (s *MaintenanceWindowExecution) SetStartTime(v time.Time) *MaintenanceWindowExecution {
41913	s.StartTime = &v
41914	return s
41915}
41916
41917// SetStatus sets the Status field's value.
41918func (s *MaintenanceWindowExecution) SetStatus(v string) *MaintenanceWindowExecution {
41919	s.Status = &v
41920	return s
41921}
41922
41923// SetStatusDetails sets the StatusDetails field's value.
41924func (s *MaintenanceWindowExecution) SetStatusDetails(v string) *MaintenanceWindowExecution {
41925	s.StatusDetails = &v
41926	return s
41927}
41928
41929// SetWindowExecutionId sets the WindowExecutionId field's value.
41930func (s *MaintenanceWindowExecution) SetWindowExecutionId(v string) *MaintenanceWindowExecution {
41931	s.WindowExecutionId = &v
41932	return s
41933}
41934
41935// SetWindowId sets the WindowId field's value.
41936func (s *MaintenanceWindowExecution) SetWindowId(v string) *MaintenanceWindowExecution {
41937	s.WindowId = &v
41938	return s
41939}
41940
41941// Information about a task execution performed as part of a maintenance window
41942// execution.
41943type MaintenanceWindowExecutionTaskIdentity struct {
41944	_ struct{} `type:"structure"`
41945
41946	// The time the task execution finished.
41947	EndTime *time.Time `type:"timestamp"`
41948
41949	// The time the task execution started.
41950	StartTime *time.Time `type:"timestamp"`
41951
41952	// The status of the task execution.
41953	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
41954
41955	// The details explaining the status of the task execution. Not available for
41956	// all status values.
41957	StatusDetails *string `type:"string"`
41958
41959	// The Amazon Resource Name (ARN) of the task that ran.
41960	TaskArn *string `min:"1" type:"string"`
41961
41962	// The ID of the specific task execution in the maintenance window execution.
41963	TaskExecutionId *string `min:"36" type:"string"`
41964
41965	// The type of task that ran.
41966	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
41967
41968	// The ID of the maintenance window execution that ran the task.
41969	WindowExecutionId *string `min:"36" type:"string"`
41970}
41971
41972// String returns the string representation.
41973//
41974// API parameter values that are decorated as "sensitive" in the API will not
41975// be included in the string output. The member name will be present, but the
41976// value will be replaced with "sensitive".
41977func (s MaintenanceWindowExecutionTaskIdentity) String() string {
41978	return awsutil.Prettify(s)
41979}
41980
41981// GoString returns the string representation.
41982//
41983// API parameter values that are decorated as "sensitive" in the API will not
41984// be included in the string output. The member name will be present, but the
41985// value will be replaced with "sensitive".
41986func (s MaintenanceWindowExecutionTaskIdentity) GoString() string {
41987	return s.String()
41988}
41989
41990// SetEndTime sets the EndTime field's value.
41991func (s *MaintenanceWindowExecutionTaskIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
41992	s.EndTime = &v
41993	return s
41994}
41995
41996// SetStartTime sets the StartTime field's value.
41997func (s *MaintenanceWindowExecutionTaskIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskIdentity {
41998	s.StartTime = &v
41999	return s
42000}
42001
42002// SetStatus sets the Status field's value.
42003func (s *MaintenanceWindowExecutionTaskIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskIdentity {
42004	s.Status = &v
42005	return s
42006}
42007
42008// SetStatusDetails sets the StatusDetails field's value.
42009func (s *MaintenanceWindowExecutionTaskIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskIdentity {
42010	s.StatusDetails = &v
42011	return s
42012}
42013
42014// SetTaskArn sets the TaskArn field's value.
42015func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskArn(v string) *MaintenanceWindowExecutionTaskIdentity {
42016	s.TaskArn = &v
42017	return s
42018}
42019
42020// SetTaskExecutionId sets the TaskExecutionId field's value.
42021func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
42022	s.TaskExecutionId = &v
42023	return s
42024}
42025
42026// SetTaskType sets the TaskType field's value.
42027func (s *MaintenanceWindowExecutionTaskIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskIdentity {
42028	s.TaskType = &v
42029	return s
42030}
42031
42032// SetWindowExecutionId sets the WindowExecutionId field's value.
42033func (s *MaintenanceWindowExecutionTaskIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskIdentity {
42034	s.WindowExecutionId = &v
42035	return s
42036}
42037
42038// Describes the information about a task invocation for a particular target
42039// as part of a task execution performed as part of a maintenance window execution.
42040type MaintenanceWindowExecutionTaskInvocationIdentity struct {
42041	_ struct{} `type:"structure"`
42042
42043	// The time the invocation finished.
42044	EndTime *time.Time `type:"timestamp"`
42045
42046	// The ID of the action performed in the service that actually handled the task
42047	// invocation. If the task type is RUN_COMMAND, this value is the command ID.
42048	ExecutionId *string `type:"string"`
42049
42050	// The ID of the task invocation.
42051	InvocationId *string `min:"36" type:"string"`
42052
42053	// User-provided value that was specified when the target was registered with
42054	// the maintenance window. This was also included in any Amazon CloudWatch Events
42055	// events raised during the task invocation.
42056	//
42057	// OwnerInformation is a sensitive parameter and its value will be
42058	// replaced with "sensitive" in string returned by MaintenanceWindowExecutionTaskInvocationIdentity's
42059	// String and GoString methods.
42060	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
42061
42062	// The parameters that were provided for the invocation when it was run.
42063	//
42064	// Parameters is a sensitive parameter and its value will be
42065	// replaced with "sensitive" in string returned by MaintenanceWindowExecutionTaskInvocationIdentity's
42066	// String and GoString methods.
42067	Parameters *string `type:"string" sensitive:"true"`
42068
42069	// The time the invocation started.
42070	StartTime *time.Time `type:"timestamp"`
42071
42072	// The status of the task invocation.
42073	Status *string `type:"string" enum:"MaintenanceWindowExecutionStatus"`
42074
42075	// The details explaining the status of the task invocation. Not available for
42076	// all status values.
42077	StatusDetails *string `type:"string"`
42078
42079	// The ID of the specific task execution in the maintenance window execution.
42080	TaskExecutionId *string `min:"36" type:"string"`
42081
42082	// The task type.
42083	TaskType *string `type:"string" enum:"MaintenanceWindowTaskType"`
42084
42085	// The ID of the maintenance window execution that ran the task.
42086	WindowExecutionId *string `min:"36" type:"string"`
42087
42088	// The ID of the target definition in this maintenance window the invocation
42089	// was performed for.
42090	WindowTargetId *string `type:"string"`
42091}
42092
42093// String returns the string representation.
42094//
42095// API parameter values that are decorated as "sensitive" in the API will not
42096// be included in the string output. The member name will be present, but the
42097// value will be replaced with "sensitive".
42098func (s MaintenanceWindowExecutionTaskInvocationIdentity) String() string {
42099	return awsutil.Prettify(s)
42100}
42101
42102// GoString returns the string representation.
42103//
42104// API parameter values that are decorated as "sensitive" in the API will not
42105// be included in the string output. The member name will be present, but the
42106// value will be replaced with "sensitive".
42107func (s MaintenanceWindowExecutionTaskInvocationIdentity) GoString() string {
42108	return s.String()
42109}
42110
42111// SetEndTime sets the EndTime field's value.
42112func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetEndTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
42113	s.EndTime = &v
42114	return s
42115}
42116
42117// SetExecutionId sets the ExecutionId field's value.
42118func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42119	s.ExecutionId = &v
42120	return s
42121}
42122
42123// SetInvocationId sets the InvocationId field's value.
42124func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetInvocationId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42125	s.InvocationId = &v
42126	return s
42127}
42128
42129// SetOwnerInformation sets the OwnerInformation field's value.
42130func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetOwnerInformation(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42131	s.OwnerInformation = &v
42132	return s
42133}
42134
42135// SetParameters sets the Parameters field's value.
42136func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetParameters(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42137	s.Parameters = &v
42138	return s
42139}
42140
42141// SetStartTime sets the StartTime field's value.
42142func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStartTime(v time.Time) *MaintenanceWindowExecutionTaskInvocationIdentity {
42143	s.StartTime = &v
42144	return s
42145}
42146
42147// SetStatus sets the Status field's value.
42148func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatus(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42149	s.Status = &v
42150	return s
42151}
42152
42153// SetStatusDetails sets the StatusDetails field's value.
42154func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetStatusDetails(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42155	s.StatusDetails = &v
42156	return s
42157}
42158
42159// SetTaskExecutionId sets the TaskExecutionId field's value.
42160func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42161	s.TaskExecutionId = &v
42162	return s
42163}
42164
42165// SetTaskType sets the TaskType field's value.
42166func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetTaskType(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42167	s.TaskType = &v
42168	return s
42169}
42170
42171// SetWindowExecutionId sets the WindowExecutionId field's value.
42172func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowExecutionId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42173	s.WindowExecutionId = &v
42174	return s
42175}
42176
42177// SetWindowTargetId sets the WindowTargetId field's value.
42178func (s *MaintenanceWindowExecutionTaskInvocationIdentity) SetWindowTargetId(v string) *MaintenanceWindowExecutionTaskInvocationIdentity {
42179	s.WindowTargetId = &v
42180	return s
42181}
42182
42183// Filter used in the request. Supported filter keys depend on the API operation
42184// that includes the filter. API operations that use MaintenanceWindowFilter>
42185// include the following:
42186//
42187//    * DescribeMaintenanceWindowExecutions
42188//
42189//    * DescribeMaintenanceWindowExecutionTaskInvocations
42190//
42191//    * DescribeMaintenanceWindowExecutionTasks
42192//
42193//    * DescribeMaintenanceWindows
42194//
42195//    * DescribeMaintenanceWindowTargets
42196//
42197//    * DescribeMaintenanceWindowTasks
42198type MaintenanceWindowFilter struct {
42199	_ struct{} `type:"structure"`
42200
42201	// The name of the filter.
42202	Key *string `min:"1" type:"string"`
42203
42204	// The filter values.
42205	Values []*string `type:"list"`
42206}
42207
42208// String returns the string representation.
42209//
42210// API parameter values that are decorated as "sensitive" in the API will not
42211// be included in the string output. The member name will be present, but the
42212// value will be replaced with "sensitive".
42213func (s MaintenanceWindowFilter) String() string {
42214	return awsutil.Prettify(s)
42215}
42216
42217// GoString returns the string representation.
42218//
42219// API parameter values that are decorated as "sensitive" in the API will not
42220// be included in the string output. The member name will be present, but the
42221// value will be replaced with "sensitive".
42222func (s MaintenanceWindowFilter) GoString() string {
42223	return s.String()
42224}
42225
42226// Validate inspects the fields of the type to determine if they are valid.
42227func (s *MaintenanceWindowFilter) Validate() error {
42228	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowFilter"}
42229	if s.Key != nil && len(*s.Key) < 1 {
42230		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
42231	}
42232
42233	if invalidParams.Len() > 0 {
42234		return invalidParams
42235	}
42236	return nil
42237}
42238
42239// SetKey sets the Key field's value.
42240func (s *MaintenanceWindowFilter) SetKey(v string) *MaintenanceWindowFilter {
42241	s.Key = &v
42242	return s
42243}
42244
42245// SetValues sets the Values field's value.
42246func (s *MaintenanceWindowFilter) SetValues(v []*string) *MaintenanceWindowFilter {
42247	s.Values = v
42248	return s
42249}
42250
42251// Information about the maintenance window.
42252type MaintenanceWindowIdentity struct {
42253	_ struct{} `type:"structure"`
42254
42255	// The number of hours before the end of the maintenance window that Amazon
42256	// Web Services Systems Manager stops scheduling new tasks for execution.
42257	Cutoff *int64 `type:"integer"`
42258
42259	// A description of the maintenance window.
42260	//
42261	// Description is a sensitive parameter and its value will be
42262	// replaced with "sensitive" in string returned by MaintenanceWindowIdentity's
42263	// String and GoString methods.
42264	Description *string `min:"1" type:"string" sensitive:"true"`
42265
42266	// The duration of the maintenance window in hours.
42267	Duration *int64 `min:"1" type:"integer"`
42268
42269	// Indicates whether the maintenance window is enabled.
42270	Enabled *bool `type:"boolean"`
42271
42272	// The date and time, in ISO-8601 Extended format, for when the maintenance
42273	// window is scheduled to become inactive.
42274	EndDate *string `type:"string"`
42275
42276	// The name of the maintenance window.
42277	Name *string `min:"3" type:"string"`
42278
42279	// The next time the maintenance window will actually run, taking into account
42280	// any specified times for the maintenance window to become active or inactive.
42281	NextExecutionTime *string `type:"string"`
42282
42283	// The schedule of the maintenance window in the form of a cron or rate expression.
42284	Schedule *string `min:"1" type:"string"`
42285
42286	// The number of days to wait to run a maintenance window after the scheduled
42287	// cron expression date and time.
42288	ScheduleOffset *int64 `min:"1" type:"integer"`
42289
42290	// The time zone that the scheduled maintenance window executions are based
42291	// on, in Internet Assigned Numbers Authority (IANA) format.
42292	ScheduleTimezone *string `type:"string"`
42293
42294	// The date and time, in ISO-8601 Extended format, for when the maintenance
42295	// window is scheduled to become active.
42296	StartDate *string `type:"string"`
42297
42298	// The ID of the maintenance window.
42299	WindowId *string `min:"20" type:"string"`
42300}
42301
42302// String returns the string representation.
42303//
42304// API parameter values that are decorated as "sensitive" in the API will not
42305// be included in the string output. The member name will be present, but the
42306// value will be replaced with "sensitive".
42307func (s MaintenanceWindowIdentity) String() string {
42308	return awsutil.Prettify(s)
42309}
42310
42311// GoString returns the string representation.
42312//
42313// API parameter values that are decorated as "sensitive" in the API will not
42314// be included in the string output. The member name will be present, but the
42315// value will be replaced with "sensitive".
42316func (s MaintenanceWindowIdentity) GoString() string {
42317	return s.String()
42318}
42319
42320// SetCutoff sets the Cutoff field's value.
42321func (s *MaintenanceWindowIdentity) SetCutoff(v int64) *MaintenanceWindowIdentity {
42322	s.Cutoff = &v
42323	return s
42324}
42325
42326// SetDescription sets the Description field's value.
42327func (s *MaintenanceWindowIdentity) SetDescription(v string) *MaintenanceWindowIdentity {
42328	s.Description = &v
42329	return s
42330}
42331
42332// SetDuration sets the Duration field's value.
42333func (s *MaintenanceWindowIdentity) SetDuration(v int64) *MaintenanceWindowIdentity {
42334	s.Duration = &v
42335	return s
42336}
42337
42338// SetEnabled sets the Enabled field's value.
42339func (s *MaintenanceWindowIdentity) SetEnabled(v bool) *MaintenanceWindowIdentity {
42340	s.Enabled = &v
42341	return s
42342}
42343
42344// SetEndDate sets the EndDate field's value.
42345func (s *MaintenanceWindowIdentity) SetEndDate(v string) *MaintenanceWindowIdentity {
42346	s.EndDate = &v
42347	return s
42348}
42349
42350// SetName sets the Name field's value.
42351func (s *MaintenanceWindowIdentity) SetName(v string) *MaintenanceWindowIdentity {
42352	s.Name = &v
42353	return s
42354}
42355
42356// SetNextExecutionTime sets the NextExecutionTime field's value.
42357func (s *MaintenanceWindowIdentity) SetNextExecutionTime(v string) *MaintenanceWindowIdentity {
42358	s.NextExecutionTime = &v
42359	return s
42360}
42361
42362// SetSchedule sets the Schedule field's value.
42363func (s *MaintenanceWindowIdentity) SetSchedule(v string) *MaintenanceWindowIdentity {
42364	s.Schedule = &v
42365	return s
42366}
42367
42368// SetScheduleOffset sets the ScheduleOffset field's value.
42369func (s *MaintenanceWindowIdentity) SetScheduleOffset(v int64) *MaintenanceWindowIdentity {
42370	s.ScheduleOffset = &v
42371	return s
42372}
42373
42374// SetScheduleTimezone sets the ScheduleTimezone field's value.
42375func (s *MaintenanceWindowIdentity) SetScheduleTimezone(v string) *MaintenanceWindowIdentity {
42376	s.ScheduleTimezone = &v
42377	return s
42378}
42379
42380// SetStartDate sets the StartDate field's value.
42381func (s *MaintenanceWindowIdentity) SetStartDate(v string) *MaintenanceWindowIdentity {
42382	s.StartDate = &v
42383	return s
42384}
42385
42386// SetWindowId sets the WindowId field's value.
42387func (s *MaintenanceWindowIdentity) SetWindowId(v string) *MaintenanceWindowIdentity {
42388	s.WindowId = &v
42389	return s
42390}
42391
42392// The maintenance window to which the specified target belongs.
42393type MaintenanceWindowIdentityForTarget struct {
42394	_ struct{} `type:"structure"`
42395
42396	// The name of the maintenance window.
42397	Name *string `min:"3" type:"string"`
42398
42399	// The ID of the maintenance window.
42400	WindowId *string `min:"20" type:"string"`
42401}
42402
42403// String returns the string representation.
42404//
42405// API parameter values that are decorated as "sensitive" in the API will not
42406// be included in the string output. The member name will be present, but the
42407// value will be replaced with "sensitive".
42408func (s MaintenanceWindowIdentityForTarget) String() string {
42409	return awsutil.Prettify(s)
42410}
42411
42412// GoString returns the string representation.
42413//
42414// API parameter values that are decorated as "sensitive" in the API will not
42415// be included in the string output. The member name will be present, but the
42416// value will be replaced with "sensitive".
42417func (s MaintenanceWindowIdentityForTarget) GoString() string {
42418	return s.String()
42419}
42420
42421// SetName sets the Name field's value.
42422func (s *MaintenanceWindowIdentityForTarget) SetName(v string) *MaintenanceWindowIdentityForTarget {
42423	s.Name = &v
42424	return s
42425}
42426
42427// SetWindowId sets the WindowId field's value.
42428func (s *MaintenanceWindowIdentityForTarget) SetWindowId(v string) *MaintenanceWindowIdentityForTarget {
42429	s.WindowId = &v
42430	return s
42431}
42432
42433// The parameters for a LAMBDA task type.
42434//
42435// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
42436// and UpdateMaintenanceWindowTask.
42437//
42438// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
42439// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
42440// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
42441// information about how Amazon Web Services Systems Manager handles these options
42442// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42443//
42444// TaskParameters has been deprecated. To specify parameters to pass to a task
42445// when it runs, instead use the Parameters option in the TaskInvocationParameters
42446// structure. For information about how Systems Manager handles these options
42447// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42448//
42449// For Lambda tasks, Systems Manager ignores any values specified for TaskParameters
42450// and LoggingInfo.
42451type MaintenanceWindowLambdaParameters struct {
42452	_ struct{} `type:"structure"`
42453
42454	// Pass client-specific information to the Lambda function that you are invoking.
42455	// You can then process the client information in your Lambda function as you
42456	// choose through the context variable.
42457	ClientContext *string `min:"1" type:"string"`
42458
42459	// JSON to provide to your Lambda function as input.
42460	//
42461	// Payload is a sensitive parameter and its value will be
42462	// replaced with "sensitive" in string returned by MaintenanceWindowLambdaParameters's
42463	// String and GoString methods.
42464	//
42465	// Payload is automatically base64 encoded/decoded by the SDK.
42466	Payload []byte `type:"blob" sensitive:"true"`
42467
42468	// (Optional) Specify an Lambda function version or alias name. If you specify
42469	// a function version, the operation uses the qualified function Amazon Resource
42470	// Name (ARN) to invoke a specific Lambda function. If you specify an alias
42471	// name, the operation uses the alias ARN to invoke the Lambda function version
42472	// to which the alias points.
42473	Qualifier *string `min:"1" type:"string"`
42474}
42475
42476// String returns the string representation.
42477//
42478// API parameter values that are decorated as "sensitive" in the API will not
42479// be included in the string output. The member name will be present, but the
42480// value will be replaced with "sensitive".
42481func (s MaintenanceWindowLambdaParameters) String() string {
42482	return awsutil.Prettify(s)
42483}
42484
42485// GoString returns the string representation.
42486//
42487// API parameter values that are decorated as "sensitive" in the API will not
42488// be included in the string output. The member name will be present, but the
42489// value will be replaced with "sensitive".
42490func (s MaintenanceWindowLambdaParameters) GoString() string {
42491	return s.String()
42492}
42493
42494// Validate inspects the fields of the type to determine if they are valid.
42495func (s *MaintenanceWindowLambdaParameters) Validate() error {
42496	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowLambdaParameters"}
42497	if s.ClientContext != nil && len(*s.ClientContext) < 1 {
42498		invalidParams.Add(request.NewErrParamMinLen("ClientContext", 1))
42499	}
42500	if s.Qualifier != nil && len(*s.Qualifier) < 1 {
42501		invalidParams.Add(request.NewErrParamMinLen("Qualifier", 1))
42502	}
42503
42504	if invalidParams.Len() > 0 {
42505		return invalidParams
42506	}
42507	return nil
42508}
42509
42510// SetClientContext sets the ClientContext field's value.
42511func (s *MaintenanceWindowLambdaParameters) SetClientContext(v string) *MaintenanceWindowLambdaParameters {
42512	s.ClientContext = &v
42513	return s
42514}
42515
42516// SetPayload sets the Payload field's value.
42517func (s *MaintenanceWindowLambdaParameters) SetPayload(v []byte) *MaintenanceWindowLambdaParameters {
42518	s.Payload = v
42519	return s
42520}
42521
42522// SetQualifier sets the Qualifier field's value.
42523func (s *MaintenanceWindowLambdaParameters) SetQualifier(v string) *MaintenanceWindowLambdaParameters {
42524	s.Qualifier = &v
42525	return s
42526}
42527
42528// The parameters for a RUN_COMMAND task type.
42529//
42530// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
42531// and UpdateMaintenanceWindowTask.
42532//
42533// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
42534// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
42535// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
42536// information about how Amazon Web Services Systems Manager handles these options
42537// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42538//
42539// TaskParameters has been deprecated. To specify parameters to pass to a task
42540// when it runs, instead use the Parameters option in the TaskInvocationParameters
42541// structure. For information about how Systems Manager handles these options
42542// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42543//
42544// For RUN_COMMAND tasks, Systems Manager uses specified values for TaskParameters
42545// and LoggingInfo only if no values are specified for TaskInvocationParameters.
42546type MaintenanceWindowRunCommandParameters struct {
42547	_ struct{} `type:"structure"`
42548
42549	// Configuration options for sending command output to Amazon CloudWatch Logs.
42550	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
42551
42552	// Information about the commands to run.
42553	Comment *string `type:"string"`
42554
42555	// The SHA-256 or SHA-1 hash created by the system when the document was created.
42556	// SHA-1 hashes have been deprecated.
42557	DocumentHash *string `type:"string"`
42558
42559	// SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
42560	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
42561
42562	// The Amazon Web Services Systems Manager document (SSM document) version to
42563	// use in the request. You can specify $DEFAULT, $LATEST, or a specific version
42564	// number. If you run commands by using the Amazon Web Services CLI, then you
42565	// must escape the first two options by using a backslash. If you specify a
42566	// version number, then you don't need to use the backslash. For example:
42567	//
42568	// --document-version "\$DEFAULT"
42569	//
42570	// --document-version "\$LATEST"
42571	//
42572	// --document-version "3"
42573	DocumentVersion *string `type:"string"`
42574
42575	// Configurations for sending notifications about command status changes on
42576	// a per-instance basis.
42577	NotificationConfig *NotificationConfig `type:"structure"`
42578
42579	// The name of the Amazon Simple Storage Service (Amazon S3) bucket.
42580	OutputS3BucketName *string `min:"3" type:"string"`
42581
42582	// The S3 bucket subfolder.
42583	OutputS3KeyPrefix *string `type:"string"`
42584
42585	// The parameters for the RUN_COMMAND task execution.
42586	Parameters map[string][]*string `type:"map"`
42587
42588	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
42589	// service role to use to publish Amazon Simple Notification Service (Amazon
42590	// SNS) notifications for maintenance window Run Command tasks.
42591	ServiceRoleArn *string `type:"string"`
42592
42593	// If this time is reached and the command hasn't already started running, it
42594	// doesn't run.
42595	TimeoutSeconds *int64 `min:"30" type:"integer"`
42596}
42597
42598// String returns the string representation.
42599//
42600// API parameter values that are decorated as "sensitive" in the API will not
42601// be included in the string output. The member name will be present, but the
42602// value will be replaced with "sensitive".
42603func (s MaintenanceWindowRunCommandParameters) String() string {
42604	return awsutil.Prettify(s)
42605}
42606
42607// GoString returns the string representation.
42608//
42609// API parameter values that are decorated as "sensitive" in the API will not
42610// be included in the string output. The member name will be present, but the
42611// value will be replaced with "sensitive".
42612func (s MaintenanceWindowRunCommandParameters) GoString() string {
42613	return s.String()
42614}
42615
42616// Validate inspects the fields of the type to determine if they are valid.
42617func (s *MaintenanceWindowRunCommandParameters) Validate() error {
42618	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowRunCommandParameters"}
42619	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
42620		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
42621	}
42622	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
42623		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
42624	}
42625	if s.CloudWatchOutputConfig != nil {
42626		if err := s.CloudWatchOutputConfig.Validate(); err != nil {
42627			invalidParams.AddNested("CloudWatchOutputConfig", err.(request.ErrInvalidParams))
42628		}
42629	}
42630
42631	if invalidParams.Len() > 0 {
42632		return invalidParams
42633	}
42634	return nil
42635}
42636
42637// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
42638func (s *MaintenanceWindowRunCommandParameters) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *MaintenanceWindowRunCommandParameters {
42639	s.CloudWatchOutputConfig = v
42640	return s
42641}
42642
42643// SetComment sets the Comment field's value.
42644func (s *MaintenanceWindowRunCommandParameters) SetComment(v string) *MaintenanceWindowRunCommandParameters {
42645	s.Comment = &v
42646	return s
42647}
42648
42649// SetDocumentHash sets the DocumentHash field's value.
42650func (s *MaintenanceWindowRunCommandParameters) SetDocumentHash(v string) *MaintenanceWindowRunCommandParameters {
42651	s.DocumentHash = &v
42652	return s
42653}
42654
42655// SetDocumentHashType sets the DocumentHashType field's value.
42656func (s *MaintenanceWindowRunCommandParameters) SetDocumentHashType(v string) *MaintenanceWindowRunCommandParameters {
42657	s.DocumentHashType = &v
42658	return s
42659}
42660
42661// SetDocumentVersion sets the DocumentVersion field's value.
42662func (s *MaintenanceWindowRunCommandParameters) SetDocumentVersion(v string) *MaintenanceWindowRunCommandParameters {
42663	s.DocumentVersion = &v
42664	return s
42665}
42666
42667// SetNotificationConfig sets the NotificationConfig field's value.
42668func (s *MaintenanceWindowRunCommandParameters) SetNotificationConfig(v *NotificationConfig) *MaintenanceWindowRunCommandParameters {
42669	s.NotificationConfig = v
42670	return s
42671}
42672
42673// SetOutputS3BucketName sets the OutputS3BucketName field's value.
42674func (s *MaintenanceWindowRunCommandParameters) SetOutputS3BucketName(v string) *MaintenanceWindowRunCommandParameters {
42675	s.OutputS3BucketName = &v
42676	return s
42677}
42678
42679// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
42680func (s *MaintenanceWindowRunCommandParameters) SetOutputS3KeyPrefix(v string) *MaintenanceWindowRunCommandParameters {
42681	s.OutputS3KeyPrefix = &v
42682	return s
42683}
42684
42685// SetParameters sets the Parameters field's value.
42686func (s *MaintenanceWindowRunCommandParameters) SetParameters(v map[string][]*string) *MaintenanceWindowRunCommandParameters {
42687	s.Parameters = v
42688	return s
42689}
42690
42691// SetServiceRoleArn sets the ServiceRoleArn field's value.
42692func (s *MaintenanceWindowRunCommandParameters) SetServiceRoleArn(v string) *MaintenanceWindowRunCommandParameters {
42693	s.ServiceRoleArn = &v
42694	return s
42695}
42696
42697// SetTimeoutSeconds sets the TimeoutSeconds field's value.
42698func (s *MaintenanceWindowRunCommandParameters) SetTimeoutSeconds(v int64) *MaintenanceWindowRunCommandParameters {
42699	s.TimeoutSeconds = &v
42700	return s
42701}
42702
42703// The parameters for a STEP_FUNCTIONS task.
42704//
42705// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
42706// and UpdateMaintenanceWindowTask.
42707//
42708// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
42709// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
42710// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
42711// information about how Amazon Web Services Systems Manager handles these options
42712// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42713//
42714// TaskParameters has been deprecated. To specify parameters to pass to a task
42715// when it runs, instead use the Parameters option in the TaskInvocationParameters
42716// structure. For information about how Systems Manager handles these options
42717// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42718//
42719// For Step Functions tasks, Systems Manager ignores any values specified for
42720// TaskParameters and LoggingInfo.
42721type MaintenanceWindowStepFunctionsParameters struct {
42722	_ struct{} `type:"structure"`
42723
42724	// The inputs for the STEP_FUNCTIONS task.
42725	//
42726	// Input is a sensitive parameter and its value will be
42727	// replaced with "sensitive" in string returned by MaintenanceWindowStepFunctionsParameters's
42728	// String and GoString methods.
42729	Input *string `type:"string" sensitive:"true"`
42730
42731	// The name of the STEP_FUNCTIONS task.
42732	Name *string `min:"1" type:"string"`
42733}
42734
42735// String returns the string representation.
42736//
42737// API parameter values that are decorated as "sensitive" in the API will not
42738// be included in the string output. The member name will be present, but the
42739// value will be replaced with "sensitive".
42740func (s MaintenanceWindowStepFunctionsParameters) String() string {
42741	return awsutil.Prettify(s)
42742}
42743
42744// GoString returns the string representation.
42745//
42746// API parameter values that are decorated as "sensitive" in the API will not
42747// be included in the string output. The member name will be present, but the
42748// value will be replaced with "sensitive".
42749func (s MaintenanceWindowStepFunctionsParameters) GoString() string {
42750	return s.String()
42751}
42752
42753// Validate inspects the fields of the type to determine if they are valid.
42754func (s *MaintenanceWindowStepFunctionsParameters) Validate() error {
42755	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowStepFunctionsParameters"}
42756	if s.Name != nil && len(*s.Name) < 1 {
42757		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
42758	}
42759
42760	if invalidParams.Len() > 0 {
42761		return invalidParams
42762	}
42763	return nil
42764}
42765
42766// SetInput sets the Input field's value.
42767func (s *MaintenanceWindowStepFunctionsParameters) SetInput(v string) *MaintenanceWindowStepFunctionsParameters {
42768	s.Input = &v
42769	return s
42770}
42771
42772// SetName sets the Name field's value.
42773func (s *MaintenanceWindowStepFunctionsParameters) SetName(v string) *MaintenanceWindowStepFunctionsParameters {
42774	s.Name = &v
42775	return s
42776}
42777
42778// The target registered with the maintenance window.
42779type MaintenanceWindowTarget struct {
42780	_ struct{} `type:"structure"`
42781
42782	// A description for the target.
42783	//
42784	// Description is a sensitive parameter and its value will be
42785	// replaced with "sensitive" in string returned by MaintenanceWindowTarget's
42786	// String and GoString methods.
42787	Description *string `min:"1" type:"string" sensitive:"true"`
42788
42789	// The name for the maintenance window target.
42790	Name *string `min:"3" type:"string"`
42791
42792	// A user-provided value that will be included in any Amazon CloudWatch Events
42793	// events that are raised while running tasks for these targets in this maintenance
42794	// window.
42795	//
42796	// OwnerInformation is a sensitive parameter and its value will be
42797	// replaced with "sensitive" in string returned by MaintenanceWindowTarget's
42798	// String and GoString methods.
42799	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
42800
42801	// The type of target that is being registered with the maintenance window.
42802	ResourceType *string `type:"string" enum:"MaintenanceWindowResourceType"`
42803
42804	// The targets, either instances or tags.
42805	//
42806	// Specify instances using the following format:
42807	//
42808	// Key=instanceids,Values=<instanceid1>,<instanceid2>
42809	//
42810	// Tags are specified using the following format:
42811	//
42812	// Key=<tag name>,Values=<tag value>.
42813	Targets []*Target `type:"list"`
42814
42815	// The ID of the maintenance window to register the target with.
42816	WindowId *string `min:"20" type:"string"`
42817
42818	// The ID of the target.
42819	WindowTargetId *string `min:"36" type:"string"`
42820}
42821
42822// String returns the string representation.
42823//
42824// API parameter values that are decorated as "sensitive" in the API will not
42825// be included in the string output. The member name will be present, but the
42826// value will be replaced with "sensitive".
42827func (s MaintenanceWindowTarget) String() string {
42828	return awsutil.Prettify(s)
42829}
42830
42831// GoString returns the string representation.
42832//
42833// API parameter values that are decorated as "sensitive" in the API will not
42834// be included in the string output. The member name will be present, but the
42835// value will be replaced with "sensitive".
42836func (s MaintenanceWindowTarget) GoString() string {
42837	return s.String()
42838}
42839
42840// SetDescription sets the Description field's value.
42841func (s *MaintenanceWindowTarget) SetDescription(v string) *MaintenanceWindowTarget {
42842	s.Description = &v
42843	return s
42844}
42845
42846// SetName sets the Name field's value.
42847func (s *MaintenanceWindowTarget) SetName(v string) *MaintenanceWindowTarget {
42848	s.Name = &v
42849	return s
42850}
42851
42852// SetOwnerInformation sets the OwnerInformation field's value.
42853func (s *MaintenanceWindowTarget) SetOwnerInformation(v string) *MaintenanceWindowTarget {
42854	s.OwnerInformation = &v
42855	return s
42856}
42857
42858// SetResourceType sets the ResourceType field's value.
42859func (s *MaintenanceWindowTarget) SetResourceType(v string) *MaintenanceWindowTarget {
42860	s.ResourceType = &v
42861	return s
42862}
42863
42864// SetTargets sets the Targets field's value.
42865func (s *MaintenanceWindowTarget) SetTargets(v []*Target) *MaintenanceWindowTarget {
42866	s.Targets = v
42867	return s
42868}
42869
42870// SetWindowId sets the WindowId field's value.
42871func (s *MaintenanceWindowTarget) SetWindowId(v string) *MaintenanceWindowTarget {
42872	s.WindowId = &v
42873	return s
42874}
42875
42876// SetWindowTargetId sets the WindowTargetId field's value.
42877func (s *MaintenanceWindowTarget) SetWindowTargetId(v string) *MaintenanceWindowTarget {
42878	s.WindowTargetId = &v
42879	return s
42880}
42881
42882// Information about a task defined for a maintenance window.
42883type MaintenanceWindowTask struct {
42884	_ struct{} `type:"structure"`
42885
42886	// The specification for whether tasks should continue to run after the cutoff
42887	// time specified in the maintenance windows is reached.
42888	CutoffBehavior *string `type:"string" enum:"MaintenanceWindowTaskCutoffBehavior"`
42889
42890	// A description of the task.
42891	//
42892	// Description is a sensitive parameter and its value will be
42893	// replaced with "sensitive" in string returned by MaintenanceWindowTask's
42894	// String and GoString methods.
42895	Description *string `min:"1" type:"string" sensitive:"true"`
42896
42897	// Information about an S3 bucket to write task-level logs to.
42898	//
42899	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
42900	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
42901	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
42902	// information about how Amazon Web Services Systems Manager handles these options
42903	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42904	LoggingInfo *LoggingInfo `type:"structure"`
42905
42906	// The maximum number of targets this task can be run for, in parallel.
42907	MaxConcurrency *string `min:"1" type:"string"`
42908
42909	// The maximum number of errors allowed before this task stops being scheduled.
42910	MaxErrors *string `min:"1" type:"string"`
42911
42912	// The task name.
42913	Name *string `min:"3" type:"string"`
42914
42915	// The priority of the task in the maintenance window. The lower the number,
42916	// the higher the priority. Tasks that have the same priority are scheduled
42917	// in parallel.
42918	Priority *int64 `type:"integer"`
42919
42920	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
42921	// service role to use to publish Amazon Simple Notification Service (Amazon
42922	// SNS) notifications for maintenance window Run Command tasks.
42923	ServiceRoleArn *string `type:"string"`
42924
42925	// The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>.
42926	// Tags are specified using Key=<tag name>,Values=<tag value>.
42927	Targets []*Target `type:"list"`
42928
42929	// The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION
42930	// task types, TaskArn is the Amazon Web Services Systems Manager (SSM document)
42931	// name or ARN. For LAMBDA tasks, it's the function name or ARN. For STEP_FUNCTIONS
42932	// tasks, it's the state machine ARN.
42933	TaskArn *string `min:"1" type:"string"`
42934
42935	// The parameters that should be passed to the task when it is run.
42936	//
42937	// TaskParameters has been deprecated. To specify parameters to pass to a task
42938	// when it runs, instead use the Parameters option in the TaskInvocationParameters
42939	// structure. For information about how Systems Manager handles these options
42940	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
42941	//
42942	// TaskParameters is a sensitive parameter and its value will be
42943	// replaced with "sensitive" in string returned by MaintenanceWindowTask's
42944	// String and GoString methods.
42945	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
42946
42947	// The type of task.
42948	Type *string `type:"string" enum:"MaintenanceWindowTaskType"`
42949
42950	// The ID of the maintenance window where the task is registered.
42951	WindowId *string `min:"20" type:"string"`
42952
42953	// The task ID.
42954	WindowTaskId *string `min:"36" type:"string"`
42955}
42956
42957// String returns the string representation.
42958//
42959// API parameter values that are decorated as "sensitive" in the API will not
42960// be included in the string output. The member name will be present, but the
42961// value will be replaced with "sensitive".
42962func (s MaintenanceWindowTask) String() string {
42963	return awsutil.Prettify(s)
42964}
42965
42966// GoString returns the string representation.
42967//
42968// API parameter values that are decorated as "sensitive" in the API will not
42969// be included in the string output. The member name will be present, but the
42970// value will be replaced with "sensitive".
42971func (s MaintenanceWindowTask) GoString() string {
42972	return s.String()
42973}
42974
42975// SetCutoffBehavior sets the CutoffBehavior field's value.
42976func (s *MaintenanceWindowTask) SetCutoffBehavior(v string) *MaintenanceWindowTask {
42977	s.CutoffBehavior = &v
42978	return s
42979}
42980
42981// SetDescription sets the Description field's value.
42982func (s *MaintenanceWindowTask) SetDescription(v string) *MaintenanceWindowTask {
42983	s.Description = &v
42984	return s
42985}
42986
42987// SetLoggingInfo sets the LoggingInfo field's value.
42988func (s *MaintenanceWindowTask) SetLoggingInfo(v *LoggingInfo) *MaintenanceWindowTask {
42989	s.LoggingInfo = v
42990	return s
42991}
42992
42993// SetMaxConcurrency sets the MaxConcurrency field's value.
42994func (s *MaintenanceWindowTask) SetMaxConcurrency(v string) *MaintenanceWindowTask {
42995	s.MaxConcurrency = &v
42996	return s
42997}
42998
42999// SetMaxErrors sets the MaxErrors field's value.
43000func (s *MaintenanceWindowTask) SetMaxErrors(v string) *MaintenanceWindowTask {
43001	s.MaxErrors = &v
43002	return s
43003}
43004
43005// SetName sets the Name field's value.
43006func (s *MaintenanceWindowTask) SetName(v string) *MaintenanceWindowTask {
43007	s.Name = &v
43008	return s
43009}
43010
43011// SetPriority sets the Priority field's value.
43012func (s *MaintenanceWindowTask) SetPriority(v int64) *MaintenanceWindowTask {
43013	s.Priority = &v
43014	return s
43015}
43016
43017// SetServiceRoleArn sets the ServiceRoleArn field's value.
43018func (s *MaintenanceWindowTask) SetServiceRoleArn(v string) *MaintenanceWindowTask {
43019	s.ServiceRoleArn = &v
43020	return s
43021}
43022
43023// SetTargets sets the Targets field's value.
43024func (s *MaintenanceWindowTask) SetTargets(v []*Target) *MaintenanceWindowTask {
43025	s.Targets = v
43026	return s
43027}
43028
43029// SetTaskArn sets the TaskArn field's value.
43030func (s *MaintenanceWindowTask) SetTaskArn(v string) *MaintenanceWindowTask {
43031	s.TaskArn = &v
43032	return s
43033}
43034
43035// SetTaskParameters sets the TaskParameters field's value.
43036func (s *MaintenanceWindowTask) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *MaintenanceWindowTask {
43037	s.TaskParameters = v
43038	return s
43039}
43040
43041// SetType sets the Type field's value.
43042func (s *MaintenanceWindowTask) SetType(v string) *MaintenanceWindowTask {
43043	s.Type = &v
43044	return s
43045}
43046
43047// SetWindowId sets the WindowId field's value.
43048func (s *MaintenanceWindowTask) SetWindowId(v string) *MaintenanceWindowTask {
43049	s.WindowId = &v
43050	return s
43051}
43052
43053// SetWindowTaskId sets the WindowTaskId field's value.
43054func (s *MaintenanceWindowTask) SetWindowTaskId(v string) *MaintenanceWindowTask {
43055	s.WindowTaskId = &v
43056	return s
43057}
43058
43059// The parameters for task execution.
43060type MaintenanceWindowTaskInvocationParameters struct {
43061	_ struct{} `type:"structure"`
43062
43063	// The parameters for an AUTOMATION task type.
43064	Automation *MaintenanceWindowAutomationParameters `type:"structure"`
43065
43066	// The parameters for a LAMBDA task type.
43067	Lambda *MaintenanceWindowLambdaParameters `type:"structure"`
43068
43069	// The parameters for a RUN_COMMAND task type.
43070	RunCommand *MaintenanceWindowRunCommandParameters `type:"structure"`
43071
43072	// The parameters for a STEP_FUNCTIONS task type.
43073	StepFunctions *MaintenanceWindowStepFunctionsParameters `type:"structure"`
43074}
43075
43076// String returns the string representation.
43077//
43078// API parameter values that are decorated as "sensitive" in the API will not
43079// be included in the string output. The member name will be present, but the
43080// value will be replaced with "sensitive".
43081func (s MaintenanceWindowTaskInvocationParameters) String() string {
43082	return awsutil.Prettify(s)
43083}
43084
43085// GoString returns the string representation.
43086//
43087// API parameter values that are decorated as "sensitive" in the API will not
43088// be included in the string output. The member name will be present, but the
43089// value will be replaced with "sensitive".
43090func (s MaintenanceWindowTaskInvocationParameters) GoString() string {
43091	return s.String()
43092}
43093
43094// Validate inspects the fields of the type to determine if they are valid.
43095func (s *MaintenanceWindowTaskInvocationParameters) Validate() error {
43096	invalidParams := request.ErrInvalidParams{Context: "MaintenanceWindowTaskInvocationParameters"}
43097	if s.Automation != nil {
43098		if err := s.Automation.Validate(); err != nil {
43099			invalidParams.AddNested("Automation", err.(request.ErrInvalidParams))
43100		}
43101	}
43102	if s.Lambda != nil {
43103		if err := s.Lambda.Validate(); err != nil {
43104			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
43105		}
43106	}
43107	if s.RunCommand != nil {
43108		if err := s.RunCommand.Validate(); err != nil {
43109			invalidParams.AddNested("RunCommand", err.(request.ErrInvalidParams))
43110		}
43111	}
43112	if s.StepFunctions != nil {
43113		if err := s.StepFunctions.Validate(); err != nil {
43114			invalidParams.AddNested("StepFunctions", err.(request.ErrInvalidParams))
43115		}
43116	}
43117
43118	if invalidParams.Len() > 0 {
43119		return invalidParams
43120	}
43121	return nil
43122}
43123
43124// SetAutomation sets the Automation field's value.
43125func (s *MaintenanceWindowTaskInvocationParameters) SetAutomation(v *MaintenanceWindowAutomationParameters) *MaintenanceWindowTaskInvocationParameters {
43126	s.Automation = v
43127	return s
43128}
43129
43130// SetLambda sets the Lambda field's value.
43131func (s *MaintenanceWindowTaskInvocationParameters) SetLambda(v *MaintenanceWindowLambdaParameters) *MaintenanceWindowTaskInvocationParameters {
43132	s.Lambda = v
43133	return s
43134}
43135
43136// SetRunCommand sets the RunCommand field's value.
43137func (s *MaintenanceWindowTaskInvocationParameters) SetRunCommand(v *MaintenanceWindowRunCommandParameters) *MaintenanceWindowTaskInvocationParameters {
43138	s.RunCommand = v
43139	return s
43140}
43141
43142// SetStepFunctions sets the StepFunctions field's value.
43143func (s *MaintenanceWindowTaskInvocationParameters) SetStepFunctions(v *MaintenanceWindowStepFunctionsParameters) *MaintenanceWindowTaskInvocationParameters {
43144	s.StepFunctions = v
43145	return s
43146}
43147
43148// Defines the values for a task parameter.
43149type MaintenanceWindowTaskParameterValueExpression struct {
43150	_ struct{} `type:"structure" sensitive:"true"`
43151
43152	// This field contains an array of 0 or more strings, each 1 to 255 characters
43153	// in length.
43154	//
43155	// Values is a sensitive parameter and its value will be
43156	// replaced with "sensitive" in string returned by MaintenanceWindowTaskParameterValueExpression's
43157	// String and GoString methods.
43158	Values []*string `type:"list" sensitive:"true"`
43159}
43160
43161// String returns the string representation.
43162//
43163// API parameter values that are decorated as "sensitive" in the API will not
43164// be included in the string output. The member name will be present, but the
43165// value will be replaced with "sensitive".
43166func (s MaintenanceWindowTaskParameterValueExpression) String() string {
43167	return awsutil.Prettify(s)
43168}
43169
43170// GoString returns the string representation.
43171//
43172// API parameter values that are decorated as "sensitive" in the API will not
43173// be included in the string output. The member name will be present, but the
43174// value will be replaced with "sensitive".
43175func (s MaintenanceWindowTaskParameterValueExpression) GoString() string {
43176	return s.String()
43177}
43178
43179// SetValues sets the Values field's value.
43180func (s *MaintenanceWindowTaskParameterValueExpression) SetValues(v []*string) *MaintenanceWindowTaskParameterValueExpression {
43181	s.Values = v
43182	return s
43183}
43184
43185// The size limit of a document is 64 KB.
43186type MaxDocumentSizeExceeded struct {
43187	_            struct{}                  `type:"structure"`
43188	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
43189
43190	Message_ *string `locationName:"Message" type:"string"`
43191}
43192
43193// String returns the string representation.
43194//
43195// API parameter values that are decorated as "sensitive" in the API will not
43196// be included in the string output. The member name will be present, but the
43197// value will be replaced with "sensitive".
43198func (s MaxDocumentSizeExceeded) String() string {
43199	return awsutil.Prettify(s)
43200}
43201
43202// GoString returns the string representation.
43203//
43204// API parameter values that are decorated as "sensitive" in the API will not
43205// be included in the string output. The member name will be present, but the
43206// value will be replaced with "sensitive".
43207func (s MaxDocumentSizeExceeded) GoString() string {
43208	return s.String()
43209}
43210
43211func newErrorMaxDocumentSizeExceeded(v protocol.ResponseMetadata) error {
43212	return &MaxDocumentSizeExceeded{
43213		RespMetadata: v,
43214	}
43215}
43216
43217// Code returns the exception type name.
43218func (s *MaxDocumentSizeExceeded) Code() string {
43219	return "MaxDocumentSizeExceeded"
43220}
43221
43222// Message returns the exception's message.
43223func (s *MaxDocumentSizeExceeded) Message() string {
43224	if s.Message_ != nil {
43225		return *s.Message_
43226	}
43227	return ""
43228}
43229
43230// OrigErr always returns nil, satisfies awserr.Error interface.
43231func (s *MaxDocumentSizeExceeded) OrigErr() error {
43232	return nil
43233}
43234
43235func (s *MaxDocumentSizeExceeded) Error() string {
43236	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
43237}
43238
43239// Status code returns the HTTP status code for the request's response error.
43240func (s *MaxDocumentSizeExceeded) StatusCode() int {
43241	return s.RespMetadata.StatusCode
43242}
43243
43244// RequestID returns the service's response RequestID for request.
43245func (s *MaxDocumentSizeExceeded) RequestID() string {
43246	return s.RespMetadata.RequestID
43247}
43248
43249// Metadata to assign to an Application Manager application.
43250type MetadataValue struct {
43251	_ struct{} `type:"structure"`
43252
43253	// Metadata value to assign to an Application Manager application.
43254	Value *string `min:"1" type:"string"`
43255}
43256
43257// String returns the string representation.
43258//
43259// API parameter values that are decorated as "sensitive" in the API will not
43260// be included in the string output. The member name will be present, but the
43261// value will be replaced with "sensitive".
43262func (s MetadataValue) String() string {
43263	return awsutil.Prettify(s)
43264}
43265
43266// GoString returns the string representation.
43267//
43268// API parameter values that are decorated as "sensitive" in the API will not
43269// be included in the string output. The member name will be present, but the
43270// value will be replaced with "sensitive".
43271func (s MetadataValue) GoString() string {
43272	return s.String()
43273}
43274
43275// Validate inspects the fields of the type to determine if they are valid.
43276func (s *MetadataValue) Validate() error {
43277	invalidParams := request.ErrInvalidParams{Context: "MetadataValue"}
43278	if s.Value != nil && len(*s.Value) < 1 {
43279		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
43280	}
43281
43282	if invalidParams.Len() > 0 {
43283		return invalidParams
43284	}
43285	return nil
43286}
43287
43288// SetValue sets the Value field's value.
43289func (s *MetadataValue) SetValue(v string) *MetadataValue {
43290	s.Value = &v
43291	return s
43292}
43293
43294type ModifyDocumentPermissionInput struct {
43295	_ struct{} `type:"structure"`
43296
43297	// The Amazon Web Services user accounts that should have access to the document.
43298	// The account IDs can either be a group of account IDs or All.
43299	AccountIdsToAdd []*string `type:"list"`
43300
43301	// The Amazon Web Services user accounts that should no longer have access to
43302	// the document. The Amazon Web Services user account can either be a group
43303	// of account IDs or All. This action has a higher priority than AccountIdsToAdd.
43304	// If you specify an account ID to add and the same ID to remove, the system
43305	// removes access to the document.
43306	AccountIdsToRemove []*string `type:"list"`
43307
43308	// The name of the document that you want to share.
43309	//
43310	// Name is a required field
43311	Name *string `type:"string" required:"true"`
43312
43313	// The permission type for the document. The permission type can be Share.
43314	//
43315	// PermissionType is a required field
43316	PermissionType *string `type:"string" required:"true" enum:"DocumentPermissionType"`
43317
43318	// (Optional) The version of the document to share. If it isn't specified, the
43319	// system choose the Default version to share.
43320	SharedDocumentVersion *string `type:"string"`
43321}
43322
43323// String returns the string representation.
43324//
43325// API parameter values that are decorated as "sensitive" in the API will not
43326// be included in the string output. The member name will be present, but the
43327// value will be replaced with "sensitive".
43328func (s ModifyDocumentPermissionInput) String() string {
43329	return awsutil.Prettify(s)
43330}
43331
43332// GoString returns the string representation.
43333//
43334// API parameter values that are decorated as "sensitive" in the API will not
43335// be included in the string output. The member name will be present, but the
43336// value will be replaced with "sensitive".
43337func (s ModifyDocumentPermissionInput) GoString() string {
43338	return s.String()
43339}
43340
43341// Validate inspects the fields of the type to determine if they are valid.
43342func (s *ModifyDocumentPermissionInput) Validate() error {
43343	invalidParams := request.ErrInvalidParams{Context: "ModifyDocumentPermissionInput"}
43344	if s.Name == nil {
43345		invalidParams.Add(request.NewErrParamRequired("Name"))
43346	}
43347	if s.PermissionType == nil {
43348		invalidParams.Add(request.NewErrParamRequired("PermissionType"))
43349	}
43350
43351	if invalidParams.Len() > 0 {
43352		return invalidParams
43353	}
43354	return nil
43355}
43356
43357// SetAccountIdsToAdd sets the AccountIdsToAdd field's value.
43358func (s *ModifyDocumentPermissionInput) SetAccountIdsToAdd(v []*string) *ModifyDocumentPermissionInput {
43359	s.AccountIdsToAdd = v
43360	return s
43361}
43362
43363// SetAccountIdsToRemove sets the AccountIdsToRemove field's value.
43364func (s *ModifyDocumentPermissionInput) SetAccountIdsToRemove(v []*string) *ModifyDocumentPermissionInput {
43365	s.AccountIdsToRemove = v
43366	return s
43367}
43368
43369// SetName sets the Name field's value.
43370func (s *ModifyDocumentPermissionInput) SetName(v string) *ModifyDocumentPermissionInput {
43371	s.Name = &v
43372	return s
43373}
43374
43375// SetPermissionType sets the PermissionType field's value.
43376func (s *ModifyDocumentPermissionInput) SetPermissionType(v string) *ModifyDocumentPermissionInput {
43377	s.PermissionType = &v
43378	return s
43379}
43380
43381// SetSharedDocumentVersion sets the SharedDocumentVersion field's value.
43382func (s *ModifyDocumentPermissionInput) SetSharedDocumentVersion(v string) *ModifyDocumentPermissionInput {
43383	s.SharedDocumentVersion = &v
43384	return s
43385}
43386
43387type ModifyDocumentPermissionOutput struct {
43388	_ struct{} `type:"structure"`
43389}
43390
43391// String returns the string representation.
43392//
43393// API parameter values that are decorated as "sensitive" in the API will not
43394// be included in the string output. The member name will be present, but the
43395// value will be replaced with "sensitive".
43396func (s ModifyDocumentPermissionOutput) String() string {
43397	return awsutil.Prettify(s)
43398}
43399
43400// GoString returns the string representation.
43401//
43402// API parameter values that are decorated as "sensitive" in the API will not
43403// be included in the string output. The member name will be present, but the
43404// value will be replaced with "sensitive".
43405func (s ModifyDocumentPermissionOutput) GoString() string {
43406	return s.String()
43407}
43408
43409// A summary of resources that aren't compliant. The summary is organized according
43410// to resource type.
43411type NonCompliantSummary struct {
43412	_ struct{} `type:"structure"`
43413
43414	// The total number of compliance items that aren't compliant.
43415	NonCompliantCount *int64 `type:"integer"`
43416
43417	// A summary of the non-compliance severity by compliance type
43418	SeveritySummary *SeveritySummary `type:"structure"`
43419}
43420
43421// String returns the string representation.
43422//
43423// API parameter values that are decorated as "sensitive" in the API will not
43424// be included in the string output. The member name will be present, but the
43425// value will be replaced with "sensitive".
43426func (s NonCompliantSummary) String() string {
43427	return awsutil.Prettify(s)
43428}
43429
43430// GoString returns the string representation.
43431//
43432// API parameter values that are decorated as "sensitive" in the API will not
43433// be included in the string output. The member name will be present, but the
43434// value will be replaced with "sensitive".
43435func (s NonCompliantSummary) GoString() string {
43436	return s.String()
43437}
43438
43439// SetNonCompliantCount sets the NonCompliantCount field's value.
43440func (s *NonCompliantSummary) SetNonCompliantCount(v int64) *NonCompliantSummary {
43441	s.NonCompliantCount = &v
43442	return s
43443}
43444
43445// SetSeveritySummary sets the SeveritySummary field's value.
43446func (s *NonCompliantSummary) SetSeveritySummary(v *SeveritySummary) *NonCompliantSummary {
43447	s.SeveritySummary = v
43448	return s
43449}
43450
43451// Configurations for sending notifications.
43452type NotificationConfig struct {
43453	_ struct{} `type:"structure"`
43454
43455	// An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon
43456	// SNS) topic. Run Command pushes notifications about command status changes
43457	// to this topic.
43458	NotificationArn *string `type:"string"`
43459
43460	// The different events for which you can receive notifications. To learn more
43461	// about these events, see Monitoring Systems Manager status changes using Amazon
43462	// SNS notifications (https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html)
43463	// in the Amazon Web Services Systems Manager User Guide.
43464	NotificationEvents []*string `type:"list"`
43465
43466	// The type of notification.
43467	//
43468	//    * Command: Receive notification when the status of a command changes.
43469	//
43470	//    * Invocation: For commands sent to multiple instances, receive notification
43471	//    on a per-instance basis when the status of a command changes.
43472	NotificationType *string `type:"string" enum:"NotificationType"`
43473}
43474
43475// String returns the string representation.
43476//
43477// API parameter values that are decorated as "sensitive" in the API will not
43478// be included in the string output. The member name will be present, but the
43479// value will be replaced with "sensitive".
43480func (s NotificationConfig) String() string {
43481	return awsutil.Prettify(s)
43482}
43483
43484// GoString returns the string representation.
43485//
43486// API parameter values that are decorated as "sensitive" in the API will not
43487// be included in the string output. The member name will be present, but the
43488// value will be replaced with "sensitive".
43489func (s NotificationConfig) GoString() string {
43490	return s.String()
43491}
43492
43493// SetNotificationArn sets the NotificationArn field's value.
43494func (s *NotificationConfig) SetNotificationArn(v string) *NotificationConfig {
43495	s.NotificationArn = &v
43496	return s
43497}
43498
43499// SetNotificationEvents sets the NotificationEvents field's value.
43500func (s *NotificationConfig) SetNotificationEvents(v []*string) *NotificationConfig {
43501	s.NotificationEvents = v
43502	return s
43503}
43504
43505// SetNotificationType sets the NotificationType field's value.
43506func (s *NotificationConfig) SetNotificationType(v string) *NotificationConfig {
43507	s.NotificationType = &v
43508	return s
43509}
43510
43511// One or more aggregators for viewing counts of OpsData using different dimensions
43512// such as Source, CreatedTime, or Source and CreatedTime, to name a few.
43513type OpsAggregator struct {
43514	_ struct{} `type:"structure"`
43515
43516	// Either a Range or Count aggregator for limiting an OpsData summary.
43517	AggregatorType *string `min:"1" type:"string"`
43518
43519	// A nested aggregator for viewing counts of OpsData.
43520	Aggregators []*OpsAggregator `min:"1" type:"list"`
43521
43522	// The name of an OpsData attribute on which to limit the count of OpsData.
43523	AttributeName *string `min:"1" type:"string"`
43524
43525	// The aggregator filters.
43526	Filters []*OpsFilter `min:"1" type:"list"`
43527
43528	// The data type name to use for viewing counts of OpsData.
43529	TypeName *string `min:"1" type:"string"`
43530
43531	// The aggregator value.
43532	Values map[string]*string `type:"map"`
43533}
43534
43535// String returns the string representation.
43536//
43537// API parameter values that are decorated as "sensitive" in the API will not
43538// be included in the string output. The member name will be present, but the
43539// value will be replaced with "sensitive".
43540func (s OpsAggregator) String() string {
43541	return awsutil.Prettify(s)
43542}
43543
43544// GoString returns the string representation.
43545//
43546// API parameter values that are decorated as "sensitive" in the API will not
43547// be included in the string output. The member name will be present, but the
43548// value will be replaced with "sensitive".
43549func (s OpsAggregator) GoString() string {
43550	return s.String()
43551}
43552
43553// Validate inspects the fields of the type to determine if they are valid.
43554func (s *OpsAggregator) Validate() error {
43555	invalidParams := request.ErrInvalidParams{Context: "OpsAggregator"}
43556	if s.AggregatorType != nil && len(*s.AggregatorType) < 1 {
43557		invalidParams.Add(request.NewErrParamMinLen("AggregatorType", 1))
43558	}
43559	if s.Aggregators != nil && len(s.Aggregators) < 1 {
43560		invalidParams.Add(request.NewErrParamMinLen("Aggregators", 1))
43561	}
43562	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
43563		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
43564	}
43565	if s.Filters != nil && len(s.Filters) < 1 {
43566		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
43567	}
43568	if s.TypeName != nil && len(*s.TypeName) < 1 {
43569		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
43570	}
43571	if s.Aggregators != nil {
43572		for i, v := range s.Aggregators {
43573			if v == nil {
43574				continue
43575			}
43576			if err := v.Validate(); err != nil {
43577				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Aggregators", i), err.(request.ErrInvalidParams))
43578			}
43579		}
43580	}
43581	if s.Filters != nil {
43582		for i, v := range s.Filters {
43583			if v == nil {
43584				continue
43585			}
43586			if err := v.Validate(); err != nil {
43587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
43588			}
43589		}
43590	}
43591
43592	if invalidParams.Len() > 0 {
43593		return invalidParams
43594	}
43595	return nil
43596}
43597
43598// SetAggregatorType sets the AggregatorType field's value.
43599func (s *OpsAggregator) SetAggregatorType(v string) *OpsAggregator {
43600	s.AggregatorType = &v
43601	return s
43602}
43603
43604// SetAggregators sets the Aggregators field's value.
43605func (s *OpsAggregator) SetAggregators(v []*OpsAggregator) *OpsAggregator {
43606	s.Aggregators = v
43607	return s
43608}
43609
43610// SetAttributeName sets the AttributeName field's value.
43611func (s *OpsAggregator) SetAttributeName(v string) *OpsAggregator {
43612	s.AttributeName = &v
43613	return s
43614}
43615
43616// SetFilters sets the Filters field's value.
43617func (s *OpsAggregator) SetFilters(v []*OpsFilter) *OpsAggregator {
43618	s.Filters = v
43619	return s
43620}
43621
43622// SetTypeName sets the TypeName field's value.
43623func (s *OpsAggregator) SetTypeName(v string) *OpsAggregator {
43624	s.TypeName = &v
43625	return s
43626}
43627
43628// SetValues sets the Values field's value.
43629func (s *OpsAggregator) SetValues(v map[string]*string) *OpsAggregator {
43630	s.Values = v
43631	return s
43632}
43633
43634// The result of the query.
43635type OpsEntity struct {
43636	_ struct{} `type:"structure"`
43637
43638	// The data returned by the query.
43639	Data map[string]*OpsEntityItem `type:"map"`
43640
43641	// The query ID.
43642	Id *string `type:"string"`
43643}
43644
43645// String returns the string representation.
43646//
43647// API parameter values that are decorated as "sensitive" in the API will not
43648// be included in the string output. The member name will be present, but the
43649// value will be replaced with "sensitive".
43650func (s OpsEntity) String() string {
43651	return awsutil.Prettify(s)
43652}
43653
43654// GoString returns the string representation.
43655//
43656// API parameter values that are decorated as "sensitive" in the API will not
43657// be included in the string output. The member name will be present, but the
43658// value will be replaced with "sensitive".
43659func (s OpsEntity) GoString() string {
43660	return s.String()
43661}
43662
43663// SetData sets the Data field's value.
43664func (s *OpsEntity) SetData(v map[string]*OpsEntityItem) *OpsEntity {
43665	s.Data = v
43666	return s
43667}
43668
43669// SetId sets the Id field's value.
43670func (s *OpsEntity) SetId(v string) *OpsEntity {
43671	s.Id = &v
43672	return s
43673}
43674
43675// The OpsData summary.
43676type OpsEntityItem struct {
43677	_ struct{} `type:"structure"`
43678
43679	// The time the OpsData was captured.
43680	CaptureTime *string `type:"string"`
43681
43682	// The details of an OpsData summary.
43683	Content []map[string]*string `type:"list"`
43684}
43685
43686// String returns the string representation.
43687//
43688// API parameter values that are decorated as "sensitive" in the API will not
43689// be included in the string output. The member name will be present, but the
43690// value will be replaced with "sensitive".
43691func (s OpsEntityItem) String() string {
43692	return awsutil.Prettify(s)
43693}
43694
43695// GoString returns the string representation.
43696//
43697// API parameter values that are decorated as "sensitive" in the API will not
43698// be included in the string output. The member name will be present, but the
43699// value will be replaced with "sensitive".
43700func (s OpsEntityItem) GoString() string {
43701	return s.String()
43702}
43703
43704// SetCaptureTime sets the CaptureTime field's value.
43705func (s *OpsEntityItem) SetCaptureTime(v string) *OpsEntityItem {
43706	s.CaptureTime = &v
43707	return s
43708}
43709
43710// SetContent sets the Content field's value.
43711func (s *OpsEntityItem) SetContent(v []map[string]*string) *OpsEntityItem {
43712	s.Content = v
43713	return s
43714}
43715
43716// A filter for viewing OpsData summaries.
43717type OpsFilter struct {
43718	_ struct{} `type:"structure"`
43719
43720	// The name of the filter.
43721	//
43722	// Key is a required field
43723	Key *string `min:"1" type:"string" required:"true"`
43724
43725	// The type of filter.
43726	Type *string `type:"string" enum:"OpsFilterOperatorType"`
43727
43728	// The filter value.
43729	//
43730	// Values is a required field
43731	Values []*string `min:"1" type:"list" required:"true"`
43732}
43733
43734// String returns the string representation.
43735//
43736// API parameter values that are decorated as "sensitive" in the API will not
43737// be included in the string output. The member name will be present, but the
43738// value will be replaced with "sensitive".
43739func (s OpsFilter) String() string {
43740	return awsutil.Prettify(s)
43741}
43742
43743// GoString returns the string representation.
43744//
43745// API parameter values that are decorated as "sensitive" in the API will not
43746// be included in the string output. The member name will be present, but the
43747// value will be replaced with "sensitive".
43748func (s OpsFilter) GoString() string {
43749	return s.String()
43750}
43751
43752// Validate inspects the fields of the type to determine if they are valid.
43753func (s *OpsFilter) Validate() error {
43754	invalidParams := request.ErrInvalidParams{Context: "OpsFilter"}
43755	if s.Key == nil {
43756		invalidParams.Add(request.NewErrParamRequired("Key"))
43757	}
43758	if s.Key != nil && len(*s.Key) < 1 {
43759		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
43760	}
43761	if s.Values == nil {
43762		invalidParams.Add(request.NewErrParamRequired("Values"))
43763	}
43764	if s.Values != nil && len(s.Values) < 1 {
43765		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
43766	}
43767
43768	if invalidParams.Len() > 0 {
43769		return invalidParams
43770	}
43771	return nil
43772}
43773
43774// SetKey sets the Key field's value.
43775func (s *OpsFilter) SetKey(v string) *OpsFilter {
43776	s.Key = &v
43777	return s
43778}
43779
43780// SetType sets the Type field's value.
43781func (s *OpsFilter) SetType(v string) *OpsFilter {
43782	s.Type = &v
43783	return s
43784}
43785
43786// SetValues sets the Values field's value.
43787func (s *OpsFilter) SetValues(v []*string) *OpsFilter {
43788	s.Values = v
43789	return s
43790}
43791
43792// Operations engineers and IT professionals use Amazon Web Services Systems
43793// Manager OpsCenter to view, investigate, and remediate operational work items
43794// (OpsItems) impacting the performance and health of their Amazon Web Services
43795// resources. OpsCenter is integrated with Amazon EventBridge and Amazon CloudWatch.
43796// This means you can configure these services to automatically create an OpsItem
43797// in OpsCenter when a CloudWatch alarm enters the ALARM state or when EventBridge
43798// processes an event from any Amazon Web Services service that publishes events.
43799// Configuring Amazon CloudWatch alarms and EventBridge events to automatically
43800// create OpsItems allows you to quickly diagnose and remediate issues with
43801// Amazon Web Services resources from a single console.
43802//
43803// To help you diagnose issues, each OpsItem includes contextually relevant
43804// information such as the name and ID of the Amazon Web Services resource that
43805// generated the OpsItem, alarm or event details, alarm history, and an alarm
43806// timeline graph. For the Amazon Web Services resource, OpsCenter aggregates
43807// information from Config, CloudTrail logs, and EventBridge, so you don't have
43808// to navigate across multiple console pages during your investigation. For
43809// more information, see OpsCenter (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)
43810// in the Amazon Web Services Systems Manager User Guide.
43811type OpsItem struct {
43812	_ struct{} `type:"structure"`
43813
43814	// The time a runbook workflow ended. Currently reported only for the OpsItem
43815	// type /aws/changerequest.
43816	ActualEndTime *time.Time `type:"timestamp"`
43817
43818	// The time a runbook workflow started. Currently reported only for the OpsItem
43819	// type /aws/changerequest.
43820	ActualStartTime *time.Time `type:"timestamp"`
43821
43822	// An OpsItem category. Category options include: Availability, Cost, Performance,
43823	// Recovery, Security.
43824	Category *string `min:"1" type:"string"`
43825
43826	// The ARN of the Amazon Web Services account that created the OpsItem.
43827	CreatedBy *string `type:"string"`
43828
43829	// The date and time the OpsItem was created.
43830	CreatedTime *time.Time `type:"timestamp"`
43831
43832	// The OpsItem description.
43833	Description *string `min:"1" type:"string"`
43834
43835	// The ARN of the Amazon Web Services account that last updated the OpsItem.
43836	LastModifiedBy *string `type:"string"`
43837
43838	// The date and time the OpsItem was last updated.
43839	LastModifiedTime *time.Time `type:"timestamp"`
43840
43841	// The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon
43842	// SNS) topic where notifications are sent when this OpsItem is edited or changed.
43843	Notifications []*OpsItemNotification `type:"list"`
43844
43845	// Operational data is custom data that provides useful reference details about
43846	// the OpsItem. For example, you can specify log files, error strings, license
43847	// keys, troubleshooting tips, or other relevant data. You enter operational
43848	// data as key-value pairs. The key has a maximum length of 128 characters.
43849	// The value has a maximum size of 20 KB.
43850	//
43851	// Operational data keys can't begin with the following: amazon, aws, amzn,
43852	// ssm, /amazon, /aws, /amzn, /ssm.
43853	//
43854	// You can choose to make the data searchable by other users in the account
43855	// or you can restrict search access. Searchable data means that all users with
43856	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
43857	// API operation) can view and search on the specified data. Operational data
43858	// that isn't searchable is only viewable by users who have access to the OpsItem
43859	// (as provided by the GetOpsItem API operation).
43860	//
43861	// Use the /aws/resources key in OperationalData to specify a related resource
43862	// in the request. Use the /aws/automations key in OperationalData to associate
43863	// an Automation runbook with the OpsItem. To view Amazon Web Services CLI example
43864	// commands that use these keys, see Creating OpsItems manually (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
43865	// in the Amazon Web Services Systems Manager User Guide.
43866	OperationalData map[string]*OpsItemDataValue `type:"map"`
43867
43868	// The ID of the OpsItem.
43869	OpsItemId *string `type:"string"`
43870
43871	// The type of OpsItem. Currently, the only valid values are /aws/changerequest
43872	// and /aws/issue.
43873	OpsItemType *string `type:"string"`
43874
43875	// The time specified in a change request for a runbook workflow to end. Currently
43876	// supported only for the OpsItem type /aws/changerequest.
43877	PlannedEndTime *time.Time `type:"timestamp"`
43878
43879	// The time specified in a change request for a runbook workflow to start. Currently
43880	// supported only for the OpsItem type /aws/changerequest.
43881	PlannedStartTime *time.Time `type:"timestamp"`
43882
43883	// The importance of this OpsItem in relation to other OpsItems in the system.
43884	Priority *int64 `min:"1" type:"integer"`
43885
43886	// One or more OpsItems that share something in common with the current OpsItem.
43887	// For example, related OpsItems can include OpsItems with similar error messages,
43888	// impacted resources, or statuses for the impacted resource.
43889	RelatedOpsItems []*RelatedOpsItem `type:"list"`
43890
43891	// The severity of the OpsItem. Severity options range from 1 to 4.
43892	Severity *string `min:"1" type:"string"`
43893
43894	// The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted
43895	// resource is a subset of source.
43896	Source *string `min:"1" type:"string"`
43897
43898	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
43899	// information, see Editing OpsItem details (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html)
43900	// in the Amazon Web Services Systems Manager User Guide.
43901	Status *string `type:"string" enum:"OpsItemStatus"`
43902
43903	// A short heading that describes the nature of the OpsItem and the impacted
43904	// resource.
43905	Title *string `min:"1" type:"string"`
43906
43907	// The version of this OpsItem. Each time the OpsItem is edited the version
43908	// number increments by one.
43909	Version *string `type:"string"`
43910}
43911
43912// String returns the string representation.
43913//
43914// API parameter values that are decorated as "sensitive" in the API will not
43915// be included in the string output. The member name will be present, but the
43916// value will be replaced with "sensitive".
43917func (s OpsItem) String() string {
43918	return awsutil.Prettify(s)
43919}
43920
43921// GoString returns the string representation.
43922//
43923// API parameter values that are decorated as "sensitive" in the API will not
43924// be included in the string output. The member name will be present, but the
43925// value will be replaced with "sensitive".
43926func (s OpsItem) GoString() string {
43927	return s.String()
43928}
43929
43930// SetActualEndTime sets the ActualEndTime field's value.
43931func (s *OpsItem) SetActualEndTime(v time.Time) *OpsItem {
43932	s.ActualEndTime = &v
43933	return s
43934}
43935
43936// SetActualStartTime sets the ActualStartTime field's value.
43937func (s *OpsItem) SetActualStartTime(v time.Time) *OpsItem {
43938	s.ActualStartTime = &v
43939	return s
43940}
43941
43942// SetCategory sets the Category field's value.
43943func (s *OpsItem) SetCategory(v string) *OpsItem {
43944	s.Category = &v
43945	return s
43946}
43947
43948// SetCreatedBy sets the CreatedBy field's value.
43949func (s *OpsItem) SetCreatedBy(v string) *OpsItem {
43950	s.CreatedBy = &v
43951	return s
43952}
43953
43954// SetCreatedTime sets the CreatedTime field's value.
43955func (s *OpsItem) SetCreatedTime(v time.Time) *OpsItem {
43956	s.CreatedTime = &v
43957	return s
43958}
43959
43960// SetDescription sets the Description field's value.
43961func (s *OpsItem) SetDescription(v string) *OpsItem {
43962	s.Description = &v
43963	return s
43964}
43965
43966// SetLastModifiedBy sets the LastModifiedBy field's value.
43967func (s *OpsItem) SetLastModifiedBy(v string) *OpsItem {
43968	s.LastModifiedBy = &v
43969	return s
43970}
43971
43972// SetLastModifiedTime sets the LastModifiedTime field's value.
43973func (s *OpsItem) SetLastModifiedTime(v time.Time) *OpsItem {
43974	s.LastModifiedTime = &v
43975	return s
43976}
43977
43978// SetNotifications sets the Notifications field's value.
43979func (s *OpsItem) SetNotifications(v []*OpsItemNotification) *OpsItem {
43980	s.Notifications = v
43981	return s
43982}
43983
43984// SetOperationalData sets the OperationalData field's value.
43985func (s *OpsItem) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItem {
43986	s.OperationalData = v
43987	return s
43988}
43989
43990// SetOpsItemId sets the OpsItemId field's value.
43991func (s *OpsItem) SetOpsItemId(v string) *OpsItem {
43992	s.OpsItemId = &v
43993	return s
43994}
43995
43996// SetOpsItemType sets the OpsItemType field's value.
43997func (s *OpsItem) SetOpsItemType(v string) *OpsItem {
43998	s.OpsItemType = &v
43999	return s
44000}
44001
44002// SetPlannedEndTime sets the PlannedEndTime field's value.
44003func (s *OpsItem) SetPlannedEndTime(v time.Time) *OpsItem {
44004	s.PlannedEndTime = &v
44005	return s
44006}
44007
44008// SetPlannedStartTime sets the PlannedStartTime field's value.
44009func (s *OpsItem) SetPlannedStartTime(v time.Time) *OpsItem {
44010	s.PlannedStartTime = &v
44011	return s
44012}
44013
44014// SetPriority sets the Priority field's value.
44015func (s *OpsItem) SetPriority(v int64) *OpsItem {
44016	s.Priority = &v
44017	return s
44018}
44019
44020// SetRelatedOpsItems sets the RelatedOpsItems field's value.
44021func (s *OpsItem) SetRelatedOpsItems(v []*RelatedOpsItem) *OpsItem {
44022	s.RelatedOpsItems = v
44023	return s
44024}
44025
44026// SetSeverity sets the Severity field's value.
44027func (s *OpsItem) SetSeverity(v string) *OpsItem {
44028	s.Severity = &v
44029	return s
44030}
44031
44032// SetSource sets the Source field's value.
44033func (s *OpsItem) SetSource(v string) *OpsItem {
44034	s.Source = &v
44035	return s
44036}
44037
44038// SetStatus sets the Status field's value.
44039func (s *OpsItem) SetStatus(v string) *OpsItem {
44040	s.Status = &v
44041	return s
44042}
44043
44044// SetTitle sets the Title field's value.
44045func (s *OpsItem) SetTitle(v string) *OpsItem {
44046	s.Title = &v
44047	return s
44048}
44049
44050// SetVersion sets the Version field's value.
44051func (s *OpsItem) SetVersion(v string) *OpsItem {
44052	s.Version = &v
44053	return s
44054}
44055
44056// The OpsItem already exists.
44057type OpsItemAlreadyExistsException struct {
44058	_            struct{}                  `type:"structure"`
44059	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44060
44061	Message_ *string `locationName:"Message" type:"string"`
44062
44063	OpsItemId *string `type:"string"`
44064}
44065
44066// String returns the string representation.
44067//
44068// API parameter values that are decorated as "sensitive" in the API will not
44069// be included in the string output. The member name will be present, but the
44070// value will be replaced with "sensitive".
44071func (s OpsItemAlreadyExistsException) String() string {
44072	return awsutil.Prettify(s)
44073}
44074
44075// GoString returns the string representation.
44076//
44077// API parameter values that are decorated as "sensitive" in the API will not
44078// be included in the string output. The member name will be present, but the
44079// value will be replaced with "sensitive".
44080func (s OpsItemAlreadyExistsException) GoString() string {
44081	return s.String()
44082}
44083
44084func newErrorOpsItemAlreadyExistsException(v protocol.ResponseMetadata) error {
44085	return &OpsItemAlreadyExistsException{
44086		RespMetadata: v,
44087	}
44088}
44089
44090// Code returns the exception type name.
44091func (s *OpsItemAlreadyExistsException) Code() string {
44092	return "OpsItemAlreadyExistsException"
44093}
44094
44095// Message returns the exception's message.
44096func (s *OpsItemAlreadyExistsException) Message() string {
44097	if s.Message_ != nil {
44098		return *s.Message_
44099	}
44100	return ""
44101}
44102
44103// OrigErr always returns nil, satisfies awserr.Error interface.
44104func (s *OpsItemAlreadyExistsException) OrigErr() error {
44105	return nil
44106}
44107
44108func (s *OpsItemAlreadyExistsException) Error() string {
44109	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
44110}
44111
44112// Status code returns the HTTP status code for the request's response error.
44113func (s *OpsItemAlreadyExistsException) StatusCode() int {
44114	return s.RespMetadata.StatusCode
44115}
44116
44117// RequestID returns the service's response RequestID for request.
44118func (s *OpsItemAlreadyExistsException) RequestID() string {
44119	return s.RespMetadata.RequestID
44120}
44121
44122// An object that defines the value of the key and its type in the OperationalData
44123// map.
44124type OpsItemDataValue struct {
44125	_ struct{} `type:"structure"`
44126
44127	// The type of key-value pair. Valid types include SearchableString and String.
44128	Type *string `type:"string" enum:"OpsItemDataType"`
44129
44130	// The value of the OperationalData key.
44131	Value *string `type:"string"`
44132}
44133
44134// String returns the string representation.
44135//
44136// API parameter values that are decorated as "sensitive" in the API will not
44137// be included in the string output. The member name will be present, but the
44138// value will be replaced with "sensitive".
44139func (s OpsItemDataValue) String() string {
44140	return awsutil.Prettify(s)
44141}
44142
44143// GoString returns the string representation.
44144//
44145// API parameter values that are decorated as "sensitive" in the API will not
44146// be included in the string output. The member name will be present, but the
44147// value will be replaced with "sensitive".
44148func (s OpsItemDataValue) GoString() string {
44149	return s.String()
44150}
44151
44152// SetType sets the Type field's value.
44153func (s *OpsItemDataValue) SetType(v string) *OpsItemDataValue {
44154	s.Type = &v
44155	return s
44156}
44157
44158// SetValue sets the Value field's value.
44159func (s *OpsItemDataValue) SetValue(v string) *OpsItemDataValue {
44160	s.Value = &v
44161	return s
44162}
44163
44164// Describes a filter for a specific list of OpsItem events. You can filter
44165// event information by using tags. You specify tags by using a key-value pair
44166// mapping.
44167type OpsItemEventFilter struct {
44168	_ struct{} `type:"structure"`
44169
44170	// The name of the filter key. Currently, the only supported value is OpsItemId.
44171	//
44172	// Key is a required field
44173	Key *string `type:"string" required:"true" enum:"OpsItemEventFilterKey"`
44174
44175	// The operator used by the filter call. Currently, the only supported value
44176	// is Equal.
44177	//
44178	// Operator is a required field
44179	Operator *string `type:"string" required:"true" enum:"OpsItemEventFilterOperator"`
44180
44181	// The values for the filter, consisting of one or more OpsItem IDs.
44182	//
44183	// Values is a required field
44184	Values []*string `type:"list" required:"true"`
44185}
44186
44187// String returns the string representation.
44188//
44189// API parameter values that are decorated as "sensitive" in the API will not
44190// be included in the string output. The member name will be present, but the
44191// value will be replaced with "sensitive".
44192func (s OpsItemEventFilter) String() string {
44193	return awsutil.Prettify(s)
44194}
44195
44196// GoString returns the string representation.
44197//
44198// API parameter values that are decorated as "sensitive" in the API will not
44199// be included in the string output. The member name will be present, but the
44200// value will be replaced with "sensitive".
44201func (s OpsItemEventFilter) GoString() string {
44202	return s.String()
44203}
44204
44205// Validate inspects the fields of the type to determine if they are valid.
44206func (s *OpsItemEventFilter) Validate() error {
44207	invalidParams := request.ErrInvalidParams{Context: "OpsItemEventFilter"}
44208	if s.Key == nil {
44209		invalidParams.Add(request.NewErrParamRequired("Key"))
44210	}
44211	if s.Operator == nil {
44212		invalidParams.Add(request.NewErrParamRequired("Operator"))
44213	}
44214	if s.Values == nil {
44215		invalidParams.Add(request.NewErrParamRequired("Values"))
44216	}
44217
44218	if invalidParams.Len() > 0 {
44219		return invalidParams
44220	}
44221	return nil
44222}
44223
44224// SetKey sets the Key field's value.
44225func (s *OpsItemEventFilter) SetKey(v string) *OpsItemEventFilter {
44226	s.Key = &v
44227	return s
44228}
44229
44230// SetOperator sets the Operator field's value.
44231func (s *OpsItemEventFilter) SetOperator(v string) *OpsItemEventFilter {
44232	s.Operator = &v
44233	return s
44234}
44235
44236// SetValues sets the Values field's value.
44237func (s *OpsItemEventFilter) SetValues(v []*string) *OpsItemEventFilter {
44238	s.Values = v
44239	return s
44240}
44241
44242// Summary information about an OpsItem event or that associated an OpsItem
44243// with a related item.
44244type OpsItemEventSummary struct {
44245	_ struct{} `type:"structure"`
44246
44247	// Information about the user or resource that created the OpsItem event.
44248	CreatedBy *OpsItemIdentity `type:"structure"`
44249
44250	// The date and time the OpsItem event was created.
44251	CreatedTime *time.Time `type:"timestamp"`
44252
44253	// Specific information about the OpsItem event.
44254	Detail *string `type:"string"`
44255
44256	// The type of information provided as a detail.
44257	DetailType *string `type:"string"`
44258
44259	// The ID of the OpsItem event.
44260	EventId *string `type:"string"`
44261
44262	// The ID of the OpsItem.
44263	OpsItemId *string `type:"string"`
44264
44265	// The source of the OpsItem event.
44266	Source *string `type:"string"`
44267}
44268
44269// String returns the string representation.
44270//
44271// API parameter values that are decorated as "sensitive" in the API will not
44272// be included in the string output. The member name will be present, but the
44273// value will be replaced with "sensitive".
44274func (s OpsItemEventSummary) String() string {
44275	return awsutil.Prettify(s)
44276}
44277
44278// GoString returns the string representation.
44279//
44280// API parameter values that are decorated as "sensitive" in the API will not
44281// be included in the string output. The member name will be present, but the
44282// value will be replaced with "sensitive".
44283func (s OpsItemEventSummary) GoString() string {
44284	return s.String()
44285}
44286
44287// SetCreatedBy sets the CreatedBy field's value.
44288func (s *OpsItemEventSummary) SetCreatedBy(v *OpsItemIdentity) *OpsItemEventSummary {
44289	s.CreatedBy = v
44290	return s
44291}
44292
44293// SetCreatedTime sets the CreatedTime field's value.
44294func (s *OpsItemEventSummary) SetCreatedTime(v time.Time) *OpsItemEventSummary {
44295	s.CreatedTime = &v
44296	return s
44297}
44298
44299// SetDetail sets the Detail field's value.
44300func (s *OpsItemEventSummary) SetDetail(v string) *OpsItemEventSummary {
44301	s.Detail = &v
44302	return s
44303}
44304
44305// SetDetailType sets the DetailType field's value.
44306func (s *OpsItemEventSummary) SetDetailType(v string) *OpsItemEventSummary {
44307	s.DetailType = &v
44308	return s
44309}
44310
44311// SetEventId sets the EventId field's value.
44312func (s *OpsItemEventSummary) SetEventId(v string) *OpsItemEventSummary {
44313	s.EventId = &v
44314	return s
44315}
44316
44317// SetOpsItemId sets the OpsItemId field's value.
44318func (s *OpsItemEventSummary) SetOpsItemId(v string) *OpsItemEventSummary {
44319	s.OpsItemId = &v
44320	return s
44321}
44322
44323// SetSource sets the Source field's value.
44324func (s *OpsItemEventSummary) SetSource(v string) *OpsItemEventSummary {
44325	s.Source = &v
44326	return s
44327}
44328
44329// Describes an OpsItem filter.
44330type OpsItemFilter struct {
44331	_ struct{} `type:"structure"`
44332
44333	// The name of the filter.
44334	//
44335	// Key is a required field
44336	Key *string `type:"string" required:"true" enum:"OpsItemFilterKey"`
44337
44338	// The operator used by the filter call.
44339	//
44340	// Operator is a required field
44341	Operator *string `type:"string" required:"true" enum:"OpsItemFilterOperator"`
44342
44343	// The filter value.
44344	//
44345	// Values is a required field
44346	Values []*string `type:"list" required:"true"`
44347}
44348
44349// String returns the string representation.
44350//
44351// API parameter values that are decorated as "sensitive" in the API will not
44352// be included in the string output. The member name will be present, but the
44353// value will be replaced with "sensitive".
44354func (s OpsItemFilter) String() string {
44355	return awsutil.Prettify(s)
44356}
44357
44358// GoString returns the string representation.
44359//
44360// API parameter values that are decorated as "sensitive" in the API will not
44361// be included in the string output. The member name will be present, but the
44362// value will be replaced with "sensitive".
44363func (s OpsItemFilter) GoString() string {
44364	return s.String()
44365}
44366
44367// Validate inspects the fields of the type to determine if they are valid.
44368func (s *OpsItemFilter) Validate() error {
44369	invalidParams := request.ErrInvalidParams{Context: "OpsItemFilter"}
44370	if s.Key == nil {
44371		invalidParams.Add(request.NewErrParamRequired("Key"))
44372	}
44373	if s.Operator == nil {
44374		invalidParams.Add(request.NewErrParamRequired("Operator"))
44375	}
44376	if s.Values == nil {
44377		invalidParams.Add(request.NewErrParamRequired("Values"))
44378	}
44379
44380	if invalidParams.Len() > 0 {
44381		return invalidParams
44382	}
44383	return nil
44384}
44385
44386// SetKey sets the Key field's value.
44387func (s *OpsItemFilter) SetKey(v string) *OpsItemFilter {
44388	s.Key = &v
44389	return s
44390}
44391
44392// SetOperator sets the Operator field's value.
44393func (s *OpsItemFilter) SetOperator(v string) *OpsItemFilter {
44394	s.Operator = &v
44395	return s
44396}
44397
44398// SetValues sets the Values field's value.
44399func (s *OpsItemFilter) SetValues(v []*string) *OpsItemFilter {
44400	s.Values = v
44401	return s
44402}
44403
44404// Information about the user or resource that created an OpsItem event.
44405type OpsItemIdentity struct {
44406	_ struct{} `type:"structure"`
44407
44408	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem
44409	// event.
44410	Arn *string `type:"string"`
44411}
44412
44413// String returns the string representation.
44414//
44415// API parameter values that are decorated as "sensitive" in the API will not
44416// be included in the string output. The member name will be present, but the
44417// value will be replaced with "sensitive".
44418func (s OpsItemIdentity) String() string {
44419	return awsutil.Prettify(s)
44420}
44421
44422// GoString returns the string representation.
44423//
44424// API parameter values that are decorated as "sensitive" in the API will not
44425// be included in the string output. The member name will be present, but the
44426// value will be replaced with "sensitive".
44427func (s OpsItemIdentity) GoString() string {
44428	return s.String()
44429}
44430
44431// SetArn sets the Arn field's value.
44432func (s *OpsItemIdentity) SetArn(v string) *OpsItemIdentity {
44433	s.Arn = &v
44434	return s
44435}
44436
44437// A specified parameter argument isn't valid. Verify the available arguments
44438// and try again.
44439type OpsItemInvalidParameterException struct {
44440	_            struct{}                  `type:"structure"`
44441	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44442
44443	Message_ *string `locationName:"Message" type:"string"`
44444
44445	ParameterNames []*string `type:"list"`
44446}
44447
44448// String returns the string representation.
44449//
44450// API parameter values that are decorated as "sensitive" in the API will not
44451// be included in the string output. The member name will be present, but the
44452// value will be replaced with "sensitive".
44453func (s OpsItemInvalidParameterException) String() string {
44454	return awsutil.Prettify(s)
44455}
44456
44457// GoString returns the string representation.
44458//
44459// API parameter values that are decorated as "sensitive" in the API will not
44460// be included in the string output. The member name will be present, but the
44461// value will be replaced with "sensitive".
44462func (s OpsItemInvalidParameterException) GoString() string {
44463	return s.String()
44464}
44465
44466func newErrorOpsItemInvalidParameterException(v protocol.ResponseMetadata) error {
44467	return &OpsItemInvalidParameterException{
44468		RespMetadata: v,
44469	}
44470}
44471
44472// Code returns the exception type name.
44473func (s *OpsItemInvalidParameterException) Code() string {
44474	return "OpsItemInvalidParameterException"
44475}
44476
44477// Message returns the exception's message.
44478func (s *OpsItemInvalidParameterException) Message() string {
44479	if s.Message_ != nil {
44480		return *s.Message_
44481	}
44482	return ""
44483}
44484
44485// OrigErr always returns nil, satisfies awserr.Error interface.
44486func (s *OpsItemInvalidParameterException) OrigErr() error {
44487	return nil
44488}
44489
44490func (s *OpsItemInvalidParameterException) Error() string {
44491	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
44492}
44493
44494// Status code returns the HTTP status code for the request's response error.
44495func (s *OpsItemInvalidParameterException) StatusCode() int {
44496	return s.RespMetadata.StatusCode
44497}
44498
44499// RequestID returns the service's response RequestID for request.
44500func (s *OpsItemInvalidParameterException) RequestID() string {
44501	return s.RespMetadata.RequestID
44502}
44503
44504// The request caused OpsItems to exceed one or more quotas. For information
44505// about OpsItem quotas, see What are the resource limits for OpsCenter? (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-learn-more.html#OpsCenter-learn-more-limits).
44506type OpsItemLimitExceededException struct {
44507	_            struct{}                  `type:"structure"`
44508	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44509
44510	Limit *int64 `type:"integer"`
44511
44512	LimitType *string `type:"string"`
44513
44514	Message_ *string `locationName:"Message" type:"string"`
44515
44516	ResourceTypes []*string `type:"list"`
44517}
44518
44519// String returns the string representation.
44520//
44521// API parameter values that are decorated as "sensitive" in the API will not
44522// be included in the string output. The member name will be present, but the
44523// value will be replaced with "sensitive".
44524func (s OpsItemLimitExceededException) String() string {
44525	return awsutil.Prettify(s)
44526}
44527
44528// GoString returns the string representation.
44529//
44530// API parameter values that are decorated as "sensitive" in the API will not
44531// be included in the string output. The member name will be present, but the
44532// value will be replaced with "sensitive".
44533func (s OpsItemLimitExceededException) GoString() string {
44534	return s.String()
44535}
44536
44537func newErrorOpsItemLimitExceededException(v protocol.ResponseMetadata) error {
44538	return &OpsItemLimitExceededException{
44539		RespMetadata: v,
44540	}
44541}
44542
44543// Code returns the exception type name.
44544func (s *OpsItemLimitExceededException) Code() string {
44545	return "OpsItemLimitExceededException"
44546}
44547
44548// Message returns the exception's message.
44549func (s *OpsItemLimitExceededException) Message() string {
44550	if s.Message_ != nil {
44551		return *s.Message_
44552	}
44553	return ""
44554}
44555
44556// OrigErr always returns nil, satisfies awserr.Error interface.
44557func (s *OpsItemLimitExceededException) OrigErr() error {
44558	return nil
44559}
44560
44561func (s *OpsItemLimitExceededException) Error() string {
44562	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
44563}
44564
44565// Status code returns the HTTP status code for the request's response error.
44566func (s *OpsItemLimitExceededException) StatusCode() int {
44567	return s.RespMetadata.StatusCode
44568}
44569
44570// RequestID returns the service's response RequestID for request.
44571func (s *OpsItemLimitExceededException) RequestID() string {
44572	return s.RespMetadata.RequestID
44573}
44574
44575// The specified OpsItem ID doesn't exist. Verify the ID and try again.
44576type OpsItemNotFoundException struct {
44577	_            struct{}                  `type:"structure"`
44578	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44579
44580	Message_ *string `locationName:"Message" type:"string"`
44581}
44582
44583// String returns the string representation.
44584//
44585// API parameter values that are decorated as "sensitive" in the API will not
44586// be included in the string output. The member name will be present, but the
44587// value will be replaced with "sensitive".
44588func (s OpsItemNotFoundException) String() string {
44589	return awsutil.Prettify(s)
44590}
44591
44592// GoString returns the string representation.
44593//
44594// API parameter values that are decorated as "sensitive" in the API will not
44595// be included in the string output. The member name will be present, but the
44596// value will be replaced with "sensitive".
44597func (s OpsItemNotFoundException) GoString() string {
44598	return s.String()
44599}
44600
44601func newErrorOpsItemNotFoundException(v protocol.ResponseMetadata) error {
44602	return &OpsItemNotFoundException{
44603		RespMetadata: v,
44604	}
44605}
44606
44607// Code returns the exception type name.
44608func (s *OpsItemNotFoundException) Code() string {
44609	return "OpsItemNotFoundException"
44610}
44611
44612// Message returns the exception's message.
44613func (s *OpsItemNotFoundException) Message() string {
44614	if s.Message_ != nil {
44615		return *s.Message_
44616	}
44617	return ""
44618}
44619
44620// OrigErr always returns nil, satisfies awserr.Error interface.
44621func (s *OpsItemNotFoundException) OrigErr() error {
44622	return nil
44623}
44624
44625func (s *OpsItemNotFoundException) Error() string {
44626	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
44627}
44628
44629// Status code returns the HTTP status code for the request's response error.
44630func (s *OpsItemNotFoundException) StatusCode() int {
44631	return s.RespMetadata.StatusCode
44632}
44633
44634// RequestID returns the service's response RequestID for request.
44635func (s *OpsItemNotFoundException) RequestID() string {
44636	return s.RespMetadata.RequestID
44637}
44638
44639// A notification about the OpsItem.
44640type OpsItemNotification struct {
44641	_ struct{} `type:"structure"`
44642
44643	// The Amazon Resource Name (ARN) of an Amazon Simple Notification Service (Amazon
44644	// SNS) topic where notifications are sent when this OpsItem is edited or changed.
44645	Arn *string `type:"string"`
44646}
44647
44648// String returns the string representation.
44649//
44650// API parameter values that are decorated as "sensitive" in the API will not
44651// be included in the string output. The member name will be present, but the
44652// value will be replaced with "sensitive".
44653func (s OpsItemNotification) String() string {
44654	return awsutil.Prettify(s)
44655}
44656
44657// GoString returns the string representation.
44658//
44659// API parameter values that are decorated as "sensitive" in the API will not
44660// be included in the string output. The member name will be present, but the
44661// value will be replaced with "sensitive".
44662func (s OpsItemNotification) GoString() string {
44663	return s.String()
44664}
44665
44666// SetArn sets the Arn field's value.
44667func (s *OpsItemNotification) SetArn(v string) *OpsItemNotification {
44668	s.Arn = &v
44669	return s
44670}
44671
44672// The Amazon Resource Name (ARN) is already associated with the OpsItem.
44673type OpsItemRelatedItemAlreadyExistsException struct {
44674	_            struct{}                  `type:"structure"`
44675	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44676
44677	Message_ *string `locationName:"Message" type:"string"`
44678
44679	OpsItemId *string `type:"string"`
44680
44681	ResourceUri *string `type:"string"`
44682}
44683
44684// String returns the string representation.
44685//
44686// API parameter values that are decorated as "sensitive" in the API will not
44687// be included in the string output. The member name will be present, but the
44688// value will be replaced with "sensitive".
44689func (s OpsItemRelatedItemAlreadyExistsException) String() string {
44690	return awsutil.Prettify(s)
44691}
44692
44693// GoString returns the string representation.
44694//
44695// API parameter values that are decorated as "sensitive" in the API will not
44696// be included in the string output. The member name will be present, but the
44697// value will be replaced with "sensitive".
44698func (s OpsItemRelatedItemAlreadyExistsException) GoString() string {
44699	return s.String()
44700}
44701
44702func newErrorOpsItemRelatedItemAlreadyExistsException(v protocol.ResponseMetadata) error {
44703	return &OpsItemRelatedItemAlreadyExistsException{
44704		RespMetadata: v,
44705	}
44706}
44707
44708// Code returns the exception type name.
44709func (s *OpsItemRelatedItemAlreadyExistsException) Code() string {
44710	return "OpsItemRelatedItemAlreadyExistsException"
44711}
44712
44713// Message returns the exception's message.
44714func (s *OpsItemRelatedItemAlreadyExistsException) Message() string {
44715	if s.Message_ != nil {
44716		return *s.Message_
44717	}
44718	return ""
44719}
44720
44721// OrigErr always returns nil, satisfies awserr.Error interface.
44722func (s *OpsItemRelatedItemAlreadyExistsException) OrigErr() error {
44723	return nil
44724}
44725
44726func (s *OpsItemRelatedItemAlreadyExistsException) Error() string {
44727	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
44728}
44729
44730// Status code returns the HTTP status code for the request's response error.
44731func (s *OpsItemRelatedItemAlreadyExistsException) StatusCode() int {
44732	return s.RespMetadata.StatusCode
44733}
44734
44735// RequestID returns the service's response RequestID for request.
44736func (s *OpsItemRelatedItemAlreadyExistsException) RequestID() string {
44737	return s.RespMetadata.RequestID
44738}
44739
44740// The association wasn't found using the parameters you specified in the call.
44741// Verify the information and try again.
44742type OpsItemRelatedItemAssociationNotFoundException struct {
44743	_            struct{}                  `type:"structure"`
44744	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
44745
44746	Message_ *string `locationName:"Message" type:"string"`
44747}
44748
44749// String returns the string representation.
44750//
44751// API parameter values that are decorated as "sensitive" in the API will not
44752// be included in the string output. The member name will be present, but the
44753// value will be replaced with "sensitive".
44754func (s OpsItemRelatedItemAssociationNotFoundException) String() string {
44755	return awsutil.Prettify(s)
44756}
44757
44758// GoString returns the string representation.
44759//
44760// API parameter values that are decorated as "sensitive" in the API will not
44761// be included in the string output. The member name will be present, but the
44762// value will be replaced with "sensitive".
44763func (s OpsItemRelatedItemAssociationNotFoundException) GoString() string {
44764	return s.String()
44765}
44766
44767func newErrorOpsItemRelatedItemAssociationNotFoundException(v protocol.ResponseMetadata) error {
44768	return &OpsItemRelatedItemAssociationNotFoundException{
44769		RespMetadata: v,
44770	}
44771}
44772
44773// Code returns the exception type name.
44774func (s *OpsItemRelatedItemAssociationNotFoundException) Code() string {
44775	return "OpsItemRelatedItemAssociationNotFoundException"
44776}
44777
44778// Message returns the exception's message.
44779func (s *OpsItemRelatedItemAssociationNotFoundException) Message() string {
44780	if s.Message_ != nil {
44781		return *s.Message_
44782	}
44783	return ""
44784}
44785
44786// OrigErr always returns nil, satisfies awserr.Error interface.
44787func (s *OpsItemRelatedItemAssociationNotFoundException) OrigErr() error {
44788	return nil
44789}
44790
44791func (s *OpsItemRelatedItemAssociationNotFoundException) Error() string {
44792	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
44793}
44794
44795// Status code returns the HTTP status code for the request's response error.
44796func (s *OpsItemRelatedItemAssociationNotFoundException) StatusCode() int {
44797	return s.RespMetadata.StatusCode
44798}
44799
44800// RequestID returns the service's response RequestID for request.
44801func (s *OpsItemRelatedItemAssociationNotFoundException) RequestID() string {
44802	return s.RespMetadata.RequestID
44803}
44804
44805// Summary information about related-item resources for an OpsItem.
44806type OpsItemRelatedItemSummary struct {
44807	_ struct{} `type:"structure"`
44808
44809	// The association ID.
44810	AssociationId *string `type:"string"`
44811
44812	// The association type.
44813	AssociationType *string `type:"string"`
44814
44815	// Information about the user or resource that created an OpsItem event.
44816	CreatedBy *OpsItemIdentity `type:"structure"`
44817
44818	// The time the related-item association was created.
44819	CreatedTime *time.Time `type:"timestamp"`
44820
44821	// Information about the user or resource that created an OpsItem event.
44822	LastModifiedBy *OpsItemIdentity `type:"structure"`
44823
44824	// The time the related-item association was last updated.
44825	LastModifiedTime *time.Time `type:"timestamp"`
44826
44827	// The OpsItem ID.
44828	OpsItemId *string `type:"string"`
44829
44830	// The resource type.
44831	ResourceType *string `type:"string"`
44832
44833	// The Amazon Resource Name (ARN) of the related-item resource.
44834	ResourceUri *string `type:"string"`
44835}
44836
44837// String returns the string representation.
44838//
44839// API parameter values that are decorated as "sensitive" in the API will not
44840// be included in the string output. The member name will be present, but the
44841// value will be replaced with "sensitive".
44842func (s OpsItemRelatedItemSummary) String() string {
44843	return awsutil.Prettify(s)
44844}
44845
44846// GoString returns the string representation.
44847//
44848// API parameter values that are decorated as "sensitive" in the API will not
44849// be included in the string output. The member name will be present, but the
44850// value will be replaced with "sensitive".
44851func (s OpsItemRelatedItemSummary) GoString() string {
44852	return s.String()
44853}
44854
44855// SetAssociationId sets the AssociationId field's value.
44856func (s *OpsItemRelatedItemSummary) SetAssociationId(v string) *OpsItemRelatedItemSummary {
44857	s.AssociationId = &v
44858	return s
44859}
44860
44861// SetAssociationType sets the AssociationType field's value.
44862func (s *OpsItemRelatedItemSummary) SetAssociationType(v string) *OpsItemRelatedItemSummary {
44863	s.AssociationType = &v
44864	return s
44865}
44866
44867// SetCreatedBy sets the CreatedBy field's value.
44868func (s *OpsItemRelatedItemSummary) SetCreatedBy(v *OpsItemIdentity) *OpsItemRelatedItemSummary {
44869	s.CreatedBy = v
44870	return s
44871}
44872
44873// SetCreatedTime sets the CreatedTime field's value.
44874func (s *OpsItemRelatedItemSummary) SetCreatedTime(v time.Time) *OpsItemRelatedItemSummary {
44875	s.CreatedTime = &v
44876	return s
44877}
44878
44879// SetLastModifiedBy sets the LastModifiedBy field's value.
44880func (s *OpsItemRelatedItemSummary) SetLastModifiedBy(v *OpsItemIdentity) *OpsItemRelatedItemSummary {
44881	s.LastModifiedBy = v
44882	return s
44883}
44884
44885// SetLastModifiedTime sets the LastModifiedTime field's value.
44886func (s *OpsItemRelatedItemSummary) SetLastModifiedTime(v time.Time) *OpsItemRelatedItemSummary {
44887	s.LastModifiedTime = &v
44888	return s
44889}
44890
44891// SetOpsItemId sets the OpsItemId field's value.
44892func (s *OpsItemRelatedItemSummary) SetOpsItemId(v string) *OpsItemRelatedItemSummary {
44893	s.OpsItemId = &v
44894	return s
44895}
44896
44897// SetResourceType sets the ResourceType field's value.
44898func (s *OpsItemRelatedItemSummary) SetResourceType(v string) *OpsItemRelatedItemSummary {
44899	s.ResourceType = &v
44900	return s
44901}
44902
44903// SetResourceUri sets the ResourceUri field's value.
44904func (s *OpsItemRelatedItemSummary) SetResourceUri(v string) *OpsItemRelatedItemSummary {
44905	s.ResourceUri = &v
44906	return s
44907}
44908
44909// Describes a filter for a specific list of related-item resources.
44910type OpsItemRelatedItemsFilter struct {
44911	_ struct{} `type:"structure"`
44912
44913	// The name of the filter key. Supported values include ResourceUri, ResourceType,
44914	// or AssociationId.
44915	//
44916	// Key is a required field
44917	Key *string `type:"string" required:"true" enum:"OpsItemRelatedItemsFilterKey"`
44918
44919	// The operator used by the filter call. The only supported operator is EQUAL.
44920	//
44921	// Operator is a required field
44922	Operator *string `type:"string" required:"true" enum:"OpsItemRelatedItemsFilterOperator"`
44923
44924	// The values for the filter.
44925	//
44926	// Values is a required field
44927	Values []*string `type:"list" required:"true"`
44928}
44929
44930// String returns the string representation.
44931//
44932// API parameter values that are decorated as "sensitive" in the API will not
44933// be included in the string output. The member name will be present, but the
44934// value will be replaced with "sensitive".
44935func (s OpsItemRelatedItemsFilter) String() string {
44936	return awsutil.Prettify(s)
44937}
44938
44939// GoString returns the string representation.
44940//
44941// API parameter values that are decorated as "sensitive" in the API will not
44942// be included in the string output. The member name will be present, but the
44943// value will be replaced with "sensitive".
44944func (s OpsItemRelatedItemsFilter) GoString() string {
44945	return s.String()
44946}
44947
44948// Validate inspects the fields of the type to determine if they are valid.
44949func (s *OpsItemRelatedItemsFilter) Validate() error {
44950	invalidParams := request.ErrInvalidParams{Context: "OpsItemRelatedItemsFilter"}
44951	if s.Key == nil {
44952		invalidParams.Add(request.NewErrParamRequired("Key"))
44953	}
44954	if s.Operator == nil {
44955		invalidParams.Add(request.NewErrParamRequired("Operator"))
44956	}
44957	if s.Values == nil {
44958		invalidParams.Add(request.NewErrParamRequired("Values"))
44959	}
44960
44961	if invalidParams.Len() > 0 {
44962		return invalidParams
44963	}
44964	return nil
44965}
44966
44967// SetKey sets the Key field's value.
44968func (s *OpsItemRelatedItemsFilter) SetKey(v string) *OpsItemRelatedItemsFilter {
44969	s.Key = &v
44970	return s
44971}
44972
44973// SetOperator sets the Operator field's value.
44974func (s *OpsItemRelatedItemsFilter) SetOperator(v string) *OpsItemRelatedItemsFilter {
44975	s.Operator = &v
44976	return s
44977}
44978
44979// SetValues sets the Values field's value.
44980func (s *OpsItemRelatedItemsFilter) SetValues(v []*string) *OpsItemRelatedItemsFilter {
44981	s.Values = v
44982	return s
44983}
44984
44985// A count of OpsItems.
44986type OpsItemSummary struct {
44987	_ struct{} `type:"structure"`
44988
44989	// The time a runbook workflow ended. Currently reported only for the OpsItem
44990	// type /aws/changerequest.
44991	ActualEndTime *time.Time `type:"timestamp"`
44992
44993	// The time a runbook workflow started. Currently reported only for the OpsItem
44994	// type /aws/changerequest.
44995	ActualStartTime *time.Time `type:"timestamp"`
44996
44997	// A list of OpsItems by category.
44998	Category *string `min:"1" type:"string"`
44999
45000	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
45001	CreatedBy *string `type:"string"`
45002
45003	// The date and time the OpsItem was created.
45004	CreatedTime *time.Time `type:"timestamp"`
45005
45006	// The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.
45007	LastModifiedBy *string `type:"string"`
45008
45009	// The date and time the OpsItem was last updated.
45010	LastModifiedTime *time.Time `type:"timestamp"`
45011
45012	// Operational data is custom data that provides useful reference details about
45013	// the OpsItem.
45014	OperationalData map[string]*OpsItemDataValue `type:"map"`
45015
45016	// The ID of the OpsItem.
45017	OpsItemId *string `type:"string"`
45018
45019	// The type of OpsItem. Currently, the only valid values are /aws/changerequest
45020	// and /aws/issue.
45021	OpsItemType *string `type:"string"`
45022
45023	// The time specified in a change request for a runbook workflow to end. Currently
45024	// supported only for the OpsItem type /aws/changerequest.
45025	PlannedEndTime *time.Time `type:"timestamp"`
45026
45027	// The time specified in a change request for a runbook workflow to start. Currently
45028	// supported only for the OpsItem type /aws/changerequest.
45029	PlannedStartTime *time.Time `type:"timestamp"`
45030
45031	// The importance of this OpsItem in relation to other OpsItems in the system.
45032	Priority *int64 `min:"1" type:"integer"`
45033
45034	// A list of OpsItems by severity.
45035	Severity *string `min:"1" type:"string"`
45036
45037	// The impacted Amazon Web Services resource.
45038	Source *string `min:"1" type:"string"`
45039
45040	// The OpsItem status. Status can be Open, In Progress, or Resolved.
45041	Status *string `type:"string" enum:"OpsItemStatus"`
45042
45043	// A short heading that describes the nature of the OpsItem and the impacted
45044	// resource.
45045	Title *string `min:"1" type:"string"`
45046}
45047
45048// String returns the string representation.
45049//
45050// API parameter values that are decorated as "sensitive" in the API will not
45051// be included in the string output. The member name will be present, but the
45052// value will be replaced with "sensitive".
45053func (s OpsItemSummary) String() string {
45054	return awsutil.Prettify(s)
45055}
45056
45057// GoString returns the string representation.
45058//
45059// API parameter values that are decorated as "sensitive" in the API will not
45060// be included in the string output. The member name will be present, but the
45061// value will be replaced with "sensitive".
45062func (s OpsItemSummary) GoString() string {
45063	return s.String()
45064}
45065
45066// SetActualEndTime sets the ActualEndTime field's value.
45067func (s *OpsItemSummary) SetActualEndTime(v time.Time) *OpsItemSummary {
45068	s.ActualEndTime = &v
45069	return s
45070}
45071
45072// SetActualStartTime sets the ActualStartTime field's value.
45073func (s *OpsItemSummary) SetActualStartTime(v time.Time) *OpsItemSummary {
45074	s.ActualStartTime = &v
45075	return s
45076}
45077
45078// SetCategory sets the Category field's value.
45079func (s *OpsItemSummary) SetCategory(v string) *OpsItemSummary {
45080	s.Category = &v
45081	return s
45082}
45083
45084// SetCreatedBy sets the CreatedBy field's value.
45085func (s *OpsItemSummary) SetCreatedBy(v string) *OpsItemSummary {
45086	s.CreatedBy = &v
45087	return s
45088}
45089
45090// SetCreatedTime sets the CreatedTime field's value.
45091func (s *OpsItemSummary) SetCreatedTime(v time.Time) *OpsItemSummary {
45092	s.CreatedTime = &v
45093	return s
45094}
45095
45096// SetLastModifiedBy sets the LastModifiedBy field's value.
45097func (s *OpsItemSummary) SetLastModifiedBy(v string) *OpsItemSummary {
45098	s.LastModifiedBy = &v
45099	return s
45100}
45101
45102// SetLastModifiedTime sets the LastModifiedTime field's value.
45103func (s *OpsItemSummary) SetLastModifiedTime(v time.Time) *OpsItemSummary {
45104	s.LastModifiedTime = &v
45105	return s
45106}
45107
45108// SetOperationalData sets the OperationalData field's value.
45109func (s *OpsItemSummary) SetOperationalData(v map[string]*OpsItemDataValue) *OpsItemSummary {
45110	s.OperationalData = v
45111	return s
45112}
45113
45114// SetOpsItemId sets the OpsItemId field's value.
45115func (s *OpsItemSummary) SetOpsItemId(v string) *OpsItemSummary {
45116	s.OpsItemId = &v
45117	return s
45118}
45119
45120// SetOpsItemType sets the OpsItemType field's value.
45121func (s *OpsItemSummary) SetOpsItemType(v string) *OpsItemSummary {
45122	s.OpsItemType = &v
45123	return s
45124}
45125
45126// SetPlannedEndTime sets the PlannedEndTime field's value.
45127func (s *OpsItemSummary) SetPlannedEndTime(v time.Time) *OpsItemSummary {
45128	s.PlannedEndTime = &v
45129	return s
45130}
45131
45132// SetPlannedStartTime sets the PlannedStartTime field's value.
45133func (s *OpsItemSummary) SetPlannedStartTime(v time.Time) *OpsItemSummary {
45134	s.PlannedStartTime = &v
45135	return s
45136}
45137
45138// SetPriority sets the Priority field's value.
45139func (s *OpsItemSummary) SetPriority(v int64) *OpsItemSummary {
45140	s.Priority = &v
45141	return s
45142}
45143
45144// SetSeverity sets the Severity field's value.
45145func (s *OpsItemSummary) SetSeverity(v string) *OpsItemSummary {
45146	s.Severity = &v
45147	return s
45148}
45149
45150// SetSource sets the Source field's value.
45151func (s *OpsItemSummary) SetSource(v string) *OpsItemSummary {
45152	s.Source = &v
45153	return s
45154}
45155
45156// SetStatus sets the Status field's value.
45157func (s *OpsItemSummary) SetStatus(v string) *OpsItemSummary {
45158	s.Status = &v
45159	return s
45160}
45161
45162// SetTitle sets the Title field's value.
45163func (s *OpsItemSummary) SetTitle(v string) *OpsItemSummary {
45164	s.Title = &v
45165	return s
45166}
45167
45168// Operational metadata for an application in Application Manager.
45169type OpsMetadata struct {
45170	_ struct{} `type:"structure"`
45171
45172	// The date the OpsMetadata objects was created.
45173	CreationDate *time.Time `type:"timestamp"`
45174
45175	// The date the OpsMetadata object was last updated.
45176	LastModifiedDate *time.Time `type:"timestamp"`
45177
45178	// The user name who last updated the OpsMetadata object.
45179	LastModifiedUser *string `type:"string"`
45180
45181	// The Amazon Resource Name (ARN) of the OpsMetadata Object or blob.
45182	OpsMetadataArn *string `min:"1" type:"string"`
45183
45184	// The ID of the Application Manager application.
45185	ResourceId *string `min:"1" type:"string"`
45186}
45187
45188// String returns the string representation.
45189//
45190// API parameter values that are decorated as "sensitive" in the API will not
45191// be included in the string output. The member name will be present, but the
45192// value will be replaced with "sensitive".
45193func (s OpsMetadata) String() string {
45194	return awsutil.Prettify(s)
45195}
45196
45197// GoString returns the string representation.
45198//
45199// API parameter values that are decorated as "sensitive" in the API will not
45200// be included in the string output. The member name will be present, but the
45201// value will be replaced with "sensitive".
45202func (s OpsMetadata) GoString() string {
45203	return s.String()
45204}
45205
45206// SetCreationDate sets the CreationDate field's value.
45207func (s *OpsMetadata) SetCreationDate(v time.Time) *OpsMetadata {
45208	s.CreationDate = &v
45209	return s
45210}
45211
45212// SetLastModifiedDate sets the LastModifiedDate field's value.
45213func (s *OpsMetadata) SetLastModifiedDate(v time.Time) *OpsMetadata {
45214	s.LastModifiedDate = &v
45215	return s
45216}
45217
45218// SetLastModifiedUser sets the LastModifiedUser field's value.
45219func (s *OpsMetadata) SetLastModifiedUser(v string) *OpsMetadata {
45220	s.LastModifiedUser = &v
45221	return s
45222}
45223
45224// SetOpsMetadataArn sets the OpsMetadataArn field's value.
45225func (s *OpsMetadata) SetOpsMetadataArn(v string) *OpsMetadata {
45226	s.OpsMetadataArn = &v
45227	return s
45228}
45229
45230// SetResourceId sets the ResourceId field's value.
45231func (s *OpsMetadata) SetResourceId(v string) *OpsMetadata {
45232	s.ResourceId = &v
45233	return s
45234}
45235
45236// An OpsMetadata object already exists for the selected resource.
45237type OpsMetadataAlreadyExistsException struct {
45238	_            struct{}                  `type:"structure"`
45239	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45240
45241	Message_ *string `locationName:"message" type:"string"`
45242}
45243
45244// String returns the string representation.
45245//
45246// API parameter values that are decorated as "sensitive" in the API will not
45247// be included in the string output. The member name will be present, but the
45248// value will be replaced with "sensitive".
45249func (s OpsMetadataAlreadyExistsException) String() string {
45250	return awsutil.Prettify(s)
45251}
45252
45253// GoString returns the string representation.
45254//
45255// API parameter values that are decorated as "sensitive" in the API will not
45256// be included in the string output. The member name will be present, but the
45257// value will be replaced with "sensitive".
45258func (s OpsMetadataAlreadyExistsException) GoString() string {
45259	return s.String()
45260}
45261
45262func newErrorOpsMetadataAlreadyExistsException(v protocol.ResponseMetadata) error {
45263	return &OpsMetadataAlreadyExistsException{
45264		RespMetadata: v,
45265	}
45266}
45267
45268// Code returns the exception type name.
45269func (s *OpsMetadataAlreadyExistsException) Code() string {
45270	return "OpsMetadataAlreadyExistsException"
45271}
45272
45273// Message returns the exception's message.
45274func (s *OpsMetadataAlreadyExistsException) Message() string {
45275	if s.Message_ != nil {
45276		return *s.Message_
45277	}
45278	return ""
45279}
45280
45281// OrigErr always returns nil, satisfies awserr.Error interface.
45282func (s *OpsMetadataAlreadyExistsException) OrigErr() error {
45283	return nil
45284}
45285
45286func (s *OpsMetadataAlreadyExistsException) Error() string {
45287	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45288}
45289
45290// Status code returns the HTTP status code for the request's response error.
45291func (s *OpsMetadataAlreadyExistsException) StatusCode() int {
45292	return s.RespMetadata.StatusCode
45293}
45294
45295// RequestID returns the service's response RequestID for request.
45296func (s *OpsMetadataAlreadyExistsException) RequestID() string {
45297	return s.RespMetadata.RequestID
45298}
45299
45300// A filter to limit the number of OpsMetadata objects displayed.
45301type OpsMetadataFilter struct {
45302	_ struct{} `type:"structure"`
45303
45304	// A filter key.
45305	//
45306	// Key is a required field
45307	Key *string `min:"1" type:"string" required:"true"`
45308
45309	// A filter value.
45310	//
45311	// Values is a required field
45312	Values []*string `min:"1" type:"list" required:"true"`
45313}
45314
45315// String returns the string representation.
45316//
45317// API parameter values that are decorated as "sensitive" in the API will not
45318// be included in the string output. The member name will be present, but the
45319// value will be replaced with "sensitive".
45320func (s OpsMetadataFilter) String() string {
45321	return awsutil.Prettify(s)
45322}
45323
45324// GoString returns the string representation.
45325//
45326// API parameter values that are decorated as "sensitive" in the API will not
45327// be included in the string output. The member name will be present, but the
45328// value will be replaced with "sensitive".
45329func (s OpsMetadataFilter) GoString() string {
45330	return s.String()
45331}
45332
45333// Validate inspects the fields of the type to determine if they are valid.
45334func (s *OpsMetadataFilter) Validate() error {
45335	invalidParams := request.ErrInvalidParams{Context: "OpsMetadataFilter"}
45336	if s.Key == nil {
45337		invalidParams.Add(request.NewErrParamRequired("Key"))
45338	}
45339	if s.Key != nil && len(*s.Key) < 1 {
45340		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
45341	}
45342	if s.Values == nil {
45343		invalidParams.Add(request.NewErrParamRequired("Values"))
45344	}
45345	if s.Values != nil && len(s.Values) < 1 {
45346		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
45347	}
45348
45349	if invalidParams.Len() > 0 {
45350		return invalidParams
45351	}
45352	return nil
45353}
45354
45355// SetKey sets the Key field's value.
45356func (s *OpsMetadataFilter) SetKey(v string) *OpsMetadataFilter {
45357	s.Key = &v
45358	return s
45359}
45360
45361// SetValues sets the Values field's value.
45362func (s *OpsMetadataFilter) SetValues(v []*string) *OpsMetadataFilter {
45363	s.Values = v
45364	return s
45365}
45366
45367// One of the arguments passed is invalid.
45368type OpsMetadataInvalidArgumentException struct {
45369	_            struct{}                  `type:"structure"`
45370	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45371
45372	Message_ *string `locationName:"message" type:"string"`
45373}
45374
45375// String returns the string representation.
45376//
45377// API parameter values that are decorated as "sensitive" in the API will not
45378// be included in the string output. The member name will be present, but the
45379// value will be replaced with "sensitive".
45380func (s OpsMetadataInvalidArgumentException) String() string {
45381	return awsutil.Prettify(s)
45382}
45383
45384// GoString returns the string representation.
45385//
45386// API parameter values that are decorated as "sensitive" in the API will not
45387// be included in the string output. The member name will be present, but the
45388// value will be replaced with "sensitive".
45389func (s OpsMetadataInvalidArgumentException) GoString() string {
45390	return s.String()
45391}
45392
45393func newErrorOpsMetadataInvalidArgumentException(v protocol.ResponseMetadata) error {
45394	return &OpsMetadataInvalidArgumentException{
45395		RespMetadata: v,
45396	}
45397}
45398
45399// Code returns the exception type name.
45400func (s *OpsMetadataInvalidArgumentException) Code() string {
45401	return "OpsMetadataInvalidArgumentException"
45402}
45403
45404// Message returns the exception's message.
45405func (s *OpsMetadataInvalidArgumentException) Message() string {
45406	if s.Message_ != nil {
45407		return *s.Message_
45408	}
45409	return ""
45410}
45411
45412// OrigErr always returns nil, satisfies awserr.Error interface.
45413func (s *OpsMetadataInvalidArgumentException) OrigErr() error {
45414	return nil
45415}
45416
45417func (s *OpsMetadataInvalidArgumentException) Error() string {
45418	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45419}
45420
45421// Status code returns the HTTP status code for the request's response error.
45422func (s *OpsMetadataInvalidArgumentException) StatusCode() int {
45423	return s.RespMetadata.StatusCode
45424}
45425
45426// RequestID returns the service's response RequestID for request.
45427func (s *OpsMetadataInvalidArgumentException) RequestID() string {
45428	return s.RespMetadata.RequestID
45429}
45430
45431// The OpsMetadata object exceeds the maximum number of OpsMetadata keys that
45432// you can assign to an application in Application Manager.
45433type OpsMetadataKeyLimitExceededException struct {
45434	_            struct{}                  `type:"structure"`
45435	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45436
45437	Message_ *string `locationName:"message" type:"string"`
45438}
45439
45440// String returns the string representation.
45441//
45442// API parameter values that are decorated as "sensitive" in the API will not
45443// be included in the string output. The member name will be present, but the
45444// value will be replaced with "sensitive".
45445func (s OpsMetadataKeyLimitExceededException) String() string {
45446	return awsutil.Prettify(s)
45447}
45448
45449// GoString returns the string representation.
45450//
45451// API parameter values that are decorated as "sensitive" in the API will not
45452// be included in the string output. The member name will be present, but the
45453// value will be replaced with "sensitive".
45454func (s OpsMetadataKeyLimitExceededException) GoString() string {
45455	return s.String()
45456}
45457
45458func newErrorOpsMetadataKeyLimitExceededException(v protocol.ResponseMetadata) error {
45459	return &OpsMetadataKeyLimitExceededException{
45460		RespMetadata: v,
45461	}
45462}
45463
45464// Code returns the exception type name.
45465func (s *OpsMetadataKeyLimitExceededException) Code() string {
45466	return "OpsMetadataKeyLimitExceededException"
45467}
45468
45469// Message returns the exception's message.
45470func (s *OpsMetadataKeyLimitExceededException) Message() string {
45471	if s.Message_ != nil {
45472		return *s.Message_
45473	}
45474	return ""
45475}
45476
45477// OrigErr always returns nil, satisfies awserr.Error interface.
45478func (s *OpsMetadataKeyLimitExceededException) OrigErr() error {
45479	return nil
45480}
45481
45482func (s *OpsMetadataKeyLimitExceededException) Error() string {
45483	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45484}
45485
45486// Status code returns the HTTP status code for the request's response error.
45487func (s *OpsMetadataKeyLimitExceededException) StatusCode() int {
45488	return s.RespMetadata.StatusCode
45489}
45490
45491// RequestID returns the service's response RequestID for request.
45492func (s *OpsMetadataKeyLimitExceededException) RequestID() string {
45493	return s.RespMetadata.RequestID
45494}
45495
45496// Your account reached the maximum number of OpsMetadata objects allowed by
45497// Application Manager. The maximum is 200 OpsMetadata objects. Delete one or
45498// more OpsMetadata object and try again.
45499type OpsMetadataLimitExceededException struct {
45500	_            struct{}                  `type:"structure"`
45501	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45502
45503	Message_ *string `locationName:"message" type:"string"`
45504}
45505
45506// String returns the string representation.
45507//
45508// API parameter values that are decorated as "sensitive" in the API will not
45509// be included in the string output. The member name will be present, but the
45510// value will be replaced with "sensitive".
45511func (s OpsMetadataLimitExceededException) String() string {
45512	return awsutil.Prettify(s)
45513}
45514
45515// GoString returns the string representation.
45516//
45517// API parameter values that are decorated as "sensitive" in the API will not
45518// be included in the string output. The member name will be present, but the
45519// value will be replaced with "sensitive".
45520func (s OpsMetadataLimitExceededException) GoString() string {
45521	return s.String()
45522}
45523
45524func newErrorOpsMetadataLimitExceededException(v protocol.ResponseMetadata) error {
45525	return &OpsMetadataLimitExceededException{
45526		RespMetadata: v,
45527	}
45528}
45529
45530// Code returns the exception type name.
45531func (s *OpsMetadataLimitExceededException) Code() string {
45532	return "OpsMetadataLimitExceededException"
45533}
45534
45535// Message returns the exception's message.
45536func (s *OpsMetadataLimitExceededException) Message() string {
45537	if s.Message_ != nil {
45538		return *s.Message_
45539	}
45540	return ""
45541}
45542
45543// OrigErr always returns nil, satisfies awserr.Error interface.
45544func (s *OpsMetadataLimitExceededException) OrigErr() error {
45545	return nil
45546}
45547
45548func (s *OpsMetadataLimitExceededException) Error() string {
45549	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45550}
45551
45552// Status code returns the HTTP status code for the request's response error.
45553func (s *OpsMetadataLimitExceededException) StatusCode() int {
45554	return s.RespMetadata.StatusCode
45555}
45556
45557// RequestID returns the service's response RequestID for request.
45558func (s *OpsMetadataLimitExceededException) RequestID() string {
45559	return s.RespMetadata.RequestID
45560}
45561
45562// The OpsMetadata object doesn't exist.
45563type OpsMetadataNotFoundException struct {
45564	_            struct{}                  `type:"structure"`
45565	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45566
45567	Message_ *string `locationName:"message" type:"string"`
45568}
45569
45570// String returns the string representation.
45571//
45572// API parameter values that are decorated as "sensitive" in the API will not
45573// be included in the string output. The member name will be present, but the
45574// value will be replaced with "sensitive".
45575func (s OpsMetadataNotFoundException) String() string {
45576	return awsutil.Prettify(s)
45577}
45578
45579// GoString returns the string representation.
45580//
45581// API parameter values that are decorated as "sensitive" in the API will not
45582// be included in the string output. The member name will be present, but the
45583// value will be replaced with "sensitive".
45584func (s OpsMetadataNotFoundException) GoString() string {
45585	return s.String()
45586}
45587
45588func newErrorOpsMetadataNotFoundException(v protocol.ResponseMetadata) error {
45589	return &OpsMetadataNotFoundException{
45590		RespMetadata: v,
45591	}
45592}
45593
45594// Code returns the exception type name.
45595func (s *OpsMetadataNotFoundException) Code() string {
45596	return "OpsMetadataNotFoundException"
45597}
45598
45599// Message returns the exception's message.
45600func (s *OpsMetadataNotFoundException) Message() string {
45601	if s.Message_ != nil {
45602		return *s.Message_
45603	}
45604	return ""
45605}
45606
45607// OrigErr always returns nil, satisfies awserr.Error interface.
45608func (s *OpsMetadataNotFoundException) OrigErr() error {
45609	return nil
45610}
45611
45612func (s *OpsMetadataNotFoundException) Error() string {
45613	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45614}
45615
45616// Status code returns the HTTP status code for the request's response error.
45617func (s *OpsMetadataNotFoundException) StatusCode() int {
45618	return s.RespMetadata.StatusCode
45619}
45620
45621// RequestID returns the service's response RequestID for request.
45622func (s *OpsMetadataNotFoundException) RequestID() string {
45623	return s.RespMetadata.RequestID
45624}
45625
45626// The system is processing too many concurrent updates. Wait a few moments
45627// and try again.
45628type OpsMetadataTooManyUpdatesException struct {
45629	_            struct{}                  `type:"structure"`
45630	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45631
45632	Message_ *string `locationName:"message" type:"string"`
45633}
45634
45635// String returns the string representation.
45636//
45637// API parameter values that are decorated as "sensitive" in the API will not
45638// be included in the string output. The member name will be present, but the
45639// value will be replaced with "sensitive".
45640func (s OpsMetadataTooManyUpdatesException) String() string {
45641	return awsutil.Prettify(s)
45642}
45643
45644// GoString returns the string representation.
45645//
45646// API parameter values that are decorated as "sensitive" in the API will not
45647// be included in the string output. The member name will be present, but the
45648// value will be replaced with "sensitive".
45649func (s OpsMetadataTooManyUpdatesException) GoString() string {
45650	return s.String()
45651}
45652
45653func newErrorOpsMetadataTooManyUpdatesException(v protocol.ResponseMetadata) error {
45654	return &OpsMetadataTooManyUpdatesException{
45655		RespMetadata: v,
45656	}
45657}
45658
45659// Code returns the exception type name.
45660func (s *OpsMetadataTooManyUpdatesException) Code() string {
45661	return "OpsMetadataTooManyUpdatesException"
45662}
45663
45664// Message returns the exception's message.
45665func (s *OpsMetadataTooManyUpdatesException) Message() string {
45666	if s.Message_ != nil {
45667		return *s.Message_
45668	}
45669	return ""
45670}
45671
45672// OrigErr always returns nil, satisfies awserr.Error interface.
45673func (s *OpsMetadataTooManyUpdatesException) OrigErr() error {
45674	return nil
45675}
45676
45677func (s *OpsMetadataTooManyUpdatesException) Error() string {
45678	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45679}
45680
45681// Status code returns the HTTP status code for the request's response error.
45682func (s *OpsMetadataTooManyUpdatesException) StatusCode() int {
45683	return s.RespMetadata.StatusCode
45684}
45685
45686// RequestID returns the service's response RequestID for request.
45687func (s *OpsMetadataTooManyUpdatesException) RequestID() string {
45688	return s.RespMetadata.RequestID
45689}
45690
45691// The OpsItem data type to return.
45692type OpsResultAttribute struct {
45693	_ struct{} `type:"structure"`
45694
45695	// Name of the data type. Valid value: AWS:OpsItem, AWS:EC2InstanceInformation,
45696	// AWS:OpsItemTrendline, or AWS:ComplianceSummary.
45697	//
45698	// TypeName is a required field
45699	TypeName *string `min:"1" type:"string" required:"true"`
45700}
45701
45702// String returns the string representation.
45703//
45704// API parameter values that are decorated as "sensitive" in the API will not
45705// be included in the string output. The member name will be present, but the
45706// value will be replaced with "sensitive".
45707func (s OpsResultAttribute) String() string {
45708	return awsutil.Prettify(s)
45709}
45710
45711// GoString returns the string representation.
45712//
45713// API parameter values that are decorated as "sensitive" in the API will not
45714// be included in the string output. The member name will be present, but the
45715// value will be replaced with "sensitive".
45716func (s OpsResultAttribute) GoString() string {
45717	return s.String()
45718}
45719
45720// Validate inspects the fields of the type to determine if they are valid.
45721func (s *OpsResultAttribute) Validate() error {
45722	invalidParams := request.ErrInvalidParams{Context: "OpsResultAttribute"}
45723	if s.TypeName == nil {
45724		invalidParams.Add(request.NewErrParamRequired("TypeName"))
45725	}
45726	if s.TypeName != nil && len(*s.TypeName) < 1 {
45727		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
45728	}
45729
45730	if invalidParams.Len() > 0 {
45731		return invalidParams
45732	}
45733	return nil
45734}
45735
45736// SetTypeName sets the TypeName field's value.
45737func (s *OpsResultAttribute) SetTypeName(v string) *OpsResultAttribute {
45738	s.TypeName = &v
45739	return s
45740}
45741
45742// Information about the source where the association execution details are
45743// stored.
45744type OutputSource struct {
45745	_ struct{} `type:"structure"`
45746
45747	// The ID of the output source, for example the URL of an S3 bucket.
45748	OutputSourceId *string `min:"36" type:"string"`
45749
45750	// The type of source where the association execution details are stored, for
45751	// example, Amazon S3.
45752	OutputSourceType *string `type:"string"`
45753}
45754
45755// String returns the string representation.
45756//
45757// API parameter values that are decorated as "sensitive" in the API will not
45758// be included in the string output. The member name will be present, but the
45759// value will be replaced with "sensitive".
45760func (s OutputSource) String() string {
45761	return awsutil.Prettify(s)
45762}
45763
45764// GoString returns the string representation.
45765//
45766// API parameter values that are decorated as "sensitive" in the API will not
45767// be included in the string output. The member name will be present, but the
45768// value will be replaced with "sensitive".
45769func (s OutputSource) GoString() string {
45770	return s.String()
45771}
45772
45773// SetOutputSourceId sets the OutputSourceId field's value.
45774func (s *OutputSource) SetOutputSourceId(v string) *OutputSource {
45775	s.OutputSourceId = &v
45776	return s
45777}
45778
45779// SetOutputSourceType sets the OutputSourceType field's value.
45780func (s *OutputSource) SetOutputSourceType(v string) *OutputSource {
45781	s.OutputSourceType = &v
45782	return s
45783}
45784
45785// An Amazon Web Services Systems Manager parameter in Parameter Store.
45786type Parameter struct {
45787	_ struct{} `type:"structure"`
45788
45789	// The Amazon Resource Name (ARN) of the parameter.
45790	ARN *string `type:"string"`
45791
45792	// The data type of the parameter, such as text or aws:ec2:image. The default
45793	// is text.
45794	DataType *string `type:"string"`
45795
45796	// Date the parameter was last changed or updated and the parameter version
45797	// was created.
45798	LastModifiedDate *time.Time `type:"timestamp"`
45799
45800	// The name of the parameter.
45801	Name *string `min:"1" type:"string"`
45802
45803	// Either the version number or the label used to retrieve the parameter value.
45804	// Specify selectors by using one of the following formats:
45805	//
45806	// parameter_name:version
45807	//
45808	// parameter_name:label
45809	Selector *string `type:"string"`
45810
45811	// Applies to parameters that reference information in other Amazon Web Services
45812	// services. SourceResult is the raw result or response from the source.
45813	SourceResult *string `type:"string"`
45814
45815	// The type of parameter. Valid values include the following: String, StringList,
45816	// and SecureString.
45817	Type *string `type:"string" enum:"ParameterType"`
45818
45819	// The parameter value.
45820	//
45821	// Value is a sensitive parameter and its value will be
45822	// replaced with "sensitive" in string returned by Parameter's
45823	// String and GoString methods.
45824	Value *string `type:"string" sensitive:"true"`
45825
45826	// The parameter version.
45827	Version *int64 `type:"long"`
45828}
45829
45830// String returns the string representation.
45831//
45832// API parameter values that are decorated as "sensitive" in the API will not
45833// be included in the string output. The member name will be present, but the
45834// value will be replaced with "sensitive".
45835func (s Parameter) String() string {
45836	return awsutil.Prettify(s)
45837}
45838
45839// GoString returns the string representation.
45840//
45841// API parameter values that are decorated as "sensitive" in the API will not
45842// be included in the string output. The member name will be present, but the
45843// value will be replaced with "sensitive".
45844func (s Parameter) GoString() string {
45845	return s.String()
45846}
45847
45848// SetARN sets the ARN field's value.
45849func (s *Parameter) SetARN(v string) *Parameter {
45850	s.ARN = &v
45851	return s
45852}
45853
45854// SetDataType sets the DataType field's value.
45855func (s *Parameter) SetDataType(v string) *Parameter {
45856	s.DataType = &v
45857	return s
45858}
45859
45860// SetLastModifiedDate sets the LastModifiedDate field's value.
45861func (s *Parameter) SetLastModifiedDate(v time.Time) *Parameter {
45862	s.LastModifiedDate = &v
45863	return s
45864}
45865
45866// SetName sets the Name field's value.
45867func (s *Parameter) SetName(v string) *Parameter {
45868	s.Name = &v
45869	return s
45870}
45871
45872// SetSelector sets the Selector field's value.
45873func (s *Parameter) SetSelector(v string) *Parameter {
45874	s.Selector = &v
45875	return s
45876}
45877
45878// SetSourceResult sets the SourceResult field's value.
45879func (s *Parameter) SetSourceResult(v string) *Parameter {
45880	s.SourceResult = &v
45881	return s
45882}
45883
45884// SetType sets the Type field's value.
45885func (s *Parameter) SetType(v string) *Parameter {
45886	s.Type = &v
45887	return s
45888}
45889
45890// SetValue sets the Value field's value.
45891func (s *Parameter) SetValue(v string) *Parameter {
45892	s.Value = &v
45893	return s
45894}
45895
45896// SetVersion sets the Version field's value.
45897func (s *Parameter) SetVersion(v int64) *Parameter {
45898	s.Version = &v
45899	return s
45900}
45901
45902// The parameter already exists. You can't create duplicate parameters.
45903type ParameterAlreadyExists struct {
45904	_            struct{}                  `type:"structure"`
45905	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
45906
45907	Message_ *string `locationName:"message" type:"string"`
45908}
45909
45910// String returns the string representation.
45911//
45912// API parameter values that are decorated as "sensitive" in the API will not
45913// be included in the string output. The member name will be present, but the
45914// value will be replaced with "sensitive".
45915func (s ParameterAlreadyExists) String() string {
45916	return awsutil.Prettify(s)
45917}
45918
45919// GoString returns the string representation.
45920//
45921// API parameter values that are decorated as "sensitive" in the API will not
45922// be included in the string output. The member name will be present, but the
45923// value will be replaced with "sensitive".
45924func (s ParameterAlreadyExists) GoString() string {
45925	return s.String()
45926}
45927
45928func newErrorParameterAlreadyExists(v protocol.ResponseMetadata) error {
45929	return &ParameterAlreadyExists{
45930		RespMetadata: v,
45931	}
45932}
45933
45934// Code returns the exception type name.
45935func (s *ParameterAlreadyExists) Code() string {
45936	return "ParameterAlreadyExists"
45937}
45938
45939// Message returns the exception's message.
45940func (s *ParameterAlreadyExists) Message() string {
45941	if s.Message_ != nil {
45942		return *s.Message_
45943	}
45944	return ""
45945}
45946
45947// OrigErr always returns nil, satisfies awserr.Error interface.
45948func (s *ParameterAlreadyExists) OrigErr() error {
45949	return nil
45950}
45951
45952func (s *ParameterAlreadyExists) Error() string {
45953	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
45954}
45955
45956// Status code returns the HTTP status code for the request's response error.
45957func (s *ParameterAlreadyExists) StatusCode() int {
45958	return s.RespMetadata.StatusCode
45959}
45960
45961// RequestID returns the service's response RequestID for request.
45962func (s *ParameterAlreadyExists) RequestID() string {
45963	return s.RespMetadata.RequestID
45964}
45965
45966// Information about parameter usage.
45967type ParameterHistory struct {
45968	_ struct{} `type:"structure"`
45969
45970	// Parameter names can include the following letters and symbols.
45971	//
45972	// a-zA-Z0-9_.-
45973	AllowedPattern *string `type:"string"`
45974
45975	// The data type of the parameter, such as text or aws:ec2:image. The default
45976	// is text.
45977	DataType *string `type:"string"`
45978
45979	// Information about the parameter.
45980	Description *string `type:"string"`
45981
45982	// The ID of the query key used for this parameter.
45983	KeyId *string `min:"1" type:"string"`
45984
45985	// Labels assigned to the parameter version.
45986	Labels []*string `min:"1" type:"list"`
45987
45988	// Date the parameter was last changed or updated.
45989	LastModifiedDate *time.Time `type:"timestamp"`
45990
45991	// Amazon Resource Name (ARN) of the Amazon Web Services user who last changed
45992	// the parameter.
45993	LastModifiedUser *string `type:"string"`
45994
45995	// The name of the parameter.
45996	Name *string `min:"1" type:"string"`
45997
45998	// Information about the policies assigned to a parameter.
45999	//
46000	// Assigning parameter policies (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html)
46001	// in the Amazon Web Services Systems Manager User Guide.
46002	Policies []*ParameterInlinePolicy `type:"list"`
46003
46004	// The parameter tier.
46005	Tier *string `type:"string" enum:"ParameterTier"`
46006
46007	// The type of parameter used.
46008	Type *string `type:"string" enum:"ParameterType"`
46009
46010	// The parameter value.
46011	//
46012	// Value is a sensitive parameter and its value will be
46013	// replaced with "sensitive" in string returned by ParameterHistory's
46014	// String and GoString methods.
46015	Value *string `type:"string" sensitive:"true"`
46016
46017	// The parameter version.
46018	Version *int64 `type:"long"`
46019}
46020
46021// String returns the string representation.
46022//
46023// API parameter values that are decorated as "sensitive" in the API will not
46024// be included in the string output. The member name will be present, but the
46025// value will be replaced with "sensitive".
46026func (s ParameterHistory) String() string {
46027	return awsutil.Prettify(s)
46028}
46029
46030// GoString returns the string representation.
46031//
46032// API parameter values that are decorated as "sensitive" in the API will not
46033// be included in the string output. The member name will be present, but the
46034// value will be replaced with "sensitive".
46035func (s ParameterHistory) GoString() string {
46036	return s.String()
46037}
46038
46039// SetAllowedPattern sets the AllowedPattern field's value.
46040func (s *ParameterHistory) SetAllowedPattern(v string) *ParameterHistory {
46041	s.AllowedPattern = &v
46042	return s
46043}
46044
46045// SetDataType sets the DataType field's value.
46046func (s *ParameterHistory) SetDataType(v string) *ParameterHistory {
46047	s.DataType = &v
46048	return s
46049}
46050
46051// SetDescription sets the Description field's value.
46052func (s *ParameterHistory) SetDescription(v string) *ParameterHistory {
46053	s.Description = &v
46054	return s
46055}
46056
46057// SetKeyId sets the KeyId field's value.
46058func (s *ParameterHistory) SetKeyId(v string) *ParameterHistory {
46059	s.KeyId = &v
46060	return s
46061}
46062
46063// SetLabels sets the Labels field's value.
46064func (s *ParameterHistory) SetLabels(v []*string) *ParameterHistory {
46065	s.Labels = v
46066	return s
46067}
46068
46069// SetLastModifiedDate sets the LastModifiedDate field's value.
46070func (s *ParameterHistory) SetLastModifiedDate(v time.Time) *ParameterHistory {
46071	s.LastModifiedDate = &v
46072	return s
46073}
46074
46075// SetLastModifiedUser sets the LastModifiedUser field's value.
46076func (s *ParameterHistory) SetLastModifiedUser(v string) *ParameterHistory {
46077	s.LastModifiedUser = &v
46078	return s
46079}
46080
46081// SetName sets the Name field's value.
46082func (s *ParameterHistory) SetName(v string) *ParameterHistory {
46083	s.Name = &v
46084	return s
46085}
46086
46087// SetPolicies sets the Policies field's value.
46088func (s *ParameterHistory) SetPolicies(v []*ParameterInlinePolicy) *ParameterHistory {
46089	s.Policies = v
46090	return s
46091}
46092
46093// SetTier sets the Tier field's value.
46094func (s *ParameterHistory) SetTier(v string) *ParameterHistory {
46095	s.Tier = &v
46096	return s
46097}
46098
46099// SetType sets the Type field's value.
46100func (s *ParameterHistory) SetType(v string) *ParameterHistory {
46101	s.Type = &v
46102	return s
46103}
46104
46105// SetValue sets the Value field's value.
46106func (s *ParameterHistory) SetValue(v string) *ParameterHistory {
46107	s.Value = &v
46108	return s
46109}
46110
46111// SetVersion sets the Version field's value.
46112func (s *ParameterHistory) SetVersion(v int64) *ParameterHistory {
46113	s.Version = &v
46114	return s
46115}
46116
46117// One or more policies assigned to a parameter.
46118type ParameterInlinePolicy struct {
46119	_ struct{} `type:"structure"`
46120
46121	// The status of the policy. Policies report the following statuses: Pending
46122	// (the policy hasn't been enforced or applied yet), Finished (the policy was
46123	// applied), Failed (the policy wasn't applied), or InProgress (the policy is
46124	// being applied now).
46125	PolicyStatus *string `type:"string"`
46126
46127	// The JSON text of the policy.
46128	PolicyText *string `type:"string"`
46129
46130	// The type of policy. Parameter Store, a capablility of Amazon Web Services
46131	// Systems Manager, supports the following policy types: Expiration, ExpirationNotification,
46132	// and NoChangeNotification.
46133	PolicyType *string `type:"string"`
46134}
46135
46136// String returns the string representation.
46137//
46138// API parameter values that are decorated as "sensitive" in the API will not
46139// be included in the string output. The member name will be present, but the
46140// value will be replaced with "sensitive".
46141func (s ParameterInlinePolicy) String() string {
46142	return awsutil.Prettify(s)
46143}
46144
46145// GoString returns the string representation.
46146//
46147// API parameter values that are decorated as "sensitive" in the API will not
46148// be included in the string output. The member name will be present, but the
46149// value will be replaced with "sensitive".
46150func (s ParameterInlinePolicy) GoString() string {
46151	return s.String()
46152}
46153
46154// SetPolicyStatus sets the PolicyStatus field's value.
46155func (s *ParameterInlinePolicy) SetPolicyStatus(v string) *ParameterInlinePolicy {
46156	s.PolicyStatus = &v
46157	return s
46158}
46159
46160// SetPolicyText sets the PolicyText field's value.
46161func (s *ParameterInlinePolicy) SetPolicyText(v string) *ParameterInlinePolicy {
46162	s.PolicyText = &v
46163	return s
46164}
46165
46166// SetPolicyType sets the PolicyType field's value.
46167func (s *ParameterInlinePolicy) SetPolicyType(v string) *ParameterInlinePolicy {
46168	s.PolicyType = &v
46169	return s
46170}
46171
46172// You have exceeded the number of parameters for this Amazon Web Services account.
46173// Delete one or more parameters and try again.
46174type ParameterLimitExceeded struct {
46175	_            struct{}                  `type:"structure"`
46176	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46177
46178	Message_ *string `locationName:"message" type:"string"`
46179}
46180
46181// String returns the string representation.
46182//
46183// API parameter values that are decorated as "sensitive" in the API will not
46184// be included in the string output. The member name will be present, but the
46185// value will be replaced with "sensitive".
46186func (s ParameterLimitExceeded) String() string {
46187	return awsutil.Prettify(s)
46188}
46189
46190// GoString returns the string representation.
46191//
46192// API parameter values that are decorated as "sensitive" in the API will not
46193// be included in the string output. The member name will be present, but the
46194// value will be replaced with "sensitive".
46195func (s ParameterLimitExceeded) GoString() string {
46196	return s.String()
46197}
46198
46199func newErrorParameterLimitExceeded(v protocol.ResponseMetadata) error {
46200	return &ParameterLimitExceeded{
46201		RespMetadata: v,
46202	}
46203}
46204
46205// Code returns the exception type name.
46206func (s *ParameterLimitExceeded) Code() string {
46207	return "ParameterLimitExceeded"
46208}
46209
46210// Message returns the exception's message.
46211func (s *ParameterLimitExceeded) Message() string {
46212	if s.Message_ != nil {
46213		return *s.Message_
46214	}
46215	return ""
46216}
46217
46218// OrigErr always returns nil, satisfies awserr.Error interface.
46219func (s *ParameterLimitExceeded) OrigErr() error {
46220	return nil
46221}
46222
46223func (s *ParameterLimitExceeded) Error() string {
46224	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46225}
46226
46227// Status code returns the HTTP status code for the request's response error.
46228func (s *ParameterLimitExceeded) StatusCode() int {
46229	return s.RespMetadata.StatusCode
46230}
46231
46232// RequestID returns the service's response RequestID for request.
46233func (s *ParameterLimitExceeded) RequestID() string {
46234	return s.RespMetadata.RequestID
46235}
46236
46237// Parameter Store retains the 100 most recently created versions of a parameter.
46238// After this number of versions has been created, Parameter Store deletes the
46239// oldest version when a new one is created. However, if the oldest version
46240// has a label attached to it, Parameter Store won't delete the version and
46241// instead presents this error message:
46242//
46243// An error occurred (ParameterMaxVersionLimitExceeded) when calling the PutParameter
46244// operation: You attempted to create a new version of parameter-name by calling
46245// the PutParameter API with the overwrite flag. Version version-number, the
46246// oldest version, can't be deleted because it has a label associated with it.
46247// Move the label to another version of the parameter, and try again.
46248//
46249// This safeguard is to prevent parameter versions with mission critical labels
46250// assigned to them from being deleted. To continue creating new parameters,
46251// first move the label from the oldest version of the parameter to a newer
46252// one for use in your operations. For information about moving parameter labels,
46253// see Move a parameter label (console) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-console-move)
46254// or Move a parameter label (CLI) (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html#sysman-paramstore-labels-cli-move)
46255// in the Amazon Web Services Systems Manager User Guide.
46256type ParameterMaxVersionLimitExceeded struct {
46257	_            struct{}                  `type:"structure"`
46258	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46259
46260	Message_ *string `locationName:"message" type:"string"`
46261}
46262
46263// String returns the string representation.
46264//
46265// API parameter values that are decorated as "sensitive" in the API will not
46266// be included in the string output. The member name will be present, but the
46267// value will be replaced with "sensitive".
46268func (s ParameterMaxVersionLimitExceeded) String() string {
46269	return awsutil.Prettify(s)
46270}
46271
46272// GoString returns the string representation.
46273//
46274// API parameter values that are decorated as "sensitive" in the API will not
46275// be included in the string output. The member name will be present, but the
46276// value will be replaced with "sensitive".
46277func (s ParameterMaxVersionLimitExceeded) GoString() string {
46278	return s.String()
46279}
46280
46281func newErrorParameterMaxVersionLimitExceeded(v protocol.ResponseMetadata) error {
46282	return &ParameterMaxVersionLimitExceeded{
46283		RespMetadata: v,
46284	}
46285}
46286
46287// Code returns the exception type name.
46288func (s *ParameterMaxVersionLimitExceeded) Code() string {
46289	return "ParameterMaxVersionLimitExceeded"
46290}
46291
46292// Message returns the exception's message.
46293func (s *ParameterMaxVersionLimitExceeded) Message() string {
46294	if s.Message_ != nil {
46295		return *s.Message_
46296	}
46297	return ""
46298}
46299
46300// OrigErr always returns nil, satisfies awserr.Error interface.
46301func (s *ParameterMaxVersionLimitExceeded) OrigErr() error {
46302	return nil
46303}
46304
46305func (s *ParameterMaxVersionLimitExceeded) Error() string {
46306	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46307}
46308
46309// Status code returns the HTTP status code for the request's response error.
46310func (s *ParameterMaxVersionLimitExceeded) StatusCode() int {
46311	return s.RespMetadata.StatusCode
46312}
46313
46314// RequestID returns the service's response RequestID for request.
46315func (s *ParameterMaxVersionLimitExceeded) RequestID() string {
46316	return s.RespMetadata.RequestID
46317}
46318
46319// Metadata includes information like the ARN of the last user and the date/time
46320// the parameter was last used.
46321type ParameterMetadata struct {
46322	_ struct{} `type:"structure"`
46323
46324	// A parameter name can include only the following letters and symbols.
46325	//
46326	// a-zA-Z0-9_.-
46327	AllowedPattern *string `type:"string"`
46328
46329	// The data type of the parameter, such as text or aws:ec2:image. The default
46330	// is text.
46331	DataType *string `type:"string"`
46332
46333	// Description of the parameter actions.
46334	Description *string `type:"string"`
46335
46336	// The ID of the query key used for this parameter.
46337	KeyId *string `min:"1" type:"string"`
46338
46339	// Date the parameter was last changed or updated.
46340	LastModifiedDate *time.Time `type:"timestamp"`
46341
46342	// Amazon Resource Name (ARN) of the Amazon Web Services user who last changed
46343	// the parameter.
46344	LastModifiedUser *string `type:"string"`
46345
46346	// The parameter name.
46347	Name *string `min:"1" type:"string"`
46348
46349	// A list of policies associated with a parameter.
46350	Policies []*ParameterInlinePolicy `type:"list"`
46351
46352	// The parameter tier.
46353	Tier *string `type:"string" enum:"ParameterTier"`
46354
46355	// The type of parameter. Valid parameter types include the following: String,
46356	// StringList, and SecureString.
46357	Type *string `type:"string" enum:"ParameterType"`
46358
46359	// The parameter version.
46360	Version *int64 `type:"long"`
46361}
46362
46363// String returns the string representation.
46364//
46365// API parameter values that are decorated as "sensitive" in the API will not
46366// be included in the string output. The member name will be present, but the
46367// value will be replaced with "sensitive".
46368func (s ParameterMetadata) String() string {
46369	return awsutil.Prettify(s)
46370}
46371
46372// GoString returns the string representation.
46373//
46374// API parameter values that are decorated as "sensitive" in the API will not
46375// be included in the string output. The member name will be present, but the
46376// value will be replaced with "sensitive".
46377func (s ParameterMetadata) GoString() string {
46378	return s.String()
46379}
46380
46381// SetAllowedPattern sets the AllowedPattern field's value.
46382func (s *ParameterMetadata) SetAllowedPattern(v string) *ParameterMetadata {
46383	s.AllowedPattern = &v
46384	return s
46385}
46386
46387// SetDataType sets the DataType field's value.
46388func (s *ParameterMetadata) SetDataType(v string) *ParameterMetadata {
46389	s.DataType = &v
46390	return s
46391}
46392
46393// SetDescription sets the Description field's value.
46394func (s *ParameterMetadata) SetDescription(v string) *ParameterMetadata {
46395	s.Description = &v
46396	return s
46397}
46398
46399// SetKeyId sets the KeyId field's value.
46400func (s *ParameterMetadata) SetKeyId(v string) *ParameterMetadata {
46401	s.KeyId = &v
46402	return s
46403}
46404
46405// SetLastModifiedDate sets the LastModifiedDate field's value.
46406func (s *ParameterMetadata) SetLastModifiedDate(v time.Time) *ParameterMetadata {
46407	s.LastModifiedDate = &v
46408	return s
46409}
46410
46411// SetLastModifiedUser sets the LastModifiedUser field's value.
46412func (s *ParameterMetadata) SetLastModifiedUser(v string) *ParameterMetadata {
46413	s.LastModifiedUser = &v
46414	return s
46415}
46416
46417// SetName sets the Name field's value.
46418func (s *ParameterMetadata) SetName(v string) *ParameterMetadata {
46419	s.Name = &v
46420	return s
46421}
46422
46423// SetPolicies sets the Policies field's value.
46424func (s *ParameterMetadata) SetPolicies(v []*ParameterInlinePolicy) *ParameterMetadata {
46425	s.Policies = v
46426	return s
46427}
46428
46429// SetTier sets the Tier field's value.
46430func (s *ParameterMetadata) SetTier(v string) *ParameterMetadata {
46431	s.Tier = &v
46432	return s
46433}
46434
46435// SetType sets the Type field's value.
46436func (s *ParameterMetadata) SetType(v string) *ParameterMetadata {
46437	s.Type = &v
46438	return s
46439}
46440
46441// SetVersion sets the Version field's value.
46442func (s *ParameterMetadata) SetVersion(v int64) *ParameterMetadata {
46443	s.Version = &v
46444	return s
46445}
46446
46447// The parameter couldn't be found. Verify the name and try again.
46448type ParameterNotFound struct {
46449	_            struct{}                  `type:"structure"`
46450	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46451
46452	Message_ *string `locationName:"message" type:"string"`
46453}
46454
46455// String returns the string representation.
46456//
46457// API parameter values that are decorated as "sensitive" in the API will not
46458// be included in the string output. The member name will be present, but the
46459// value will be replaced with "sensitive".
46460func (s ParameterNotFound) String() string {
46461	return awsutil.Prettify(s)
46462}
46463
46464// GoString returns the string representation.
46465//
46466// API parameter values that are decorated as "sensitive" in the API will not
46467// be included in the string output. The member name will be present, but the
46468// value will be replaced with "sensitive".
46469func (s ParameterNotFound) GoString() string {
46470	return s.String()
46471}
46472
46473func newErrorParameterNotFound(v protocol.ResponseMetadata) error {
46474	return &ParameterNotFound{
46475		RespMetadata: v,
46476	}
46477}
46478
46479// Code returns the exception type name.
46480func (s *ParameterNotFound) Code() string {
46481	return "ParameterNotFound"
46482}
46483
46484// Message returns the exception's message.
46485func (s *ParameterNotFound) Message() string {
46486	if s.Message_ != nil {
46487		return *s.Message_
46488	}
46489	return ""
46490}
46491
46492// OrigErr always returns nil, satisfies awserr.Error interface.
46493func (s *ParameterNotFound) OrigErr() error {
46494	return nil
46495}
46496
46497func (s *ParameterNotFound) Error() string {
46498	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46499}
46500
46501// Status code returns the HTTP status code for the request's response error.
46502func (s *ParameterNotFound) StatusCode() int {
46503	return s.RespMetadata.StatusCode
46504}
46505
46506// RequestID returns the service's response RequestID for request.
46507func (s *ParameterNotFound) RequestID() string {
46508	return s.RespMetadata.RequestID
46509}
46510
46511// The parameter name isn't valid.
46512type ParameterPatternMismatchException struct {
46513	_            struct{}                  `type:"structure"`
46514	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46515
46516	// The parameter name isn't valid.
46517	Message_ *string `locationName:"message" type:"string"`
46518}
46519
46520// String returns the string representation.
46521//
46522// API parameter values that are decorated as "sensitive" in the API will not
46523// be included in the string output. The member name will be present, but the
46524// value will be replaced with "sensitive".
46525func (s ParameterPatternMismatchException) String() string {
46526	return awsutil.Prettify(s)
46527}
46528
46529// GoString returns the string representation.
46530//
46531// API parameter values that are decorated as "sensitive" in the API will not
46532// be included in the string output. The member name will be present, but the
46533// value will be replaced with "sensitive".
46534func (s ParameterPatternMismatchException) GoString() string {
46535	return s.String()
46536}
46537
46538func newErrorParameterPatternMismatchException(v protocol.ResponseMetadata) error {
46539	return &ParameterPatternMismatchException{
46540		RespMetadata: v,
46541	}
46542}
46543
46544// Code returns the exception type name.
46545func (s *ParameterPatternMismatchException) Code() string {
46546	return "ParameterPatternMismatchException"
46547}
46548
46549// Message returns the exception's message.
46550func (s *ParameterPatternMismatchException) Message() string {
46551	if s.Message_ != nil {
46552		return *s.Message_
46553	}
46554	return ""
46555}
46556
46557// OrigErr always returns nil, satisfies awserr.Error interface.
46558func (s *ParameterPatternMismatchException) OrigErr() error {
46559	return nil
46560}
46561
46562func (s *ParameterPatternMismatchException) Error() string {
46563	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46564}
46565
46566// Status code returns the HTTP status code for the request's response error.
46567func (s *ParameterPatternMismatchException) StatusCode() int {
46568	return s.RespMetadata.StatusCode
46569}
46570
46571// RequestID returns the service's response RequestID for request.
46572func (s *ParameterPatternMismatchException) RequestID() string {
46573	return s.RespMetadata.RequestID
46574}
46575
46576// One or more filters. Use a filter to return a more specific list of results.
46577type ParameterStringFilter struct {
46578	_ struct{} `type:"structure"`
46579
46580	// The name of the filter.
46581	//
46582	// The ParameterStringFilter object is used by the DescribeParameters and GetParametersByPath
46583	// API operations. However, not all of the pattern values listed for Key can
46584	// be used with both operations.
46585	//
46586	// For DescribeActions, all of the listed patterns are valid except Label.
46587	//
46588	// For GetParametersByPath, the following patterns listed for Key aren't valid:
46589	// tag, DataType, Name, Path, and Tier.
46590	//
46591	// For examples of Amazon Web Services CLI commands demonstrating valid parameter
46592	// filter constructions, see Searching for Systems Manager parameters (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-search.html)
46593	// in the Amazon Web Services Systems Manager User Guide.
46594	//
46595	// Key is a required field
46596	Key *string `min:"1" type:"string" required:"true"`
46597
46598	// For all filters used with DescribeParameters, valid options include Equals
46599	// and BeginsWith. The Name filter additionally supports the Contains option.
46600	// (Exception: For filters using the key Path, valid options include Recursive
46601	// and OneLevel.)
46602	//
46603	// For filters used with GetParametersByPath, valid options include Equals and
46604	// BeginsWith. (Exception: For filters using Label as the Key name, the only
46605	// valid option is Equals.)
46606	Option *string `min:"1" type:"string"`
46607
46608	// The value you want to search for.
46609	Values []*string `min:"1" type:"list"`
46610}
46611
46612// String returns the string representation.
46613//
46614// API parameter values that are decorated as "sensitive" in the API will not
46615// be included in the string output. The member name will be present, but the
46616// value will be replaced with "sensitive".
46617func (s ParameterStringFilter) String() string {
46618	return awsutil.Prettify(s)
46619}
46620
46621// GoString returns the string representation.
46622//
46623// API parameter values that are decorated as "sensitive" in the API will not
46624// be included in the string output. The member name will be present, but the
46625// value will be replaced with "sensitive".
46626func (s ParameterStringFilter) GoString() string {
46627	return s.String()
46628}
46629
46630// Validate inspects the fields of the type to determine if they are valid.
46631func (s *ParameterStringFilter) Validate() error {
46632	invalidParams := request.ErrInvalidParams{Context: "ParameterStringFilter"}
46633	if s.Key == nil {
46634		invalidParams.Add(request.NewErrParamRequired("Key"))
46635	}
46636	if s.Key != nil && len(*s.Key) < 1 {
46637		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
46638	}
46639	if s.Option != nil && len(*s.Option) < 1 {
46640		invalidParams.Add(request.NewErrParamMinLen("Option", 1))
46641	}
46642	if s.Values != nil && len(s.Values) < 1 {
46643		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
46644	}
46645
46646	if invalidParams.Len() > 0 {
46647		return invalidParams
46648	}
46649	return nil
46650}
46651
46652// SetKey sets the Key field's value.
46653func (s *ParameterStringFilter) SetKey(v string) *ParameterStringFilter {
46654	s.Key = &v
46655	return s
46656}
46657
46658// SetOption sets the Option field's value.
46659func (s *ParameterStringFilter) SetOption(v string) *ParameterStringFilter {
46660	s.Option = &v
46661	return s
46662}
46663
46664// SetValues sets the Values field's value.
46665func (s *ParameterStringFilter) SetValues(v []*string) *ParameterStringFilter {
46666	s.Values = v
46667	return s
46668}
46669
46670// A parameter version can have a maximum of ten labels.
46671type ParameterVersionLabelLimitExceeded struct {
46672	_            struct{}                  `type:"structure"`
46673	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46674
46675	Message_ *string `locationName:"message" type:"string"`
46676}
46677
46678// String returns the string representation.
46679//
46680// API parameter values that are decorated as "sensitive" in the API will not
46681// be included in the string output. The member name will be present, but the
46682// value will be replaced with "sensitive".
46683func (s ParameterVersionLabelLimitExceeded) String() string {
46684	return awsutil.Prettify(s)
46685}
46686
46687// GoString returns the string representation.
46688//
46689// API parameter values that are decorated as "sensitive" in the API will not
46690// be included in the string output. The member name will be present, but the
46691// value will be replaced with "sensitive".
46692func (s ParameterVersionLabelLimitExceeded) GoString() string {
46693	return s.String()
46694}
46695
46696func newErrorParameterVersionLabelLimitExceeded(v protocol.ResponseMetadata) error {
46697	return &ParameterVersionLabelLimitExceeded{
46698		RespMetadata: v,
46699	}
46700}
46701
46702// Code returns the exception type name.
46703func (s *ParameterVersionLabelLimitExceeded) Code() string {
46704	return "ParameterVersionLabelLimitExceeded"
46705}
46706
46707// Message returns the exception's message.
46708func (s *ParameterVersionLabelLimitExceeded) Message() string {
46709	if s.Message_ != nil {
46710		return *s.Message_
46711	}
46712	return ""
46713}
46714
46715// OrigErr always returns nil, satisfies awserr.Error interface.
46716func (s *ParameterVersionLabelLimitExceeded) OrigErr() error {
46717	return nil
46718}
46719
46720func (s *ParameterVersionLabelLimitExceeded) Error() string {
46721	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46722}
46723
46724// Status code returns the HTTP status code for the request's response error.
46725func (s *ParameterVersionLabelLimitExceeded) StatusCode() int {
46726	return s.RespMetadata.StatusCode
46727}
46728
46729// RequestID returns the service's response RequestID for request.
46730func (s *ParameterVersionLabelLimitExceeded) RequestID() string {
46731	return s.RespMetadata.RequestID
46732}
46733
46734// The specified parameter version wasn't found. Verify the parameter name and
46735// version, and try again.
46736type ParameterVersionNotFound struct {
46737	_            struct{}                  `type:"structure"`
46738	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
46739
46740	Message_ *string `locationName:"message" type:"string"`
46741}
46742
46743// String returns the string representation.
46744//
46745// API parameter values that are decorated as "sensitive" in the API will not
46746// be included in the string output. The member name will be present, but the
46747// value will be replaced with "sensitive".
46748func (s ParameterVersionNotFound) String() string {
46749	return awsutil.Prettify(s)
46750}
46751
46752// GoString returns the string representation.
46753//
46754// API parameter values that are decorated as "sensitive" in the API will not
46755// be included in the string output. The member name will be present, but the
46756// value will be replaced with "sensitive".
46757func (s ParameterVersionNotFound) GoString() string {
46758	return s.String()
46759}
46760
46761func newErrorParameterVersionNotFound(v protocol.ResponseMetadata) error {
46762	return &ParameterVersionNotFound{
46763		RespMetadata: v,
46764	}
46765}
46766
46767// Code returns the exception type name.
46768func (s *ParameterVersionNotFound) Code() string {
46769	return "ParameterVersionNotFound"
46770}
46771
46772// Message returns the exception's message.
46773func (s *ParameterVersionNotFound) Message() string {
46774	if s.Message_ != nil {
46775		return *s.Message_
46776	}
46777	return ""
46778}
46779
46780// OrigErr always returns nil, satisfies awserr.Error interface.
46781func (s *ParameterVersionNotFound) OrigErr() error {
46782	return nil
46783}
46784
46785func (s *ParameterVersionNotFound) Error() string {
46786	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
46787}
46788
46789// Status code returns the HTTP status code for the request's response error.
46790func (s *ParameterVersionNotFound) StatusCode() int {
46791	return s.RespMetadata.StatusCode
46792}
46793
46794// RequestID returns the service's response RequestID for request.
46795func (s *ParameterVersionNotFound) RequestID() string {
46796	return s.RespMetadata.RequestID
46797}
46798
46799// This data type is deprecated. Instead, use ParameterStringFilter.
46800type ParametersFilter struct {
46801	_ struct{} `type:"structure"`
46802
46803	// The name of the filter.
46804	//
46805	// Key is a required field
46806	Key *string `type:"string" required:"true" enum:"ParametersFilterKey"`
46807
46808	// The filter values.
46809	//
46810	// Values is a required field
46811	Values []*string `min:"1" type:"list" required:"true"`
46812}
46813
46814// String returns the string representation.
46815//
46816// API parameter values that are decorated as "sensitive" in the API will not
46817// be included in the string output. The member name will be present, but the
46818// value will be replaced with "sensitive".
46819func (s ParametersFilter) String() string {
46820	return awsutil.Prettify(s)
46821}
46822
46823// GoString returns the string representation.
46824//
46825// API parameter values that are decorated as "sensitive" in the API will not
46826// be included in the string output. The member name will be present, but the
46827// value will be replaced with "sensitive".
46828func (s ParametersFilter) GoString() string {
46829	return s.String()
46830}
46831
46832// Validate inspects the fields of the type to determine if they are valid.
46833func (s *ParametersFilter) Validate() error {
46834	invalidParams := request.ErrInvalidParams{Context: "ParametersFilter"}
46835	if s.Key == nil {
46836		invalidParams.Add(request.NewErrParamRequired("Key"))
46837	}
46838	if s.Values == nil {
46839		invalidParams.Add(request.NewErrParamRequired("Values"))
46840	}
46841	if s.Values != nil && len(s.Values) < 1 {
46842		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
46843	}
46844
46845	if invalidParams.Len() > 0 {
46846		return invalidParams
46847	}
46848	return nil
46849}
46850
46851// SetKey sets the Key field's value.
46852func (s *ParametersFilter) SetKey(v string) *ParametersFilter {
46853	s.Key = &v
46854	return s
46855}
46856
46857// SetValues sets the Values field's value.
46858func (s *ParametersFilter) SetValues(v []*string) *ParametersFilter {
46859	s.Values = v
46860	return s
46861}
46862
46863// Represents metadata about a patch.
46864type Patch struct {
46865	_ struct{} `type:"structure"`
46866
46867	// The Advisory ID of the patch. For example, RHSA-2020:3779. Applies to Linux-based
46868	// instances only.
46869	AdvisoryIds []*string `type:"list"`
46870
46871	// The architecture of the patch. For example, in example-pkg-0.710.10-2.7.abcd.x86_64,
46872	// the architecture is indicated by x86_64. Applies to Linux-based instances
46873	// only.
46874	Arch *string `type:"string"`
46875
46876	// The Bugzilla ID of the patch. For example, 1600646. Applies to Linux-based
46877	// instances only.
46878	BugzillaIds []*string `type:"list"`
46879
46880	// The Common Vulnerabilities and Exposures (CVE) ID of the patch. For example,
46881	// CVE-2011-3192. Applies to Linux-based instances only.
46882	CVEIds []*string `type:"list"`
46883
46884	// The classification of the patch. For example, SecurityUpdates, Updates, or
46885	// CriticalUpdates.
46886	Classification *string `type:"string"`
46887
46888	// The URL where more information can be obtained about the patch.
46889	ContentUrl *string `type:"string"`
46890
46891	// The description of the patch.
46892	Description *string `type:"string"`
46893
46894	// The epoch of the patch. For example in pkg-example-EE-20180914-2.2.amzn1.noarch,
46895	// the epoch value is 20180914-2. Applies to Linux-based instances only.
46896	Epoch *int64 `type:"integer"`
46897
46898	// The ID of the patch. Applies to Windows patches only.
46899	//
46900	// This ID isn't the same as the Microsoft Knowledge Base ID.
46901	Id *string `min:"1" type:"string"`
46902
46903	// The Microsoft Knowledge Base ID of the patch. Applies to Windows patches
46904	// only.
46905	KbNumber *string `type:"string"`
46906
46907	// The language of the patch if it's language-specific.
46908	Language *string `type:"string"`
46909
46910	// The ID of the Microsoft Security Response Center (MSRC) bulletin the patch
46911	// is related to. For example, MS14-045. Applies to Windows patches only.
46912	MsrcNumber *string `type:"string"`
46913
46914	// The severity of the patch, such as Critical, Important, or Moderate. Applies
46915	// to Windows patches only.
46916	MsrcSeverity *string `type:"string"`
46917
46918	// The name of the patch. Applies to Linux-based instances only.
46919	Name *string `type:"string"`
46920
46921	// The specific product the patch is applicable for. For example, WindowsServer2016
46922	// or AmazonLinux2018.03.
46923	Product *string `type:"string"`
46924
46925	// The product family the patch is applicable for. For example, Windows or Amazon
46926	// Linux 2.
46927	ProductFamily *string `type:"string"`
46928
46929	// The particular release of a patch. For example, in pkg-example-EE-20180914-2.2.amzn1.noarch,
46930	// the release is 2.amaz1. Applies to Linux-based instances only.
46931	Release *string `type:"string"`
46932
46933	// The date the patch was released.
46934	ReleaseDate *time.Time `type:"timestamp"`
46935
46936	// The source patch repository for the operating system and version, such as
46937	// trusty-security for Ubuntu Server 14.04 LTE and focal-security for Ubuntu
46938	// Server 20.04 LTE. Applies to Linux-based instances only.
46939	Repository *string `type:"string"`
46940
46941	// The severity level of the patch. For example, CRITICAL or MODERATE.
46942	Severity *string `type:"string"`
46943
46944	// The title of the patch.
46945	Title *string `type:"string"`
46946
46947	// The name of the vendor providing the patch.
46948	Vendor *string `type:"string"`
46949
46950	// The version number of the patch. For example, in example-pkg-1.710.10-2.7.abcd.x86_64,
46951	// the version number is indicated by -1. Applies to Linux-based instances only.
46952	Version *string `type:"string"`
46953}
46954
46955// String returns the string representation.
46956//
46957// API parameter values that are decorated as "sensitive" in the API will not
46958// be included in the string output. The member name will be present, but the
46959// value will be replaced with "sensitive".
46960func (s Patch) String() string {
46961	return awsutil.Prettify(s)
46962}
46963
46964// GoString returns the string representation.
46965//
46966// API parameter values that are decorated as "sensitive" in the API will not
46967// be included in the string output. The member name will be present, but the
46968// value will be replaced with "sensitive".
46969func (s Patch) GoString() string {
46970	return s.String()
46971}
46972
46973// SetAdvisoryIds sets the AdvisoryIds field's value.
46974func (s *Patch) SetAdvisoryIds(v []*string) *Patch {
46975	s.AdvisoryIds = v
46976	return s
46977}
46978
46979// SetArch sets the Arch field's value.
46980func (s *Patch) SetArch(v string) *Patch {
46981	s.Arch = &v
46982	return s
46983}
46984
46985// SetBugzillaIds sets the BugzillaIds field's value.
46986func (s *Patch) SetBugzillaIds(v []*string) *Patch {
46987	s.BugzillaIds = v
46988	return s
46989}
46990
46991// SetCVEIds sets the CVEIds field's value.
46992func (s *Patch) SetCVEIds(v []*string) *Patch {
46993	s.CVEIds = v
46994	return s
46995}
46996
46997// SetClassification sets the Classification field's value.
46998func (s *Patch) SetClassification(v string) *Patch {
46999	s.Classification = &v
47000	return s
47001}
47002
47003// SetContentUrl sets the ContentUrl field's value.
47004func (s *Patch) SetContentUrl(v string) *Patch {
47005	s.ContentUrl = &v
47006	return s
47007}
47008
47009// SetDescription sets the Description field's value.
47010func (s *Patch) SetDescription(v string) *Patch {
47011	s.Description = &v
47012	return s
47013}
47014
47015// SetEpoch sets the Epoch field's value.
47016func (s *Patch) SetEpoch(v int64) *Patch {
47017	s.Epoch = &v
47018	return s
47019}
47020
47021// SetId sets the Id field's value.
47022func (s *Patch) SetId(v string) *Patch {
47023	s.Id = &v
47024	return s
47025}
47026
47027// SetKbNumber sets the KbNumber field's value.
47028func (s *Patch) SetKbNumber(v string) *Patch {
47029	s.KbNumber = &v
47030	return s
47031}
47032
47033// SetLanguage sets the Language field's value.
47034func (s *Patch) SetLanguage(v string) *Patch {
47035	s.Language = &v
47036	return s
47037}
47038
47039// SetMsrcNumber sets the MsrcNumber field's value.
47040func (s *Patch) SetMsrcNumber(v string) *Patch {
47041	s.MsrcNumber = &v
47042	return s
47043}
47044
47045// SetMsrcSeverity sets the MsrcSeverity field's value.
47046func (s *Patch) SetMsrcSeverity(v string) *Patch {
47047	s.MsrcSeverity = &v
47048	return s
47049}
47050
47051// SetName sets the Name field's value.
47052func (s *Patch) SetName(v string) *Patch {
47053	s.Name = &v
47054	return s
47055}
47056
47057// SetProduct sets the Product field's value.
47058func (s *Patch) SetProduct(v string) *Patch {
47059	s.Product = &v
47060	return s
47061}
47062
47063// SetProductFamily sets the ProductFamily field's value.
47064func (s *Patch) SetProductFamily(v string) *Patch {
47065	s.ProductFamily = &v
47066	return s
47067}
47068
47069// SetRelease sets the Release field's value.
47070func (s *Patch) SetRelease(v string) *Patch {
47071	s.Release = &v
47072	return s
47073}
47074
47075// SetReleaseDate sets the ReleaseDate field's value.
47076func (s *Patch) SetReleaseDate(v time.Time) *Patch {
47077	s.ReleaseDate = &v
47078	return s
47079}
47080
47081// SetRepository sets the Repository field's value.
47082func (s *Patch) SetRepository(v string) *Patch {
47083	s.Repository = &v
47084	return s
47085}
47086
47087// SetSeverity sets the Severity field's value.
47088func (s *Patch) SetSeverity(v string) *Patch {
47089	s.Severity = &v
47090	return s
47091}
47092
47093// SetTitle sets the Title field's value.
47094func (s *Patch) SetTitle(v string) *Patch {
47095	s.Title = &v
47096	return s
47097}
47098
47099// SetVendor sets the Vendor field's value.
47100func (s *Patch) SetVendor(v string) *Patch {
47101	s.Vendor = &v
47102	return s
47103}
47104
47105// SetVersion sets the Version field's value.
47106func (s *Patch) SetVersion(v string) *Patch {
47107	s.Version = &v
47108	return s
47109}
47110
47111// Defines the basic information about a patch baseline.
47112type PatchBaselineIdentity struct {
47113	_ struct{} `type:"structure"`
47114
47115	// The description of the patch baseline.
47116	BaselineDescription *string `min:"1" type:"string"`
47117
47118	// The ID of the patch baseline.
47119	BaselineId *string `min:"20" type:"string"`
47120
47121	// The name of the patch baseline.
47122	BaselineName *string `min:"3" type:"string"`
47123
47124	// Whether this is the default baseline. Amazon Web Services Systems Manager
47125	// supports creating multiple default patch baselines. For example, you can
47126	// create a default patch baseline for each operating system.
47127	DefaultBaseline *bool `type:"boolean"`
47128
47129	// Defines the operating system the patch baseline applies to. The default value
47130	// is WINDOWS.
47131	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
47132}
47133
47134// String returns the string representation.
47135//
47136// API parameter values that are decorated as "sensitive" in the API will not
47137// be included in the string output. The member name will be present, but the
47138// value will be replaced with "sensitive".
47139func (s PatchBaselineIdentity) String() string {
47140	return awsutil.Prettify(s)
47141}
47142
47143// GoString returns the string representation.
47144//
47145// API parameter values that are decorated as "sensitive" in the API will not
47146// be included in the string output. The member name will be present, but the
47147// value will be replaced with "sensitive".
47148func (s PatchBaselineIdentity) GoString() string {
47149	return s.String()
47150}
47151
47152// SetBaselineDescription sets the BaselineDescription field's value.
47153func (s *PatchBaselineIdentity) SetBaselineDescription(v string) *PatchBaselineIdentity {
47154	s.BaselineDescription = &v
47155	return s
47156}
47157
47158// SetBaselineId sets the BaselineId field's value.
47159func (s *PatchBaselineIdentity) SetBaselineId(v string) *PatchBaselineIdentity {
47160	s.BaselineId = &v
47161	return s
47162}
47163
47164// SetBaselineName sets the BaselineName field's value.
47165func (s *PatchBaselineIdentity) SetBaselineName(v string) *PatchBaselineIdentity {
47166	s.BaselineName = &v
47167	return s
47168}
47169
47170// SetDefaultBaseline sets the DefaultBaseline field's value.
47171func (s *PatchBaselineIdentity) SetDefaultBaseline(v bool) *PatchBaselineIdentity {
47172	s.DefaultBaseline = &v
47173	return s
47174}
47175
47176// SetOperatingSystem sets the OperatingSystem field's value.
47177func (s *PatchBaselineIdentity) SetOperatingSystem(v string) *PatchBaselineIdentity {
47178	s.OperatingSystem = &v
47179	return s
47180}
47181
47182// Information about the state of a patch on a particular instance as it relates
47183// to the patch baseline used to patch the instance.
47184type PatchComplianceData struct {
47185	_ struct{} `type:"structure"`
47186
47187	// The IDs of one or more Common Vulnerabilities and Exposure (CVE) issues that
47188	// are resolved by the patch.
47189	CVEIds *string `type:"string"`
47190
47191	// The classification of the patch, such as SecurityUpdates, Updates, and CriticalUpdates.
47192	//
47193	// Classification is a required field
47194	Classification *string `type:"string" required:"true"`
47195
47196	// The date/time the patch was installed on the instance. Not all operating
47197	// systems provide this level of information.
47198	//
47199	// InstalledTime is a required field
47200	InstalledTime *time.Time `type:"timestamp" required:"true"`
47201
47202	// The operating system-specific ID of the patch.
47203	//
47204	// KBId is a required field
47205	KBId *string `type:"string" required:"true"`
47206
47207	// The severity of the patchsuch as Critical, Important, and Moderate.
47208	//
47209	// Severity is a required field
47210	Severity *string `type:"string" required:"true"`
47211
47212	// The state of the patch on the instance, such as INSTALLED or FAILED.
47213	//
47214	// For descriptions of each patch state, see About patch compliance (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-compliance-about.html#sysman-compliance-monitor-patch)
47215	// in the Amazon Web Services Systems Manager User Guide.
47216	//
47217	// State is a required field
47218	State *string `type:"string" required:"true" enum:"PatchComplianceDataState"`
47219
47220	// The title of the patch.
47221	//
47222	// Title is a required field
47223	Title *string `type:"string" required:"true"`
47224}
47225
47226// String returns the string representation.
47227//
47228// API parameter values that are decorated as "sensitive" in the API will not
47229// be included in the string output. The member name will be present, but the
47230// value will be replaced with "sensitive".
47231func (s PatchComplianceData) String() string {
47232	return awsutil.Prettify(s)
47233}
47234
47235// GoString returns the string representation.
47236//
47237// API parameter values that are decorated as "sensitive" in the API will not
47238// be included in the string output. The member name will be present, but the
47239// value will be replaced with "sensitive".
47240func (s PatchComplianceData) GoString() string {
47241	return s.String()
47242}
47243
47244// SetCVEIds sets the CVEIds field's value.
47245func (s *PatchComplianceData) SetCVEIds(v string) *PatchComplianceData {
47246	s.CVEIds = &v
47247	return s
47248}
47249
47250// SetClassification sets the Classification field's value.
47251func (s *PatchComplianceData) SetClassification(v string) *PatchComplianceData {
47252	s.Classification = &v
47253	return s
47254}
47255
47256// SetInstalledTime sets the InstalledTime field's value.
47257func (s *PatchComplianceData) SetInstalledTime(v time.Time) *PatchComplianceData {
47258	s.InstalledTime = &v
47259	return s
47260}
47261
47262// SetKBId sets the KBId field's value.
47263func (s *PatchComplianceData) SetKBId(v string) *PatchComplianceData {
47264	s.KBId = &v
47265	return s
47266}
47267
47268// SetSeverity sets the Severity field's value.
47269func (s *PatchComplianceData) SetSeverity(v string) *PatchComplianceData {
47270	s.Severity = &v
47271	return s
47272}
47273
47274// SetState sets the State field's value.
47275func (s *PatchComplianceData) SetState(v string) *PatchComplianceData {
47276	s.State = &v
47277	return s
47278}
47279
47280// SetTitle sets the Title field's value.
47281func (s *PatchComplianceData) SetTitle(v string) *PatchComplianceData {
47282	s.Title = &v
47283	return s
47284}
47285
47286// Defines which patches should be included in a patch baseline.
47287//
47288// A patch filter consists of a key and a set of values. The filter key is a
47289// patch property. For example, the available filter keys for WINDOWS are PATCH_SET,
47290// PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, and MSRC_SEVERITY.
47291//
47292// The filter values define a matching criterion for the patch property indicated
47293// by the key. For example, if the filter key is PRODUCT and the filter values
47294// are ["Office 2013", "Office 2016"], then the filter accepts all patches where
47295// product name is either "Office 2013" or "Office 2016". The filter values
47296// can be exact values for the patch property given as a key, or a wildcard
47297// (*), which matches all values.
47298//
47299// You can view lists of valid values for the patch properties by running the
47300// DescribePatchProperties command. For information about which patch properties
47301// can be used with each major operating system, see DescribePatchProperties.
47302type PatchFilter struct {
47303	_ struct{} `type:"structure"`
47304
47305	// The key for the filter.
47306	//
47307	// Run the DescribePatchProperties command to view lists of valid keys for each
47308	// operating system type.
47309	//
47310	// Key is a required field
47311	Key *string `type:"string" required:"true" enum:"PatchFilterKey"`
47312
47313	// The value for the filter key.
47314	//
47315	// Run the DescribePatchProperties command to view lists of valid values for
47316	// each key based on operating system type.
47317	//
47318	// Values is a required field
47319	Values []*string `min:"1" type:"list" required:"true"`
47320}
47321
47322// String returns the string representation.
47323//
47324// API parameter values that are decorated as "sensitive" in the API will not
47325// be included in the string output. The member name will be present, but the
47326// value will be replaced with "sensitive".
47327func (s PatchFilter) String() string {
47328	return awsutil.Prettify(s)
47329}
47330
47331// GoString returns the string representation.
47332//
47333// API parameter values that are decorated as "sensitive" in the API will not
47334// be included in the string output. The member name will be present, but the
47335// value will be replaced with "sensitive".
47336func (s PatchFilter) GoString() string {
47337	return s.String()
47338}
47339
47340// Validate inspects the fields of the type to determine if they are valid.
47341func (s *PatchFilter) Validate() error {
47342	invalidParams := request.ErrInvalidParams{Context: "PatchFilter"}
47343	if s.Key == nil {
47344		invalidParams.Add(request.NewErrParamRequired("Key"))
47345	}
47346	if s.Values == nil {
47347		invalidParams.Add(request.NewErrParamRequired("Values"))
47348	}
47349	if s.Values != nil && len(s.Values) < 1 {
47350		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
47351	}
47352
47353	if invalidParams.Len() > 0 {
47354		return invalidParams
47355	}
47356	return nil
47357}
47358
47359// SetKey sets the Key field's value.
47360func (s *PatchFilter) SetKey(v string) *PatchFilter {
47361	s.Key = &v
47362	return s
47363}
47364
47365// SetValues sets the Values field's value.
47366func (s *PatchFilter) SetValues(v []*string) *PatchFilter {
47367	s.Values = v
47368	return s
47369}
47370
47371// A set of patch filters, typically used for approval rules.
47372type PatchFilterGroup struct {
47373	_ struct{} `type:"structure"`
47374
47375	// The set of patch filters that make up the group.
47376	//
47377	// PatchFilters is a required field
47378	PatchFilters []*PatchFilter `type:"list" required:"true"`
47379}
47380
47381// String returns the string representation.
47382//
47383// API parameter values that are decorated as "sensitive" in the API will not
47384// be included in the string output. The member name will be present, but the
47385// value will be replaced with "sensitive".
47386func (s PatchFilterGroup) String() string {
47387	return awsutil.Prettify(s)
47388}
47389
47390// GoString returns the string representation.
47391//
47392// API parameter values that are decorated as "sensitive" in the API will not
47393// be included in the string output. The member name will be present, but the
47394// value will be replaced with "sensitive".
47395func (s PatchFilterGroup) GoString() string {
47396	return s.String()
47397}
47398
47399// Validate inspects the fields of the type to determine if they are valid.
47400func (s *PatchFilterGroup) Validate() error {
47401	invalidParams := request.ErrInvalidParams{Context: "PatchFilterGroup"}
47402	if s.PatchFilters == nil {
47403		invalidParams.Add(request.NewErrParamRequired("PatchFilters"))
47404	}
47405	if s.PatchFilters != nil {
47406		for i, v := range s.PatchFilters {
47407			if v == nil {
47408				continue
47409			}
47410			if err := v.Validate(); err != nil {
47411				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchFilters", i), err.(request.ErrInvalidParams))
47412			}
47413		}
47414	}
47415
47416	if invalidParams.Len() > 0 {
47417		return invalidParams
47418	}
47419	return nil
47420}
47421
47422// SetPatchFilters sets the PatchFilters field's value.
47423func (s *PatchFilterGroup) SetPatchFilters(v []*PatchFilter) *PatchFilterGroup {
47424	s.PatchFilters = v
47425	return s
47426}
47427
47428// The mapping between a patch group and the patch baseline the patch group
47429// is registered with.
47430type PatchGroupPatchBaselineMapping struct {
47431	_ struct{} `type:"structure"`
47432
47433	// The patch baseline the patch group is registered with.
47434	BaselineIdentity *PatchBaselineIdentity `type:"structure"`
47435
47436	// The name of the patch group registered with the patch baseline.
47437	PatchGroup *string `min:"1" type:"string"`
47438}
47439
47440// String returns the string representation.
47441//
47442// API parameter values that are decorated as "sensitive" in the API will not
47443// be included in the string output. The member name will be present, but the
47444// value will be replaced with "sensitive".
47445func (s PatchGroupPatchBaselineMapping) String() string {
47446	return awsutil.Prettify(s)
47447}
47448
47449// GoString returns the string representation.
47450//
47451// API parameter values that are decorated as "sensitive" in the API will not
47452// be included in the string output. The member name will be present, but the
47453// value will be replaced with "sensitive".
47454func (s PatchGroupPatchBaselineMapping) GoString() string {
47455	return s.String()
47456}
47457
47458// SetBaselineIdentity sets the BaselineIdentity field's value.
47459func (s *PatchGroupPatchBaselineMapping) SetBaselineIdentity(v *PatchBaselineIdentity) *PatchGroupPatchBaselineMapping {
47460	s.BaselineIdentity = v
47461	return s
47462}
47463
47464// SetPatchGroup sets the PatchGroup field's value.
47465func (s *PatchGroupPatchBaselineMapping) SetPatchGroup(v string) *PatchGroupPatchBaselineMapping {
47466	s.PatchGroup = &v
47467	return s
47468}
47469
47470// Defines a filter used in Patch Manager APIs. Supported filter keys depend
47471// on the API operation that includes the filter. Patch Manager API operations
47472// that use PatchOrchestratorFilter include the following:
47473//
47474//    * DescribeAvailablePatches
47475//
47476//    * DescribeInstancePatches
47477//
47478//    * DescribePatchBaselines
47479//
47480//    * DescribePatchGroups
47481type PatchOrchestratorFilter struct {
47482	_ struct{} `type:"structure"`
47483
47484	// The key for the filter.
47485	Key *string `min:"1" type:"string"`
47486
47487	// The value for the filter.
47488	Values []*string `type:"list"`
47489}
47490
47491// String returns the string representation.
47492//
47493// API parameter values that are decorated as "sensitive" in the API will not
47494// be included in the string output. The member name will be present, but the
47495// value will be replaced with "sensitive".
47496func (s PatchOrchestratorFilter) String() string {
47497	return awsutil.Prettify(s)
47498}
47499
47500// GoString returns the string representation.
47501//
47502// API parameter values that are decorated as "sensitive" in the API will not
47503// be included in the string output. The member name will be present, but the
47504// value will be replaced with "sensitive".
47505func (s PatchOrchestratorFilter) GoString() string {
47506	return s.String()
47507}
47508
47509// Validate inspects the fields of the type to determine if they are valid.
47510func (s *PatchOrchestratorFilter) Validate() error {
47511	invalidParams := request.ErrInvalidParams{Context: "PatchOrchestratorFilter"}
47512	if s.Key != nil && len(*s.Key) < 1 {
47513		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
47514	}
47515
47516	if invalidParams.Len() > 0 {
47517		return invalidParams
47518	}
47519	return nil
47520}
47521
47522// SetKey sets the Key field's value.
47523func (s *PatchOrchestratorFilter) SetKey(v string) *PatchOrchestratorFilter {
47524	s.Key = &v
47525	return s
47526}
47527
47528// SetValues sets the Values field's value.
47529func (s *PatchOrchestratorFilter) SetValues(v []*string) *PatchOrchestratorFilter {
47530	s.Values = v
47531	return s
47532}
47533
47534// Defines an approval rule for a patch baseline.
47535type PatchRule struct {
47536	_ struct{} `type:"structure"`
47537
47538	// The number of days after the release date of each patch matched by the rule
47539	// that the patch is marked as approved in the patch baseline. For example,
47540	// a value of 7 means that patches are approved seven days after they are released.
47541	// Not supported on Debian Server or Ubuntu Server.
47542	ApproveAfterDays *int64 `type:"integer"`
47543
47544	// The cutoff date for auto approval of released patches. Any patches released
47545	// on or before this date are installed automatically. Not supported on Debian
47546	// Server or Ubuntu Server.
47547	//
47548	// Enter dates in the format YYYY-MM-DD. For example, 2021-12-31.
47549	ApproveUntilDate *string `min:"1" type:"string"`
47550
47551	// A compliance severity level for all approved patches in a patch baseline.
47552	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
47553
47554	// For instances identified by the approval rule filters, enables a patch baseline
47555	// to apply non-security updates available in the specified repository. The
47556	// default value is false. Applies to Linux instances only.
47557	EnableNonSecurity *bool `type:"boolean"`
47558
47559	// The patch filter group that defines the criteria for the rule.
47560	//
47561	// PatchFilterGroup is a required field
47562	PatchFilterGroup *PatchFilterGroup `type:"structure" required:"true"`
47563}
47564
47565// String returns the string representation.
47566//
47567// API parameter values that are decorated as "sensitive" in the API will not
47568// be included in the string output. The member name will be present, but the
47569// value will be replaced with "sensitive".
47570func (s PatchRule) String() string {
47571	return awsutil.Prettify(s)
47572}
47573
47574// GoString returns the string representation.
47575//
47576// API parameter values that are decorated as "sensitive" in the API will not
47577// be included in the string output. The member name will be present, but the
47578// value will be replaced with "sensitive".
47579func (s PatchRule) GoString() string {
47580	return s.String()
47581}
47582
47583// Validate inspects the fields of the type to determine if they are valid.
47584func (s *PatchRule) Validate() error {
47585	invalidParams := request.ErrInvalidParams{Context: "PatchRule"}
47586	if s.ApproveUntilDate != nil && len(*s.ApproveUntilDate) < 1 {
47587		invalidParams.Add(request.NewErrParamMinLen("ApproveUntilDate", 1))
47588	}
47589	if s.PatchFilterGroup == nil {
47590		invalidParams.Add(request.NewErrParamRequired("PatchFilterGroup"))
47591	}
47592	if s.PatchFilterGroup != nil {
47593		if err := s.PatchFilterGroup.Validate(); err != nil {
47594			invalidParams.AddNested("PatchFilterGroup", err.(request.ErrInvalidParams))
47595		}
47596	}
47597
47598	if invalidParams.Len() > 0 {
47599		return invalidParams
47600	}
47601	return nil
47602}
47603
47604// SetApproveAfterDays sets the ApproveAfterDays field's value.
47605func (s *PatchRule) SetApproveAfterDays(v int64) *PatchRule {
47606	s.ApproveAfterDays = &v
47607	return s
47608}
47609
47610// SetApproveUntilDate sets the ApproveUntilDate field's value.
47611func (s *PatchRule) SetApproveUntilDate(v string) *PatchRule {
47612	s.ApproveUntilDate = &v
47613	return s
47614}
47615
47616// SetComplianceLevel sets the ComplianceLevel field's value.
47617func (s *PatchRule) SetComplianceLevel(v string) *PatchRule {
47618	s.ComplianceLevel = &v
47619	return s
47620}
47621
47622// SetEnableNonSecurity sets the EnableNonSecurity field's value.
47623func (s *PatchRule) SetEnableNonSecurity(v bool) *PatchRule {
47624	s.EnableNonSecurity = &v
47625	return s
47626}
47627
47628// SetPatchFilterGroup sets the PatchFilterGroup field's value.
47629func (s *PatchRule) SetPatchFilterGroup(v *PatchFilterGroup) *PatchRule {
47630	s.PatchFilterGroup = v
47631	return s
47632}
47633
47634// A set of rules defining the approval rules for a patch baseline.
47635type PatchRuleGroup struct {
47636	_ struct{} `type:"structure"`
47637
47638	// The rules that make up the rule group.
47639	//
47640	// PatchRules is a required field
47641	PatchRules []*PatchRule `type:"list" required:"true"`
47642}
47643
47644// String returns the string representation.
47645//
47646// API parameter values that are decorated as "sensitive" in the API will not
47647// be included in the string output. The member name will be present, but the
47648// value will be replaced with "sensitive".
47649func (s PatchRuleGroup) String() string {
47650	return awsutil.Prettify(s)
47651}
47652
47653// GoString returns the string representation.
47654//
47655// API parameter values that are decorated as "sensitive" in the API will not
47656// be included in the string output. The member name will be present, but the
47657// value will be replaced with "sensitive".
47658func (s PatchRuleGroup) GoString() string {
47659	return s.String()
47660}
47661
47662// Validate inspects the fields of the type to determine if they are valid.
47663func (s *PatchRuleGroup) Validate() error {
47664	invalidParams := request.ErrInvalidParams{Context: "PatchRuleGroup"}
47665	if s.PatchRules == nil {
47666		invalidParams.Add(request.NewErrParamRequired("PatchRules"))
47667	}
47668	if s.PatchRules != nil {
47669		for i, v := range s.PatchRules {
47670			if v == nil {
47671				continue
47672			}
47673			if err := v.Validate(); err != nil {
47674				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PatchRules", i), err.(request.ErrInvalidParams))
47675			}
47676		}
47677	}
47678
47679	if invalidParams.Len() > 0 {
47680		return invalidParams
47681	}
47682	return nil
47683}
47684
47685// SetPatchRules sets the PatchRules field's value.
47686func (s *PatchRuleGroup) SetPatchRules(v []*PatchRule) *PatchRuleGroup {
47687	s.PatchRules = v
47688	return s
47689}
47690
47691// Information about the patches to use to update the instances, including target
47692// operating systems and source repository. Applies to Linux instances only.
47693type PatchSource struct {
47694	_ struct{} `type:"structure"`
47695
47696	// The value of the yum repo configuration. For example:
47697	//
47698	// [main]
47699	//
47700	// name=MyCustomRepository
47701	//
47702	// baseurl=https://my-custom-repository
47703	//
47704	// enabled=1
47705	//
47706	// For information about other options available for your yum repository configuration,
47707	// see dnf.conf(5) (https://man7.org/linux/man-pages/man5/dnf.conf.5.html).
47708	//
47709	// Configuration is a sensitive parameter and its value will be
47710	// replaced with "sensitive" in string returned by PatchSource's
47711	// String and GoString methods.
47712	//
47713	// Configuration is a required field
47714	Configuration *string `min:"1" type:"string" required:"true" sensitive:"true"`
47715
47716	// The name specified to identify the patch source.
47717	//
47718	// Name is a required field
47719	Name *string `type:"string" required:"true"`
47720
47721	// The specific operating system versions a patch repository applies to, such
47722	// as "Ubuntu16.04", "AmazonLinux2016.09", "RedhatEnterpriseLinux7.2" or "Suse12.7".
47723	// For lists of supported product values, see PatchFilter.
47724	//
47725	// Products is a required field
47726	Products []*string `min:"1" type:"list" required:"true"`
47727}
47728
47729// String returns the string representation.
47730//
47731// API parameter values that are decorated as "sensitive" in the API will not
47732// be included in the string output. The member name will be present, but the
47733// value will be replaced with "sensitive".
47734func (s PatchSource) String() string {
47735	return awsutil.Prettify(s)
47736}
47737
47738// GoString returns the string representation.
47739//
47740// API parameter values that are decorated as "sensitive" in the API will not
47741// be included in the string output. The member name will be present, but the
47742// value will be replaced with "sensitive".
47743func (s PatchSource) GoString() string {
47744	return s.String()
47745}
47746
47747// Validate inspects the fields of the type to determine if they are valid.
47748func (s *PatchSource) Validate() error {
47749	invalidParams := request.ErrInvalidParams{Context: "PatchSource"}
47750	if s.Configuration == nil {
47751		invalidParams.Add(request.NewErrParamRequired("Configuration"))
47752	}
47753	if s.Configuration != nil && len(*s.Configuration) < 1 {
47754		invalidParams.Add(request.NewErrParamMinLen("Configuration", 1))
47755	}
47756	if s.Name == nil {
47757		invalidParams.Add(request.NewErrParamRequired("Name"))
47758	}
47759	if s.Products == nil {
47760		invalidParams.Add(request.NewErrParamRequired("Products"))
47761	}
47762	if s.Products != nil && len(s.Products) < 1 {
47763		invalidParams.Add(request.NewErrParamMinLen("Products", 1))
47764	}
47765
47766	if invalidParams.Len() > 0 {
47767		return invalidParams
47768	}
47769	return nil
47770}
47771
47772// SetConfiguration sets the Configuration field's value.
47773func (s *PatchSource) SetConfiguration(v string) *PatchSource {
47774	s.Configuration = &v
47775	return s
47776}
47777
47778// SetName sets the Name field's value.
47779func (s *PatchSource) SetName(v string) *PatchSource {
47780	s.Name = &v
47781	return s
47782}
47783
47784// SetProducts sets the Products field's value.
47785func (s *PatchSource) SetProducts(v []*string) *PatchSource {
47786	s.Products = v
47787	return s
47788}
47789
47790// Information about the approval status of a patch.
47791type PatchStatus struct {
47792	_ struct{} `type:"structure"`
47793
47794	// The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).
47795	ApprovalDate *time.Time `type:"timestamp"`
47796
47797	// The compliance severity level for a patch.
47798	ComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
47799
47800	// The approval status of a patch.
47801	DeploymentStatus *string `type:"string" enum:"PatchDeploymentStatus"`
47802}
47803
47804// String returns the string representation.
47805//
47806// API parameter values that are decorated as "sensitive" in the API will not
47807// be included in the string output. The member name will be present, but the
47808// value will be replaced with "sensitive".
47809func (s PatchStatus) String() string {
47810	return awsutil.Prettify(s)
47811}
47812
47813// GoString returns the string representation.
47814//
47815// API parameter values that are decorated as "sensitive" in the API will not
47816// be included in the string output. The member name will be present, but the
47817// value will be replaced with "sensitive".
47818func (s PatchStatus) GoString() string {
47819	return s.String()
47820}
47821
47822// SetApprovalDate sets the ApprovalDate field's value.
47823func (s *PatchStatus) SetApprovalDate(v time.Time) *PatchStatus {
47824	s.ApprovalDate = &v
47825	return s
47826}
47827
47828// SetComplianceLevel sets the ComplianceLevel field's value.
47829func (s *PatchStatus) SetComplianceLevel(v string) *PatchStatus {
47830	s.ComplianceLevel = &v
47831	return s
47832}
47833
47834// SetDeploymentStatus sets the DeploymentStatus field's value.
47835func (s *PatchStatus) SetDeploymentStatus(v string) *PatchStatus {
47836	s.DeploymentStatus = &v
47837	return s
47838}
47839
47840// You specified more than the maximum number of allowed policies for the parameter.
47841// The maximum is 10.
47842type PoliciesLimitExceededException struct {
47843	_            struct{}                  `type:"structure"`
47844	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
47845
47846	Message_ *string `locationName:"message" type:"string"`
47847}
47848
47849// String returns the string representation.
47850//
47851// API parameter values that are decorated as "sensitive" in the API will not
47852// be included in the string output. The member name will be present, but the
47853// value will be replaced with "sensitive".
47854func (s PoliciesLimitExceededException) String() string {
47855	return awsutil.Prettify(s)
47856}
47857
47858// GoString returns the string representation.
47859//
47860// API parameter values that are decorated as "sensitive" in the API will not
47861// be included in the string output. The member name will be present, but the
47862// value will be replaced with "sensitive".
47863func (s PoliciesLimitExceededException) GoString() string {
47864	return s.String()
47865}
47866
47867func newErrorPoliciesLimitExceededException(v protocol.ResponseMetadata) error {
47868	return &PoliciesLimitExceededException{
47869		RespMetadata: v,
47870	}
47871}
47872
47873// Code returns the exception type name.
47874func (s *PoliciesLimitExceededException) Code() string {
47875	return "PoliciesLimitExceededException"
47876}
47877
47878// Message returns the exception's message.
47879func (s *PoliciesLimitExceededException) Message() string {
47880	if s.Message_ != nil {
47881		return *s.Message_
47882	}
47883	return ""
47884}
47885
47886// OrigErr always returns nil, satisfies awserr.Error interface.
47887func (s *PoliciesLimitExceededException) OrigErr() error {
47888	return nil
47889}
47890
47891func (s *PoliciesLimitExceededException) Error() string {
47892	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
47893}
47894
47895// Status code returns the HTTP status code for the request's response error.
47896func (s *PoliciesLimitExceededException) StatusCode() int {
47897	return s.RespMetadata.StatusCode
47898}
47899
47900// RequestID returns the service's response RequestID for request.
47901func (s *PoliciesLimitExceededException) RequestID() string {
47902	return s.RespMetadata.RequestID
47903}
47904
47905// An aggregate of step execution statuses displayed in the Amazon Web Services
47906// Systems Manager console for a multi-Region and multi-account Automation execution.
47907type ProgressCounters struct {
47908	_ struct{} `type:"structure"`
47909
47910	// The total number of steps that the system cancelled in all specified Amazon
47911	// Web Services Regions and Amazon Web Services accounts for the current Automation
47912	// execution.
47913	CancelledSteps *int64 `type:"integer"`
47914
47915	// The total number of steps that failed to run in all specified Amazon Web
47916	// Services Regions and Amazon Web Services accounts for the current Automation
47917	// execution.
47918	FailedSteps *int64 `type:"integer"`
47919
47920	// The total number of steps that successfully completed in all specified Amazon
47921	// Web Services Regions and Amazon Web Services accounts for the current Automation
47922	// execution.
47923	SuccessSteps *int64 `type:"integer"`
47924
47925	// The total number of steps that timed out in all specified Amazon Web Services
47926	// Regions and Amazon Web Services accounts for the current Automation execution.
47927	TimedOutSteps *int64 `type:"integer"`
47928
47929	// The total number of steps run in all specified Amazon Web Services Regions
47930	// and Amazon Web Services accounts for the current Automation execution.
47931	TotalSteps *int64 `type:"integer"`
47932}
47933
47934// String returns the string representation.
47935//
47936// API parameter values that are decorated as "sensitive" in the API will not
47937// be included in the string output. The member name will be present, but the
47938// value will be replaced with "sensitive".
47939func (s ProgressCounters) String() string {
47940	return awsutil.Prettify(s)
47941}
47942
47943// GoString returns the string representation.
47944//
47945// API parameter values that are decorated as "sensitive" in the API will not
47946// be included in the string output. The member name will be present, but the
47947// value will be replaced with "sensitive".
47948func (s ProgressCounters) GoString() string {
47949	return s.String()
47950}
47951
47952// SetCancelledSteps sets the CancelledSteps field's value.
47953func (s *ProgressCounters) SetCancelledSteps(v int64) *ProgressCounters {
47954	s.CancelledSteps = &v
47955	return s
47956}
47957
47958// SetFailedSteps sets the FailedSteps field's value.
47959func (s *ProgressCounters) SetFailedSteps(v int64) *ProgressCounters {
47960	s.FailedSteps = &v
47961	return s
47962}
47963
47964// SetSuccessSteps sets the SuccessSteps field's value.
47965func (s *ProgressCounters) SetSuccessSteps(v int64) *ProgressCounters {
47966	s.SuccessSteps = &v
47967	return s
47968}
47969
47970// SetTimedOutSteps sets the TimedOutSteps field's value.
47971func (s *ProgressCounters) SetTimedOutSteps(v int64) *ProgressCounters {
47972	s.TimedOutSteps = &v
47973	return s
47974}
47975
47976// SetTotalSteps sets the TotalSteps field's value.
47977func (s *ProgressCounters) SetTotalSteps(v int64) *ProgressCounters {
47978	s.TotalSteps = &v
47979	return s
47980}
47981
47982type PutComplianceItemsInput struct {
47983	_ struct{} `type:"structure"`
47984
47985	// Specify the compliance type. For example, specify Association (for a State
47986	// Manager association), Patch, or Custom:string.
47987	//
47988	// ComplianceType is a required field
47989	ComplianceType *string `min:"1" type:"string" required:"true"`
47990
47991	// A summary of the call execution that includes an execution ID, the type of
47992	// execution (for example, Command), and the date/time of the execution using
47993	// a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.
47994	//
47995	// ExecutionSummary is a required field
47996	ExecutionSummary *ComplianceExecutionSummary `type:"structure" required:"true"`
47997
47998	// MD5 or SHA-256 content hash. The content hash is used to determine if existing
47999	// information should be overwritten or ignored. If the content hashes match,
48000	// the request to put compliance information is ignored.
48001	ItemContentHash *string `type:"string"`
48002
48003	// Information about the compliance as defined by the resource type. For example,
48004	// for a patch compliance type, Items includes information about the PatchSeverity,
48005	// Classification, and so on.
48006	//
48007	// Items is a required field
48008	Items []*ComplianceItemEntry `type:"list" required:"true"`
48009
48010	// Specify an ID for this resource. For a managed instance, this is the instance
48011	// ID.
48012	//
48013	// ResourceId is a required field
48014	ResourceId *string `min:"1" type:"string" required:"true"`
48015
48016	// Specify the type of resource. ManagedInstance is currently the only supported
48017	// resource type.
48018	//
48019	// ResourceType is a required field
48020	ResourceType *string `min:"1" type:"string" required:"true"`
48021
48022	// The mode for uploading compliance items. You can specify COMPLETE or PARTIAL.
48023	// In COMPLETE mode, the system overwrites all existing compliance information
48024	// for the resource. You must provide a full list of compliance items each time
48025	// you send the request.
48026	//
48027	// In PARTIAL mode, the system overwrites compliance information for a specific
48028	// association. The association must be configured with SyncCompliance set to
48029	// MANUAL. By default, all requests use COMPLETE mode.
48030	//
48031	// This attribute is only valid for association compliance.
48032	UploadType *string `type:"string" enum:"ComplianceUploadType"`
48033}
48034
48035// String returns the string representation.
48036//
48037// API parameter values that are decorated as "sensitive" in the API will not
48038// be included in the string output. The member name will be present, but the
48039// value will be replaced with "sensitive".
48040func (s PutComplianceItemsInput) String() string {
48041	return awsutil.Prettify(s)
48042}
48043
48044// GoString returns the string representation.
48045//
48046// API parameter values that are decorated as "sensitive" in the API will not
48047// be included in the string output. The member name will be present, but the
48048// value will be replaced with "sensitive".
48049func (s PutComplianceItemsInput) GoString() string {
48050	return s.String()
48051}
48052
48053// Validate inspects the fields of the type to determine if they are valid.
48054func (s *PutComplianceItemsInput) Validate() error {
48055	invalidParams := request.ErrInvalidParams{Context: "PutComplianceItemsInput"}
48056	if s.ComplianceType == nil {
48057		invalidParams.Add(request.NewErrParamRequired("ComplianceType"))
48058	}
48059	if s.ComplianceType != nil && len(*s.ComplianceType) < 1 {
48060		invalidParams.Add(request.NewErrParamMinLen("ComplianceType", 1))
48061	}
48062	if s.ExecutionSummary == nil {
48063		invalidParams.Add(request.NewErrParamRequired("ExecutionSummary"))
48064	}
48065	if s.Items == nil {
48066		invalidParams.Add(request.NewErrParamRequired("Items"))
48067	}
48068	if s.ResourceId == nil {
48069		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
48070	}
48071	if s.ResourceId != nil && len(*s.ResourceId) < 1 {
48072		invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1))
48073	}
48074	if s.ResourceType == nil {
48075		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
48076	}
48077	if s.ResourceType != nil && len(*s.ResourceType) < 1 {
48078		invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
48079	}
48080	if s.ExecutionSummary != nil {
48081		if err := s.ExecutionSummary.Validate(); err != nil {
48082			invalidParams.AddNested("ExecutionSummary", err.(request.ErrInvalidParams))
48083		}
48084	}
48085	if s.Items != nil {
48086		for i, v := range s.Items {
48087			if v == nil {
48088				continue
48089			}
48090			if err := v.Validate(); err != nil {
48091				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
48092			}
48093		}
48094	}
48095
48096	if invalidParams.Len() > 0 {
48097		return invalidParams
48098	}
48099	return nil
48100}
48101
48102// SetComplianceType sets the ComplianceType field's value.
48103func (s *PutComplianceItemsInput) SetComplianceType(v string) *PutComplianceItemsInput {
48104	s.ComplianceType = &v
48105	return s
48106}
48107
48108// SetExecutionSummary sets the ExecutionSummary field's value.
48109func (s *PutComplianceItemsInput) SetExecutionSummary(v *ComplianceExecutionSummary) *PutComplianceItemsInput {
48110	s.ExecutionSummary = v
48111	return s
48112}
48113
48114// SetItemContentHash sets the ItemContentHash field's value.
48115func (s *PutComplianceItemsInput) SetItemContentHash(v string) *PutComplianceItemsInput {
48116	s.ItemContentHash = &v
48117	return s
48118}
48119
48120// SetItems sets the Items field's value.
48121func (s *PutComplianceItemsInput) SetItems(v []*ComplianceItemEntry) *PutComplianceItemsInput {
48122	s.Items = v
48123	return s
48124}
48125
48126// SetResourceId sets the ResourceId field's value.
48127func (s *PutComplianceItemsInput) SetResourceId(v string) *PutComplianceItemsInput {
48128	s.ResourceId = &v
48129	return s
48130}
48131
48132// SetResourceType sets the ResourceType field's value.
48133func (s *PutComplianceItemsInput) SetResourceType(v string) *PutComplianceItemsInput {
48134	s.ResourceType = &v
48135	return s
48136}
48137
48138// SetUploadType sets the UploadType field's value.
48139func (s *PutComplianceItemsInput) SetUploadType(v string) *PutComplianceItemsInput {
48140	s.UploadType = &v
48141	return s
48142}
48143
48144type PutComplianceItemsOutput struct {
48145	_ struct{} `type:"structure"`
48146}
48147
48148// String returns the string representation.
48149//
48150// API parameter values that are decorated as "sensitive" in the API will not
48151// be included in the string output. The member name will be present, but the
48152// value will be replaced with "sensitive".
48153func (s PutComplianceItemsOutput) String() string {
48154	return awsutil.Prettify(s)
48155}
48156
48157// GoString returns the string representation.
48158//
48159// API parameter values that are decorated as "sensitive" in the API will not
48160// be included in the string output. The member name will be present, but the
48161// value will be replaced with "sensitive".
48162func (s PutComplianceItemsOutput) GoString() string {
48163	return s.String()
48164}
48165
48166type PutInventoryInput struct {
48167	_ struct{} `type:"structure"`
48168
48169	// An instance ID where you want to add or update inventory items.
48170	//
48171	// InstanceId is a required field
48172	InstanceId *string `type:"string" required:"true"`
48173
48174	// The inventory items that you want to add or update on instances.
48175	//
48176	// Items is a required field
48177	Items []*InventoryItem `min:"1" type:"list" required:"true"`
48178}
48179
48180// String returns the string representation.
48181//
48182// API parameter values that are decorated as "sensitive" in the API will not
48183// be included in the string output. The member name will be present, but the
48184// value will be replaced with "sensitive".
48185func (s PutInventoryInput) String() string {
48186	return awsutil.Prettify(s)
48187}
48188
48189// GoString returns the string representation.
48190//
48191// API parameter values that are decorated as "sensitive" in the API will not
48192// be included in the string output. The member name will be present, but the
48193// value will be replaced with "sensitive".
48194func (s PutInventoryInput) GoString() string {
48195	return s.String()
48196}
48197
48198// Validate inspects the fields of the type to determine if they are valid.
48199func (s *PutInventoryInput) Validate() error {
48200	invalidParams := request.ErrInvalidParams{Context: "PutInventoryInput"}
48201	if s.InstanceId == nil {
48202		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
48203	}
48204	if s.Items == nil {
48205		invalidParams.Add(request.NewErrParamRequired("Items"))
48206	}
48207	if s.Items != nil && len(s.Items) < 1 {
48208		invalidParams.Add(request.NewErrParamMinLen("Items", 1))
48209	}
48210	if s.Items != nil {
48211		for i, v := range s.Items {
48212			if v == nil {
48213				continue
48214			}
48215			if err := v.Validate(); err != nil {
48216				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams))
48217			}
48218		}
48219	}
48220
48221	if invalidParams.Len() > 0 {
48222		return invalidParams
48223	}
48224	return nil
48225}
48226
48227// SetInstanceId sets the InstanceId field's value.
48228func (s *PutInventoryInput) SetInstanceId(v string) *PutInventoryInput {
48229	s.InstanceId = &v
48230	return s
48231}
48232
48233// SetItems sets the Items field's value.
48234func (s *PutInventoryInput) SetItems(v []*InventoryItem) *PutInventoryInput {
48235	s.Items = v
48236	return s
48237}
48238
48239type PutInventoryOutput struct {
48240	_ struct{} `type:"structure"`
48241
48242	// Information about the request.
48243	Message *string `type:"string"`
48244}
48245
48246// String returns the string representation.
48247//
48248// API parameter values that are decorated as "sensitive" in the API will not
48249// be included in the string output. The member name will be present, but the
48250// value will be replaced with "sensitive".
48251func (s PutInventoryOutput) String() string {
48252	return awsutil.Prettify(s)
48253}
48254
48255// GoString returns the string representation.
48256//
48257// API parameter values that are decorated as "sensitive" in the API will not
48258// be included in the string output. The member name will be present, but the
48259// value will be replaced with "sensitive".
48260func (s PutInventoryOutput) GoString() string {
48261	return s.String()
48262}
48263
48264// SetMessage sets the Message field's value.
48265func (s *PutInventoryOutput) SetMessage(v string) *PutInventoryOutput {
48266	s.Message = &v
48267	return s
48268}
48269
48270type PutParameterInput struct {
48271	_ struct{} `type:"structure"`
48272
48273	// A regular expression used to validate the parameter value. For example, for
48274	// String types with values restricted to numbers, you can specify the following:
48275	// AllowedPattern=^\d+$
48276	AllowedPattern *string `type:"string"`
48277
48278	// The data type for a String parameter. Supported data types include plain
48279	// text and Amazon Machine Image (AMI) IDs.
48280	//
48281	// The following data type values are supported.
48282	//
48283	//    * text
48284	//
48285	//    * aws:ec2:image
48286	//
48287	// When you create a String parameter and specify aws:ec2:image, Amazon Web
48288	// Services Systems Manager validates the parameter value is in the required
48289	// format, such as ami-12345abcdeEXAMPLE, and that the specified AMI is available
48290	// in your Amazon Web Services account. For more information, see Native parameter
48291	// support for Amazon Machine Image (AMI) IDs (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html)
48292	// in the Amazon Web Services Systems Manager User Guide.
48293	DataType *string `type:"string"`
48294
48295	// Information about the parameter that you want to add to the system. Optional
48296	// but recommended.
48297	//
48298	// Don't enter personally identifiable information in this field.
48299	Description *string `type:"string"`
48300
48301	// The Key Management Service (KMS) ID that you want to use to encrypt a parameter.
48302	// Either the default KMS key automatically assigned to your Amazon Web Services
48303	// account or a custom key. Required for parameters that use the SecureString
48304	// data type.
48305	//
48306	// If you don't specify a key ID, the system uses the default key associated
48307	// with your Amazon Web Services account.
48308	//
48309	//    * To use your default KMS key, choose the SecureString data type, and
48310	//    do not specify the Key ID when you create the parameter. The system automatically
48311	//    populates Key ID with your default KMS key.
48312	//
48313	//    * To use a custom KMS key, choose the SecureString data type with the
48314	//    Key ID parameter.
48315	KeyId *string `min:"1" type:"string"`
48316
48317	// The fully qualified name of the parameter that you want to add to the system.
48318	// The fully qualified name includes the complete hierarchy of the parameter
48319	// path and name. For parameters in a hierarchy, you must include a leading
48320	// forward slash character (/) when you create or reference a parameter. For
48321	// example: /Dev/DBServer/MySQL/db-string13
48322	//
48323	// Naming Constraints:
48324	//
48325	//    * Parameter names are case sensitive.
48326	//
48327	//    * A parameter name must be unique within an Amazon Web Services Region
48328	//
48329	//    * A parameter name can't be prefixed with "aws" or "ssm" (case-insensitive).
48330	//
48331	//    * Parameter names can include only the following symbols and letters:
48332	//    a-zA-Z0-9_.- In addition, the slash character ( / ) is used to delineate
48333	//    hierarchies in parameter names. For example: /Dev/Production/East/Project-ABC/MyParameter
48334	//
48335	//    * A parameter name can't include spaces.
48336	//
48337	//    * Parameter hierarchies are limited to a maximum depth of fifteen levels.
48338	//
48339	// For additional information about valid values for parameter names, see Creating
48340	// Systems Manager parameters (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html)
48341	// in the Amazon Web Services Systems Manager User Guide.
48342	//
48343	// The maximum length constraint listed below includes capacity for additional
48344	// system attributes that aren't part of the name. The maximum length for a
48345	// parameter name, including the full length of the parameter ARN, is 1011 characters.
48346	// For example, the length of the following parameter name is 65 characters,
48347	// not 20 characters:
48348	//
48349	// arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName
48350	//
48351	// Name is a required field
48352	Name *string `min:"1" type:"string" required:"true"`
48353
48354	// Overwrite an existing parameter. The default value is false.
48355	Overwrite *bool `type:"boolean"`
48356
48357	// One or more policies to apply to a parameter. This operation takes a JSON
48358	// array. Parameter Store, a capability of Amazon Web Services Systems Manager
48359	// supports the following policy types:
48360	//
48361	// Expiration: This policy deletes the parameter after it expires. When you
48362	// create the policy, you specify the expiration date. You can update the expiration
48363	// date and time by updating the policy. Updating the parameter doesn't affect
48364	// the expiration date and time. When the expiration time is reached, Parameter
48365	// Store deletes the parameter.
48366	//
48367	// ExpirationNotification: This policy triggers an event in Amazon CloudWatch
48368	// Events that notifies you about the expiration. By using this policy, you
48369	// can receive notification before or after the expiration time is reached,
48370	// in units of days or hours.
48371	//
48372	// NoChangeNotification: This policy triggers a CloudWatch Events event if a
48373	// parameter hasn't been modified for a specified period of time. This policy
48374	// type is useful when, for example, a secret needs to be changed within a period
48375	// of time, but it hasn't been changed.
48376	//
48377	// All existing policies are preserved until you send new policies or an empty
48378	// policy. For more information about parameter policies, see Assigning parameter
48379	// policies (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html).
48380	Policies *string `min:"1" type:"string"`
48381
48382	// Optional metadata that you assign to a resource. Tags enable you to categorize
48383	// a resource in different ways, such as by purpose, owner, or environment.
48384	// For example, you might want to tag a Systems Manager parameter to identify
48385	// the type of resource to which it applies, the environment, or the type of
48386	// configuration data referenced by the parameter. In this case, you could specify
48387	// the following key-value pairs:
48388	//
48389	//    * Key=Resource,Value=S3bucket
48390	//
48391	//    * Key=OS,Value=Windows
48392	//
48393	//    * Key=ParameterType,Value=LicenseKey
48394	//
48395	// To add tags to an existing Systems Manager parameter, use the AddTagsToResource
48396	// operation.
48397	Tags []*Tag `type:"list"`
48398
48399	// The parameter tier to assign to a parameter.
48400	//
48401	// Parameter Store offers a standard tier and an advanced tier for parameters.
48402	// Standard parameters have a content size limit of 4 KB and can't be configured
48403	// to use parameter policies. You can create a maximum of 10,000 standard parameters
48404	// for each Region in an Amazon Web Services account. Standard parameters are
48405	// offered at no additional cost.
48406	//
48407	// Advanced parameters have a content size limit of 8 KB and can be configured
48408	// to use parameter policies. You can create a maximum of 100,000 advanced parameters
48409	// for each Region in an Amazon Web Services account. Advanced parameters incur
48410	// a charge. For more information, see Standard and advanced parameter tiers
48411	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html)
48412	// in the Amazon Web Services Systems Manager User Guide.
48413	//
48414	// You can change a standard parameter to an advanced parameter any time. But
48415	// you can't revert an advanced parameter to a standard parameter. Reverting
48416	// an advanced parameter to a standard parameter would result in data loss because
48417	// the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting
48418	// would also remove any policies attached to the parameter. Lastly, advanced
48419	// parameters use a different form of encryption than standard parameters.
48420	//
48421	// If you no longer need an advanced parameter, or if you no longer want to
48422	// incur charges for an advanced parameter, you must delete it and recreate
48423	// it as a new standard parameter.
48424	//
48425	// Using the Default Tier Configuration
48426	//
48427	// In PutParameter requests, you can specify the tier to create the parameter
48428	// in. Whenever you specify a tier in the request, Parameter Store creates or
48429	// updates the parameter according to that request. However, if you don't specify
48430	// a tier in a request, Parameter Store assigns the tier based on the current
48431	// Parameter Store default tier configuration.
48432	//
48433	// The default tier when you begin using Parameter Store is the standard-parameter
48434	// tier. If you use the advanced-parameter tier, you can specify one of the
48435	// following as the default:
48436	//
48437	//    * Advanced: With this option, Parameter Store evaluates all requests as
48438	//    advanced parameters.
48439	//
48440	//    * Intelligent-Tiering: With this option, Parameter Store evaluates each
48441	//    request to determine if the parameter is standard or advanced. If the
48442	//    request doesn't include any options that require an advanced parameter,
48443	//    the parameter is created in the standard-parameter tier. If one or more
48444	//    options requiring an advanced parameter are included in the request, Parameter
48445	//    Store create a parameter in the advanced-parameter tier. This approach
48446	//    helps control your parameter-related costs by always creating standard
48447	//    parameters unless an advanced parameter is necessary.
48448	//
48449	// Options that require an advanced parameter include the following:
48450	//
48451	//    * The content size of the parameter is more than 4 KB.
48452	//
48453	//    * The parameter uses a parameter policy.
48454	//
48455	//    * More than 10,000 parameters already exist in your Amazon Web Services
48456	//    account in the current Amazon Web Services Region.
48457	//
48458	// For more information about configuring the default tier option, see Specifying
48459	// a default parameter tier (https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html)
48460	// in the Amazon Web Services Systems Manager User Guide.
48461	Tier *string `type:"string" enum:"ParameterTier"`
48462
48463	// The type of parameter that you want to add to the system.
48464	//
48465	// SecureString isn't currently supported for CloudFormation templates.
48466	//
48467	// Items in a StringList must be separated by a comma (,). You can't use other
48468	// punctuation or special character to escape items in the list. If you have
48469	// a parameter value that requires a comma, then use the String data type.
48470	//
48471	// Specifying a parameter type isn't required when updating a parameter. You
48472	// must specify a parameter type when creating a parameter.
48473	Type *string `type:"string" enum:"ParameterType"`
48474
48475	// The parameter value that you want to add to the system. Standard parameters
48476	// have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.
48477	//
48478	// Parameters can't be referenced or nested in the values of other parameters.
48479	// You can't include {{}} or {{ssm:parameter-name}} in a parameter value.
48480	//
48481	// Value is a sensitive parameter and its value will be
48482	// replaced with "sensitive" in string returned by PutParameterInput's
48483	// String and GoString methods.
48484	//
48485	// Value is a required field
48486	Value *string `type:"string" required:"true" sensitive:"true"`
48487}
48488
48489// String returns the string representation.
48490//
48491// API parameter values that are decorated as "sensitive" in the API will not
48492// be included in the string output. The member name will be present, but the
48493// value will be replaced with "sensitive".
48494func (s PutParameterInput) String() string {
48495	return awsutil.Prettify(s)
48496}
48497
48498// GoString returns the string representation.
48499//
48500// API parameter values that are decorated as "sensitive" in the API will not
48501// be included in the string output. The member name will be present, but the
48502// value will be replaced with "sensitive".
48503func (s PutParameterInput) GoString() string {
48504	return s.String()
48505}
48506
48507// Validate inspects the fields of the type to determine if they are valid.
48508func (s *PutParameterInput) Validate() error {
48509	invalidParams := request.ErrInvalidParams{Context: "PutParameterInput"}
48510	if s.KeyId != nil && len(*s.KeyId) < 1 {
48511		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
48512	}
48513	if s.Name == nil {
48514		invalidParams.Add(request.NewErrParamRequired("Name"))
48515	}
48516	if s.Name != nil && len(*s.Name) < 1 {
48517		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
48518	}
48519	if s.Policies != nil && len(*s.Policies) < 1 {
48520		invalidParams.Add(request.NewErrParamMinLen("Policies", 1))
48521	}
48522	if s.Value == nil {
48523		invalidParams.Add(request.NewErrParamRequired("Value"))
48524	}
48525	if s.Tags != nil {
48526		for i, v := range s.Tags {
48527			if v == nil {
48528				continue
48529			}
48530			if err := v.Validate(); err != nil {
48531				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
48532			}
48533		}
48534	}
48535
48536	if invalidParams.Len() > 0 {
48537		return invalidParams
48538	}
48539	return nil
48540}
48541
48542// SetAllowedPattern sets the AllowedPattern field's value.
48543func (s *PutParameterInput) SetAllowedPattern(v string) *PutParameterInput {
48544	s.AllowedPattern = &v
48545	return s
48546}
48547
48548// SetDataType sets the DataType field's value.
48549func (s *PutParameterInput) SetDataType(v string) *PutParameterInput {
48550	s.DataType = &v
48551	return s
48552}
48553
48554// SetDescription sets the Description field's value.
48555func (s *PutParameterInput) SetDescription(v string) *PutParameterInput {
48556	s.Description = &v
48557	return s
48558}
48559
48560// SetKeyId sets the KeyId field's value.
48561func (s *PutParameterInput) SetKeyId(v string) *PutParameterInput {
48562	s.KeyId = &v
48563	return s
48564}
48565
48566// SetName sets the Name field's value.
48567func (s *PutParameterInput) SetName(v string) *PutParameterInput {
48568	s.Name = &v
48569	return s
48570}
48571
48572// SetOverwrite sets the Overwrite field's value.
48573func (s *PutParameterInput) SetOverwrite(v bool) *PutParameterInput {
48574	s.Overwrite = &v
48575	return s
48576}
48577
48578// SetPolicies sets the Policies field's value.
48579func (s *PutParameterInput) SetPolicies(v string) *PutParameterInput {
48580	s.Policies = &v
48581	return s
48582}
48583
48584// SetTags sets the Tags field's value.
48585func (s *PutParameterInput) SetTags(v []*Tag) *PutParameterInput {
48586	s.Tags = v
48587	return s
48588}
48589
48590// SetTier sets the Tier field's value.
48591func (s *PutParameterInput) SetTier(v string) *PutParameterInput {
48592	s.Tier = &v
48593	return s
48594}
48595
48596// SetType sets the Type field's value.
48597func (s *PutParameterInput) SetType(v string) *PutParameterInput {
48598	s.Type = &v
48599	return s
48600}
48601
48602// SetValue sets the Value field's value.
48603func (s *PutParameterInput) SetValue(v string) *PutParameterInput {
48604	s.Value = &v
48605	return s
48606}
48607
48608type PutParameterOutput struct {
48609	_ struct{} `type:"structure"`
48610
48611	// The tier assigned to the parameter.
48612	Tier *string `type:"string" enum:"ParameterTier"`
48613
48614	// The new version number of a parameter. If you edit a parameter value, Parameter
48615	// Store automatically creates a new version and assigns this new version a
48616	// unique ID. You can reference a parameter version ID in API operations or
48617	// in Systems Manager documents (SSM documents). By default, if you don't specify
48618	// a specific version, the system returns the latest parameter value when a
48619	// parameter is called.
48620	Version *int64 `type:"long"`
48621}
48622
48623// String returns the string representation.
48624//
48625// API parameter values that are decorated as "sensitive" in the API will not
48626// be included in the string output. The member name will be present, but the
48627// value will be replaced with "sensitive".
48628func (s PutParameterOutput) String() string {
48629	return awsutil.Prettify(s)
48630}
48631
48632// GoString returns the string representation.
48633//
48634// API parameter values that are decorated as "sensitive" in the API will not
48635// be included in the string output. The member name will be present, but the
48636// value will be replaced with "sensitive".
48637func (s PutParameterOutput) GoString() string {
48638	return s.String()
48639}
48640
48641// SetTier sets the Tier field's value.
48642func (s *PutParameterOutput) SetTier(v string) *PutParameterOutput {
48643	s.Tier = &v
48644	return s
48645}
48646
48647// SetVersion sets the Version field's value.
48648func (s *PutParameterOutput) SetVersion(v int64) *PutParameterOutput {
48649	s.Version = &v
48650	return s
48651}
48652
48653type RegisterDefaultPatchBaselineInput struct {
48654	_ struct{} `type:"structure"`
48655
48656	// The ID of the patch baseline that should be the default patch baseline.
48657	//
48658	// BaselineId is a required field
48659	BaselineId *string `min:"20" type:"string" required:"true"`
48660}
48661
48662// String returns the string representation.
48663//
48664// API parameter values that are decorated as "sensitive" in the API will not
48665// be included in the string output. The member name will be present, but the
48666// value will be replaced with "sensitive".
48667func (s RegisterDefaultPatchBaselineInput) String() string {
48668	return awsutil.Prettify(s)
48669}
48670
48671// GoString returns the string representation.
48672//
48673// API parameter values that are decorated as "sensitive" in the API will not
48674// be included in the string output. The member name will be present, but the
48675// value will be replaced with "sensitive".
48676func (s RegisterDefaultPatchBaselineInput) GoString() string {
48677	return s.String()
48678}
48679
48680// Validate inspects the fields of the type to determine if they are valid.
48681func (s *RegisterDefaultPatchBaselineInput) Validate() error {
48682	invalidParams := request.ErrInvalidParams{Context: "RegisterDefaultPatchBaselineInput"}
48683	if s.BaselineId == nil {
48684		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
48685	}
48686	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
48687		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
48688	}
48689
48690	if invalidParams.Len() > 0 {
48691		return invalidParams
48692	}
48693	return nil
48694}
48695
48696// SetBaselineId sets the BaselineId field's value.
48697func (s *RegisterDefaultPatchBaselineInput) SetBaselineId(v string) *RegisterDefaultPatchBaselineInput {
48698	s.BaselineId = &v
48699	return s
48700}
48701
48702type RegisterDefaultPatchBaselineOutput struct {
48703	_ struct{} `type:"structure"`
48704
48705	// The ID of the default patch baseline.
48706	BaselineId *string `min:"20" type:"string"`
48707}
48708
48709// String returns the string representation.
48710//
48711// API parameter values that are decorated as "sensitive" in the API will not
48712// be included in the string output. The member name will be present, but the
48713// value will be replaced with "sensitive".
48714func (s RegisterDefaultPatchBaselineOutput) String() string {
48715	return awsutil.Prettify(s)
48716}
48717
48718// GoString returns the string representation.
48719//
48720// API parameter values that are decorated as "sensitive" in the API will not
48721// be included in the string output. The member name will be present, but the
48722// value will be replaced with "sensitive".
48723func (s RegisterDefaultPatchBaselineOutput) GoString() string {
48724	return s.String()
48725}
48726
48727// SetBaselineId sets the BaselineId field's value.
48728func (s *RegisterDefaultPatchBaselineOutput) SetBaselineId(v string) *RegisterDefaultPatchBaselineOutput {
48729	s.BaselineId = &v
48730	return s
48731}
48732
48733type RegisterPatchBaselineForPatchGroupInput struct {
48734	_ struct{} `type:"structure"`
48735
48736	// The ID of the patch baseline to register with the patch group.
48737	//
48738	// BaselineId is a required field
48739	BaselineId *string `min:"20" type:"string" required:"true"`
48740
48741	// The name of the patch group to be registered with the patch baseline.
48742	//
48743	// PatchGroup is a required field
48744	PatchGroup *string `min:"1" type:"string" required:"true"`
48745}
48746
48747// String returns the string representation.
48748//
48749// API parameter values that are decorated as "sensitive" in the API will not
48750// be included in the string output. The member name will be present, but the
48751// value will be replaced with "sensitive".
48752func (s RegisterPatchBaselineForPatchGroupInput) String() string {
48753	return awsutil.Prettify(s)
48754}
48755
48756// GoString returns the string representation.
48757//
48758// API parameter values that are decorated as "sensitive" in the API will not
48759// be included in the string output. The member name will be present, but the
48760// value will be replaced with "sensitive".
48761func (s RegisterPatchBaselineForPatchGroupInput) GoString() string {
48762	return s.String()
48763}
48764
48765// Validate inspects the fields of the type to determine if they are valid.
48766func (s *RegisterPatchBaselineForPatchGroupInput) Validate() error {
48767	invalidParams := request.ErrInvalidParams{Context: "RegisterPatchBaselineForPatchGroupInput"}
48768	if s.BaselineId == nil {
48769		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
48770	}
48771	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
48772		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
48773	}
48774	if s.PatchGroup == nil {
48775		invalidParams.Add(request.NewErrParamRequired("PatchGroup"))
48776	}
48777	if s.PatchGroup != nil && len(*s.PatchGroup) < 1 {
48778		invalidParams.Add(request.NewErrParamMinLen("PatchGroup", 1))
48779	}
48780
48781	if invalidParams.Len() > 0 {
48782		return invalidParams
48783	}
48784	return nil
48785}
48786
48787// SetBaselineId sets the BaselineId field's value.
48788func (s *RegisterPatchBaselineForPatchGroupInput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupInput {
48789	s.BaselineId = &v
48790	return s
48791}
48792
48793// SetPatchGroup sets the PatchGroup field's value.
48794func (s *RegisterPatchBaselineForPatchGroupInput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupInput {
48795	s.PatchGroup = &v
48796	return s
48797}
48798
48799type RegisterPatchBaselineForPatchGroupOutput struct {
48800	_ struct{} `type:"structure"`
48801
48802	// The ID of the patch baseline the patch group was registered with.
48803	BaselineId *string `min:"20" type:"string"`
48804
48805	// The name of the patch group registered with the patch baseline.
48806	PatchGroup *string `min:"1" type:"string"`
48807}
48808
48809// String returns the string representation.
48810//
48811// API parameter values that are decorated as "sensitive" in the API will not
48812// be included in the string output. The member name will be present, but the
48813// value will be replaced with "sensitive".
48814func (s RegisterPatchBaselineForPatchGroupOutput) String() string {
48815	return awsutil.Prettify(s)
48816}
48817
48818// GoString returns the string representation.
48819//
48820// API parameter values that are decorated as "sensitive" in the API will not
48821// be included in the string output. The member name will be present, but the
48822// value will be replaced with "sensitive".
48823func (s RegisterPatchBaselineForPatchGroupOutput) GoString() string {
48824	return s.String()
48825}
48826
48827// SetBaselineId sets the BaselineId field's value.
48828func (s *RegisterPatchBaselineForPatchGroupOutput) SetBaselineId(v string) *RegisterPatchBaselineForPatchGroupOutput {
48829	s.BaselineId = &v
48830	return s
48831}
48832
48833// SetPatchGroup sets the PatchGroup field's value.
48834func (s *RegisterPatchBaselineForPatchGroupOutput) SetPatchGroup(v string) *RegisterPatchBaselineForPatchGroupOutput {
48835	s.PatchGroup = &v
48836	return s
48837}
48838
48839type RegisterTargetWithMaintenanceWindowInput struct {
48840	_ struct{} `type:"structure"`
48841
48842	// User-provided idempotency token.
48843	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
48844
48845	// An optional description for the target.
48846	//
48847	// Description is a sensitive parameter and its value will be
48848	// replaced with "sensitive" in string returned by RegisterTargetWithMaintenanceWindowInput's
48849	// String and GoString methods.
48850	Description *string `min:"1" type:"string" sensitive:"true"`
48851
48852	// An optional name for the target.
48853	Name *string `min:"3" type:"string"`
48854
48855	// User-provided value that will be included in any Amazon CloudWatch Events
48856	// events raised while running tasks for these targets in this maintenance window.
48857	//
48858	// OwnerInformation is a sensitive parameter and its value will be
48859	// replaced with "sensitive" in string returned by RegisterTargetWithMaintenanceWindowInput's
48860	// String and GoString methods.
48861	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
48862
48863	// The type of target being registered with the maintenance window.
48864	//
48865	// ResourceType is a required field
48866	ResourceType *string `type:"string" required:"true" enum:"MaintenanceWindowResourceType"`
48867
48868	// The targets to register with the maintenance window. In other words, the
48869	// instances to run commands on when the maintenance window runs.
48870	//
48871	// If a single maintenance window task is registered with multiple targets,
48872	// its task invocations occur sequentially and not in parallel. If your task
48873	// must run on multiple targets at the same time, register a task for each target
48874	// individually and assign each task the same priority level.
48875	//
48876	// You can specify targets using instance IDs, resource group names, or tags
48877	// that have been applied to instances.
48878	//
48879	// Example 1: Specify instance IDs
48880	//
48881	// Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
48882	//
48883	// Example 2: Use tag key-pairs applied to instances
48884	//
48885	// Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
48886	//
48887	// Example 3: Use tag-keys applied to instances
48888	//
48889	// Key=tag-key,Values=my-tag-key-1,my-tag-key-2
48890	//
48891	// Example 4: Use resource group names
48892	//
48893	// Key=resource-groups:Name,Values=resource-group-name
48894	//
48895	// Example 5: Use filters for resource group types
48896	//
48897	// Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
48898	//
48899	// For Key=resource-groups:ResourceTypeFilters, specify resource types in the
48900	// following format
48901	//
48902	// Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
48903	//
48904	// For more information about these examples formats, including the best use
48905	// case for each one, see Examples: Register targets with a maintenance window
48906	// (https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html)
48907	// in the Amazon Web Services Systems Manager User Guide.
48908	//
48909	// Targets is a required field
48910	Targets []*Target `type:"list" required:"true"`
48911
48912	// The ID of the maintenance window the target should be registered with.
48913	//
48914	// WindowId is a required field
48915	WindowId *string `min:"20" type:"string" required:"true"`
48916}
48917
48918// String returns the string representation.
48919//
48920// API parameter values that are decorated as "sensitive" in the API will not
48921// be included in the string output. The member name will be present, but the
48922// value will be replaced with "sensitive".
48923func (s RegisterTargetWithMaintenanceWindowInput) String() string {
48924	return awsutil.Prettify(s)
48925}
48926
48927// GoString returns the string representation.
48928//
48929// API parameter values that are decorated as "sensitive" in the API will not
48930// be included in the string output. The member name will be present, but the
48931// value will be replaced with "sensitive".
48932func (s RegisterTargetWithMaintenanceWindowInput) GoString() string {
48933	return s.String()
48934}
48935
48936// Validate inspects the fields of the type to determine if they are valid.
48937func (s *RegisterTargetWithMaintenanceWindowInput) Validate() error {
48938	invalidParams := request.ErrInvalidParams{Context: "RegisterTargetWithMaintenanceWindowInput"}
48939	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
48940		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
48941	}
48942	if s.Description != nil && len(*s.Description) < 1 {
48943		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
48944	}
48945	if s.Name != nil && len(*s.Name) < 3 {
48946		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
48947	}
48948	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
48949		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
48950	}
48951	if s.ResourceType == nil {
48952		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
48953	}
48954	if s.Targets == nil {
48955		invalidParams.Add(request.NewErrParamRequired("Targets"))
48956	}
48957	if s.WindowId == nil {
48958		invalidParams.Add(request.NewErrParamRequired("WindowId"))
48959	}
48960	if s.WindowId != nil && len(*s.WindowId) < 20 {
48961		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
48962	}
48963	if s.Targets != nil {
48964		for i, v := range s.Targets {
48965			if v == nil {
48966				continue
48967			}
48968			if err := v.Validate(); err != nil {
48969				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
48970			}
48971		}
48972	}
48973
48974	if invalidParams.Len() > 0 {
48975		return invalidParams
48976	}
48977	return nil
48978}
48979
48980// SetClientToken sets the ClientToken field's value.
48981func (s *RegisterTargetWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTargetWithMaintenanceWindowInput {
48982	s.ClientToken = &v
48983	return s
48984}
48985
48986// SetDescription sets the Description field's value.
48987func (s *RegisterTargetWithMaintenanceWindowInput) SetDescription(v string) *RegisterTargetWithMaintenanceWindowInput {
48988	s.Description = &v
48989	return s
48990}
48991
48992// SetName sets the Name field's value.
48993func (s *RegisterTargetWithMaintenanceWindowInput) SetName(v string) *RegisterTargetWithMaintenanceWindowInput {
48994	s.Name = &v
48995	return s
48996}
48997
48998// SetOwnerInformation sets the OwnerInformation field's value.
48999func (s *RegisterTargetWithMaintenanceWindowInput) SetOwnerInformation(v string) *RegisterTargetWithMaintenanceWindowInput {
49000	s.OwnerInformation = &v
49001	return s
49002}
49003
49004// SetResourceType sets the ResourceType field's value.
49005func (s *RegisterTargetWithMaintenanceWindowInput) SetResourceType(v string) *RegisterTargetWithMaintenanceWindowInput {
49006	s.ResourceType = &v
49007	return s
49008}
49009
49010// SetTargets sets the Targets field's value.
49011func (s *RegisterTargetWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTargetWithMaintenanceWindowInput {
49012	s.Targets = v
49013	return s
49014}
49015
49016// SetWindowId sets the WindowId field's value.
49017func (s *RegisterTargetWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTargetWithMaintenanceWindowInput {
49018	s.WindowId = &v
49019	return s
49020}
49021
49022type RegisterTargetWithMaintenanceWindowOutput struct {
49023	_ struct{} `type:"structure"`
49024
49025	// The ID of the target definition in this maintenance window.
49026	WindowTargetId *string `min:"36" type:"string"`
49027}
49028
49029// String returns the string representation.
49030//
49031// API parameter values that are decorated as "sensitive" in the API will not
49032// be included in the string output. The member name will be present, but the
49033// value will be replaced with "sensitive".
49034func (s RegisterTargetWithMaintenanceWindowOutput) String() string {
49035	return awsutil.Prettify(s)
49036}
49037
49038// GoString returns the string representation.
49039//
49040// API parameter values that are decorated as "sensitive" in the API will not
49041// be included in the string output. The member name will be present, but the
49042// value will be replaced with "sensitive".
49043func (s RegisterTargetWithMaintenanceWindowOutput) GoString() string {
49044	return s.String()
49045}
49046
49047// SetWindowTargetId sets the WindowTargetId field's value.
49048func (s *RegisterTargetWithMaintenanceWindowOutput) SetWindowTargetId(v string) *RegisterTargetWithMaintenanceWindowOutput {
49049	s.WindowTargetId = &v
49050	return s
49051}
49052
49053type RegisterTaskWithMaintenanceWindowInput struct {
49054	_ struct{} `type:"structure"`
49055
49056	// User-provided idempotency token.
49057	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
49058
49059	// Indicates whether tasks should continue to run after the cutoff time specified
49060	// in the maintenance windows is reached.
49061	//
49062	//    * CONTINUE_TASK: When the cutoff time is reached, any tasks that are running
49063	//    continue. The default value.
49064	//
49065	//    * CANCEL_TASK: For Automation, Lambda, Step Functions tasks: When the
49066	//    cutoff time is reached, any task invocations that are already running
49067	//    continue, but no new task invocations are started. For Run Command tasks:
49068	//    When the cutoff time is reached, the system sends a CancelCommand operation
49069	//    that attempts to cancel the command associated with the task. However,
49070	//    there is no guarantee that the command will be terminated and the underlying
49071	//    process stopped. The status for tasks that are not completed is TIMED_OUT.
49072	CutoffBehavior *string `type:"string" enum:"MaintenanceWindowTaskCutoffBehavior"`
49073
49074	// An optional description for the task.
49075	//
49076	// Description is a sensitive parameter and its value will be
49077	// replaced with "sensitive" in string returned by RegisterTaskWithMaintenanceWindowInput's
49078	// String and GoString methods.
49079	Description *string `min:"1" type:"string" sensitive:"true"`
49080
49081	// A structure containing information about an Amazon Simple Storage Service
49082	// (Amazon S3) bucket to write instance-level logs to.
49083	//
49084	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
49085	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
49086	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
49087	// information about how Amazon Web Services Systems Manager handles these options
49088	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
49089	LoggingInfo *LoggingInfo `type:"structure"`
49090
49091	// The maximum number of targets this task can be run for in parallel.
49092	//
49093	// For maintenance window tasks without a target specified, you can't supply
49094	// a value for this option. Instead, the system inserts a placeholder value
49095	// of 1. This value doesn't affect the running of your task.
49096	MaxConcurrency *string `min:"1" type:"string"`
49097
49098	// The maximum number of errors allowed before this task stops being scheduled.
49099	//
49100	// For maintenance window tasks without a target specified, you can't supply
49101	// a value for this option. Instead, the system inserts a placeholder value
49102	// of 1. This value doesn't affect the running of your task.
49103	MaxErrors *string `min:"1" type:"string"`
49104
49105	// An optional name for the task.
49106	Name *string `min:"3" type:"string"`
49107
49108	// The priority of the task in the maintenance window, the lower the number
49109	// the higher the priority. Tasks in a maintenance window are scheduled in priority
49110	// order with tasks that have the same priority scheduled in parallel.
49111	Priority *int64 `type:"integer"`
49112
49113	// The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services
49114	// Systems Manager to assume when running a maintenance window task. If you
49115	// do not specify a service role ARN, Systems Manager uses your account's service-linked
49116	// role. If no service-linked role for Systems Manager exists in your account,
49117	// it is created when you run RegisterTaskWithMaintenanceWindow.
49118	//
49119	// For more information, see the following topics in the in the Amazon Web Services
49120	// Systems Manager User Guide:
49121	//
49122	//    * Using service-linked roles for Systems Manager (https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
49123	//
49124	//    * Should I use a service-linked role or a custom service role to run maintenance
49125	//    window tasks? (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
49126	ServiceRoleArn *string `type:"string"`
49127
49128	// The targets (either instances or maintenance window targets).
49129	//
49130	// One or more targets must be specified for maintenance window Run Command-type
49131	// tasks. Depending on the task, targets are optional for other maintenance
49132	// window task types (Automation, Lambda, and Step Functions). For more information
49133	// about running tasks that don't specify targets, see Registering maintenance
49134	// window tasks without targets (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html)
49135	// in the Amazon Web Services Systems Manager User Guide.
49136	//
49137	// Specify instances using the following format:
49138	//
49139	// Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>
49140	//
49141	// Specify maintenance window targets using the following format:
49142	//
49143	// Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2>
49144	Targets []*Target `type:"list"`
49145
49146	// The ARN of the task to run.
49147	//
49148	// TaskArn is a required field
49149	TaskArn *string `min:"1" type:"string" required:"true"`
49150
49151	// The parameters that the task should use during execution. Populate only the
49152	// fields that match the task type. All other fields should be empty.
49153	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
49154
49155	// The parameters that should be passed to the task when it is run.
49156	//
49157	// TaskParameters has been deprecated. To specify parameters to pass to a task
49158	// when it runs, instead use the Parameters option in the TaskInvocationParameters
49159	// structure. For information about how Systems Manager handles these options
49160	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
49161	//
49162	// TaskParameters is a sensitive parameter and its value will be
49163	// replaced with "sensitive" in string returned by RegisterTaskWithMaintenanceWindowInput's
49164	// String and GoString methods.
49165	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
49166
49167	// The type of task being registered.
49168	//
49169	// TaskType is a required field
49170	TaskType *string `type:"string" required:"true" enum:"MaintenanceWindowTaskType"`
49171
49172	// The ID of the maintenance window the task should be added to.
49173	//
49174	// WindowId is a required field
49175	WindowId *string `min:"20" type:"string" required:"true"`
49176}
49177
49178// String returns the string representation.
49179//
49180// API parameter values that are decorated as "sensitive" in the API will not
49181// be included in the string output. The member name will be present, but the
49182// value will be replaced with "sensitive".
49183func (s RegisterTaskWithMaintenanceWindowInput) String() string {
49184	return awsutil.Prettify(s)
49185}
49186
49187// GoString returns the string representation.
49188//
49189// API parameter values that are decorated as "sensitive" in the API will not
49190// be included in the string output. The member name will be present, but the
49191// value will be replaced with "sensitive".
49192func (s RegisterTaskWithMaintenanceWindowInput) GoString() string {
49193	return s.String()
49194}
49195
49196// Validate inspects the fields of the type to determine if they are valid.
49197func (s *RegisterTaskWithMaintenanceWindowInput) Validate() error {
49198	invalidParams := request.ErrInvalidParams{Context: "RegisterTaskWithMaintenanceWindowInput"}
49199	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
49200		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
49201	}
49202	if s.Description != nil && len(*s.Description) < 1 {
49203		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
49204	}
49205	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
49206		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
49207	}
49208	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
49209		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
49210	}
49211	if s.Name != nil && len(*s.Name) < 3 {
49212		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
49213	}
49214	if s.TaskArn == nil {
49215		invalidParams.Add(request.NewErrParamRequired("TaskArn"))
49216	}
49217	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
49218		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
49219	}
49220	if s.TaskType == nil {
49221		invalidParams.Add(request.NewErrParamRequired("TaskType"))
49222	}
49223	if s.WindowId == nil {
49224		invalidParams.Add(request.NewErrParamRequired("WindowId"))
49225	}
49226	if s.WindowId != nil && len(*s.WindowId) < 20 {
49227		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
49228	}
49229	if s.LoggingInfo != nil {
49230		if err := s.LoggingInfo.Validate(); err != nil {
49231			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
49232		}
49233	}
49234	if s.Targets != nil {
49235		for i, v := range s.Targets {
49236			if v == nil {
49237				continue
49238			}
49239			if err := v.Validate(); err != nil {
49240				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
49241			}
49242		}
49243	}
49244	if s.TaskInvocationParameters != nil {
49245		if err := s.TaskInvocationParameters.Validate(); err != nil {
49246			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
49247		}
49248	}
49249
49250	if invalidParams.Len() > 0 {
49251		return invalidParams
49252	}
49253	return nil
49254}
49255
49256// SetClientToken sets the ClientToken field's value.
49257func (s *RegisterTaskWithMaintenanceWindowInput) SetClientToken(v string) *RegisterTaskWithMaintenanceWindowInput {
49258	s.ClientToken = &v
49259	return s
49260}
49261
49262// SetCutoffBehavior sets the CutoffBehavior field's value.
49263func (s *RegisterTaskWithMaintenanceWindowInput) SetCutoffBehavior(v string) *RegisterTaskWithMaintenanceWindowInput {
49264	s.CutoffBehavior = &v
49265	return s
49266}
49267
49268// SetDescription sets the Description field's value.
49269func (s *RegisterTaskWithMaintenanceWindowInput) SetDescription(v string) *RegisterTaskWithMaintenanceWindowInput {
49270	s.Description = &v
49271	return s
49272}
49273
49274// SetLoggingInfo sets the LoggingInfo field's value.
49275func (s *RegisterTaskWithMaintenanceWindowInput) SetLoggingInfo(v *LoggingInfo) *RegisterTaskWithMaintenanceWindowInput {
49276	s.LoggingInfo = v
49277	return s
49278}
49279
49280// SetMaxConcurrency sets the MaxConcurrency field's value.
49281func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxConcurrency(v string) *RegisterTaskWithMaintenanceWindowInput {
49282	s.MaxConcurrency = &v
49283	return s
49284}
49285
49286// SetMaxErrors sets the MaxErrors field's value.
49287func (s *RegisterTaskWithMaintenanceWindowInput) SetMaxErrors(v string) *RegisterTaskWithMaintenanceWindowInput {
49288	s.MaxErrors = &v
49289	return s
49290}
49291
49292// SetName sets the Name field's value.
49293func (s *RegisterTaskWithMaintenanceWindowInput) SetName(v string) *RegisterTaskWithMaintenanceWindowInput {
49294	s.Name = &v
49295	return s
49296}
49297
49298// SetPriority sets the Priority field's value.
49299func (s *RegisterTaskWithMaintenanceWindowInput) SetPriority(v int64) *RegisterTaskWithMaintenanceWindowInput {
49300	s.Priority = &v
49301	return s
49302}
49303
49304// SetServiceRoleArn sets the ServiceRoleArn field's value.
49305func (s *RegisterTaskWithMaintenanceWindowInput) SetServiceRoleArn(v string) *RegisterTaskWithMaintenanceWindowInput {
49306	s.ServiceRoleArn = &v
49307	return s
49308}
49309
49310// SetTargets sets the Targets field's value.
49311func (s *RegisterTaskWithMaintenanceWindowInput) SetTargets(v []*Target) *RegisterTaskWithMaintenanceWindowInput {
49312	s.Targets = v
49313	return s
49314}
49315
49316// SetTaskArn sets the TaskArn field's value.
49317func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskArn(v string) *RegisterTaskWithMaintenanceWindowInput {
49318	s.TaskArn = &v
49319	return s
49320}
49321
49322// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
49323func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *RegisterTaskWithMaintenanceWindowInput {
49324	s.TaskInvocationParameters = v
49325	return s
49326}
49327
49328// SetTaskParameters sets the TaskParameters field's value.
49329func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *RegisterTaskWithMaintenanceWindowInput {
49330	s.TaskParameters = v
49331	return s
49332}
49333
49334// SetTaskType sets the TaskType field's value.
49335func (s *RegisterTaskWithMaintenanceWindowInput) SetTaskType(v string) *RegisterTaskWithMaintenanceWindowInput {
49336	s.TaskType = &v
49337	return s
49338}
49339
49340// SetWindowId sets the WindowId field's value.
49341func (s *RegisterTaskWithMaintenanceWindowInput) SetWindowId(v string) *RegisterTaskWithMaintenanceWindowInput {
49342	s.WindowId = &v
49343	return s
49344}
49345
49346type RegisterTaskWithMaintenanceWindowOutput struct {
49347	_ struct{} `type:"structure"`
49348
49349	// The ID of the task in the maintenance window.
49350	WindowTaskId *string `min:"36" type:"string"`
49351}
49352
49353// String returns the string representation.
49354//
49355// API parameter values that are decorated as "sensitive" in the API will not
49356// be included in the string output. The member name will be present, but the
49357// value will be replaced with "sensitive".
49358func (s RegisterTaskWithMaintenanceWindowOutput) String() string {
49359	return awsutil.Prettify(s)
49360}
49361
49362// GoString returns the string representation.
49363//
49364// API parameter values that are decorated as "sensitive" in the API will not
49365// be included in the string output. The member name will be present, but the
49366// value will be replaced with "sensitive".
49367func (s RegisterTaskWithMaintenanceWindowOutput) GoString() string {
49368	return s.String()
49369}
49370
49371// SetWindowTaskId sets the WindowTaskId field's value.
49372func (s *RegisterTaskWithMaintenanceWindowOutput) SetWindowTaskId(v string) *RegisterTaskWithMaintenanceWindowOutput {
49373	s.WindowTaskId = &v
49374	return s
49375}
49376
49377// An OpsItems that shares something in common with the current OpsItem. For
49378// example, related OpsItems can include OpsItems with similar error messages,
49379// impacted resources, or statuses for the impacted resource.
49380type RelatedOpsItem struct {
49381	_ struct{} `type:"structure"`
49382
49383	// The ID of an OpsItem related to the current OpsItem.
49384	//
49385	// OpsItemId is a required field
49386	OpsItemId *string `type:"string" required:"true"`
49387}
49388
49389// String returns the string representation.
49390//
49391// API parameter values that are decorated as "sensitive" in the API will not
49392// be included in the string output. The member name will be present, but the
49393// value will be replaced with "sensitive".
49394func (s RelatedOpsItem) String() string {
49395	return awsutil.Prettify(s)
49396}
49397
49398// GoString returns the string representation.
49399//
49400// API parameter values that are decorated as "sensitive" in the API will not
49401// be included in the string output. The member name will be present, but the
49402// value will be replaced with "sensitive".
49403func (s RelatedOpsItem) GoString() string {
49404	return s.String()
49405}
49406
49407// Validate inspects the fields of the type to determine if they are valid.
49408func (s *RelatedOpsItem) Validate() error {
49409	invalidParams := request.ErrInvalidParams{Context: "RelatedOpsItem"}
49410	if s.OpsItemId == nil {
49411		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
49412	}
49413
49414	if invalidParams.Len() > 0 {
49415		return invalidParams
49416	}
49417	return nil
49418}
49419
49420// SetOpsItemId sets the OpsItemId field's value.
49421func (s *RelatedOpsItem) SetOpsItemId(v string) *RelatedOpsItem {
49422	s.OpsItemId = &v
49423	return s
49424}
49425
49426type RemoveTagsFromResourceInput struct {
49427	_ struct{} `type:"structure"`
49428
49429	// The ID of the resource from which you want to remove tags. For example:
49430	//
49431	// ManagedInstance: mi-012345abcde
49432	//
49433	// MaintenanceWindow: mw-012345abcde
49434	//
49435	// PatchBaseline: pb-012345abcde
49436	//
49437	// OpsMetadata object: ResourceID for tagging is created from the Amazon Resource
49438	// Name (ARN) for the object. Specifically, ResourceID is created from the strings
49439	// that come after the word opsmetadata in the ARN. For example, an OpsMetadata
49440	// object with an ARN of arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager
49441	// has a ResourceID of either aws/ssm/MyGroup/appmanager or /aws/ssm/MyGroup/appmanager.
49442	//
49443	// For the Document and Parameter values, use the name of the resource.
49444	//
49445	// The ManagedInstance type for this API operation is only for on-premises managed
49446	// instances. Specify the name of the managed instance in the following format:
49447	// mi-ID_number. For example, mi-1a2b3c4d5e6f.
49448	//
49449	// ResourceId is a required field
49450	ResourceId *string `type:"string" required:"true"`
49451
49452	// The type of resource from which you want to remove a tag.
49453	//
49454	// The ManagedInstance type for this API operation is only for on-premises managed
49455	// instances. Specify the name of the managed instance in the following format:
49456	// mi-ID_number . For example, mi-1a2b3c4d5e6f.
49457	//
49458	// ResourceType is a required field
49459	ResourceType *string `type:"string" required:"true" enum:"ResourceTypeForTagging"`
49460
49461	// Tag keys that you want to remove from the specified resource.
49462	//
49463	// TagKeys is a required field
49464	TagKeys []*string `type:"list" required:"true"`
49465}
49466
49467// String returns the string representation.
49468//
49469// API parameter values that are decorated as "sensitive" in the API will not
49470// be included in the string output. The member name will be present, but the
49471// value will be replaced with "sensitive".
49472func (s RemoveTagsFromResourceInput) String() string {
49473	return awsutil.Prettify(s)
49474}
49475
49476// GoString returns the string representation.
49477//
49478// API parameter values that are decorated as "sensitive" in the API will not
49479// be included in the string output. The member name will be present, but the
49480// value will be replaced with "sensitive".
49481func (s RemoveTagsFromResourceInput) GoString() string {
49482	return s.String()
49483}
49484
49485// Validate inspects the fields of the type to determine if they are valid.
49486func (s *RemoveTagsFromResourceInput) Validate() error {
49487	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
49488	if s.ResourceId == nil {
49489		invalidParams.Add(request.NewErrParamRequired("ResourceId"))
49490	}
49491	if s.ResourceType == nil {
49492		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
49493	}
49494	if s.TagKeys == nil {
49495		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
49496	}
49497
49498	if invalidParams.Len() > 0 {
49499		return invalidParams
49500	}
49501	return nil
49502}
49503
49504// SetResourceId sets the ResourceId field's value.
49505func (s *RemoveTagsFromResourceInput) SetResourceId(v string) *RemoveTagsFromResourceInput {
49506	s.ResourceId = &v
49507	return s
49508}
49509
49510// SetResourceType sets the ResourceType field's value.
49511func (s *RemoveTagsFromResourceInput) SetResourceType(v string) *RemoveTagsFromResourceInput {
49512	s.ResourceType = &v
49513	return s
49514}
49515
49516// SetTagKeys sets the TagKeys field's value.
49517func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
49518	s.TagKeys = v
49519	return s
49520}
49521
49522type RemoveTagsFromResourceOutput struct {
49523	_ struct{} `type:"structure"`
49524}
49525
49526// String returns the string representation.
49527//
49528// API parameter values that are decorated as "sensitive" in the API will not
49529// be included in the string output. The member name will be present, but the
49530// value will be replaced with "sensitive".
49531func (s RemoveTagsFromResourceOutput) String() string {
49532	return awsutil.Prettify(s)
49533}
49534
49535// GoString returns the string representation.
49536//
49537// API parameter values that are decorated as "sensitive" in the API will not
49538// be included in the string output. The member name will be present, but the
49539// value will be replaced with "sensitive".
49540func (s RemoveTagsFromResourceOutput) GoString() string {
49541	return s.String()
49542}
49543
49544// The request body of the ResetServiceSetting API operation.
49545type ResetServiceSettingInput struct {
49546	_ struct{} `type:"structure"`
49547
49548	// The Amazon Resource Name (ARN) of the service setting to reset. The setting
49549	// ID can be one of the following.
49550	//
49551	//    * /ssm/automation/customer-script-log-destination
49552	//
49553	//    * /ssm/automation/customer-script-log-group-name
49554	//
49555	//    * /ssm/documents/console/public-sharing-permission
49556	//
49557	//    * /ssm/parameter-store/default-parameter-tier
49558	//
49559	//    * /ssm/parameter-store/high-throughput-enabled
49560	//
49561	//    * /ssm/managed-instance/activation-tier
49562	//
49563	// SettingId is a required field
49564	SettingId *string `min:"1" type:"string" required:"true"`
49565}
49566
49567// String returns the string representation.
49568//
49569// API parameter values that are decorated as "sensitive" in the API will not
49570// be included in the string output. The member name will be present, but the
49571// value will be replaced with "sensitive".
49572func (s ResetServiceSettingInput) String() string {
49573	return awsutil.Prettify(s)
49574}
49575
49576// GoString returns the string representation.
49577//
49578// API parameter values that are decorated as "sensitive" in the API will not
49579// be included in the string output. The member name will be present, but the
49580// value will be replaced with "sensitive".
49581func (s ResetServiceSettingInput) GoString() string {
49582	return s.String()
49583}
49584
49585// Validate inspects the fields of the type to determine if they are valid.
49586func (s *ResetServiceSettingInput) Validate() error {
49587	invalidParams := request.ErrInvalidParams{Context: "ResetServiceSettingInput"}
49588	if s.SettingId == nil {
49589		invalidParams.Add(request.NewErrParamRequired("SettingId"))
49590	}
49591	if s.SettingId != nil && len(*s.SettingId) < 1 {
49592		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
49593	}
49594
49595	if invalidParams.Len() > 0 {
49596		return invalidParams
49597	}
49598	return nil
49599}
49600
49601// SetSettingId sets the SettingId field's value.
49602func (s *ResetServiceSettingInput) SetSettingId(v string) *ResetServiceSettingInput {
49603	s.SettingId = &v
49604	return s
49605}
49606
49607// The result body of the ResetServiceSetting API operation.
49608type ResetServiceSettingOutput struct {
49609	_ struct{} `type:"structure"`
49610
49611	// The current, effective service setting after calling the ResetServiceSetting
49612	// API operation.
49613	ServiceSetting *ServiceSetting `type:"structure"`
49614}
49615
49616// String returns the string representation.
49617//
49618// API parameter values that are decorated as "sensitive" in the API will not
49619// be included in the string output. The member name will be present, but the
49620// value will be replaced with "sensitive".
49621func (s ResetServiceSettingOutput) String() string {
49622	return awsutil.Prettify(s)
49623}
49624
49625// GoString returns the string representation.
49626//
49627// API parameter values that are decorated as "sensitive" in the API will not
49628// be included in the string output. The member name will be present, but the
49629// value will be replaced with "sensitive".
49630func (s ResetServiceSettingOutput) GoString() string {
49631	return s.String()
49632}
49633
49634// SetServiceSetting sets the ServiceSetting field's value.
49635func (s *ResetServiceSettingOutput) SetServiceSetting(v *ServiceSetting) *ResetServiceSettingOutput {
49636	s.ServiceSetting = v
49637	return s
49638}
49639
49640// Information about targets that resolved during the Automation execution.
49641type ResolvedTargets struct {
49642	_ struct{} `type:"structure"`
49643
49644	// A list of parameter values sent to targets that resolved during the Automation
49645	// execution.
49646	ParameterValues []*string `type:"list"`
49647
49648	// A boolean value indicating whether the resolved target list is truncated.
49649	Truncated *bool `type:"boolean"`
49650}
49651
49652// String returns the string representation.
49653//
49654// API parameter values that are decorated as "sensitive" in the API will not
49655// be included in the string output. The member name will be present, but the
49656// value will be replaced with "sensitive".
49657func (s ResolvedTargets) String() string {
49658	return awsutil.Prettify(s)
49659}
49660
49661// GoString returns the string representation.
49662//
49663// API parameter values that are decorated as "sensitive" in the API will not
49664// be included in the string output. The member name will be present, but the
49665// value will be replaced with "sensitive".
49666func (s ResolvedTargets) GoString() string {
49667	return s.String()
49668}
49669
49670// SetParameterValues sets the ParameterValues field's value.
49671func (s *ResolvedTargets) SetParameterValues(v []*string) *ResolvedTargets {
49672	s.ParameterValues = v
49673	return s
49674}
49675
49676// SetTruncated sets the Truncated field's value.
49677func (s *ResolvedTargets) SetTruncated(v bool) *ResolvedTargets {
49678	s.Truncated = &v
49679	return s
49680}
49681
49682// Compliance summary information for a specific resource.
49683type ResourceComplianceSummaryItem struct {
49684	_ struct{} `type:"structure"`
49685
49686	// The compliance type.
49687	ComplianceType *string `min:"1" type:"string"`
49688
49689	// A list of items that are compliant for the resource.
49690	CompliantSummary *CompliantSummary `type:"structure"`
49691
49692	// Information about the execution.
49693	ExecutionSummary *ComplianceExecutionSummary `type:"structure"`
49694
49695	// A list of items that aren't compliant for the resource.
49696	NonCompliantSummary *NonCompliantSummary `type:"structure"`
49697
49698	// The highest severity item found for the resource. The resource is compliant
49699	// for this item.
49700	OverallSeverity *string `type:"string" enum:"ComplianceSeverity"`
49701
49702	// The resource ID.
49703	ResourceId *string `min:"1" type:"string"`
49704
49705	// The resource type.
49706	ResourceType *string `min:"1" type:"string"`
49707
49708	// The compliance status for the resource.
49709	Status *string `type:"string" enum:"ComplianceStatus"`
49710}
49711
49712// String returns the string representation.
49713//
49714// API parameter values that are decorated as "sensitive" in the API will not
49715// be included in the string output. The member name will be present, but the
49716// value will be replaced with "sensitive".
49717func (s ResourceComplianceSummaryItem) String() string {
49718	return awsutil.Prettify(s)
49719}
49720
49721// GoString returns the string representation.
49722//
49723// API parameter values that are decorated as "sensitive" in the API will not
49724// be included in the string output. The member name will be present, but the
49725// value will be replaced with "sensitive".
49726func (s ResourceComplianceSummaryItem) GoString() string {
49727	return s.String()
49728}
49729
49730// SetComplianceType sets the ComplianceType field's value.
49731func (s *ResourceComplianceSummaryItem) SetComplianceType(v string) *ResourceComplianceSummaryItem {
49732	s.ComplianceType = &v
49733	return s
49734}
49735
49736// SetCompliantSummary sets the CompliantSummary field's value.
49737func (s *ResourceComplianceSummaryItem) SetCompliantSummary(v *CompliantSummary) *ResourceComplianceSummaryItem {
49738	s.CompliantSummary = v
49739	return s
49740}
49741
49742// SetExecutionSummary sets the ExecutionSummary field's value.
49743func (s *ResourceComplianceSummaryItem) SetExecutionSummary(v *ComplianceExecutionSummary) *ResourceComplianceSummaryItem {
49744	s.ExecutionSummary = v
49745	return s
49746}
49747
49748// SetNonCompliantSummary sets the NonCompliantSummary field's value.
49749func (s *ResourceComplianceSummaryItem) SetNonCompliantSummary(v *NonCompliantSummary) *ResourceComplianceSummaryItem {
49750	s.NonCompliantSummary = v
49751	return s
49752}
49753
49754// SetOverallSeverity sets the OverallSeverity field's value.
49755func (s *ResourceComplianceSummaryItem) SetOverallSeverity(v string) *ResourceComplianceSummaryItem {
49756	s.OverallSeverity = &v
49757	return s
49758}
49759
49760// SetResourceId sets the ResourceId field's value.
49761func (s *ResourceComplianceSummaryItem) SetResourceId(v string) *ResourceComplianceSummaryItem {
49762	s.ResourceId = &v
49763	return s
49764}
49765
49766// SetResourceType sets the ResourceType field's value.
49767func (s *ResourceComplianceSummaryItem) SetResourceType(v string) *ResourceComplianceSummaryItem {
49768	s.ResourceType = &v
49769	return s
49770}
49771
49772// SetStatus sets the Status field's value.
49773func (s *ResourceComplianceSummaryItem) SetStatus(v string) *ResourceComplianceSummaryItem {
49774	s.Status = &v
49775	return s
49776}
49777
49778// A sync configuration with the same name already exists.
49779type ResourceDataSyncAlreadyExistsException struct {
49780	_            struct{}                  `type:"structure"`
49781	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
49782
49783	Message_ *string `locationName:"message" type:"string"`
49784
49785	SyncName *string `min:"1" type:"string"`
49786}
49787
49788// String returns the string representation.
49789//
49790// API parameter values that are decorated as "sensitive" in the API will not
49791// be included in the string output. The member name will be present, but the
49792// value will be replaced with "sensitive".
49793func (s ResourceDataSyncAlreadyExistsException) String() string {
49794	return awsutil.Prettify(s)
49795}
49796
49797// GoString returns the string representation.
49798//
49799// API parameter values that are decorated as "sensitive" in the API will not
49800// be included in the string output. The member name will be present, but the
49801// value will be replaced with "sensitive".
49802func (s ResourceDataSyncAlreadyExistsException) GoString() string {
49803	return s.String()
49804}
49805
49806func newErrorResourceDataSyncAlreadyExistsException(v protocol.ResponseMetadata) error {
49807	return &ResourceDataSyncAlreadyExistsException{
49808		RespMetadata: v,
49809	}
49810}
49811
49812// Code returns the exception type name.
49813func (s *ResourceDataSyncAlreadyExistsException) Code() string {
49814	return "ResourceDataSyncAlreadyExistsException"
49815}
49816
49817// Message returns the exception's message.
49818func (s *ResourceDataSyncAlreadyExistsException) Message() string {
49819	if s.Message_ != nil {
49820		return *s.Message_
49821	}
49822	return ""
49823}
49824
49825// OrigErr always returns nil, satisfies awserr.Error interface.
49826func (s *ResourceDataSyncAlreadyExistsException) OrigErr() error {
49827	return nil
49828}
49829
49830func (s *ResourceDataSyncAlreadyExistsException) Error() string {
49831	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
49832}
49833
49834// Status code returns the HTTP status code for the request's response error.
49835func (s *ResourceDataSyncAlreadyExistsException) StatusCode() int {
49836	return s.RespMetadata.StatusCode
49837}
49838
49839// RequestID returns the service's response RequestID for request.
49840func (s *ResourceDataSyncAlreadyExistsException) RequestID() string {
49841	return s.RespMetadata.RequestID
49842}
49843
49844// Information about the AwsOrganizationsSource resource data sync source. A
49845// sync source of this type can synchronize data from Organizations or, if an
49846// Amazon Web Services organization isn't present, from multiple Amazon Web
49847// Services Regions.
49848type ResourceDataSyncAwsOrganizationsSource struct {
49849	_ struct{} `type:"structure"`
49850
49851	// If an Amazon Web Services organization is present, this is either OrganizationalUnits
49852	// or EntireOrganization. For OrganizationalUnits, the data is aggregated from
49853	// a set of organization units. For EntireOrganization, the data is aggregated
49854	// from the entire Amazon Web Services organization.
49855	//
49856	// OrganizationSourceType is a required field
49857	OrganizationSourceType *string `min:"1" type:"string" required:"true"`
49858
49859	// The Organizations organization units included in the sync.
49860	OrganizationalUnits []*ResourceDataSyncOrganizationalUnit `min:"1" type:"list"`
49861}
49862
49863// String returns the string representation.
49864//
49865// API parameter values that are decorated as "sensitive" in the API will not
49866// be included in the string output. The member name will be present, but the
49867// value will be replaced with "sensitive".
49868func (s ResourceDataSyncAwsOrganizationsSource) String() string {
49869	return awsutil.Prettify(s)
49870}
49871
49872// GoString returns the string representation.
49873//
49874// API parameter values that are decorated as "sensitive" in the API will not
49875// be included in the string output. The member name will be present, but the
49876// value will be replaced with "sensitive".
49877func (s ResourceDataSyncAwsOrganizationsSource) GoString() string {
49878	return s.String()
49879}
49880
49881// Validate inspects the fields of the type to determine if they are valid.
49882func (s *ResourceDataSyncAwsOrganizationsSource) Validate() error {
49883	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncAwsOrganizationsSource"}
49884	if s.OrganizationSourceType == nil {
49885		invalidParams.Add(request.NewErrParamRequired("OrganizationSourceType"))
49886	}
49887	if s.OrganizationSourceType != nil && len(*s.OrganizationSourceType) < 1 {
49888		invalidParams.Add(request.NewErrParamMinLen("OrganizationSourceType", 1))
49889	}
49890	if s.OrganizationalUnits != nil && len(s.OrganizationalUnits) < 1 {
49891		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnits", 1))
49892	}
49893	if s.OrganizationalUnits != nil {
49894		for i, v := range s.OrganizationalUnits {
49895			if v == nil {
49896				continue
49897			}
49898			if err := v.Validate(); err != nil {
49899				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OrganizationalUnits", i), err.(request.ErrInvalidParams))
49900			}
49901		}
49902	}
49903
49904	if invalidParams.Len() > 0 {
49905		return invalidParams
49906	}
49907	return nil
49908}
49909
49910// SetOrganizationSourceType sets the OrganizationSourceType field's value.
49911func (s *ResourceDataSyncAwsOrganizationsSource) SetOrganizationSourceType(v string) *ResourceDataSyncAwsOrganizationsSource {
49912	s.OrganizationSourceType = &v
49913	return s
49914}
49915
49916// SetOrganizationalUnits sets the OrganizationalUnits field's value.
49917func (s *ResourceDataSyncAwsOrganizationsSource) SetOrganizationalUnits(v []*ResourceDataSyncOrganizationalUnit) *ResourceDataSyncAwsOrganizationsSource {
49918	s.OrganizationalUnits = v
49919	return s
49920}
49921
49922// Another UpdateResourceDataSync request is being processed. Wait a few minutes
49923// and try again.
49924type ResourceDataSyncConflictException struct {
49925	_            struct{}                  `type:"structure"`
49926	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
49927
49928	Message_ *string `locationName:"Message" type:"string"`
49929}
49930
49931// String returns the string representation.
49932//
49933// API parameter values that are decorated as "sensitive" in the API will not
49934// be included in the string output. The member name will be present, but the
49935// value will be replaced with "sensitive".
49936func (s ResourceDataSyncConflictException) String() string {
49937	return awsutil.Prettify(s)
49938}
49939
49940// GoString returns the string representation.
49941//
49942// API parameter values that are decorated as "sensitive" in the API will not
49943// be included in the string output. The member name will be present, but the
49944// value will be replaced with "sensitive".
49945func (s ResourceDataSyncConflictException) GoString() string {
49946	return s.String()
49947}
49948
49949func newErrorResourceDataSyncConflictException(v protocol.ResponseMetadata) error {
49950	return &ResourceDataSyncConflictException{
49951		RespMetadata: v,
49952	}
49953}
49954
49955// Code returns the exception type name.
49956func (s *ResourceDataSyncConflictException) Code() string {
49957	return "ResourceDataSyncConflictException"
49958}
49959
49960// Message returns the exception's message.
49961func (s *ResourceDataSyncConflictException) Message() string {
49962	if s.Message_ != nil {
49963		return *s.Message_
49964	}
49965	return ""
49966}
49967
49968// OrigErr always returns nil, satisfies awserr.Error interface.
49969func (s *ResourceDataSyncConflictException) OrigErr() error {
49970	return nil
49971}
49972
49973func (s *ResourceDataSyncConflictException) Error() string {
49974	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
49975}
49976
49977// Status code returns the HTTP status code for the request's response error.
49978func (s *ResourceDataSyncConflictException) StatusCode() int {
49979	return s.RespMetadata.StatusCode
49980}
49981
49982// RequestID returns the service's response RequestID for request.
49983func (s *ResourceDataSyncConflictException) RequestID() string {
49984	return s.RespMetadata.RequestID
49985}
49986
49987// You have exceeded the allowed maximum sync configurations.
49988type ResourceDataSyncCountExceededException struct {
49989	_            struct{}                  `type:"structure"`
49990	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
49991
49992	Message_ *string `locationName:"Message" type:"string"`
49993}
49994
49995// String returns the string representation.
49996//
49997// API parameter values that are decorated as "sensitive" in the API will not
49998// be included in the string output. The member name will be present, but the
49999// value will be replaced with "sensitive".
50000func (s ResourceDataSyncCountExceededException) String() string {
50001	return awsutil.Prettify(s)
50002}
50003
50004// GoString returns the string representation.
50005//
50006// API parameter values that are decorated as "sensitive" in the API will not
50007// be included in the string output. The member name will be present, but the
50008// value will be replaced with "sensitive".
50009func (s ResourceDataSyncCountExceededException) GoString() string {
50010	return s.String()
50011}
50012
50013func newErrorResourceDataSyncCountExceededException(v protocol.ResponseMetadata) error {
50014	return &ResourceDataSyncCountExceededException{
50015		RespMetadata: v,
50016	}
50017}
50018
50019// Code returns the exception type name.
50020func (s *ResourceDataSyncCountExceededException) Code() string {
50021	return "ResourceDataSyncCountExceededException"
50022}
50023
50024// Message returns the exception's message.
50025func (s *ResourceDataSyncCountExceededException) Message() string {
50026	if s.Message_ != nil {
50027		return *s.Message_
50028	}
50029	return ""
50030}
50031
50032// OrigErr always returns nil, satisfies awserr.Error interface.
50033func (s *ResourceDataSyncCountExceededException) OrigErr() error {
50034	return nil
50035}
50036
50037func (s *ResourceDataSyncCountExceededException) Error() string {
50038	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
50039}
50040
50041// Status code returns the HTTP status code for the request's response error.
50042func (s *ResourceDataSyncCountExceededException) StatusCode() int {
50043	return s.RespMetadata.StatusCode
50044}
50045
50046// RequestID returns the service's response RequestID for request.
50047func (s *ResourceDataSyncCountExceededException) RequestID() string {
50048	return s.RespMetadata.RequestID
50049}
50050
50051// Synchronize Amazon Web Services Systems Manager Inventory data from multiple
50052// Amazon Web Services accounts defined in Organizations to a centralized Amazon
50053// S3 bucket. Data is synchronized to individual key prefixes in the central
50054// bucket. Each key prefix represents a different Amazon Web Services account
50055// ID.
50056type ResourceDataSyncDestinationDataSharing struct {
50057	_ struct{} `type:"structure"`
50058
50059	// The sharing data type. Only Organization is supported.
50060	DestinationDataSharingType *string `min:"1" type:"string"`
50061}
50062
50063// String returns the string representation.
50064//
50065// API parameter values that are decorated as "sensitive" in the API will not
50066// be included in the string output. The member name will be present, but the
50067// value will be replaced with "sensitive".
50068func (s ResourceDataSyncDestinationDataSharing) String() string {
50069	return awsutil.Prettify(s)
50070}
50071
50072// GoString returns the string representation.
50073//
50074// API parameter values that are decorated as "sensitive" in the API will not
50075// be included in the string output. The member name will be present, but the
50076// value will be replaced with "sensitive".
50077func (s ResourceDataSyncDestinationDataSharing) GoString() string {
50078	return s.String()
50079}
50080
50081// Validate inspects the fields of the type to determine if they are valid.
50082func (s *ResourceDataSyncDestinationDataSharing) Validate() error {
50083	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncDestinationDataSharing"}
50084	if s.DestinationDataSharingType != nil && len(*s.DestinationDataSharingType) < 1 {
50085		invalidParams.Add(request.NewErrParamMinLen("DestinationDataSharingType", 1))
50086	}
50087
50088	if invalidParams.Len() > 0 {
50089		return invalidParams
50090	}
50091	return nil
50092}
50093
50094// SetDestinationDataSharingType sets the DestinationDataSharingType field's value.
50095func (s *ResourceDataSyncDestinationDataSharing) SetDestinationDataSharingType(v string) *ResourceDataSyncDestinationDataSharing {
50096	s.DestinationDataSharingType = &v
50097	return s
50098}
50099
50100// The specified sync configuration is invalid.
50101type ResourceDataSyncInvalidConfigurationException struct {
50102	_            struct{}                  `type:"structure"`
50103	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
50104
50105	Message_ *string `locationName:"Message" type:"string"`
50106}
50107
50108// String returns the string representation.
50109//
50110// API parameter values that are decorated as "sensitive" in the API will not
50111// be included in the string output. The member name will be present, but the
50112// value will be replaced with "sensitive".
50113func (s ResourceDataSyncInvalidConfigurationException) String() string {
50114	return awsutil.Prettify(s)
50115}
50116
50117// GoString returns the string representation.
50118//
50119// API parameter values that are decorated as "sensitive" in the API will not
50120// be included in the string output. The member name will be present, but the
50121// value will be replaced with "sensitive".
50122func (s ResourceDataSyncInvalidConfigurationException) GoString() string {
50123	return s.String()
50124}
50125
50126func newErrorResourceDataSyncInvalidConfigurationException(v protocol.ResponseMetadata) error {
50127	return &ResourceDataSyncInvalidConfigurationException{
50128		RespMetadata: v,
50129	}
50130}
50131
50132// Code returns the exception type name.
50133func (s *ResourceDataSyncInvalidConfigurationException) Code() string {
50134	return "ResourceDataSyncInvalidConfigurationException"
50135}
50136
50137// Message returns the exception's message.
50138func (s *ResourceDataSyncInvalidConfigurationException) Message() string {
50139	if s.Message_ != nil {
50140		return *s.Message_
50141	}
50142	return ""
50143}
50144
50145// OrigErr always returns nil, satisfies awserr.Error interface.
50146func (s *ResourceDataSyncInvalidConfigurationException) OrigErr() error {
50147	return nil
50148}
50149
50150func (s *ResourceDataSyncInvalidConfigurationException) Error() string {
50151	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
50152}
50153
50154// Status code returns the HTTP status code for the request's response error.
50155func (s *ResourceDataSyncInvalidConfigurationException) StatusCode() int {
50156	return s.RespMetadata.StatusCode
50157}
50158
50159// RequestID returns the service's response RequestID for request.
50160func (s *ResourceDataSyncInvalidConfigurationException) RequestID() string {
50161	return s.RespMetadata.RequestID
50162}
50163
50164// Information about a resource data sync configuration, including its current
50165// status and last successful sync.
50166type ResourceDataSyncItem struct {
50167	_ struct{} `type:"structure"`
50168
50169	// The status reported by the last sync.
50170	LastStatus *string `type:"string" enum:"LastResourceDataSyncStatus"`
50171
50172	// The last time the sync operations returned a status of SUCCESSFUL (UTC).
50173	LastSuccessfulSyncTime *time.Time `type:"timestamp"`
50174
50175	// The status message details reported by the last sync.
50176	LastSyncStatusMessage *string `type:"string"`
50177
50178	// The last time the configuration attempted to sync (UTC).
50179	LastSyncTime *time.Time `type:"timestamp"`
50180
50181	// Configuration information for the target S3 bucket.
50182	S3Destination *ResourceDataSyncS3Destination `type:"structure"`
50183
50184	// The date and time the configuration was created (UTC).
50185	SyncCreatedTime *time.Time `type:"timestamp"`
50186
50187	// The date and time the resource data sync was changed.
50188	SyncLastModifiedTime *time.Time `type:"timestamp"`
50189
50190	// The name of the resource data sync.
50191	SyncName *string `min:"1" type:"string"`
50192
50193	// Information about the source where the data was synchronized.
50194	SyncSource *ResourceDataSyncSourceWithState `type:"structure"`
50195
50196	// The type of resource data sync. If SyncType is SyncToDestination, then the
50197	// resource data sync synchronizes data to an S3 bucket. If the SyncType is
50198	// SyncFromSource then the resource data sync synchronizes data from Organizations
50199	// or from multiple Amazon Web Services Regions.
50200	SyncType *string `min:"1" type:"string"`
50201}
50202
50203// String returns the string representation.
50204//
50205// API parameter values that are decorated as "sensitive" in the API will not
50206// be included in the string output. The member name will be present, but the
50207// value will be replaced with "sensitive".
50208func (s ResourceDataSyncItem) String() string {
50209	return awsutil.Prettify(s)
50210}
50211
50212// GoString returns the string representation.
50213//
50214// API parameter values that are decorated as "sensitive" in the API will not
50215// be included in the string output. The member name will be present, but the
50216// value will be replaced with "sensitive".
50217func (s ResourceDataSyncItem) GoString() string {
50218	return s.String()
50219}
50220
50221// SetLastStatus sets the LastStatus field's value.
50222func (s *ResourceDataSyncItem) SetLastStatus(v string) *ResourceDataSyncItem {
50223	s.LastStatus = &v
50224	return s
50225}
50226
50227// SetLastSuccessfulSyncTime sets the LastSuccessfulSyncTime field's value.
50228func (s *ResourceDataSyncItem) SetLastSuccessfulSyncTime(v time.Time) *ResourceDataSyncItem {
50229	s.LastSuccessfulSyncTime = &v
50230	return s
50231}
50232
50233// SetLastSyncStatusMessage sets the LastSyncStatusMessage field's value.
50234func (s *ResourceDataSyncItem) SetLastSyncStatusMessage(v string) *ResourceDataSyncItem {
50235	s.LastSyncStatusMessage = &v
50236	return s
50237}
50238
50239// SetLastSyncTime sets the LastSyncTime field's value.
50240func (s *ResourceDataSyncItem) SetLastSyncTime(v time.Time) *ResourceDataSyncItem {
50241	s.LastSyncTime = &v
50242	return s
50243}
50244
50245// SetS3Destination sets the S3Destination field's value.
50246func (s *ResourceDataSyncItem) SetS3Destination(v *ResourceDataSyncS3Destination) *ResourceDataSyncItem {
50247	s.S3Destination = v
50248	return s
50249}
50250
50251// SetSyncCreatedTime sets the SyncCreatedTime field's value.
50252func (s *ResourceDataSyncItem) SetSyncCreatedTime(v time.Time) *ResourceDataSyncItem {
50253	s.SyncCreatedTime = &v
50254	return s
50255}
50256
50257// SetSyncLastModifiedTime sets the SyncLastModifiedTime field's value.
50258func (s *ResourceDataSyncItem) SetSyncLastModifiedTime(v time.Time) *ResourceDataSyncItem {
50259	s.SyncLastModifiedTime = &v
50260	return s
50261}
50262
50263// SetSyncName sets the SyncName field's value.
50264func (s *ResourceDataSyncItem) SetSyncName(v string) *ResourceDataSyncItem {
50265	s.SyncName = &v
50266	return s
50267}
50268
50269// SetSyncSource sets the SyncSource field's value.
50270func (s *ResourceDataSyncItem) SetSyncSource(v *ResourceDataSyncSourceWithState) *ResourceDataSyncItem {
50271	s.SyncSource = v
50272	return s
50273}
50274
50275// SetSyncType sets the SyncType field's value.
50276func (s *ResourceDataSyncItem) SetSyncType(v string) *ResourceDataSyncItem {
50277	s.SyncType = &v
50278	return s
50279}
50280
50281// The specified sync name wasn't found.
50282type ResourceDataSyncNotFoundException struct {
50283	_            struct{}                  `type:"structure"`
50284	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
50285
50286	Message_ *string `locationName:"Message" type:"string"`
50287
50288	SyncName *string `min:"1" type:"string"`
50289
50290	SyncType *string `min:"1" type:"string"`
50291}
50292
50293// String returns the string representation.
50294//
50295// API parameter values that are decorated as "sensitive" in the API will not
50296// be included in the string output. The member name will be present, but the
50297// value will be replaced with "sensitive".
50298func (s ResourceDataSyncNotFoundException) String() string {
50299	return awsutil.Prettify(s)
50300}
50301
50302// GoString returns the string representation.
50303//
50304// API parameter values that are decorated as "sensitive" in the API will not
50305// be included in the string output. The member name will be present, but the
50306// value will be replaced with "sensitive".
50307func (s ResourceDataSyncNotFoundException) GoString() string {
50308	return s.String()
50309}
50310
50311func newErrorResourceDataSyncNotFoundException(v protocol.ResponseMetadata) error {
50312	return &ResourceDataSyncNotFoundException{
50313		RespMetadata: v,
50314	}
50315}
50316
50317// Code returns the exception type name.
50318func (s *ResourceDataSyncNotFoundException) Code() string {
50319	return "ResourceDataSyncNotFoundException"
50320}
50321
50322// Message returns the exception's message.
50323func (s *ResourceDataSyncNotFoundException) Message() string {
50324	if s.Message_ != nil {
50325		return *s.Message_
50326	}
50327	return ""
50328}
50329
50330// OrigErr always returns nil, satisfies awserr.Error interface.
50331func (s *ResourceDataSyncNotFoundException) OrigErr() error {
50332	return nil
50333}
50334
50335func (s *ResourceDataSyncNotFoundException) Error() string {
50336	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
50337}
50338
50339// Status code returns the HTTP status code for the request's response error.
50340func (s *ResourceDataSyncNotFoundException) StatusCode() int {
50341	return s.RespMetadata.StatusCode
50342}
50343
50344// RequestID returns the service's response RequestID for request.
50345func (s *ResourceDataSyncNotFoundException) RequestID() string {
50346	return s.RespMetadata.RequestID
50347}
50348
50349// The Organizations organizational unit data source for the sync.
50350type ResourceDataSyncOrganizationalUnit struct {
50351	_ struct{} `type:"structure"`
50352
50353	// The Organizations unit ID data source for the sync.
50354	OrganizationalUnitId *string `min:"1" type:"string"`
50355}
50356
50357// String returns the string representation.
50358//
50359// API parameter values that are decorated as "sensitive" in the API will not
50360// be included in the string output. The member name will be present, but the
50361// value will be replaced with "sensitive".
50362func (s ResourceDataSyncOrganizationalUnit) String() string {
50363	return awsutil.Prettify(s)
50364}
50365
50366// GoString returns the string representation.
50367//
50368// API parameter values that are decorated as "sensitive" in the API will not
50369// be included in the string output. The member name will be present, but the
50370// value will be replaced with "sensitive".
50371func (s ResourceDataSyncOrganizationalUnit) GoString() string {
50372	return s.String()
50373}
50374
50375// Validate inspects the fields of the type to determine if they are valid.
50376func (s *ResourceDataSyncOrganizationalUnit) Validate() error {
50377	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncOrganizationalUnit"}
50378	if s.OrganizationalUnitId != nil && len(*s.OrganizationalUnitId) < 1 {
50379		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitId", 1))
50380	}
50381
50382	if invalidParams.Len() > 0 {
50383		return invalidParams
50384	}
50385	return nil
50386}
50387
50388// SetOrganizationalUnitId sets the OrganizationalUnitId field's value.
50389func (s *ResourceDataSyncOrganizationalUnit) SetOrganizationalUnitId(v string) *ResourceDataSyncOrganizationalUnit {
50390	s.OrganizationalUnitId = &v
50391	return s
50392}
50393
50394// Information about the target S3 bucket for the resource data sync.
50395type ResourceDataSyncS3Destination struct {
50396	_ struct{} `type:"structure"`
50397
50398	// The ARN of an encryption key for a destination in Amazon S3. Must belong
50399	// to the same Region as the destination S3 bucket.
50400	AWSKMSKeyARN *string `min:"1" type:"string"`
50401
50402	// The name of the S3 bucket where the aggregated data is stored.
50403	//
50404	// BucketName is a required field
50405	BucketName *string `min:"1" type:"string" required:"true"`
50406
50407	// Enables destination data sharing. By default, this field is null.
50408	DestinationDataSharing *ResourceDataSyncDestinationDataSharing `type:"structure"`
50409
50410	// An Amazon S3 prefix for the bucket.
50411	Prefix *string `min:"1" type:"string"`
50412
50413	// The Amazon Web Services Region with the S3 bucket targeted by the resource
50414	// data sync.
50415	//
50416	// Region is a required field
50417	Region *string `min:"1" type:"string" required:"true"`
50418
50419	// A supported sync format. The following format is currently supported: JsonSerDe
50420	//
50421	// SyncFormat is a required field
50422	SyncFormat *string `type:"string" required:"true" enum:"ResourceDataSyncS3Format"`
50423}
50424
50425// String returns the string representation.
50426//
50427// API parameter values that are decorated as "sensitive" in the API will not
50428// be included in the string output. The member name will be present, but the
50429// value will be replaced with "sensitive".
50430func (s ResourceDataSyncS3Destination) String() string {
50431	return awsutil.Prettify(s)
50432}
50433
50434// GoString returns the string representation.
50435//
50436// API parameter values that are decorated as "sensitive" in the API will not
50437// be included in the string output. The member name will be present, but the
50438// value will be replaced with "sensitive".
50439func (s ResourceDataSyncS3Destination) GoString() string {
50440	return s.String()
50441}
50442
50443// Validate inspects the fields of the type to determine if they are valid.
50444func (s *ResourceDataSyncS3Destination) Validate() error {
50445	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncS3Destination"}
50446	if s.AWSKMSKeyARN != nil && len(*s.AWSKMSKeyARN) < 1 {
50447		invalidParams.Add(request.NewErrParamMinLen("AWSKMSKeyARN", 1))
50448	}
50449	if s.BucketName == nil {
50450		invalidParams.Add(request.NewErrParamRequired("BucketName"))
50451	}
50452	if s.BucketName != nil && len(*s.BucketName) < 1 {
50453		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
50454	}
50455	if s.Prefix != nil && len(*s.Prefix) < 1 {
50456		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
50457	}
50458	if s.Region == nil {
50459		invalidParams.Add(request.NewErrParamRequired("Region"))
50460	}
50461	if s.Region != nil && len(*s.Region) < 1 {
50462		invalidParams.Add(request.NewErrParamMinLen("Region", 1))
50463	}
50464	if s.SyncFormat == nil {
50465		invalidParams.Add(request.NewErrParamRequired("SyncFormat"))
50466	}
50467	if s.DestinationDataSharing != nil {
50468		if err := s.DestinationDataSharing.Validate(); err != nil {
50469			invalidParams.AddNested("DestinationDataSharing", err.(request.ErrInvalidParams))
50470		}
50471	}
50472
50473	if invalidParams.Len() > 0 {
50474		return invalidParams
50475	}
50476	return nil
50477}
50478
50479// SetAWSKMSKeyARN sets the AWSKMSKeyARN field's value.
50480func (s *ResourceDataSyncS3Destination) SetAWSKMSKeyARN(v string) *ResourceDataSyncS3Destination {
50481	s.AWSKMSKeyARN = &v
50482	return s
50483}
50484
50485// SetBucketName sets the BucketName field's value.
50486func (s *ResourceDataSyncS3Destination) SetBucketName(v string) *ResourceDataSyncS3Destination {
50487	s.BucketName = &v
50488	return s
50489}
50490
50491// SetDestinationDataSharing sets the DestinationDataSharing field's value.
50492func (s *ResourceDataSyncS3Destination) SetDestinationDataSharing(v *ResourceDataSyncDestinationDataSharing) *ResourceDataSyncS3Destination {
50493	s.DestinationDataSharing = v
50494	return s
50495}
50496
50497// SetPrefix sets the Prefix field's value.
50498func (s *ResourceDataSyncS3Destination) SetPrefix(v string) *ResourceDataSyncS3Destination {
50499	s.Prefix = &v
50500	return s
50501}
50502
50503// SetRegion sets the Region field's value.
50504func (s *ResourceDataSyncS3Destination) SetRegion(v string) *ResourceDataSyncS3Destination {
50505	s.Region = &v
50506	return s
50507}
50508
50509// SetSyncFormat sets the SyncFormat field's value.
50510func (s *ResourceDataSyncS3Destination) SetSyncFormat(v string) *ResourceDataSyncS3Destination {
50511	s.SyncFormat = &v
50512	return s
50513}
50514
50515// Information about the source of the data included in the resource data sync.
50516type ResourceDataSyncSource struct {
50517	_ struct{} `type:"structure"`
50518
50519	// Information about the AwsOrganizationsSource resource data sync source. A
50520	// sync source of this type can synchronize data from Organizations.
50521	AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
50522
50523	// When you create a resource data sync, if you choose one of the Organizations
50524	// options, then Systems Manager automatically enables all OpsData sources in
50525	// the selected Amazon Web Services Regions for all Amazon Web Services accounts
50526	// in your organization (or in the selected organization units). For more information,
50527	// see About multiple account and Region resource data syncs (https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html)
50528	// in the Amazon Web Services Systems Manager User Guide.
50529	EnableAllOpsDataSources *bool `type:"boolean"`
50530
50531	// Whether to automatically synchronize and aggregate data from new Amazon Web
50532	// Services Regions when those Regions come online.
50533	IncludeFutureRegions *bool `type:"boolean"`
50534
50535	// The SyncSource Amazon Web Services Regions included in the resource data
50536	// sync.
50537	//
50538	// SourceRegions is a required field
50539	SourceRegions []*string `type:"list" required:"true"`
50540
50541	// The type of data source for the resource data sync. SourceType is either
50542	// AwsOrganizations (if an organization is present in Organizations) or SingleAccountMultiRegions.
50543	//
50544	// SourceType is a required field
50545	SourceType *string `min:"1" type:"string" required:"true"`
50546}
50547
50548// String returns the string representation.
50549//
50550// API parameter values that are decorated as "sensitive" in the API will not
50551// be included in the string output. The member name will be present, but the
50552// value will be replaced with "sensitive".
50553func (s ResourceDataSyncSource) String() string {
50554	return awsutil.Prettify(s)
50555}
50556
50557// GoString returns the string representation.
50558//
50559// API parameter values that are decorated as "sensitive" in the API will not
50560// be included in the string output. The member name will be present, but the
50561// value will be replaced with "sensitive".
50562func (s ResourceDataSyncSource) GoString() string {
50563	return s.String()
50564}
50565
50566// Validate inspects the fields of the type to determine if they are valid.
50567func (s *ResourceDataSyncSource) Validate() error {
50568	invalidParams := request.ErrInvalidParams{Context: "ResourceDataSyncSource"}
50569	if s.SourceRegions == nil {
50570		invalidParams.Add(request.NewErrParamRequired("SourceRegions"))
50571	}
50572	if s.SourceType == nil {
50573		invalidParams.Add(request.NewErrParamRequired("SourceType"))
50574	}
50575	if s.SourceType != nil && len(*s.SourceType) < 1 {
50576		invalidParams.Add(request.NewErrParamMinLen("SourceType", 1))
50577	}
50578	if s.AwsOrganizationsSource != nil {
50579		if err := s.AwsOrganizationsSource.Validate(); err != nil {
50580			invalidParams.AddNested("AwsOrganizationsSource", err.(request.ErrInvalidParams))
50581		}
50582	}
50583
50584	if invalidParams.Len() > 0 {
50585		return invalidParams
50586	}
50587	return nil
50588}
50589
50590// SetAwsOrganizationsSource sets the AwsOrganizationsSource field's value.
50591func (s *ResourceDataSyncSource) SetAwsOrganizationsSource(v *ResourceDataSyncAwsOrganizationsSource) *ResourceDataSyncSource {
50592	s.AwsOrganizationsSource = v
50593	return s
50594}
50595
50596// SetEnableAllOpsDataSources sets the EnableAllOpsDataSources field's value.
50597func (s *ResourceDataSyncSource) SetEnableAllOpsDataSources(v bool) *ResourceDataSyncSource {
50598	s.EnableAllOpsDataSources = &v
50599	return s
50600}
50601
50602// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
50603func (s *ResourceDataSyncSource) SetIncludeFutureRegions(v bool) *ResourceDataSyncSource {
50604	s.IncludeFutureRegions = &v
50605	return s
50606}
50607
50608// SetSourceRegions sets the SourceRegions field's value.
50609func (s *ResourceDataSyncSource) SetSourceRegions(v []*string) *ResourceDataSyncSource {
50610	s.SourceRegions = v
50611	return s
50612}
50613
50614// SetSourceType sets the SourceType field's value.
50615func (s *ResourceDataSyncSource) SetSourceType(v string) *ResourceDataSyncSource {
50616	s.SourceType = &v
50617	return s
50618}
50619
50620// The data type name for including resource data sync state. There are four
50621// sync states:
50622//
50623// OrganizationNotExists (Your organization doesn't exist)
50624//
50625// NoPermissions (The system can't locate the service-linked role. This role
50626// is automatically created when a user creates a resource data sync in Amazon
50627// Web Services Systems Manager Explorer.)
50628//
50629// InvalidOrganizationalUnit (You specified or selected an invalid unit in the
50630// resource data sync configuration.)
50631//
50632// TrustedAccessDisabled (You disabled Systems Manager access in the organization
50633// in Organizations.)
50634type ResourceDataSyncSourceWithState struct {
50635	_ struct{} `type:"structure"`
50636
50637	// The field name in SyncSource for the ResourceDataSyncAwsOrganizationsSource
50638	// type.
50639	AwsOrganizationsSource *ResourceDataSyncAwsOrganizationsSource `type:"structure"`
50640
50641	// When you create a resource data sync, if you choose one of the Organizations
50642	// options, then Systems Manager automatically enables all OpsData sources in
50643	// the selected Amazon Web Services Regions for all Amazon Web Services accounts
50644	// in your organization (or in the selected organization units). For more information,
50645	// see About multiple account and Region resource data syncs (https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resouce-data-sync-multiple-accounts-and-regions.html)
50646	// in the Amazon Web Services Systems Manager User Guide.
50647	EnableAllOpsDataSources *bool `type:"boolean"`
50648
50649	// Whether to automatically synchronize and aggregate data from new Amazon Web
50650	// Services Regions when those Regions come online.
50651	IncludeFutureRegions *bool `type:"boolean"`
50652
50653	// The SyncSource Amazon Web Services Regions included in the resource data
50654	// sync.
50655	SourceRegions []*string `type:"list"`
50656
50657	// The type of data source for the resource data sync. SourceType is either
50658	// AwsOrganizations (if an organization is present in Organizations) or singleAccountMultiRegions.
50659	SourceType *string `min:"1" type:"string"`
50660
50661	// The data type name for including resource data sync state. There are four
50662	// sync states:
50663	//
50664	// OrganizationNotExists: Your organization doesn't exist.
50665	//
50666	// NoPermissions: The system can't locate the service-linked role. This role
50667	// is automatically created when a user creates a resource data sync in Explorer.
50668	//
50669	// InvalidOrganizationalUnit: You specified or selected an invalid unit in the
50670	// resource data sync configuration.
50671	//
50672	// TrustedAccessDisabled: You disabled Systems Manager access in the organization
50673	// in Organizations.
50674	State *string `min:"1" type:"string"`
50675}
50676
50677// String returns the string representation.
50678//
50679// API parameter values that are decorated as "sensitive" in the API will not
50680// be included in the string output. The member name will be present, but the
50681// value will be replaced with "sensitive".
50682func (s ResourceDataSyncSourceWithState) String() string {
50683	return awsutil.Prettify(s)
50684}
50685
50686// GoString returns the string representation.
50687//
50688// API parameter values that are decorated as "sensitive" in the API will not
50689// be included in the string output. The member name will be present, but the
50690// value will be replaced with "sensitive".
50691func (s ResourceDataSyncSourceWithState) GoString() string {
50692	return s.String()
50693}
50694
50695// SetAwsOrganizationsSource sets the AwsOrganizationsSource field's value.
50696func (s *ResourceDataSyncSourceWithState) SetAwsOrganizationsSource(v *ResourceDataSyncAwsOrganizationsSource) *ResourceDataSyncSourceWithState {
50697	s.AwsOrganizationsSource = v
50698	return s
50699}
50700
50701// SetEnableAllOpsDataSources sets the EnableAllOpsDataSources field's value.
50702func (s *ResourceDataSyncSourceWithState) SetEnableAllOpsDataSources(v bool) *ResourceDataSyncSourceWithState {
50703	s.EnableAllOpsDataSources = &v
50704	return s
50705}
50706
50707// SetIncludeFutureRegions sets the IncludeFutureRegions field's value.
50708func (s *ResourceDataSyncSourceWithState) SetIncludeFutureRegions(v bool) *ResourceDataSyncSourceWithState {
50709	s.IncludeFutureRegions = &v
50710	return s
50711}
50712
50713// SetSourceRegions sets the SourceRegions field's value.
50714func (s *ResourceDataSyncSourceWithState) SetSourceRegions(v []*string) *ResourceDataSyncSourceWithState {
50715	s.SourceRegions = v
50716	return s
50717}
50718
50719// SetSourceType sets the SourceType field's value.
50720func (s *ResourceDataSyncSourceWithState) SetSourceType(v string) *ResourceDataSyncSourceWithState {
50721	s.SourceType = &v
50722	return s
50723}
50724
50725// SetState sets the State field's value.
50726func (s *ResourceDataSyncSourceWithState) SetState(v string) *ResourceDataSyncSourceWithState {
50727	s.State = &v
50728	return s
50729}
50730
50731// Error returned if an attempt is made to delete a patch baseline that is registered
50732// for a patch group.
50733type ResourceInUseException struct {
50734	_            struct{}                  `type:"structure"`
50735	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
50736
50737	Message_ *string `locationName:"Message" type:"string"`
50738}
50739
50740// String returns the string representation.
50741//
50742// API parameter values that are decorated as "sensitive" in the API will not
50743// be included in the string output. The member name will be present, but the
50744// value will be replaced with "sensitive".
50745func (s ResourceInUseException) String() string {
50746	return awsutil.Prettify(s)
50747}
50748
50749// GoString returns the string representation.
50750//
50751// API parameter values that are decorated as "sensitive" in the API will not
50752// be included in the string output. The member name will be present, but the
50753// value will be replaced with "sensitive".
50754func (s ResourceInUseException) GoString() string {
50755	return s.String()
50756}
50757
50758func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
50759	return &ResourceInUseException{
50760		RespMetadata: v,
50761	}
50762}
50763
50764// Code returns the exception type name.
50765func (s *ResourceInUseException) Code() string {
50766	return "ResourceInUseException"
50767}
50768
50769// Message returns the exception's message.
50770func (s *ResourceInUseException) Message() string {
50771	if s.Message_ != nil {
50772		return *s.Message_
50773	}
50774	return ""
50775}
50776
50777// OrigErr always returns nil, satisfies awserr.Error interface.
50778func (s *ResourceInUseException) OrigErr() error {
50779	return nil
50780}
50781
50782func (s *ResourceInUseException) Error() string {
50783	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
50784}
50785
50786// Status code returns the HTTP status code for the request's response error.
50787func (s *ResourceInUseException) StatusCode() int {
50788	return s.RespMetadata.StatusCode
50789}
50790
50791// RequestID returns the service's response RequestID for request.
50792func (s *ResourceInUseException) RequestID() string {
50793	return s.RespMetadata.RequestID
50794}
50795
50796// Error returned when the caller has exceeded the default resource quotas.
50797// For example, too many maintenance windows or patch baselines have been created.
50798//
50799// For information about resource quotas in Systems Manager, see Systems Manager
50800// service quotas (https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)
50801// in the Amazon Web Services General Reference.
50802type ResourceLimitExceededException struct {
50803	_            struct{}                  `type:"structure"`
50804	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
50805
50806	Message_ *string `locationName:"Message" type:"string"`
50807}
50808
50809// String returns the string representation.
50810//
50811// API parameter values that are decorated as "sensitive" in the API will not
50812// be included in the string output. The member name will be present, but the
50813// value will be replaced with "sensitive".
50814func (s ResourceLimitExceededException) String() string {
50815	return awsutil.Prettify(s)
50816}
50817
50818// GoString returns the string representation.
50819//
50820// API parameter values that are decorated as "sensitive" in the API will not
50821// be included in the string output. The member name will be present, but the
50822// value will be replaced with "sensitive".
50823func (s ResourceLimitExceededException) GoString() string {
50824	return s.String()
50825}
50826
50827func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
50828	return &ResourceLimitExceededException{
50829		RespMetadata: v,
50830	}
50831}
50832
50833// Code returns the exception type name.
50834func (s *ResourceLimitExceededException) Code() string {
50835	return "ResourceLimitExceededException"
50836}
50837
50838// Message returns the exception's message.
50839func (s *ResourceLimitExceededException) Message() string {
50840	if s.Message_ != nil {
50841		return *s.Message_
50842	}
50843	return ""
50844}
50845
50846// OrigErr always returns nil, satisfies awserr.Error interface.
50847func (s *ResourceLimitExceededException) OrigErr() error {
50848	return nil
50849}
50850
50851func (s *ResourceLimitExceededException) Error() string {
50852	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
50853}
50854
50855// Status code returns the HTTP status code for the request's response error.
50856func (s *ResourceLimitExceededException) StatusCode() int {
50857	return s.RespMetadata.StatusCode
50858}
50859
50860// RequestID returns the service's response RequestID for request.
50861func (s *ResourceLimitExceededException) RequestID() string {
50862	return s.RespMetadata.RequestID
50863}
50864
50865// The inventory item result attribute.
50866type ResultAttribute struct {
50867	_ struct{} `type:"structure"`
50868
50869	// Name of the inventory item type. Valid value: AWS:InstanceInformation. Default
50870	// Value: AWS:InstanceInformation.
50871	//
50872	// TypeName is a required field
50873	TypeName *string `min:"1" type:"string" required:"true"`
50874}
50875
50876// String returns the string representation.
50877//
50878// API parameter values that are decorated as "sensitive" in the API will not
50879// be included in the string output. The member name will be present, but the
50880// value will be replaced with "sensitive".
50881func (s ResultAttribute) String() string {
50882	return awsutil.Prettify(s)
50883}
50884
50885// GoString returns the string representation.
50886//
50887// API parameter values that are decorated as "sensitive" in the API will not
50888// be included in the string output. The member name will be present, but the
50889// value will be replaced with "sensitive".
50890func (s ResultAttribute) GoString() string {
50891	return s.String()
50892}
50893
50894// Validate inspects the fields of the type to determine if they are valid.
50895func (s *ResultAttribute) Validate() error {
50896	invalidParams := request.ErrInvalidParams{Context: "ResultAttribute"}
50897	if s.TypeName == nil {
50898		invalidParams.Add(request.NewErrParamRequired("TypeName"))
50899	}
50900	if s.TypeName != nil && len(*s.TypeName) < 1 {
50901		invalidParams.Add(request.NewErrParamMinLen("TypeName", 1))
50902	}
50903
50904	if invalidParams.Len() > 0 {
50905		return invalidParams
50906	}
50907	return nil
50908}
50909
50910// SetTypeName sets the TypeName field's value.
50911func (s *ResultAttribute) SetTypeName(v string) *ResultAttribute {
50912	s.TypeName = &v
50913	return s
50914}
50915
50916type ResumeSessionInput struct {
50917	_ struct{} `type:"structure"`
50918
50919	// The ID of the disconnected session to resume.
50920	//
50921	// SessionId is a required field
50922	SessionId *string `min:"1" type:"string" required:"true"`
50923}
50924
50925// String returns the string representation.
50926//
50927// API parameter values that are decorated as "sensitive" in the API will not
50928// be included in the string output. The member name will be present, but the
50929// value will be replaced with "sensitive".
50930func (s ResumeSessionInput) String() string {
50931	return awsutil.Prettify(s)
50932}
50933
50934// GoString returns the string representation.
50935//
50936// API parameter values that are decorated as "sensitive" in the API will not
50937// be included in the string output. The member name will be present, but the
50938// value will be replaced with "sensitive".
50939func (s ResumeSessionInput) GoString() string {
50940	return s.String()
50941}
50942
50943// Validate inspects the fields of the type to determine if they are valid.
50944func (s *ResumeSessionInput) Validate() error {
50945	invalidParams := request.ErrInvalidParams{Context: "ResumeSessionInput"}
50946	if s.SessionId == nil {
50947		invalidParams.Add(request.NewErrParamRequired("SessionId"))
50948	}
50949	if s.SessionId != nil && len(*s.SessionId) < 1 {
50950		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
50951	}
50952
50953	if invalidParams.Len() > 0 {
50954		return invalidParams
50955	}
50956	return nil
50957}
50958
50959// SetSessionId sets the SessionId field's value.
50960func (s *ResumeSessionInput) SetSessionId(v string) *ResumeSessionInput {
50961	s.SessionId = &v
50962	return s
50963}
50964
50965type ResumeSessionOutput struct {
50966	_ struct{} `type:"structure"`
50967
50968	// The ID of the session.
50969	SessionId *string `min:"1" type:"string"`
50970
50971	// A URL back to SSM Agent on the instance that the Session Manager client uses
50972	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).
50973	//
50974	// region represents the Region identifier for an Amazon Web Services Region
50975	// supported by Amazon Web Services Systems Manager, such as us-east-2 for the
50976	// US East (Ohio) Region. For a list of supported region values, see the Region
50977	// column in Systems Manager service endpoints (https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)
50978	// in the Amazon Web Services General Reference.
50979	//
50980	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
50981	StreamUrl *string `type:"string"`
50982
50983	// An encrypted token value containing session and caller information. Used
50984	// to authenticate the connection to the instance.
50985	TokenValue *string `type:"string"`
50986}
50987
50988// String returns the string representation.
50989//
50990// API parameter values that are decorated as "sensitive" in the API will not
50991// be included in the string output. The member name will be present, but the
50992// value will be replaced with "sensitive".
50993func (s ResumeSessionOutput) String() string {
50994	return awsutil.Prettify(s)
50995}
50996
50997// GoString returns the string representation.
50998//
50999// API parameter values that are decorated as "sensitive" in the API will not
51000// be included in the string output. The member name will be present, but the
51001// value will be replaced with "sensitive".
51002func (s ResumeSessionOutput) GoString() string {
51003	return s.String()
51004}
51005
51006// SetSessionId sets the SessionId field's value.
51007func (s *ResumeSessionOutput) SetSessionId(v string) *ResumeSessionOutput {
51008	s.SessionId = &v
51009	return s
51010}
51011
51012// SetStreamUrl sets the StreamUrl field's value.
51013func (s *ResumeSessionOutput) SetStreamUrl(v string) *ResumeSessionOutput {
51014	s.StreamUrl = &v
51015	return s
51016}
51017
51018// SetTokenValue sets the TokenValue field's value.
51019func (s *ResumeSessionOutput) SetTokenValue(v string) *ResumeSessionOutput {
51020	s.TokenValue = &v
51021	return s
51022}
51023
51024// Information about the result of a document review request.
51025type ReviewInformation struct {
51026	_ struct{} `type:"structure"`
51027
51028	// The time that the reviewer took action on the document review request.
51029	ReviewedTime *time.Time `type:"timestamp"`
51030
51031	// The reviewer assigned to take action on the document review request.
51032	Reviewer *string `type:"string"`
51033
51034	// The current status of the document review request.
51035	Status *string `type:"string" enum:"ReviewStatus"`
51036}
51037
51038// String returns the string representation.
51039//
51040// API parameter values that are decorated as "sensitive" in the API will not
51041// be included in the string output. The member name will be present, but the
51042// value will be replaced with "sensitive".
51043func (s ReviewInformation) String() string {
51044	return awsutil.Prettify(s)
51045}
51046
51047// GoString returns the string representation.
51048//
51049// API parameter values that are decorated as "sensitive" in the API will not
51050// be included in the string output. The member name will be present, but the
51051// value will be replaced with "sensitive".
51052func (s ReviewInformation) GoString() string {
51053	return s.String()
51054}
51055
51056// SetReviewedTime sets the ReviewedTime field's value.
51057func (s *ReviewInformation) SetReviewedTime(v time.Time) *ReviewInformation {
51058	s.ReviewedTime = &v
51059	return s
51060}
51061
51062// SetReviewer sets the Reviewer field's value.
51063func (s *ReviewInformation) SetReviewer(v string) *ReviewInformation {
51064	s.Reviewer = &v
51065	return s
51066}
51067
51068// SetStatus sets the Status field's value.
51069func (s *ReviewInformation) SetStatus(v string) *ReviewInformation {
51070	s.Status = &v
51071	return s
51072}
51073
51074// Information about an Automation runbook used in a runbook workflow in Change
51075// Manager.
51076//
51077// The Automation runbooks specified for the runbook workflow can't run until
51078// all required approvals for the change request have been received.
51079type Runbook struct {
51080	_ struct{} `type:"structure"`
51081
51082	// The name of the Automation runbook used in a runbook workflow.
51083	//
51084	// DocumentName is a required field
51085	DocumentName *string `type:"string" required:"true"`
51086
51087	// The version of the Automation runbook used in a runbook workflow.
51088	DocumentVersion *string `type:"string"`
51089
51090	// The MaxConcurrency value specified by the user when the operation started,
51091	// indicating the maximum number of resources that the runbook operation can
51092	// run on at the same time.
51093	MaxConcurrency *string `min:"1" type:"string"`
51094
51095	// The MaxErrors value specified by the user when the execution started, indicating
51096	// the maximum number of errors that can occur during the operation before the
51097	// updates are stopped or rolled back.
51098	MaxErrors *string `min:"1" type:"string"`
51099
51100	// The key-value map of execution parameters, which were supplied when calling
51101	// StartChangeRequestExecution.
51102	Parameters map[string][]*string `min:"1" type:"map"`
51103
51104	// Information about the Amazon Web Services Regions and Amazon Web Services
51105	// accounts targeted by the current Runbook operation.
51106	TargetLocations []*TargetLocation `min:"1" type:"list"`
51107
51108	// The name of the parameter used as the target resource for the rate-controlled
51109	// runbook workflow. Required if you specify Targets.
51110	TargetParameterName *string `min:"1" type:"string"`
51111
51112	// A key-value mapping to target resources that the runbook operation performs
51113	// tasks on. Required if you specify TargetParameterName.
51114	Targets []*Target `type:"list"`
51115}
51116
51117// String returns the string representation.
51118//
51119// API parameter values that are decorated as "sensitive" in the API will not
51120// be included in the string output. The member name will be present, but the
51121// value will be replaced with "sensitive".
51122func (s Runbook) String() string {
51123	return awsutil.Prettify(s)
51124}
51125
51126// GoString returns the string representation.
51127//
51128// API parameter values that are decorated as "sensitive" in the API will not
51129// be included in the string output. The member name will be present, but the
51130// value will be replaced with "sensitive".
51131func (s Runbook) GoString() string {
51132	return s.String()
51133}
51134
51135// Validate inspects the fields of the type to determine if they are valid.
51136func (s *Runbook) Validate() error {
51137	invalidParams := request.ErrInvalidParams{Context: "Runbook"}
51138	if s.DocumentName == nil {
51139		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
51140	}
51141	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
51142		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
51143	}
51144	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
51145		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
51146	}
51147	if s.Parameters != nil && len(s.Parameters) < 1 {
51148		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
51149	}
51150	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
51151		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
51152	}
51153	if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 {
51154		invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1))
51155	}
51156	if s.TargetLocations != nil {
51157		for i, v := range s.TargetLocations {
51158			if v == nil {
51159				continue
51160			}
51161			if err := v.Validate(); err != nil {
51162				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
51163			}
51164		}
51165	}
51166	if s.Targets != nil {
51167		for i, v := range s.Targets {
51168			if v == nil {
51169				continue
51170			}
51171			if err := v.Validate(); err != nil {
51172				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
51173			}
51174		}
51175	}
51176
51177	if invalidParams.Len() > 0 {
51178		return invalidParams
51179	}
51180	return nil
51181}
51182
51183// SetDocumentName sets the DocumentName field's value.
51184func (s *Runbook) SetDocumentName(v string) *Runbook {
51185	s.DocumentName = &v
51186	return s
51187}
51188
51189// SetDocumentVersion sets the DocumentVersion field's value.
51190func (s *Runbook) SetDocumentVersion(v string) *Runbook {
51191	s.DocumentVersion = &v
51192	return s
51193}
51194
51195// SetMaxConcurrency sets the MaxConcurrency field's value.
51196func (s *Runbook) SetMaxConcurrency(v string) *Runbook {
51197	s.MaxConcurrency = &v
51198	return s
51199}
51200
51201// SetMaxErrors sets the MaxErrors field's value.
51202func (s *Runbook) SetMaxErrors(v string) *Runbook {
51203	s.MaxErrors = &v
51204	return s
51205}
51206
51207// SetParameters sets the Parameters field's value.
51208func (s *Runbook) SetParameters(v map[string][]*string) *Runbook {
51209	s.Parameters = v
51210	return s
51211}
51212
51213// SetTargetLocations sets the TargetLocations field's value.
51214func (s *Runbook) SetTargetLocations(v []*TargetLocation) *Runbook {
51215	s.TargetLocations = v
51216	return s
51217}
51218
51219// SetTargetParameterName sets the TargetParameterName field's value.
51220func (s *Runbook) SetTargetParameterName(v string) *Runbook {
51221	s.TargetParameterName = &v
51222	return s
51223}
51224
51225// SetTargets sets the Targets field's value.
51226func (s *Runbook) SetTargets(v []*Target) *Runbook {
51227	s.Targets = v
51228	return s
51229}
51230
51231// An S3 bucket where you want to store the results of this request.
51232type S3OutputLocation struct {
51233	_ struct{} `type:"structure"`
51234
51235	// The name of the S3 bucket.
51236	OutputS3BucketName *string `min:"3" type:"string"`
51237
51238	// The S3 bucket subfolder.
51239	OutputS3KeyPrefix *string `type:"string"`
51240
51241	// The Amazon Web Services Region of the S3 bucket.
51242	OutputS3Region *string `min:"3" type:"string"`
51243}
51244
51245// String returns the string representation.
51246//
51247// API parameter values that are decorated as "sensitive" in the API will not
51248// be included in the string output. The member name will be present, but the
51249// value will be replaced with "sensitive".
51250func (s S3OutputLocation) String() string {
51251	return awsutil.Prettify(s)
51252}
51253
51254// GoString returns the string representation.
51255//
51256// API parameter values that are decorated as "sensitive" in the API will not
51257// be included in the string output. The member name will be present, but the
51258// value will be replaced with "sensitive".
51259func (s S3OutputLocation) GoString() string {
51260	return s.String()
51261}
51262
51263// Validate inspects the fields of the type to determine if they are valid.
51264func (s *S3OutputLocation) Validate() error {
51265	invalidParams := request.ErrInvalidParams{Context: "S3OutputLocation"}
51266	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
51267		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
51268	}
51269	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
51270		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
51271	}
51272
51273	if invalidParams.Len() > 0 {
51274		return invalidParams
51275	}
51276	return nil
51277}
51278
51279// SetOutputS3BucketName sets the OutputS3BucketName field's value.
51280func (s *S3OutputLocation) SetOutputS3BucketName(v string) *S3OutputLocation {
51281	s.OutputS3BucketName = &v
51282	return s
51283}
51284
51285// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
51286func (s *S3OutputLocation) SetOutputS3KeyPrefix(v string) *S3OutputLocation {
51287	s.OutputS3KeyPrefix = &v
51288	return s
51289}
51290
51291// SetOutputS3Region sets the OutputS3Region field's value.
51292func (s *S3OutputLocation) SetOutputS3Region(v string) *S3OutputLocation {
51293	s.OutputS3Region = &v
51294	return s
51295}
51296
51297// A URL for the Amazon Web Services Systems Manager (Systems Manager) bucket
51298// where you want to store the results of this request.
51299type S3OutputUrl struct {
51300	_ struct{} `type:"structure"`
51301
51302	// A URL for an S3 bucket where you want to store the results of this request.
51303	OutputUrl *string `type:"string"`
51304}
51305
51306// String returns the string representation.
51307//
51308// API parameter values that are decorated as "sensitive" in the API will not
51309// be included in the string output. The member name will be present, but the
51310// value will be replaced with "sensitive".
51311func (s S3OutputUrl) String() string {
51312	return awsutil.Prettify(s)
51313}
51314
51315// GoString returns the string representation.
51316//
51317// API parameter values that are decorated as "sensitive" in the API will not
51318// be included in the string output. The member name will be present, but the
51319// value will be replaced with "sensitive".
51320func (s S3OutputUrl) GoString() string {
51321	return s.String()
51322}
51323
51324// SetOutputUrl sets the OutputUrl field's value.
51325func (s *S3OutputUrl) SetOutputUrl(v string) *S3OutputUrl {
51326	s.OutputUrl = &v
51327	return s
51328}
51329
51330// Information about a scheduled execution for a maintenance window.
51331type ScheduledWindowExecution struct {
51332	_ struct{} `type:"structure"`
51333
51334	// The time, in ISO-8601 Extended format, that the maintenance window is scheduled
51335	// to be run.
51336	ExecutionTime *string `type:"string"`
51337
51338	// The name of the maintenance window to be run.
51339	Name *string `min:"3" type:"string"`
51340
51341	// The ID of the maintenance window to be run.
51342	WindowId *string `min:"20" type:"string"`
51343}
51344
51345// String returns the string representation.
51346//
51347// API parameter values that are decorated as "sensitive" in the API will not
51348// be included in the string output. The member name will be present, but the
51349// value will be replaced with "sensitive".
51350func (s ScheduledWindowExecution) String() string {
51351	return awsutil.Prettify(s)
51352}
51353
51354// GoString returns the string representation.
51355//
51356// API parameter values that are decorated as "sensitive" in the API will not
51357// be included in the string output. The member name will be present, but the
51358// value will be replaced with "sensitive".
51359func (s ScheduledWindowExecution) GoString() string {
51360	return s.String()
51361}
51362
51363// SetExecutionTime sets the ExecutionTime field's value.
51364func (s *ScheduledWindowExecution) SetExecutionTime(v string) *ScheduledWindowExecution {
51365	s.ExecutionTime = &v
51366	return s
51367}
51368
51369// SetName sets the Name field's value.
51370func (s *ScheduledWindowExecution) SetName(v string) *ScheduledWindowExecution {
51371	s.Name = &v
51372	return s
51373}
51374
51375// SetWindowId sets the WindowId field's value.
51376func (s *ScheduledWindowExecution) SetWindowId(v string) *ScheduledWindowExecution {
51377	s.WindowId = &v
51378	return s
51379}
51380
51381type SendAutomationSignalInput struct {
51382	_ struct{} `type:"structure"`
51383
51384	// The unique identifier for an existing Automation execution that you want
51385	// to send the signal to.
51386	//
51387	// AutomationExecutionId is a required field
51388	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
51389
51390	// The data sent with the signal. The data schema depends on the type of signal
51391	// used in the request.
51392	//
51393	// For Approve and Reject signal types, the payload is an optional comment that
51394	// you can send with the signal type. For example:
51395	//
51396	// Comment="Looks good"
51397	//
51398	// For StartStep and Resume signal types, you must send the name of the Automation
51399	// step to start or resume as the payload. For example:
51400	//
51401	// StepName="step1"
51402	//
51403	// For the StopStep signal type, you must send the step execution ID as the
51404	// payload. For example:
51405	//
51406	// StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"
51407	Payload map[string][]*string `min:"1" type:"map"`
51408
51409	// The type of signal to send to an Automation execution.
51410	//
51411	// SignalType is a required field
51412	SignalType *string `type:"string" required:"true" enum:"SignalType"`
51413}
51414
51415// String returns the string representation.
51416//
51417// API parameter values that are decorated as "sensitive" in the API will not
51418// be included in the string output. The member name will be present, but the
51419// value will be replaced with "sensitive".
51420func (s SendAutomationSignalInput) String() string {
51421	return awsutil.Prettify(s)
51422}
51423
51424// GoString returns the string representation.
51425//
51426// API parameter values that are decorated as "sensitive" in the API will not
51427// be included in the string output. The member name will be present, but the
51428// value will be replaced with "sensitive".
51429func (s SendAutomationSignalInput) GoString() string {
51430	return s.String()
51431}
51432
51433// Validate inspects the fields of the type to determine if they are valid.
51434func (s *SendAutomationSignalInput) Validate() error {
51435	invalidParams := request.ErrInvalidParams{Context: "SendAutomationSignalInput"}
51436	if s.AutomationExecutionId == nil {
51437		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
51438	}
51439	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
51440		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
51441	}
51442	if s.Payload != nil && len(s.Payload) < 1 {
51443		invalidParams.Add(request.NewErrParamMinLen("Payload", 1))
51444	}
51445	if s.SignalType == nil {
51446		invalidParams.Add(request.NewErrParamRequired("SignalType"))
51447	}
51448
51449	if invalidParams.Len() > 0 {
51450		return invalidParams
51451	}
51452	return nil
51453}
51454
51455// SetAutomationExecutionId sets the AutomationExecutionId field's value.
51456func (s *SendAutomationSignalInput) SetAutomationExecutionId(v string) *SendAutomationSignalInput {
51457	s.AutomationExecutionId = &v
51458	return s
51459}
51460
51461// SetPayload sets the Payload field's value.
51462func (s *SendAutomationSignalInput) SetPayload(v map[string][]*string) *SendAutomationSignalInput {
51463	s.Payload = v
51464	return s
51465}
51466
51467// SetSignalType sets the SignalType field's value.
51468func (s *SendAutomationSignalInput) SetSignalType(v string) *SendAutomationSignalInput {
51469	s.SignalType = &v
51470	return s
51471}
51472
51473type SendAutomationSignalOutput struct {
51474	_ struct{} `type:"structure"`
51475}
51476
51477// String returns the string representation.
51478//
51479// API parameter values that are decorated as "sensitive" in the API will not
51480// be included in the string output. The member name will be present, but the
51481// value will be replaced with "sensitive".
51482func (s SendAutomationSignalOutput) String() string {
51483	return awsutil.Prettify(s)
51484}
51485
51486// GoString returns the string representation.
51487//
51488// API parameter values that are decorated as "sensitive" in the API will not
51489// be included in the string output. The member name will be present, but the
51490// value will be replaced with "sensitive".
51491func (s SendAutomationSignalOutput) GoString() string {
51492	return s.String()
51493}
51494
51495type SendCommandInput struct {
51496	_ struct{} `type:"structure"`
51497
51498	// Enables Amazon Web Services Systems Manager to send Run Command output to
51499	// Amazon CloudWatch Logs. Run Command is a capability of Amazon Web Services
51500	// Systems Manager.
51501	CloudWatchOutputConfig *CloudWatchOutputConfig `type:"structure"`
51502
51503	// User-specified information about the command, such as a brief description
51504	// of what the command should do.
51505	Comment *string `type:"string"`
51506
51507	// The Sha256 or Sha1 hash created by the system when the document was created.
51508	//
51509	// Sha1 hashes have been deprecated.
51510	DocumentHash *string `type:"string"`
51511
51512	// Sha256 or Sha1.
51513	//
51514	// Sha1 hashes have been deprecated.
51515	DocumentHashType *string `type:"string" enum:"DocumentHashType"`
51516
51517	// The name of the Amazon Web Services Systems Manager document (SSM document)
51518	// to run. This can be a public document or a custom document. To run a shared
51519	// document belonging to another account, specify the document Amazon Resource
51520	// Name (ARN). For more information about how to use shared documents, see Using
51521	// shared SSM documents (https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html)
51522	// in the Amazon Web Services Systems Manager User Guide.
51523	//
51524	// If you specify a document name or ARN that hasn't been shared with your account,
51525	// you receive an InvalidDocument error.
51526	//
51527	// DocumentName is a required field
51528	DocumentName *string `type:"string" required:"true"`
51529
51530	// The SSM document version to use in the request. You can specify $DEFAULT,
51531	// $LATEST, or a specific version number. If you run commands by using the Command
51532	// Line Interface (Amazon Web Services CLI), then you must escape the first
51533	// two options by using a backslash. If you specify a version number, then you
51534	// don't need to use the backslash. For example:
51535	//
51536	// --document-version "\$DEFAULT"
51537	//
51538	// --document-version "\$LATEST"
51539	//
51540	// --document-version "3"
51541	DocumentVersion *string `type:"string"`
51542
51543	// The IDs of the instances where the command should run. Specifying instance
51544	// IDs is most useful when you are targeting a limited number of instances,
51545	// though you can specify up to 50 IDs.
51546	//
51547	// To target a larger number of instances, or if you prefer not to list individual
51548	// instance IDs, we recommend using the Targets option instead. Using Targets,
51549	// which accepts tag key-value pairs to identify the instances to send commands
51550	// to, you can a send command to tens, hundreds, or thousands of instances at
51551	// once.
51552	//
51553	// For more information about how to use targets, see Using targets and rate
51554	// controls to send commands to a fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
51555	// in the Amazon Web Services Systems Manager User Guide.
51556	InstanceIds []*string `type:"list"`
51557
51558	// (Optional) The maximum number of instances that are allowed to run the command
51559	// at the same time. You can specify a number such as 10 or a percentage such
51560	// as 10%. The default value is 50. For more information about how to use MaxConcurrency,
51561	// see Using concurrency controls (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity)
51562	// in the Amazon Web Services Systems Manager User Guide.
51563	MaxConcurrency *string `min:"1" type:"string"`
51564
51565	// The maximum number of errors allowed without the command failing. When the
51566	// command fails one more time beyond the value of MaxErrors, the systems stops
51567	// sending the command to additional targets. You can specify a number like
51568	// 10 or a percentage like 10%. The default value is 0. For more information
51569	// about how to use MaxErrors, see Using error controls (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors)
51570	// in the Amazon Web Services Systems Manager User Guide.
51571	MaxErrors *string `min:"1" type:"string"`
51572
51573	// Configurations for sending notifications.
51574	NotificationConfig *NotificationConfig `type:"structure"`
51575
51576	// The name of the S3 bucket where command execution responses should be stored.
51577	OutputS3BucketName *string `min:"3" type:"string"`
51578
51579	// The directory structure within the S3 bucket where the responses should be
51580	// stored.
51581	OutputS3KeyPrefix *string `type:"string"`
51582
51583	// (Deprecated) You can no longer specify this parameter. The system ignores
51584	// it. Instead, Systems Manager automatically determines the Amazon Web Services
51585	// Region of the S3 bucket.
51586	OutputS3Region *string `min:"3" type:"string"`
51587
51588	// The required and optional parameters specified in the document being run.
51589	Parameters map[string][]*string `type:"map"`
51590
51591	// The ARN of the Identity and Access Management (IAM) service role to use to
51592	// publish Amazon Simple Notification Service (Amazon SNS) notifications for
51593	// Run Command commands.
51594	ServiceRoleArn *string `type:"string"`
51595
51596	// An array of search criteria that targets instances using a Key,Value combination
51597	// that you specify. Specifying targets is most useful when you want to send
51598	// a command to a large number of instances at once. Using Targets, which accepts
51599	// tag key-value pairs to identify instances, you can send a command to tens,
51600	// hundreds, or thousands of instances at once.
51601	//
51602	// To send a command to a smaller number of instances, you can use the InstanceIds
51603	// option instead.
51604	//
51605	// For more information about how to use targets, see Sending commands to a
51606	// fleet (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html)
51607	// in the Amazon Web Services Systems Manager User Guide.
51608	Targets []*Target `type:"list"`
51609
51610	// If this time is reached and the command hasn't already started running, it
51611	// won't run.
51612	TimeoutSeconds *int64 `min:"30" type:"integer"`
51613}
51614
51615// String returns the string representation.
51616//
51617// API parameter values that are decorated as "sensitive" in the API will not
51618// be included in the string output. The member name will be present, but the
51619// value will be replaced with "sensitive".
51620func (s SendCommandInput) String() string {
51621	return awsutil.Prettify(s)
51622}
51623
51624// GoString returns the string representation.
51625//
51626// API parameter values that are decorated as "sensitive" in the API will not
51627// be included in the string output. The member name will be present, but the
51628// value will be replaced with "sensitive".
51629func (s SendCommandInput) GoString() string {
51630	return s.String()
51631}
51632
51633// Validate inspects the fields of the type to determine if they are valid.
51634func (s *SendCommandInput) Validate() error {
51635	invalidParams := request.ErrInvalidParams{Context: "SendCommandInput"}
51636	if s.DocumentName == nil {
51637		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
51638	}
51639	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
51640		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
51641	}
51642	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
51643		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
51644	}
51645	if s.OutputS3BucketName != nil && len(*s.OutputS3BucketName) < 3 {
51646		invalidParams.Add(request.NewErrParamMinLen("OutputS3BucketName", 3))
51647	}
51648	if s.OutputS3Region != nil && len(*s.OutputS3Region) < 3 {
51649		invalidParams.Add(request.NewErrParamMinLen("OutputS3Region", 3))
51650	}
51651	if s.TimeoutSeconds != nil && *s.TimeoutSeconds < 30 {
51652		invalidParams.Add(request.NewErrParamMinValue("TimeoutSeconds", 30))
51653	}
51654	if s.CloudWatchOutputConfig != nil {
51655		if err := s.CloudWatchOutputConfig.Validate(); err != nil {
51656			invalidParams.AddNested("CloudWatchOutputConfig", err.(request.ErrInvalidParams))
51657		}
51658	}
51659	if s.Targets != nil {
51660		for i, v := range s.Targets {
51661			if v == nil {
51662				continue
51663			}
51664			if err := v.Validate(); err != nil {
51665				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
51666			}
51667		}
51668	}
51669
51670	if invalidParams.Len() > 0 {
51671		return invalidParams
51672	}
51673	return nil
51674}
51675
51676// SetCloudWatchOutputConfig sets the CloudWatchOutputConfig field's value.
51677func (s *SendCommandInput) SetCloudWatchOutputConfig(v *CloudWatchOutputConfig) *SendCommandInput {
51678	s.CloudWatchOutputConfig = v
51679	return s
51680}
51681
51682// SetComment sets the Comment field's value.
51683func (s *SendCommandInput) SetComment(v string) *SendCommandInput {
51684	s.Comment = &v
51685	return s
51686}
51687
51688// SetDocumentHash sets the DocumentHash field's value.
51689func (s *SendCommandInput) SetDocumentHash(v string) *SendCommandInput {
51690	s.DocumentHash = &v
51691	return s
51692}
51693
51694// SetDocumentHashType sets the DocumentHashType field's value.
51695func (s *SendCommandInput) SetDocumentHashType(v string) *SendCommandInput {
51696	s.DocumentHashType = &v
51697	return s
51698}
51699
51700// SetDocumentName sets the DocumentName field's value.
51701func (s *SendCommandInput) SetDocumentName(v string) *SendCommandInput {
51702	s.DocumentName = &v
51703	return s
51704}
51705
51706// SetDocumentVersion sets the DocumentVersion field's value.
51707func (s *SendCommandInput) SetDocumentVersion(v string) *SendCommandInput {
51708	s.DocumentVersion = &v
51709	return s
51710}
51711
51712// SetInstanceIds sets the InstanceIds field's value.
51713func (s *SendCommandInput) SetInstanceIds(v []*string) *SendCommandInput {
51714	s.InstanceIds = v
51715	return s
51716}
51717
51718// SetMaxConcurrency sets the MaxConcurrency field's value.
51719func (s *SendCommandInput) SetMaxConcurrency(v string) *SendCommandInput {
51720	s.MaxConcurrency = &v
51721	return s
51722}
51723
51724// SetMaxErrors sets the MaxErrors field's value.
51725func (s *SendCommandInput) SetMaxErrors(v string) *SendCommandInput {
51726	s.MaxErrors = &v
51727	return s
51728}
51729
51730// SetNotificationConfig sets the NotificationConfig field's value.
51731func (s *SendCommandInput) SetNotificationConfig(v *NotificationConfig) *SendCommandInput {
51732	s.NotificationConfig = v
51733	return s
51734}
51735
51736// SetOutputS3BucketName sets the OutputS3BucketName field's value.
51737func (s *SendCommandInput) SetOutputS3BucketName(v string) *SendCommandInput {
51738	s.OutputS3BucketName = &v
51739	return s
51740}
51741
51742// SetOutputS3KeyPrefix sets the OutputS3KeyPrefix field's value.
51743func (s *SendCommandInput) SetOutputS3KeyPrefix(v string) *SendCommandInput {
51744	s.OutputS3KeyPrefix = &v
51745	return s
51746}
51747
51748// SetOutputS3Region sets the OutputS3Region field's value.
51749func (s *SendCommandInput) SetOutputS3Region(v string) *SendCommandInput {
51750	s.OutputS3Region = &v
51751	return s
51752}
51753
51754// SetParameters sets the Parameters field's value.
51755func (s *SendCommandInput) SetParameters(v map[string][]*string) *SendCommandInput {
51756	s.Parameters = v
51757	return s
51758}
51759
51760// SetServiceRoleArn sets the ServiceRoleArn field's value.
51761func (s *SendCommandInput) SetServiceRoleArn(v string) *SendCommandInput {
51762	s.ServiceRoleArn = &v
51763	return s
51764}
51765
51766// SetTargets sets the Targets field's value.
51767func (s *SendCommandInput) SetTargets(v []*Target) *SendCommandInput {
51768	s.Targets = v
51769	return s
51770}
51771
51772// SetTimeoutSeconds sets the TimeoutSeconds field's value.
51773func (s *SendCommandInput) SetTimeoutSeconds(v int64) *SendCommandInput {
51774	s.TimeoutSeconds = &v
51775	return s
51776}
51777
51778type SendCommandOutput struct {
51779	_ struct{} `type:"structure"`
51780
51781	// The request as it was received by Systems Manager. Also provides the command
51782	// ID which can be used future references to this request.
51783	Command *Command `type:"structure"`
51784}
51785
51786// String returns the string representation.
51787//
51788// API parameter values that are decorated as "sensitive" in the API will not
51789// be included in the string output. The member name will be present, but the
51790// value will be replaced with "sensitive".
51791func (s SendCommandOutput) String() string {
51792	return awsutil.Prettify(s)
51793}
51794
51795// GoString returns the string representation.
51796//
51797// API parameter values that are decorated as "sensitive" in the API will not
51798// be included in the string output. The member name will be present, but the
51799// value will be replaced with "sensitive".
51800func (s SendCommandOutput) GoString() string {
51801	return s.String()
51802}
51803
51804// SetCommand sets the Command field's value.
51805func (s *SendCommandOutput) SetCommand(v *Command) *SendCommandOutput {
51806	s.Command = v
51807	return s
51808}
51809
51810// The service setting data structure.
51811//
51812// ServiceSetting is an account-level setting for an Amazon Web Services service.
51813// This setting defines how a user interacts with or uses a service or a feature
51814// of a service. For example, if an Amazon Web Services service charges money
51815// to the account based on feature or service usage, then the Amazon Web Services
51816// service team might create a default setting of "false". This means the user
51817// can't use this feature unless they change the setting to "true" and intentionally
51818// opt in for a paid feature.
51819//
51820// Services map a SettingId object to a setting value. Amazon Web Services services
51821// teams define the default value for a SettingId. You can't create a new SettingId,
51822// but you can overwrite the default value if you have the ssm:UpdateServiceSetting
51823// permission for the setting. Use the UpdateServiceSetting API operation to
51824// change the default setting. Or, use the ResetServiceSetting to change the
51825// value back to the original value defined by the Amazon Web Services service
51826// team.
51827type ServiceSetting struct {
51828	_ struct{} `type:"structure"`
51829
51830	// The ARN of the service setting.
51831	ARN *string `type:"string"`
51832
51833	// The last time the service setting was modified.
51834	LastModifiedDate *time.Time `type:"timestamp"`
51835
51836	// The ARN of the last modified user. This field is populated only if the setting
51837	// value was overwritten.
51838	LastModifiedUser *string `type:"string"`
51839
51840	// The ID of the service setting.
51841	SettingId *string `min:"1" type:"string"`
51842
51843	// The value of the service setting.
51844	SettingValue *string `min:"1" type:"string"`
51845
51846	// The status of the service setting. The value can be Default, Customized or
51847	// PendingUpdate.
51848	//
51849	//    * Default: The current setting uses a default value provisioned by the
51850	//    Amazon Web Services service team.
51851	//
51852	//    * Customized: The current setting use a custom value specified by the
51853	//    customer.
51854	//
51855	//    * PendingUpdate: The current setting uses a default or custom value, but
51856	//    a setting change request is pending approval.
51857	Status *string `type:"string"`
51858}
51859
51860// String returns the string representation.
51861//
51862// API parameter values that are decorated as "sensitive" in the API will not
51863// be included in the string output. The member name will be present, but the
51864// value will be replaced with "sensitive".
51865func (s ServiceSetting) String() string {
51866	return awsutil.Prettify(s)
51867}
51868
51869// GoString returns the string representation.
51870//
51871// API parameter values that are decorated as "sensitive" in the API will not
51872// be included in the string output. The member name will be present, but the
51873// value will be replaced with "sensitive".
51874func (s ServiceSetting) GoString() string {
51875	return s.String()
51876}
51877
51878// SetARN sets the ARN field's value.
51879func (s *ServiceSetting) SetARN(v string) *ServiceSetting {
51880	s.ARN = &v
51881	return s
51882}
51883
51884// SetLastModifiedDate sets the LastModifiedDate field's value.
51885func (s *ServiceSetting) SetLastModifiedDate(v time.Time) *ServiceSetting {
51886	s.LastModifiedDate = &v
51887	return s
51888}
51889
51890// SetLastModifiedUser sets the LastModifiedUser field's value.
51891func (s *ServiceSetting) SetLastModifiedUser(v string) *ServiceSetting {
51892	s.LastModifiedUser = &v
51893	return s
51894}
51895
51896// SetSettingId sets the SettingId field's value.
51897func (s *ServiceSetting) SetSettingId(v string) *ServiceSetting {
51898	s.SettingId = &v
51899	return s
51900}
51901
51902// SetSettingValue sets the SettingValue field's value.
51903func (s *ServiceSetting) SetSettingValue(v string) *ServiceSetting {
51904	s.SettingValue = &v
51905	return s
51906}
51907
51908// SetStatus sets the Status field's value.
51909func (s *ServiceSetting) SetStatus(v string) *ServiceSetting {
51910	s.Status = &v
51911	return s
51912}
51913
51914// The specified service setting wasn't found. Either the service name or the
51915// setting hasn't been provisioned by the Amazon Web Services service team.
51916type ServiceSettingNotFound struct {
51917	_            struct{}                  `type:"structure"`
51918	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
51919
51920	Message_ *string `locationName:"Message" type:"string"`
51921}
51922
51923// String returns the string representation.
51924//
51925// API parameter values that are decorated as "sensitive" in the API will not
51926// be included in the string output. The member name will be present, but the
51927// value will be replaced with "sensitive".
51928func (s ServiceSettingNotFound) String() string {
51929	return awsutil.Prettify(s)
51930}
51931
51932// GoString returns the string representation.
51933//
51934// API parameter values that are decorated as "sensitive" in the API will not
51935// be included in the string output. The member name will be present, but the
51936// value will be replaced with "sensitive".
51937func (s ServiceSettingNotFound) GoString() string {
51938	return s.String()
51939}
51940
51941func newErrorServiceSettingNotFound(v protocol.ResponseMetadata) error {
51942	return &ServiceSettingNotFound{
51943		RespMetadata: v,
51944	}
51945}
51946
51947// Code returns the exception type name.
51948func (s *ServiceSettingNotFound) Code() string {
51949	return "ServiceSettingNotFound"
51950}
51951
51952// Message returns the exception's message.
51953func (s *ServiceSettingNotFound) Message() string {
51954	if s.Message_ != nil {
51955		return *s.Message_
51956	}
51957	return ""
51958}
51959
51960// OrigErr always returns nil, satisfies awserr.Error interface.
51961func (s *ServiceSettingNotFound) OrigErr() error {
51962	return nil
51963}
51964
51965func (s *ServiceSettingNotFound) Error() string {
51966	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
51967}
51968
51969// Status code returns the HTTP status code for the request's response error.
51970func (s *ServiceSettingNotFound) StatusCode() int {
51971	return s.RespMetadata.StatusCode
51972}
51973
51974// RequestID returns the service's response RequestID for request.
51975func (s *ServiceSettingNotFound) RequestID() string {
51976	return s.RespMetadata.RequestID
51977}
51978
51979// Information about a Session Manager connection to an instance.
51980type Session struct {
51981	_ struct{} `type:"structure"`
51982
51983	// Reserved for future use.
51984	Details *string `min:"1" type:"string"`
51985
51986	// The name of the Session Manager SSM document used to define the parameters
51987	// and plugin settings for the session. For example, SSM-SessionManagerRunShell.
51988	DocumentName *string `type:"string"`
51989
51990	// The date and time, in ISO-8601 Extended format, when the session was terminated.
51991	EndDate *time.Time `type:"timestamp"`
51992
51993	// Reserved for future use.
51994	OutputUrl *SessionManagerOutputUrl `type:"structure"`
51995
51996	// The ID of the Amazon Web Services user account that started the session.
51997	Owner *string `min:"1" type:"string"`
51998
51999	// The ID of the session.
52000	SessionId *string `min:"1" type:"string"`
52001
52002	// The date and time, in ISO-8601 Extended format, when the session began.
52003	StartDate *time.Time `type:"timestamp"`
52004
52005	// The status of the session. For example, "Connected" or "Terminated".
52006	Status *string `type:"string" enum:"SessionStatus"`
52007
52008	// The instance that the Session Manager session connected to.
52009	Target *string `min:"1" type:"string"`
52010}
52011
52012// String returns the string representation.
52013//
52014// API parameter values that are decorated as "sensitive" in the API will not
52015// be included in the string output. The member name will be present, but the
52016// value will be replaced with "sensitive".
52017func (s Session) String() string {
52018	return awsutil.Prettify(s)
52019}
52020
52021// GoString returns the string representation.
52022//
52023// API parameter values that are decorated as "sensitive" in the API will not
52024// be included in the string output. The member name will be present, but the
52025// value will be replaced with "sensitive".
52026func (s Session) GoString() string {
52027	return s.String()
52028}
52029
52030// SetDetails sets the Details field's value.
52031func (s *Session) SetDetails(v string) *Session {
52032	s.Details = &v
52033	return s
52034}
52035
52036// SetDocumentName sets the DocumentName field's value.
52037func (s *Session) SetDocumentName(v string) *Session {
52038	s.DocumentName = &v
52039	return s
52040}
52041
52042// SetEndDate sets the EndDate field's value.
52043func (s *Session) SetEndDate(v time.Time) *Session {
52044	s.EndDate = &v
52045	return s
52046}
52047
52048// SetOutputUrl sets the OutputUrl field's value.
52049func (s *Session) SetOutputUrl(v *SessionManagerOutputUrl) *Session {
52050	s.OutputUrl = v
52051	return s
52052}
52053
52054// SetOwner sets the Owner field's value.
52055func (s *Session) SetOwner(v string) *Session {
52056	s.Owner = &v
52057	return s
52058}
52059
52060// SetSessionId sets the SessionId field's value.
52061func (s *Session) SetSessionId(v string) *Session {
52062	s.SessionId = &v
52063	return s
52064}
52065
52066// SetStartDate sets the StartDate field's value.
52067func (s *Session) SetStartDate(v time.Time) *Session {
52068	s.StartDate = &v
52069	return s
52070}
52071
52072// SetStatus sets the Status field's value.
52073func (s *Session) SetStatus(v string) *Session {
52074	s.Status = &v
52075	return s
52076}
52077
52078// SetTarget sets the Target field's value.
52079func (s *Session) SetTarget(v string) *Session {
52080	s.Target = &v
52081	return s
52082}
52083
52084// Describes a filter for Session Manager information.
52085type SessionFilter struct {
52086	_ struct{} `type:"structure"`
52087
52088	// The name of the filter.
52089	//
52090	// Key is a required field
52091	Key *string `locationName:"key" type:"string" required:"true" enum:"SessionFilterKey"`
52092
52093	// The filter value. Valid values for each filter key are as follows:
52094	//
52095	//    * InvokedAfter: Specify a timestamp to limit your results. For example,
52096	//    specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018,
52097	//    and later.
52098	//
52099	//    * InvokedBefore: Specify a timestamp to limit your results. For example,
52100	//    specify 2018-08-29T00:00:00Z to see sessions that started before August
52101	//    29, 2018.
52102	//
52103	//    * Target: Specify an instance to which session connections have been made.
52104	//
52105	//    * Owner: Specify an Amazon Web Services user account to see a list of
52106	//    sessions started by that user.
52107	//
52108	//    * Status: Specify a valid session status to see a list of all sessions
52109	//    with that status. Status values you can specify include: Connected Connecting
52110	//    Disconnected Terminated Terminating Failed
52111	//
52112	//    * SessionId: Specify a session ID to return details about the session.
52113	//
52114	// Value is a required field
52115	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
52116}
52117
52118// String returns the string representation.
52119//
52120// API parameter values that are decorated as "sensitive" in the API will not
52121// be included in the string output. The member name will be present, but the
52122// value will be replaced with "sensitive".
52123func (s SessionFilter) String() string {
52124	return awsutil.Prettify(s)
52125}
52126
52127// GoString returns the string representation.
52128//
52129// API parameter values that are decorated as "sensitive" in the API will not
52130// be included in the string output. The member name will be present, but the
52131// value will be replaced with "sensitive".
52132func (s SessionFilter) GoString() string {
52133	return s.String()
52134}
52135
52136// Validate inspects the fields of the type to determine if they are valid.
52137func (s *SessionFilter) Validate() error {
52138	invalidParams := request.ErrInvalidParams{Context: "SessionFilter"}
52139	if s.Key == nil {
52140		invalidParams.Add(request.NewErrParamRequired("Key"))
52141	}
52142	if s.Value == nil {
52143		invalidParams.Add(request.NewErrParamRequired("Value"))
52144	}
52145	if s.Value != nil && len(*s.Value) < 1 {
52146		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
52147	}
52148
52149	if invalidParams.Len() > 0 {
52150		return invalidParams
52151	}
52152	return nil
52153}
52154
52155// SetKey sets the Key field's value.
52156func (s *SessionFilter) SetKey(v string) *SessionFilter {
52157	s.Key = &v
52158	return s
52159}
52160
52161// SetValue sets the Value field's value.
52162func (s *SessionFilter) SetValue(v string) *SessionFilter {
52163	s.Value = &v
52164	return s
52165}
52166
52167// Reserved for future use.
52168type SessionManagerOutputUrl struct {
52169	_ struct{} `type:"structure"`
52170
52171	// Reserved for future use.
52172	CloudWatchOutputUrl *string `min:"1" type:"string"`
52173
52174	// Reserved for future use.
52175	S3OutputUrl *string `min:"1" type:"string"`
52176}
52177
52178// String returns the string representation.
52179//
52180// API parameter values that are decorated as "sensitive" in the API will not
52181// be included in the string output. The member name will be present, but the
52182// value will be replaced with "sensitive".
52183func (s SessionManagerOutputUrl) String() string {
52184	return awsutil.Prettify(s)
52185}
52186
52187// GoString returns the string representation.
52188//
52189// API parameter values that are decorated as "sensitive" in the API will not
52190// be included in the string output. The member name will be present, but the
52191// value will be replaced with "sensitive".
52192func (s SessionManagerOutputUrl) GoString() string {
52193	return s.String()
52194}
52195
52196// SetCloudWatchOutputUrl sets the CloudWatchOutputUrl field's value.
52197func (s *SessionManagerOutputUrl) SetCloudWatchOutputUrl(v string) *SessionManagerOutputUrl {
52198	s.CloudWatchOutputUrl = &v
52199	return s
52200}
52201
52202// SetS3OutputUrl sets the S3OutputUrl field's value.
52203func (s *SessionManagerOutputUrl) SetS3OutputUrl(v string) *SessionManagerOutputUrl {
52204	s.S3OutputUrl = &v
52205	return s
52206}
52207
52208// The number of managed instances found for each patch severity level defined
52209// in the request filter.
52210type SeveritySummary struct {
52211	_ struct{} `type:"structure"`
52212
52213	// The total number of resources or compliance items that have a severity level
52214	// of critical. Critical severity is determined by the organization that published
52215	// the compliance items.
52216	CriticalCount *int64 `type:"integer"`
52217
52218	// The total number of resources or compliance items that have a severity level
52219	// of high. High severity is determined by the organization that published the
52220	// compliance items.
52221	HighCount *int64 `type:"integer"`
52222
52223	// The total number of resources or compliance items that have a severity level
52224	// of informational. Informational severity is determined by the organization
52225	// that published the compliance items.
52226	InformationalCount *int64 `type:"integer"`
52227
52228	// The total number of resources or compliance items that have a severity level
52229	// of low. Low severity is determined by the organization that published the
52230	// compliance items.
52231	LowCount *int64 `type:"integer"`
52232
52233	// The total number of resources or compliance items that have a severity level
52234	// of medium. Medium severity is determined by the organization that published
52235	// the compliance items.
52236	MediumCount *int64 `type:"integer"`
52237
52238	// The total number of resources or compliance items that have a severity level
52239	// of unspecified. Unspecified severity is determined by the organization that
52240	// published the compliance items.
52241	UnspecifiedCount *int64 `type:"integer"`
52242}
52243
52244// String returns the string representation.
52245//
52246// API parameter values that are decorated as "sensitive" in the API will not
52247// be included in the string output. The member name will be present, but the
52248// value will be replaced with "sensitive".
52249func (s SeveritySummary) String() string {
52250	return awsutil.Prettify(s)
52251}
52252
52253// GoString returns the string representation.
52254//
52255// API parameter values that are decorated as "sensitive" in the API will not
52256// be included in the string output. The member name will be present, but the
52257// value will be replaced with "sensitive".
52258func (s SeveritySummary) GoString() string {
52259	return s.String()
52260}
52261
52262// SetCriticalCount sets the CriticalCount field's value.
52263func (s *SeveritySummary) SetCriticalCount(v int64) *SeveritySummary {
52264	s.CriticalCount = &v
52265	return s
52266}
52267
52268// SetHighCount sets the HighCount field's value.
52269func (s *SeveritySummary) SetHighCount(v int64) *SeveritySummary {
52270	s.HighCount = &v
52271	return s
52272}
52273
52274// SetInformationalCount sets the InformationalCount field's value.
52275func (s *SeveritySummary) SetInformationalCount(v int64) *SeveritySummary {
52276	s.InformationalCount = &v
52277	return s
52278}
52279
52280// SetLowCount sets the LowCount field's value.
52281func (s *SeveritySummary) SetLowCount(v int64) *SeveritySummary {
52282	s.LowCount = &v
52283	return s
52284}
52285
52286// SetMediumCount sets the MediumCount field's value.
52287func (s *SeveritySummary) SetMediumCount(v int64) *SeveritySummary {
52288	s.MediumCount = &v
52289	return s
52290}
52291
52292// SetUnspecifiedCount sets the UnspecifiedCount field's value.
52293func (s *SeveritySummary) SetUnspecifiedCount(v int64) *SeveritySummary {
52294	s.UnspecifiedCount = &v
52295	return s
52296}
52297
52298type StartAssociationsOnceInput struct {
52299	_ struct{} `type:"structure"`
52300
52301	// The association IDs that you want to run immediately and only one time.
52302	//
52303	// AssociationIds is a required field
52304	AssociationIds []*string `min:"1" type:"list" required:"true"`
52305}
52306
52307// String returns the string representation.
52308//
52309// API parameter values that are decorated as "sensitive" in the API will not
52310// be included in the string output. The member name will be present, but the
52311// value will be replaced with "sensitive".
52312func (s StartAssociationsOnceInput) String() string {
52313	return awsutil.Prettify(s)
52314}
52315
52316// GoString returns the string representation.
52317//
52318// API parameter values that are decorated as "sensitive" in the API will not
52319// be included in the string output. The member name will be present, but the
52320// value will be replaced with "sensitive".
52321func (s StartAssociationsOnceInput) GoString() string {
52322	return s.String()
52323}
52324
52325// Validate inspects the fields of the type to determine if they are valid.
52326func (s *StartAssociationsOnceInput) Validate() error {
52327	invalidParams := request.ErrInvalidParams{Context: "StartAssociationsOnceInput"}
52328	if s.AssociationIds == nil {
52329		invalidParams.Add(request.NewErrParamRequired("AssociationIds"))
52330	}
52331	if s.AssociationIds != nil && len(s.AssociationIds) < 1 {
52332		invalidParams.Add(request.NewErrParamMinLen("AssociationIds", 1))
52333	}
52334
52335	if invalidParams.Len() > 0 {
52336		return invalidParams
52337	}
52338	return nil
52339}
52340
52341// SetAssociationIds sets the AssociationIds field's value.
52342func (s *StartAssociationsOnceInput) SetAssociationIds(v []*string) *StartAssociationsOnceInput {
52343	s.AssociationIds = v
52344	return s
52345}
52346
52347type StartAssociationsOnceOutput struct {
52348	_ struct{} `type:"structure"`
52349}
52350
52351// String returns the string representation.
52352//
52353// API parameter values that are decorated as "sensitive" in the API will not
52354// be included in the string output. The member name will be present, but the
52355// value will be replaced with "sensitive".
52356func (s StartAssociationsOnceOutput) String() string {
52357	return awsutil.Prettify(s)
52358}
52359
52360// GoString returns the string representation.
52361//
52362// API parameter values that are decorated as "sensitive" in the API will not
52363// be included in the string output. The member name will be present, but the
52364// value will be replaced with "sensitive".
52365func (s StartAssociationsOnceOutput) GoString() string {
52366	return s.String()
52367}
52368
52369type StartAutomationExecutionInput struct {
52370	_ struct{} `type:"structure"`
52371
52372	// User-provided idempotency token. The token must be unique, is case insensitive,
52373	// enforces the UUID format, and can't be reused.
52374	ClientToken *string `min:"36" type:"string"`
52375
52376	// The name of the SSM document to run. This can be a public document or a custom
52377	// document. To run a shared document belonging to another account, specify
52378	// the document ARN. For more information about how to use shared documents,
52379	// see Using shared SSM documents (https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html)
52380	// in the Amazon Web Services Systems Manager User Guide.
52381	//
52382	// DocumentName is a required field
52383	DocumentName *string `type:"string" required:"true"`
52384
52385	// The version of the Automation runbook to use for this execution.
52386	DocumentVersion *string `type:"string"`
52387
52388	// The maximum number of targets allowed to run this task in parallel. You can
52389	// specify a number, such as 10, or a percentage, such as 10%. The default value
52390	// is 10.
52391	MaxConcurrency *string `min:"1" type:"string"`
52392
52393	// The number of errors that are allowed before the system stops running the
52394	// automation on additional targets. You can specify either an absolute number
52395	// of errors, for example 10, or a percentage of the target set, for example
52396	// 10%. If you specify 3, for example, the system stops running the automation
52397	// when the fourth error is received. If you specify 0, then the system stops
52398	// running the automation on additional targets after the first error result
52399	// is returned. If you run an automation on 50 resources and set max-errors
52400	// to 10%, then the system stops running the automation on additional targets
52401	// when the sixth error is received.
52402	//
52403	// Executions that are already running an automation when max-errors is reached
52404	// are allowed to complete, but some of these executions may fail as well. If
52405	// you need to ensure that there won't be more than max-errors failed executions,
52406	// set max-concurrency to 1 so the executions proceed one at a time.
52407	MaxErrors *string `min:"1" type:"string"`
52408
52409	// The execution mode of the automation. Valid modes include the following:
52410	// Auto and Interactive. The default mode is Auto.
52411	Mode *string `type:"string" enum:"ExecutionMode"`
52412
52413	// A key-value map of execution parameters, which match the declared parameters
52414	// in the Automation runbook.
52415	Parameters map[string][]*string `min:"1" type:"map"`
52416
52417	// Optional metadata that you assign to a resource. You can specify a maximum
52418	// of five tags for an automation. Tags enable you to categorize a resource
52419	// in different ways, such as by purpose, owner, or environment. For example,
52420	// you might want to tag an automation to identify an environment or operating
52421	// system. In this case, you could specify the following key-value pairs:
52422	//
52423	//    * Key=environment,Value=test
52424	//
52425	//    * Key=OS,Value=Windows
52426	//
52427	// To add tags to an existing patch baseline, use the AddTagsToResource operation.
52428	Tags []*Tag `type:"list"`
52429
52430	// A location is a combination of Amazon Web Services Regions and/or Amazon
52431	// Web Services accounts where you want to run the automation. Use this operation
52432	// to start an automation in multiple Amazon Web Services Regions and multiple
52433	// Amazon Web Services accounts. For more information, see Running Automation
52434	// workflows in multiple Amazon Web Services Regions and Amazon Web Services
52435	// accounts (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html)
52436	// in the Amazon Web Services Systems Manager User Guide.
52437	TargetLocations []*TargetLocation `min:"1" type:"list"`
52438
52439	// A key-value mapping of document parameters to target resources. Both Targets
52440	// and TargetMaps can't be specified together.
52441	TargetMaps []map[string][]*string `type:"list"`
52442
52443	// The name of the parameter used as the target resource for the rate-controlled
52444	// execution. Required if you specify targets.
52445	TargetParameterName *string `min:"1" type:"string"`
52446
52447	// A key-value mapping to target resources. Required if you specify TargetParameterName.
52448	Targets []*Target `type:"list"`
52449}
52450
52451// String returns the string representation.
52452//
52453// API parameter values that are decorated as "sensitive" in the API will not
52454// be included in the string output. The member name will be present, but the
52455// value will be replaced with "sensitive".
52456func (s StartAutomationExecutionInput) String() string {
52457	return awsutil.Prettify(s)
52458}
52459
52460// GoString returns the string representation.
52461//
52462// API parameter values that are decorated as "sensitive" in the API will not
52463// be included in the string output. The member name will be present, but the
52464// value will be replaced with "sensitive".
52465func (s StartAutomationExecutionInput) GoString() string {
52466	return s.String()
52467}
52468
52469// Validate inspects the fields of the type to determine if they are valid.
52470func (s *StartAutomationExecutionInput) Validate() error {
52471	invalidParams := request.ErrInvalidParams{Context: "StartAutomationExecutionInput"}
52472	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
52473		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
52474	}
52475	if s.DocumentName == nil {
52476		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
52477	}
52478	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
52479		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
52480	}
52481	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
52482		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
52483	}
52484	if s.Parameters != nil && len(s.Parameters) < 1 {
52485		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
52486	}
52487	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
52488		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
52489	}
52490	if s.TargetParameterName != nil && len(*s.TargetParameterName) < 1 {
52491		invalidParams.Add(request.NewErrParamMinLen("TargetParameterName", 1))
52492	}
52493	if s.Tags != nil {
52494		for i, v := range s.Tags {
52495			if v == nil {
52496				continue
52497			}
52498			if err := v.Validate(); err != nil {
52499				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
52500			}
52501		}
52502	}
52503	if s.TargetLocations != nil {
52504		for i, v := range s.TargetLocations {
52505			if v == nil {
52506				continue
52507			}
52508			if err := v.Validate(); err != nil {
52509				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
52510			}
52511		}
52512	}
52513	if s.Targets != nil {
52514		for i, v := range s.Targets {
52515			if v == nil {
52516				continue
52517			}
52518			if err := v.Validate(); err != nil {
52519				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
52520			}
52521		}
52522	}
52523
52524	if invalidParams.Len() > 0 {
52525		return invalidParams
52526	}
52527	return nil
52528}
52529
52530// SetClientToken sets the ClientToken field's value.
52531func (s *StartAutomationExecutionInput) SetClientToken(v string) *StartAutomationExecutionInput {
52532	s.ClientToken = &v
52533	return s
52534}
52535
52536// SetDocumentName sets the DocumentName field's value.
52537func (s *StartAutomationExecutionInput) SetDocumentName(v string) *StartAutomationExecutionInput {
52538	s.DocumentName = &v
52539	return s
52540}
52541
52542// SetDocumentVersion sets the DocumentVersion field's value.
52543func (s *StartAutomationExecutionInput) SetDocumentVersion(v string) *StartAutomationExecutionInput {
52544	s.DocumentVersion = &v
52545	return s
52546}
52547
52548// SetMaxConcurrency sets the MaxConcurrency field's value.
52549func (s *StartAutomationExecutionInput) SetMaxConcurrency(v string) *StartAutomationExecutionInput {
52550	s.MaxConcurrency = &v
52551	return s
52552}
52553
52554// SetMaxErrors sets the MaxErrors field's value.
52555func (s *StartAutomationExecutionInput) SetMaxErrors(v string) *StartAutomationExecutionInput {
52556	s.MaxErrors = &v
52557	return s
52558}
52559
52560// SetMode sets the Mode field's value.
52561func (s *StartAutomationExecutionInput) SetMode(v string) *StartAutomationExecutionInput {
52562	s.Mode = &v
52563	return s
52564}
52565
52566// SetParameters sets the Parameters field's value.
52567func (s *StartAutomationExecutionInput) SetParameters(v map[string][]*string) *StartAutomationExecutionInput {
52568	s.Parameters = v
52569	return s
52570}
52571
52572// SetTags sets the Tags field's value.
52573func (s *StartAutomationExecutionInput) SetTags(v []*Tag) *StartAutomationExecutionInput {
52574	s.Tags = v
52575	return s
52576}
52577
52578// SetTargetLocations sets the TargetLocations field's value.
52579func (s *StartAutomationExecutionInput) SetTargetLocations(v []*TargetLocation) *StartAutomationExecutionInput {
52580	s.TargetLocations = v
52581	return s
52582}
52583
52584// SetTargetMaps sets the TargetMaps field's value.
52585func (s *StartAutomationExecutionInput) SetTargetMaps(v []map[string][]*string) *StartAutomationExecutionInput {
52586	s.TargetMaps = v
52587	return s
52588}
52589
52590// SetTargetParameterName sets the TargetParameterName field's value.
52591func (s *StartAutomationExecutionInput) SetTargetParameterName(v string) *StartAutomationExecutionInput {
52592	s.TargetParameterName = &v
52593	return s
52594}
52595
52596// SetTargets sets the Targets field's value.
52597func (s *StartAutomationExecutionInput) SetTargets(v []*Target) *StartAutomationExecutionInput {
52598	s.Targets = v
52599	return s
52600}
52601
52602type StartAutomationExecutionOutput struct {
52603	_ struct{} `type:"structure"`
52604
52605	// The unique ID of a newly scheduled automation execution.
52606	AutomationExecutionId *string `min:"36" type:"string"`
52607}
52608
52609// String returns the string representation.
52610//
52611// API parameter values that are decorated as "sensitive" in the API will not
52612// be included in the string output. The member name will be present, but the
52613// value will be replaced with "sensitive".
52614func (s StartAutomationExecutionOutput) String() string {
52615	return awsutil.Prettify(s)
52616}
52617
52618// GoString returns the string representation.
52619//
52620// API parameter values that are decorated as "sensitive" in the API will not
52621// be included in the string output. The member name will be present, but the
52622// value will be replaced with "sensitive".
52623func (s StartAutomationExecutionOutput) GoString() string {
52624	return s.String()
52625}
52626
52627// SetAutomationExecutionId sets the AutomationExecutionId field's value.
52628func (s *StartAutomationExecutionOutput) SetAutomationExecutionId(v string) *StartAutomationExecutionOutput {
52629	s.AutomationExecutionId = &v
52630	return s
52631}
52632
52633type StartChangeRequestExecutionInput struct {
52634	_ struct{} `type:"structure"`
52635
52636	// Indicates whether the change request can be approved automatically without
52637	// the need for manual approvals.
52638	//
52639	// If AutoApprovable is enabled in a change template, then setting AutoApprove
52640	// to true in StartChangeRequestExecution creates a change request that bypasses
52641	// approver review.
52642	//
52643	// Change Calendar restrictions are not bypassed in this scenario. If the state
52644	// of an associated calendar is CLOSED, change freeze approvers must still grant
52645	// permission for this change request to run. If they don't, the change won't
52646	// be processed until the calendar state is again OPEN.
52647	AutoApprove *bool `type:"boolean"`
52648
52649	// User-provided details about the change. If no details are provided, content
52650	// specified in the Template information section of the associated change template
52651	// is added.
52652	ChangeDetails *string `min:"1" type:"string"`
52653
52654	// The name of the change request associated with the runbook workflow to be
52655	// run.
52656	ChangeRequestName *string `min:"1" type:"string"`
52657
52658	// The user-provided idempotency token. The token must be unique, is case insensitive,
52659	// enforces the UUID format, and can't be reused.
52660	ClientToken *string `min:"36" type:"string"`
52661
52662	// The name of the change template document to run during the runbook workflow.
52663	//
52664	// DocumentName is a required field
52665	DocumentName *string `type:"string" required:"true"`
52666
52667	// The version of the change template document to run during the runbook workflow.
52668	DocumentVersion *string `type:"string"`
52669
52670	// A key-value map of parameters that match the declared parameters in the change
52671	// template document.
52672	Parameters map[string][]*string `min:"1" type:"map"`
52673
52674	// Information about the Automation runbooks that are run during the runbook
52675	// workflow.
52676	//
52677	// The Automation runbooks specified for the runbook workflow can't run until
52678	// all required approvals for the change request have been received.
52679	//
52680	// Runbooks is a required field
52681	Runbooks []*Runbook `min:"1" type:"list" required:"true"`
52682
52683	// The time that the requester expects the runbook workflow related to the change
52684	// request to complete. The time is an estimate only that the requester provides
52685	// for reviewers.
52686	ScheduledEndTime *time.Time `type:"timestamp"`
52687
52688	// The date and time specified in the change request to run the Automation runbooks.
52689	//
52690	// The Automation runbooks specified for the runbook workflow can't run until
52691	// all required approvals for the change request have been received.
52692	ScheduledTime *time.Time `type:"timestamp"`
52693
52694	// Optional metadata that you assign to a resource. You can specify a maximum
52695	// of five tags for a change request. Tags enable you to categorize a resource
52696	// in different ways, such as by purpose, owner, or environment. For example,
52697	// you might want to tag a change request to identify an environment or target
52698	// Amazon Web Services Region. In this case, you could specify the following
52699	// key-value pairs:
52700	//
52701	//    * Key=Environment,Value=Production
52702	//
52703	//    * Key=Region,Value=us-east-2
52704	Tags []*Tag `type:"list"`
52705}
52706
52707// String returns the string representation.
52708//
52709// API parameter values that are decorated as "sensitive" in the API will not
52710// be included in the string output. The member name will be present, but the
52711// value will be replaced with "sensitive".
52712func (s StartChangeRequestExecutionInput) String() string {
52713	return awsutil.Prettify(s)
52714}
52715
52716// GoString returns the string representation.
52717//
52718// API parameter values that are decorated as "sensitive" in the API will not
52719// be included in the string output. The member name will be present, but the
52720// value will be replaced with "sensitive".
52721func (s StartChangeRequestExecutionInput) GoString() string {
52722	return s.String()
52723}
52724
52725// Validate inspects the fields of the type to determine if they are valid.
52726func (s *StartChangeRequestExecutionInput) Validate() error {
52727	invalidParams := request.ErrInvalidParams{Context: "StartChangeRequestExecutionInput"}
52728	if s.ChangeDetails != nil && len(*s.ChangeDetails) < 1 {
52729		invalidParams.Add(request.NewErrParamMinLen("ChangeDetails", 1))
52730	}
52731	if s.ChangeRequestName != nil && len(*s.ChangeRequestName) < 1 {
52732		invalidParams.Add(request.NewErrParamMinLen("ChangeRequestName", 1))
52733	}
52734	if s.ClientToken != nil && len(*s.ClientToken) < 36 {
52735		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 36))
52736	}
52737	if s.DocumentName == nil {
52738		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
52739	}
52740	if s.Parameters != nil && len(s.Parameters) < 1 {
52741		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
52742	}
52743	if s.Runbooks == nil {
52744		invalidParams.Add(request.NewErrParamRequired("Runbooks"))
52745	}
52746	if s.Runbooks != nil && len(s.Runbooks) < 1 {
52747		invalidParams.Add(request.NewErrParamMinLen("Runbooks", 1))
52748	}
52749	if s.Runbooks != nil {
52750		for i, v := range s.Runbooks {
52751			if v == nil {
52752				continue
52753			}
52754			if err := v.Validate(); err != nil {
52755				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Runbooks", i), err.(request.ErrInvalidParams))
52756			}
52757		}
52758	}
52759	if s.Tags != nil {
52760		for i, v := range s.Tags {
52761			if v == nil {
52762				continue
52763			}
52764			if err := v.Validate(); err != nil {
52765				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
52766			}
52767		}
52768	}
52769
52770	if invalidParams.Len() > 0 {
52771		return invalidParams
52772	}
52773	return nil
52774}
52775
52776// SetAutoApprove sets the AutoApprove field's value.
52777func (s *StartChangeRequestExecutionInput) SetAutoApprove(v bool) *StartChangeRequestExecutionInput {
52778	s.AutoApprove = &v
52779	return s
52780}
52781
52782// SetChangeDetails sets the ChangeDetails field's value.
52783func (s *StartChangeRequestExecutionInput) SetChangeDetails(v string) *StartChangeRequestExecutionInput {
52784	s.ChangeDetails = &v
52785	return s
52786}
52787
52788// SetChangeRequestName sets the ChangeRequestName field's value.
52789func (s *StartChangeRequestExecutionInput) SetChangeRequestName(v string) *StartChangeRequestExecutionInput {
52790	s.ChangeRequestName = &v
52791	return s
52792}
52793
52794// SetClientToken sets the ClientToken field's value.
52795func (s *StartChangeRequestExecutionInput) SetClientToken(v string) *StartChangeRequestExecutionInput {
52796	s.ClientToken = &v
52797	return s
52798}
52799
52800// SetDocumentName sets the DocumentName field's value.
52801func (s *StartChangeRequestExecutionInput) SetDocumentName(v string) *StartChangeRequestExecutionInput {
52802	s.DocumentName = &v
52803	return s
52804}
52805
52806// SetDocumentVersion sets the DocumentVersion field's value.
52807func (s *StartChangeRequestExecutionInput) SetDocumentVersion(v string) *StartChangeRequestExecutionInput {
52808	s.DocumentVersion = &v
52809	return s
52810}
52811
52812// SetParameters sets the Parameters field's value.
52813func (s *StartChangeRequestExecutionInput) SetParameters(v map[string][]*string) *StartChangeRequestExecutionInput {
52814	s.Parameters = v
52815	return s
52816}
52817
52818// SetRunbooks sets the Runbooks field's value.
52819func (s *StartChangeRequestExecutionInput) SetRunbooks(v []*Runbook) *StartChangeRequestExecutionInput {
52820	s.Runbooks = v
52821	return s
52822}
52823
52824// SetScheduledEndTime sets the ScheduledEndTime field's value.
52825func (s *StartChangeRequestExecutionInput) SetScheduledEndTime(v time.Time) *StartChangeRequestExecutionInput {
52826	s.ScheduledEndTime = &v
52827	return s
52828}
52829
52830// SetScheduledTime sets the ScheduledTime field's value.
52831func (s *StartChangeRequestExecutionInput) SetScheduledTime(v time.Time) *StartChangeRequestExecutionInput {
52832	s.ScheduledTime = &v
52833	return s
52834}
52835
52836// SetTags sets the Tags field's value.
52837func (s *StartChangeRequestExecutionInput) SetTags(v []*Tag) *StartChangeRequestExecutionInput {
52838	s.Tags = v
52839	return s
52840}
52841
52842type StartChangeRequestExecutionOutput struct {
52843	_ struct{} `type:"structure"`
52844
52845	// The unique ID of a runbook workflow operation. (A runbook workflow is a type
52846	// of Automation operation.)
52847	AutomationExecutionId *string `min:"36" type:"string"`
52848}
52849
52850// String returns the string representation.
52851//
52852// API parameter values that are decorated as "sensitive" in the API will not
52853// be included in the string output. The member name will be present, but the
52854// value will be replaced with "sensitive".
52855func (s StartChangeRequestExecutionOutput) String() string {
52856	return awsutil.Prettify(s)
52857}
52858
52859// GoString returns the string representation.
52860//
52861// API parameter values that are decorated as "sensitive" in the API will not
52862// be included in the string output. The member name will be present, but the
52863// value will be replaced with "sensitive".
52864func (s StartChangeRequestExecutionOutput) GoString() string {
52865	return s.String()
52866}
52867
52868// SetAutomationExecutionId sets the AutomationExecutionId field's value.
52869func (s *StartChangeRequestExecutionOutput) SetAutomationExecutionId(v string) *StartChangeRequestExecutionOutput {
52870	s.AutomationExecutionId = &v
52871	return s
52872}
52873
52874type StartSessionInput struct {
52875	_ struct{} `type:"structure"`
52876
52877	// The name of the SSM document to define the parameters and plugin settings
52878	// for the session. For example, SSM-SessionManagerRunShell. You can call the
52879	// GetDocument API to verify the document exists before attempting to start
52880	// a session. If no document name is provided, a shell to the instance is launched
52881	// by default.
52882	DocumentName *string `type:"string"`
52883
52884	// Reserved for future use.
52885	Parameters map[string][]*string `type:"map"`
52886
52887	// The instance to connect to for the session.
52888	//
52889	// Target is a required field
52890	Target *string `min:"1" type:"string" required:"true"`
52891}
52892
52893// String returns the string representation.
52894//
52895// API parameter values that are decorated as "sensitive" in the API will not
52896// be included in the string output. The member name will be present, but the
52897// value will be replaced with "sensitive".
52898func (s StartSessionInput) String() string {
52899	return awsutil.Prettify(s)
52900}
52901
52902// GoString returns the string representation.
52903//
52904// API parameter values that are decorated as "sensitive" in the API will not
52905// be included in the string output. The member name will be present, but the
52906// value will be replaced with "sensitive".
52907func (s StartSessionInput) GoString() string {
52908	return s.String()
52909}
52910
52911// Validate inspects the fields of the type to determine if they are valid.
52912func (s *StartSessionInput) Validate() error {
52913	invalidParams := request.ErrInvalidParams{Context: "StartSessionInput"}
52914	if s.Target == nil {
52915		invalidParams.Add(request.NewErrParamRequired("Target"))
52916	}
52917	if s.Target != nil && len(*s.Target) < 1 {
52918		invalidParams.Add(request.NewErrParamMinLen("Target", 1))
52919	}
52920
52921	if invalidParams.Len() > 0 {
52922		return invalidParams
52923	}
52924	return nil
52925}
52926
52927// SetDocumentName sets the DocumentName field's value.
52928func (s *StartSessionInput) SetDocumentName(v string) *StartSessionInput {
52929	s.DocumentName = &v
52930	return s
52931}
52932
52933// SetParameters sets the Parameters field's value.
52934func (s *StartSessionInput) SetParameters(v map[string][]*string) *StartSessionInput {
52935	s.Parameters = v
52936	return s
52937}
52938
52939// SetTarget sets the Target field's value.
52940func (s *StartSessionInput) SetTarget(v string) *StartSessionInput {
52941	s.Target = &v
52942	return s
52943}
52944
52945type StartSessionOutput struct {
52946	_ struct{} `type:"structure"`
52947
52948	// The ID of the session.
52949	SessionId *string `min:"1" type:"string"`
52950
52951	// A URL back to SSM Agent on the instance that the Session Manager client uses
52952	// to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)
52953	//
52954	// region represents the Region identifier for an Amazon Web Services Region
52955	// supported by Amazon Web Services Systems Manager, such as us-east-2 for the
52956	// US East (Ohio) Region. For a list of supported region values, see the Region
52957	// column in Systems Manager service endpoints (https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)
52958	// in the Amazon Web Services General Reference.
52959	//
52960	// session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.
52961	StreamUrl *string `type:"string"`
52962
52963	// An encrypted token value containing session and caller information. Used
52964	// to authenticate the connection to the instance.
52965	TokenValue *string `type:"string"`
52966}
52967
52968// String returns the string representation.
52969//
52970// API parameter values that are decorated as "sensitive" in the API will not
52971// be included in the string output. The member name will be present, but the
52972// value will be replaced with "sensitive".
52973func (s StartSessionOutput) String() string {
52974	return awsutil.Prettify(s)
52975}
52976
52977// GoString returns the string representation.
52978//
52979// API parameter values that are decorated as "sensitive" in the API will not
52980// be included in the string output. The member name will be present, but the
52981// value will be replaced with "sensitive".
52982func (s StartSessionOutput) GoString() string {
52983	return s.String()
52984}
52985
52986// SetSessionId sets the SessionId field's value.
52987func (s *StartSessionOutput) SetSessionId(v string) *StartSessionOutput {
52988	s.SessionId = &v
52989	return s
52990}
52991
52992// SetStreamUrl sets the StreamUrl field's value.
52993func (s *StartSessionOutput) SetStreamUrl(v string) *StartSessionOutput {
52994	s.StreamUrl = &v
52995	return s
52996}
52997
52998// SetTokenValue sets the TokenValue field's value.
52999func (s *StartSessionOutput) SetTokenValue(v string) *StartSessionOutput {
53000	s.TokenValue = &v
53001	return s
53002}
53003
53004// The updated status is the same as the current status.
53005type StatusUnchanged struct {
53006	_            struct{}                  `type:"structure"`
53007	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
53008
53009	Message_ *string `locationName:"message" type:"string"`
53010}
53011
53012// String returns the string representation.
53013//
53014// API parameter values that are decorated as "sensitive" in the API will not
53015// be included in the string output. The member name will be present, but the
53016// value will be replaced with "sensitive".
53017func (s StatusUnchanged) String() string {
53018	return awsutil.Prettify(s)
53019}
53020
53021// GoString returns the string representation.
53022//
53023// API parameter values that are decorated as "sensitive" in the API will not
53024// be included in the string output. The member name will be present, but the
53025// value will be replaced with "sensitive".
53026func (s StatusUnchanged) GoString() string {
53027	return s.String()
53028}
53029
53030func newErrorStatusUnchanged(v protocol.ResponseMetadata) error {
53031	return &StatusUnchanged{
53032		RespMetadata: v,
53033	}
53034}
53035
53036// Code returns the exception type name.
53037func (s *StatusUnchanged) Code() string {
53038	return "StatusUnchanged"
53039}
53040
53041// Message returns the exception's message.
53042func (s *StatusUnchanged) Message() string {
53043	if s.Message_ != nil {
53044		return *s.Message_
53045	}
53046	return ""
53047}
53048
53049// OrigErr always returns nil, satisfies awserr.Error interface.
53050func (s *StatusUnchanged) OrigErr() error {
53051	return nil
53052}
53053
53054func (s *StatusUnchanged) Error() string {
53055	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
53056}
53057
53058// Status code returns the HTTP status code for the request's response error.
53059func (s *StatusUnchanged) StatusCode() int {
53060	return s.RespMetadata.StatusCode
53061}
53062
53063// RequestID returns the service's response RequestID for request.
53064func (s *StatusUnchanged) RequestID() string {
53065	return s.RespMetadata.RequestID
53066}
53067
53068// Detailed information about an the execution state of an Automation step.
53069type StepExecution struct {
53070	_ struct{} `type:"structure"`
53071
53072	// The action this step performs. The action determines the behavior of the
53073	// step.
53074	Action *string `type:"string"`
53075
53076	// If a step has finished execution, this contains the time the execution ended.
53077	// If the step hasn't yet concluded, this field isn't populated.
53078	ExecutionEndTime *time.Time `type:"timestamp"`
53079
53080	// If a step has begun execution, this contains the time the step started. If
53081	// the step is in Pending status, this field isn't populated.
53082	ExecutionStartTime *time.Time `type:"timestamp"`
53083
53084	// Information about the Automation failure.
53085	FailureDetails *FailureDetails `type:"structure"`
53086
53087	// If a step failed, this message explains why the execution failed.
53088	FailureMessage *string `type:"string"`
53089
53090	// Fully-resolved values passed into the step before execution.
53091	Inputs map[string]*string `type:"map"`
53092
53093	// The flag which can be used to help decide whether the failure of current
53094	// step leads to the Automation failure.
53095	IsCritical *bool `type:"boolean"`
53096
53097	// The flag which can be used to end automation no matter whether the step succeeds
53098	// or fails.
53099	IsEnd *bool `type:"boolean"`
53100
53101	// The maximum number of tries to run the action of the step. The default value
53102	// is 1.
53103	MaxAttempts *int64 `type:"integer"`
53104
53105	// The next step after the step succeeds.
53106	NextStep *string `type:"string"`
53107
53108	// The action to take if the step fails. The default value is Abort.
53109	OnFailure *string `type:"string"`
53110
53111	// Returned values from the execution of the step.
53112	Outputs map[string][]*string `min:"1" type:"map"`
53113
53114	// A user-specified list of parameters to override when running a step.
53115	OverriddenParameters map[string][]*string `min:"1" type:"map"`
53116
53117	// A message associated with the response code for an execution.
53118	Response *string `type:"string"`
53119
53120	// The response code returned by the execution of the step.
53121	ResponseCode *string `type:"string"`
53122
53123	// The unique ID of a step execution.
53124	StepExecutionId *string `type:"string"`
53125
53126	// The name of this execution step.
53127	StepName *string `type:"string"`
53128
53129	// The execution status for this step.
53130	StepStatus *string `type:"string" enum:"AutomationExecutionStatus"`
53131
53132	// The combination of Amazon Web Services Regions and Amazon Web Services accounts
53133	// targeted by the current Automation execution.
53134	TargetLocation *TargetLocation `type:"structure"`
53135
53136	// The targets for the step execution.
53137	Targets []*Target `type:"list"`
53138
53139	// The timeout seconds of the step.
53140	TimeoutSeconds *int64 `type:"long"`
53141
53142	// Strategies used when step fails, we support Continue and Abort. Abort will
53143	// fail the automation when the step fails. Continue will ignore the failure
53144	// of current step and allow automation to run the next step. With conditional
53145	// branching, we add step:stepName to support the automation to go to another
53146	// specific step.
53147	ValidNextSteps []*string `type:"list"`
53148}
53149
53150// String returns the string representation.
53151//
53152// API parameter values that are decorated as "sensitive" in the API will not
53153// be included in the string output. The member name will be present, but the
53154// value will be replaced with "sensitive".
53155func (s StepExecution) String() string {
53156	return awsutil.Prettify(s)
53157}
53158
53159// GoString returns the string representation.
53160//
53161// API parameter values that are decorated as "sensitive" in the API will not
53162// be included in the string output. The member name will be present, but the
53163// value will be replaced with "sensitive".
53164func (s StepExecution) GoString() string {
53165	return s.String()
53166}
53167
53168// SetAction sets the Action field's value.
53169func (s *StepExecution) SetAction(v string) *StepExecution {
53170	s.Action = &v
53171	return s
53172}
53173
53174// SetExecutionEndTime sets the ExecutionEndTime field's value.
53175func (s *StepExecution) SetExecutionEndTime(v time.Time) *StepExecution {
53176	s.ExecutionEndTime = &v
53177	return s
53178}
53179
53180// SetExecutionStartTime sets the ExecutionStartTime field's value.
53181func (s *StepExecution) SetExecutionStartTime(v time.Time) *StepExecution {
53182	s.ExecutionStartTime = &v
53183	return s
53184}
53185
53186// SetFailureDetails sets the FailureDetails field's value.
53187func (s *StepExecution) SetFailureDetails(v *FailureDetails) *StepExecution {
53188	s.FailureDetails = v
53189	return s
53190}
53191
53192// SetFailureMessage sets the FailureMessage field's value.
53193func (s *StepExecution) SetFailureMessage(v string) *StepExecution {
53194	s.FailureMessage = &v
53195	return s
53196}
53197
53198// SetInputs sets the Inputs field's value.
53199func (s *StepExecution) SetInputs(v map[string]*string) *StepExecution {
53200	s.Inputs = v
53201	return s
53202}
53203
53204// SetIsCritical sets the IsCritical field's value.
53205func (s *StepExecution) SetIsCritical(v bool) *StepExecution {
53206	s.IsCritical = &v
53207	return s
53208}
53209
53210// SetIsEnd sets the IsEnd field's value.
53211func (s *StepExecution) SetIsEnd(v bool) *StepExecution {
53212	s.IsEnd = &v
53213	return s
53214}
53215
53216// SetMaxAttempts sets the MaxAttempts field's value.
53217func (s *StepExecution) SetMaxAttempts(v int64) *StepExecution {
53218	s.MaxAttempts = &v
53219	return s
53220}
53221
53222// SetNextStep sets the NextStep field's value.
53223func (s *StepExecution) SetNextStep(v string) *StepExecution {
53224	s.NextStep = &v
53225	return s
53226}
53227
53228// SetOnFailure sets the OnFailure field's value.
53229func (s *StepExecution) SetOnFailure(v string) *StepExecution {
53230	s.OnFailure = &v
53231	return s
53232}
53233
53234// SetOutputs sets the Outputs field's value.
53235func (s *StepExecution) SetOutputs(v map[string][]*string) *StepExecution {
53236	s.Outputs = v
53237	return s
53238}
53239
53240// SetOverriddenParameters sets the OverriddenParameters field's value.
53241func (s *StepExecution) SetOverriddenParameters(v map[string][]*string) *StepExecution {
53242	s.OverriddenParameters = v
53243	return s
53244}
53245
53246// SetResponse sets the Response field's value.
53247func (s *StepExecution) SetResponse(v string) *StepExecution {
53248	s.Response = &v
53249	return s
53250}
53251
53252// SetResponseCode sets the ResponseCode field's value.
53253func (s *StepExecution) SetResponseCode(v string) *StepExecution {
53254	s.ResponseCode = &v
53255	return s
53256}
53257
53258// SetStepExecutionId sets the StepExecutionId field's value.
53259func (s *StepExecution) SetStepExecutionId(v string) *StepExecution {
53260	s.StepExecutionId = &v
53261	return s
53262}
53263
53264// SetStepName sets the StepName field's value.
53265func (s *StepExecution) SetStepName(v string) *StepExecution {
53266	s.StepName = &v
53267	return s
53268}
53269
53270// SetStepStatus sets the StepStatus field's value.
53271func (s *StepExecution) SetStepStatus(v string) *StepExecution {
53272	s.StepStatus = &v
53273	return s
53274}
53275
53276// SetTargetLocation sets the TargetLocation field's value.
53277func (s *StepExecution) SetTargetLocation(v *TargetLocation) *StepExecution {
53278	s.TargetLocation = v
53279	return s
53280}
53281
53282// SetTargets sets the Targets field's value.
53283func (s *StepExecution) SetTargets(v []*Target) *StepExecution {
53284	s.Targets = v
53285	return s
53286}
53287
53288// SetTimeoutSeconds sets the TimeoutSeconds field's value.
53289func (s *StepExecution) SetTimeoutSeconds(v int64) *StepExecution {
53290	s.TimeoutSeconds = &v
53291	return s
53292}
53293
53294// SetValidNextSteps sets the ValidNextSteps field's value.
53295func (s *StepExecution) SetValidNextSteps(v []*string) *StepExecution {
53296	s.ValidNextSteps = v
53297	return s
53298}
53299
53300// A filter to limit the amount of step execution information returned by the
53301// call.
53302type StepExecutionFilter struct {
53303	_ struct{} `type:"structure"`
53304
53305	// One or more keys to limit the results. Valid filter keys include the following:
53306	// StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore,
53307	// StartTimeAfter.
53308	//
53309	// Key is a required field
53310	Key *string `type:"string" required:"true" enum:"StepExecutionFilterKey"`
53311
53312	// The values of the filter key.
53313	//
53314	// Values is a required field
53315	Values []*string `min:"1" type:"list" required:"true"`
53316}
53317
53318// String returns the string representation.
53319//
53320// API parameter values that are decorated as "sensitive" in the API will not
53321// be included in the string output. The member name will be present, but the
53322// value will be replaced with "sensitive".
53323func (s StepExecutionFilter) String() string {
53324	return awsutil.Prettify(s)
53325}
53326
53327// GoString returns the string representation.
53328//
53329// API parameter values that are decorated as "sensitive" in the API will not
53330// be included in the string output. The member name will be present, but the
53331// value will be replaced with "sensitive".
53332func (s StepExecutionFilter) GoString() string {
53333	return s.String()
53334}
53335
53336// Validate inspects the fields of the type to determine if they are valid.
53337func (s *StepExecutionFilter) Validate() error {
53338	invalidParams := request.ErrInvalidParams{Context: "StepExecutionFilter"}
53339	if s.Key == nil {
53340		invalidParams.Add(request.NewErrParamRequired("Key"))
53341	}
53342	if s.Values == nil {
53343		invalidParams.Add(request.NewErrParamRequired("Values"))
53344	}
53345	if s.Values != nil && len(s.Values) < 1 {
53346		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
53347	}
53348
53349	if invalidParams.Len() > 0 {
53350		return invalidParams
53351	}
53352	return nil
53353}
53354
53355// SetKey sets the Key field's value.
53356func (s *StepExecutionFilter) SetKey(v string) *StepExecutionFilter {
53357	s.Key = &v
53358	return s
53359}
53360
53361// SetValues sets the Values field's value.
53362func (s *StepExecutionFilter) SetValues(v []*string) *StepExecutionFilter {
53363	s.Values = v
53364	return s
53365}
53366
53367type StopAutomationExecutionInput struct {
53368	_ struct{} `type:"structure"`
53369
53370	// The execution ID of the Automation to stop.
53371	//
53372	// AutomationExecutionId is a required field
53373	AutomationExecutionId *string `min:"36" type:"string" required:"true"`
53374
53375	// The stop request type. Valid types include the following: Cancel and Complete.
53376	// The default type is Cancel.
53377	Type *string `type:"string" enum:"StopType"`
53378}
53379
53380// String returns the string representation.
53381//
53382// API parameter values that are decorated as "sensitive" in the API will not
53383// be included in the string output. The member name will be present, but the
53384// value will be replaced with "sensitive".
53385func (s StopAutomationExecutionInput) String() string {
53386	return awsutil.Prettify(s)
53387}
53388
53389// GoString returns the string representation.
53390//
53391// API parameter values that are decorated as "sensitive" in the API will not
53392// be included in the string output. The member name will be present, but the
53393// value will be replaced with "sensitive".
53394func (s StopAutomationExecutionInput) GoString() string {
53395	return s.String()
53396}
53397
53398// Validate inspects the fields of the type to determine if they are valid.
53399func (s *StopAutomationExecutionInput) Validate() error {
53400	invalidParams := request.ErrInvalidParams{Context: "StopAutomationExecutionInput"}
53401	if s.AutomationExecutionId == nil {
53402		invalidParams.Add(request.NewErrParamRequired("AutomationExecutionId"))
53403	}
53404	if s.AutomationExecutionId != nil && len(*s.AutomationExecutionId) < 36 {
53405		invalidParams.Add(request.NewErrParamMinLen("AutomationExecutionId", 36))
53406	}
53407
53408	if invalidParams.Len() > 0 {
53409		return invalidParams
53410	}
53411	return nil
53412}
53413
53414// SetAutomationExecutionId sets the AutomationExecutionId field's value.
53415func (s *StopAutomationExecutionInput) SetAutomationExecutionId(v string) *StopAutomationExecutionInput {
53416	s.AutomationExecutionId = &v
53417	return s
53418}
53419
53420// SetType sets the Type field's value.
53421func (s *StopAutomationExecutionInput) SetType(v string) *StopAutomationExecutionInput {
53422	s.Type = &v
53423	return s
53424}
53425
53426type StopAutomationExecutionOutput struct {
53427	_ struct{} `type:"structure"`
53428}
53429
53430// String returns the string representation.
53431//
53432// API parameter values that are decorated as "sensitive" in the API will not
53433// be included in the string output. The member name will be present, but the
53434// value will be replaced with "sensitive".
53435func (s StopAutomationExecutionOutput) String() string {
53436	return awsutil.Prettify(s)
53437}
53438
53439// GoString returns the string representation.
53440//
53441// API parameter values that are decorated as "sensitive" in the API will not
53442// be included in the string output. The member name will be present, but the
53443// value will be replaced with "sensitive".
53444func (s StopAutomationExecutionOutput) GoString() string {
53445	return s.String()
53446}
53447
53448// The sub-type count exceeded the limit for the inventory type.
53449type SubTypeCountLimitExceededException struct {
53450	_            struct{}                  `type:"structure"`
53451	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
53452
53453	Message_ *string `locationName:"Message" type:"string"`
53454}
53455
53456// String returns the string representation.
53457//
53458// API parameter values that are decorated as "sensitive" in the API will not
53459// be included in the string output. The member name will be present, but the
53460// value will be replaced with "sensitive".
53461func (s SubTypeCountLimitExceededException) String() string {
53462	return awsutil.Prettify(s)
53463}
53464
53465// GoString returns the string representation.
53466//
53467// API parameter values that are decorated as "sensitive" in the API will not
53468// be included in the string output. The member name will be present, but the
53469// value will be replaced with "sensitive".
53470func (s SubTypeCountLimitExceededException) GoString() string {
53471	return s.String()
53472}
53473
53474func newErrorSubTypeCountLimitExceededException(v protocol.ResponseMetadata) error {
53475	return &SubTypeCountLimitExceededException{
53476		RespMetadata: v,
53477	}
53478}
53479
53480// Code returns the exception type name.
53481func (s *SubTypeCountLimitExceededException) Code() string {
53482	return "SubTypeCountLimitExceededException"
53483}
53484
53485// Message returns the exception's message.
53486func (s *SubTypeCountLimitExceededException) Message() string {
53487	if s.Message_ != nil {
53488		return *s.Message_
53489	}
53490	return ""
53491}
53492
53493// OrigErr always returns nil, satisfies awserr.Error interface.
53494func (s *SubTypeCountLimitExceededException) OrigErr() error {
53495	return nil
53496}
53497
53498func (s *SubTypeCountLimitExceededException) Error() string {
53499	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
53500}
53501
53502// Status code returns the HTTP status code for the request's response error.
53503func (s *SubTypeCountLimitExceededException) StatusCode() int {
53504	return s.RespMetadata.StatusCode
53505}
53506
53507// RequestID returns the service's response RequestID for request.
53508func (s *SubTypeCountLimitExceededException) RequestID() string {
53509	return s.RespMetadata.RequestID
53510}
53511
53512// Metadata that you assign to your Amazon Web Services resources. Tags enable
53513// you to categorize your resources in different ways, for example, by purpose,
53514// owner, or environment. In Amazon Web Services Systems Manager, you can apply
53515// tags to Systems Manager documents (SSM documents), managed instances, maintenance
53516// windows, parameters, patch baselines, OpsItems, and OpsMetadata.
53517type Tag struct {
53518	_ struct{} `type:"structure"`
53519
53520	// The name of the tag.
53521	//
53522	// Key is a required field
53523	Key *string `min:"1" type:"string" required:"true"`
53524
53525	// The value of the tag.
53526	//
53527	// Value is a required field
53528	Value *string `min:"1" type:"string" required:"true"`
53529}
53530
53531// String returns the string representation.
53532//
53533// API parameter values that are decorated as "sensitive" in the API will not
53534// be included in the string output. The member name will be present, but the
53535// value will be replaced with "sensitive".
53536func (s Tag) String() string {
53537	return awsutil.Prettify(s)
53538}
53539
53540// GoString returns the string representation.
53541//
53542// API parameter values that are decorated as "sensitive" in the API will not
53543// be included in the string output. The member name will be present, but the
53544// value will be replaced with "sensitive".
53545func (s Tag) GoString() string {
53546	return s.String()
53547}
53548
53549// Validate inspects the fields of the type to determine if they are valid.
53550func (s *Tag) Validate() error {
53551	invalidParams := request.ErrInvalidParams{Context: "Tag"}
53552	if s.Key == nil {
53553		invalidParams.Add(request.NewErrParamRequired("Key"))
53554	}
53555	if s.Key != nil && len(*s.Key) < 1 {
53556		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
53557	}
53558	if s.Value == nil {
53559		invalidParams.Add(request.NewErrParamRequired("Value"))
53560	}
53561	if s.Value != nil && len(*s.Value) < 1 {
53562		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
53563	}
53564
53565	if invalidParams.Len() > 0 {
53566		return invalidParams
53567	}
53568	return nil
53569}
53570
53571// SetKey sets the Key field's value.
53572func (s *Tag) SetKey(v string) *Tag {
53573	s.Key = &v
53574	return s
53575}
53576
53577// SetValue sets the Value field's value.
53578func (s *Tag) SetValue(v string) *Tag {
53579	s.Value = &v
53580	return s
53581}
53582
53583// An array of search criteria that targets instances using a key-value pair
53584// that you specify.
53585//
53586// One or more targets must be specified for maintenance window Run Command-type
53587// tasks. Depending on the task, targets are optional for other maintenance
53588// window task types (Automation, Lambda, and Step Functions). For more information
53589// about running tasks that don't specify targets, see Registering maintenance
53590// window tasks without targets (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html)
53591// in the Amazon Web Services Systems Manager User Guide.
53592//
53593// Supported formats include the following.
53594//
53595//    * Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
53596//
53597//    * Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2
53598//
53599//    * Key=tag-key,Values=my-tag-key-1,my-tag-key-2
53600//
53601//    * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=resource-group-name
53602//
53603//    * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
53604//
53605//    * Automation targets only: Key=ResourceGroup;Values=resource-group-name
53606//
53607// For example:
53608//
53609//    * Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
53610//
53611//    * Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3
53612//
53613//    * Key=tag-key,Values=Name,Instance-Type,CostCenter
53614//
53615//    * Run Command and Maintenance window targets only: Key=resource-groups:Name,Values=ProductionResourceGroup
53616//    This example demonstrates how to target all resources in the resource
53617//    group ProductionResourceGroup in your maintenance window.
53618//
53619//    * Maintenance window targets only: Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
53620//    This example demonstrates how to target only Amazon Elastic Compute Cloud
53621//    (Amazon EC2) instances and VPCs in your maintenance window.
53622//
53623//    * Automation targets only: Key=ResourceGroup,Values=MyResourceGroup
53624//
53625//    * State Manager association targets only: Key=InstanceIds,Values=* This
53626//    example demonstrates how to target all managed instances in the Amazon
53627//    Web Services Region where the association was created.
53628//
53629// For more information about how to send commands that target instances using
53630// Key,Value parameters, see Targeting multiple instances (https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-targeting)
53631// in the Amazon Web Services Systems Manager User Guide.
53632type Target struct {
53633	_ struct{} `type:"structure"`
53634
53635	// User-defined criteria for sending commands that target instances that meet
53636	// the criteria.
53637	Key *string `min:"1" type:"string"`
53638
53639	// User-defined criteria that maps to Key. For example, if you specified tag:ServerRole,
53640	// you could specify value:WebServer to run a command on instances that include
53641	// EC2 tags of ServerRole,WebServer.
53642	//
53643	// Depending on the type of target, the maximum number of values for a key might
53644	// be lower than the global maximum of 50.
53645	Values []*string `type:"list"`
53646}
53647
53648// String returns the string representation.
53649//
53650// API parameter values that are decorated as "sensitive" in the API will not
53651// be included in the string output. The member name will be present, but the
53652// value will be replaced with "sensitive".
53653func (s Target) String() string {
53654	return awsutil.Prettify(s)
53655}
53656
53657// GoString returns the string representation.
53658//
53659// API parameter values that are decorated as "sensitive" in the API will not
53660// be included in the string output. The member name will be present, but the
53661// value will be replaced with "sensitive".
53662func (s Target) GoString() string {
53663	return s.String()
53664}
53665
53666// Validate inspects the fields of the type to determine if they are valid.
53667func (s *Target) Validate() error {
53668	invalidParams := request.ErrInvalidParams{Context: "Target"}
53669	if s.Key != nil && len(*s.Key) < 1 {
53670		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
53671	}
53672
53673	if invalidParams.Len() > 0 {
53674		return invalidParams
53675	}
53676	return nil
53677}
53678
53679// SetKey sets the Key field's value.
53680func (s *Target) SetKey(v string) *Target {
53681	s.Key = &v
53682	return s
53683}
53684
53685// SetValues sets the Values field's value.
53686func (s *Target) SetValues(v []*string) *Target {
53687	s.Values = v
53688	return s
53689}
53690
53691// You specified the Safe option for the DeregisterTargetFromMaintenanceWindow
53692// operation, but the target is still referenced in a task.
53693type TargetInUseException struct {
53694	_            struct{}                  `type:"structure"`
53695	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
53696
53697	Message_ *string `locationName:"Message" type:"string"`
53698}
53699
53700// String returns the string representation.
53701//
53702// API parameter values that are decorated as "sensitive" in the API will not
53703// be included in the string output. The member name will be present, but the
53704// value will be replaced with "sensitive".
53705func (s TargetInUseException) String() string {
53706	return awsutil.Prettify(s)
53707}
53708
53709// GoString returns the string representation.
53710//
53711// API parameter values that are decorated as "sensitive" in the API will not
53712// be included in the string output. The member name will be present, but the
53713// value will be replaced with "sensitive".
53714func (s TargetInUseException) GoString() string {
53715	return s.String()
53716}
53717
53718func newErrorTargetInUseException(v protocol.ResponseMetadata) error {
53719	return &TargetInUseException{
53720		RespMetadata: v,
53721	}
53722}
53723
53724// Code returns the exception type name.
53725func (s *TargetInUseException) Code() string {
53726	return "TargetInUseException"
53727}
53728
53729// Message returns the exception's message.
53730func (s *TargetInUseException) Message() string {
53731	if s.Message_ != nil {
53732		return *s.Message_
53733	}
53734	return ""
53735}
53736
53737// OrigErr always returns nil, satisfies awserr.Error interface.
53738func (s *TargetInUseException) OrigErr() error {
53739	return nil
53740}
53741
53742func (s *TargetInUseException) Error() string {
53743	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
53744}
53745
53746// Status code returns the HTTP status code for the request's response error.
53747func (s *TargetInUseException) StatusCode() int {
53748	return s.RespMetadata.StatusCode
53749}
53750
53751// RequestID returns the service's response RequestID for request.
53752func (s *TargetInUseException) RequestID() string {
53753	return s.RespMetadata.RequestID
53754}
53755
53756// The combination of Amazon Web Services Regions and Amazon Web Services accounts
53757// targeted by the current Automation execution.
53758type TargetLocation struct {
53759	_ struct{} `type:"structure"`
53760
53761	// The Amazon Web Services accounts targeted by the current Automation execution.
53762	Accounts []*string `min:"1" type:"list"`
53763
53764	// The Automation execution role used by the currently running Automation. If
53765	// not specified, the default value is AWS-SystemsManager-AutomationExecutionRole.
53766	ExecutionRoleName *string `min:"1" type:"string"`
53767
53768	// The Amazon Web Services Regions targeted by the current Automation execution.
53769	Regions []*string `min:"1" type:"list"`
53770
53771	// The maximum number of Amazon Web Services Regions and Amazon Web Services
53772	// accounts allowed to run the Automation concurrently.
53773	TargetLocationMaxConcurrency *string `min:"1" type:"string"`
53774
53775	// The maximum number of errors allowed before the system stops queueing additional
53776	// Automation executions for the currently running Automation.
53777	TargetLocationMaxErrors *string `min:"1" type:"string"`
53778}
53779
53780// String returns the string representation.
53781//
53782// API parameter values that are decorated as "sensitive" in the API will not
53783// be included in the string output. The member name will be present, but the
53784// value will be replaced with "sensitive".
53785func (s TargetLocation) String() string {
53786	return awsutil.Prettify(s)
53787}
53788
53789// GoString returns the string representation.
53790//
53791// API parameter values that are decorated as "sensitive" in the API will not
53792// be included in the string output. The member name will be present, but the
53793// value will be replaced with "sensitive".
53794func (s TargetLocation) GoString() string {
53795	return s.String()
53796}
53797
53798// Validate inspects the fields of the type to determine if they are valid.
53799func (s *TargetLocation) Validate() error {
53800	invalidParams := request.ErrInvalidParams{Context: "TargetLocation"}
53801	if s.Accounts != nil && len(s.Accounts) < 1 {
53802		invalidParams.Add(request.NewErrParamMinLen("Accounts", 1))
53803	}
53804	if s.ExecutionRoleName != nil && len(*s.ExecutionRoleName) < 1 {
53805		invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleName", 1))
53806	}
53807	if s.Regions != nil && len(s.Regions) < 1 {
53808		invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
53809	}
53810	if s.TargetLocationMaxConcurrency != nil && len(*s.TargetLocationMaxConcurrency) < 1 {
53811		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxConcurrency", 1))
53812	}
53813	if s.TargetLocationMaxErrors != nil && len(*s.TargetLocationMaxErrors) < 1 {
53814		invalidParams.Add(request.NewErrParamMinLen("TargetLocationMaxErrors", 1))
53815	}
53816
53817	if invalidParams.Len() > 0 {
53818		return invalidParams
53819	}
53820	return nil
53821}
53822
53823// SetAccounts sets the Accounts field's value.
53824func (s *TargetLocation) SetAccounts(v []*string) *TargetLocation {
53825	s.Accounts = v
53826	return s
53827}
53828
53829// SetExecutionRoleName sets the ExecutionRoleName field's value.
53830func (s *TargetLocation) SetExecutionRoleName(v string) *TargetLocation {
53831	s.ExecutionRoleName = &v
53832	return s
53833}
53834
53835// SetRegions sets the Regions field's value.
53836func (s *TargetLocation) SetRegions(v []*string) *TargetLocation {
53837	s.Regions = v
53838	return s
53839}
53840
53841// SetTargetLocationMaxConcurrency sets the TargetLocationMaxConcurrency field's value.
53842func (s *TargetLocation) SetTargetLocationMaxConcurrency(v string) *TargetLocation {
53843	s.TargetLocationMaxConcurrency = &v
53844	return s
53845}
53846
53847// SetTargetLocationMaxErrors sets the TargetLocationMaxErrors field's value.
53848func (s *TargetLocation) SetTargetLocationMaxErrors(v string) *TargetLocation {
53849	s.TargetLocationMaxErrors = &v
53850	return s
53851}
53852
53853// The specified target instance for the session isn't fully configured for
53854// use with Session Manager. For more information, see Getting started with
53855// Session Manager (https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)
53856// in the Amazon Web Services Systems Manager User Guide. This error is also
53857// returned if you attempt to start a session on an instance that is located
53858// in a different account or Region
53859type TargetNotConnected struct {
53860	_            struct{}                  `type:"structure"`
53861	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
53862
53863	Message_ *string `locationName:"Message" type:"string"`
53864}
53865
53866// String returns the string representation.
53867//
53868// API parameter values that are decorated as "sensitive" in the API will not
53869// be included in the string output. The member name will be present, but the
53870// value will be replaced with "sensitive".
53871func (s TargetNotConnected) String() string {
53872	return awsutil.Prettify(s)
53873}
53874
53875// GoString returns the string representation.
53876//
53877// API parameter values that are decorated as "sensitive" in the API will not
53878// be included in the string output. The member name will be present, but the
53879// value will be replaced with "sensitive".
53880func (s TargetNotConnected) GoString() string {
53881	return s.String()
53882}
53883
53884func newErrorTargetNotConnected(v protocol.ResponseMetadata) error {
53885	return &TargetNotConnected{
53886		RespMetadata: v,
53887	}
53888}
53889
53890// Code returns the exception type name.
53891func (s *TargetNotConnected) Code() string {
53892	return "TargetNotConnected"
53893}
53894
53895// Message returns the exception's message.
53896func (s *TargetNotConnected) Message() string {
53897	if s.Message_ != nil {
53898		return *s.Message_
53899	}
53900	return ""
53901}
53902
53903// OrigErr always returns nil, satisfies awserr.Error interface.
53904func (s *TargetNotConnected) OrigErr() error {
53905	return nil
53906}
53907
53908func (s *TargetNotConnected) Error() string {
53909	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
53910}
53911
53912// Status code returns the HTTP status code for the request's response error.
53913func (s *TargetNotConnected) StatusCode() int {
53914	return s.RespMetadata.StatusCode
53915}
53916
53917// RequestID returns the service's response RequestID for request.
53918func (s *TargetNotConnected) RequestID() string {
53919	return s.RespMetadata.RequestID
53920}
53921
53922type TerminateSessionInput struct {
53923	_ struct{} `type:"structure"`
53924
53925	// The ID of the session to terminate.
53926	//
53927	// SessionId is a required field
53928	SessionId *string `min:"1" type:"string" required:"true"`
53929}
53930
53931// String returns the string representation.
53932//
53933// API parameter values that are decorated as "sensitive" in the API will not
53934// be included in the string output. The member name will be present, but the
53935// value will be replaced with "sensitive".
53936func (s TerminateSessionInput) String() string {
53937	return awsutil.Prettify(s)
53938}
53939
53940// GoString returns the string representation.
53941//
53942// API parameter values that are decorated as "sensitive" in the API will not
53943// be included in the string output. The member name will be present, but the
53944// value will be replaced with "sensitive".
53945func (s TerminateSessionInput) GoString() string {
53946	return s.String()
53947}
53948
53949// Validate inspects the fields of the type to determine if they are valid.
53950func (s *TerminateSessionInput) Validate() error {
53951	invalidParams := request.ErrInvalidParams{Context: "TerminateSessionInput"}
53952	if s.SessionId == nil {
53953		invalidParams.Add(request.NewErrParamRequired("SessionId"))
53954	}
53955	if s.SessionId != nil && len(*s.SessionId) < 1 {
53956		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
53957	}
53958
53959	if invalidParams.Len() > 0 {
53960		return invalidParams
53961	}
53962	return nil
53963}
53964
53965// SetSessionId sets the SessionId field's value.
53966func (s *TerminateSessionInput) SetSessionId(v string) *TerminateSessionInput {
53967	s.SessionId = &v
53968	return s
53969}
53970
53971type TerminateSessionOutput struct {
53972	_ struct{} `type:"structure"`
53973
53974	// The ID of the session that has been terminated.
53975	SessionId *string `min:"1" type:"string"`
53976}
53977
53978// String returns the string representation.
53979//
53980// API parameter values that are decorated as "sensitive" in the API will not
53981// be included in the string output. The member name will be present, but the
53982// value will be replaced with "sensitive".
53983func (s TerminateSessionOutput) String() string {
53984	return awsutil.Prettify(s)
53985}
53986
53987// GoString returns the string representation.
53988//
53989// API parameter values that are decorated as "sensitive" in the API will not
53990// be included in the string output. The member name will be present, but the
53991// value will be replaced with "sensitive".
53992func (s TerminateSessionOutput) GoString() string {
53993	return s.String()
53994}
53995
53996// SetSessionId sets the SessionId field's value.
53997func (s *TerminateSessionOutput) SetSessionId(v string) *TerminateSessionOutput {
53998	s.SessionId = &v
53999	return s
54000}
54001
54002// The Targets parameter includes too many tags. Remove one or more tags and
54003// try the command again.
54004type TooManyTagsError struct {
54005	_            struct{}                  `type:"structure"`
54006	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54007
54008	Message_ *string `locationName:"message" type:"string"`
54009}
54010
54011// String returns the string representation.
54012//
54013// API parameter values that are decorated as "sensitive" in the API will not
54014// be included in the string output. The member name will be present, but the
54015// value will be replaced with "sensitive".
54016func (s TooManyTagsError) String() string {
54017	return awsutil.Prettify(s)
54018}
54019
54020// GoString returns the string representation.
54021//
54022// API parameter values that are decorated as "sensitive" in the API will not
54023// be included in the string output. The member name will be present, but the
54024// value will be replaced with "sensitive".
54025func (s TooManyTagsError) GoString() string {
54026	return s.String()
54027}
54028
54029func newErrorTooManyTagsError(v protocol.ResponseMetadata) error {
54030	return &TooManyTagsError{
54031		RespMetadata: v,
54032	}
54033}
54034
54035// Code returns the exception type name.
54036func (s *TooManyTagsError) Code() string {
54037	return "TooManyTagsError"
54038}
54039
54040// Message returns the exception's message.
54041func (s *TooManyTagsError) Message() string {
54042	if s.Message_ != nil {
54043		return *s.Message_
54044	}
54045	return ""
54046}
54047
54048// OrigErr always returns nil, satisfies awserr.Error interface.
54049func (s *TooManyTagsError) OrigErr() error {
54050	return nil
54051}
54052
54053func (s *TooManyTagsError) Error() string {
54054	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54055}
54056
54057// Status code returns the HTTP status code for the request's response error.
54058func (s *TooManyTagsError) StatusCode() int {
54059	return s.RespMetadata.StatusCode
54060}
54061
54062// RequestID returns the service's response RequestID for request.
54063func (s *TooManyTagsError) RequestID() string {
54064	return s.RespMetadata.RequestID
54065}
54066
54067// There are concurrent updates for a resource that supports one update at a
54068// time.
54069type TooManyUpdates struct {
54070	_            struct{}                  `type:"structure"`
54071	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54072
54073	Message_ *string `locationName:"Message" type:"string"`
54074}
54075
54076// String returns the string representation.
54077//
54078// API parameter values that are decorated as "sensitive" in the API will not
54079// be included in the string output. The member name will be present, but the
54080// value will be replaced with "sensitive".
54081func (s TooManyUpdates) String() string {
54082	return awsutil.Prettify(s)
54083}
54084
54085// GoString returns the string representation.
54086//
54087// API parameter values that are decorated as "sensitive" in the API will not
54088// be included in the string output. The member name will be present, but the
54089// value will be replaced with "sensitive".
54090func (s TooManyUpdates) GoString() string {
54091	return s.String()
54092}
54093
54094func newErrorTooManyUpdates(v protocol.ResponseMetadata) error {
54095	return &TooManyUpdates{
54096		RespMetadata: v,
54097	}
54098}
54099
54100// Code returns the exception type name.
54101func (s *TooManyUpdates) Code() string {
54102	return "TooManyUpdates"
54103}
54104
54105// Message returns the exception's message.
54106func (s *TooManyUpdates) Message() string {
54107	if s.Message_ != nil {
54108		return *s.Message_
54109	}
54110	return ""
54111}
54112
54113// OrigErr always returns nil, satisfies awserr.Error interface.
54114func (s *TooManyUpdates) OrigErr() error {
54115	return nil
54116}
54117
54118func (s *TooManyUpdates) Error() string {
54119	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54120}
54121
54122// Status code returns the HTTP status code for the request's response error.
54123func (s *TooManyUpdates) StatusCode() int {
54124	return s.RespMetadata.StatusCode
54125}
54126
54127// RequestID returns the service's response RequestID for request.
54128func (s *TooManyUpdates) RequestID() string {
54129	return s.RespMetadata.RequestID
54130}
54131
54132// The size of inventory data has exceeded the total size limit for the resource.
54133type TotalSizeLimitExceededException struct {
54134	_            struct{}                  `type:"structure"`
54135	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54136
54137	Message_ *string `locationName:"Message" type:"string"`
54138}
54139
54140// String returns the string representation.
54141//
54142// API parameter values that are decorated as "sensitive" in the API will not
54143// be included in the string output. The member name will be present, but the
54144// value will be replaced with "sensitive".
54145func (s TotalSizeLimitExceededException) String() string {
54146	return awsutil.Prettify(s)
54147}
54148
54149// GoString returns the string representation.
54150//
54151// API parameter values that are decorated as "sensitive" in the API will not
54152// be included in the string output. The member name will be present, but the
54153// value will be replaced with "sensitive".
54154func (s TotalSizeLimitExceededException) GoString() string {
54155	return s.String()
54156}
54157
54158func newErrorTotalSizeLimitExceededException(v protocol.ResponseMetadata) error {
54159	return &TotalSizeLimitExceededException{
54160		RespMetadata: v,
54161	}
54162}
54163
54164// Code returns the exception type name.
54165func (s *TotalSizeLimitExceededException) Code() string {
54166	return "TotalSizeLimitExceededException"
54167}
54168
54169// Message returns the exception's message.
54170func (s *TotalSizeLimitExceededException) Message() string {
54171	if s.Message_ != nil {
54172		return *s.Message_
54173	}
54174	return ""
54175}
54176
54177// OrigErr always returns nil, satisfies awserr.Error interface.
54178func (s *TotalSizeLimitExceededException) OrigErr() error {
54179	return nil
54180}
54181
54182func (s *TotalSizeLimitExceededException) Error() string {
54183	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54184}
54185
54186// Status code returns the HTTP status code for the request's response error.
54187func (s *TotalSizeLimitExceededException) StatusCode() int {
54188	return s.RespMetadata.StatusCode
54189}
54190
54191// RequestID returns the service's response RequestID for request.
54192func (s *TotalSizeLimitExceededException) RequestID() string {
54193	return s.RespMetadata.RequestID
54194}
54195
54196type UnlabelParameterVersionInput struct {
54197	_ struct{} `type:"structure"`
54198
54199	// One or more labels to delete from the specified parameter version.
54200	//
54201	// Labels is a required field
54202	Labels []*string `min:"1" type:"list" required:"true"`
54203
54204	// The name of the parameter from which you want to delete one or more labels.
54205	//
54206	// Name is a required field
54207	Name *string `min:"1" type:"string" required:"true"`
54208
54209	// The specific version of the parameter which you want to delete one or more
54210	// labels from. If it isn't present, the call will fail.
54211	//
54212	// ParameterVersion is a required field
54213	ParameterVersion *int64 `type:"long" required:"true"`
54214}
54215
54216// String returns the string representation.
54217//
54218// API parameter values that are decorated as "sensitive" in the API will not
54219// be included in the string output. The member name will be present, but the
54220// value will be replaced with "sensitive".
54221func (s UnlabelParameterVersionInput) String() string {
54222	return awsutil.Prettify(s)
54223}
54224
54225// GoString returns the string representation.
54226//
54227// API parameter values that are decorated as "sensitive" in the API will not
54228// be included in the string output. The member name will be present, but the
54229// value will be replaced with "sensitive".
54230func (s UnlabelParameterVersionInput) GoString() string {
54231	return s.String()
54232}
54233
54234// Validate inspects the fields of the type to determine if they are valid.
54235func (s *UnlabelParameterVersionInput) Validate() error {
54236	invalidParams := request.ErrInvalidParams{Context: "UnlabelParameterVersionInput"}
54237	if s.Labels == nil {
54238		invalidParams.Add(request.NewErrParamRequired("Labels"))
54239	}
54240	if s.Labels != nil && len(s.Labels) < 1 {
54241		invalidParams.Add(request.NewErrParamMinLen("Labels", 1))
54242	}
54243	if s.Name == nil {
54244		invalidParams.Add(request.NewErrParamRequired("Name"))
54245	}
54246	if s.Name != nil && len(*s.Name) < 1 {
54247		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
54248	}
54249	if s.ParameterVersion == nil {
54250		invalidParams.Add(request.NewErrParamRequired("ParameterVersion"))
54251	}
54252
54253	if invalidParams.Len() > 0 {
54254		return invalidParams
54255	}
54256	return nil
54257}
54258
54259// SetLabels sets the Labels field's value.
54260func (s *UnlabelParameterVersionInput) SetLabels(v []*string) *UnlabelParameterVersionInput {
54261	s.Labels = v
54262	return s
54263}
54264
54265// SetName sets the Name field's value.
54266func (s *UnlabelParameterVersionInput) SetName(v string) *UnlabelParameterVersionInput {
54267	s.Name = &v
54268	return s
54269}
54270
54271// SetParameterVersion sets the ParameterVersion field's value.
54272func (s *UnlabelParameterVersionInput) SetParameterVersion(v int64) *UnlabelParameterVersionInput {
54273	s.ParameterVersion = &v
54274	return s
54275}
54276
54277type UnlabelParameterVersionOutput struct {
54278	_ struct{} `type:"structure"`
54279
54280	// The labels that aren't attached to the given parameter version.
54281	InvalidLabels []*string `min:"1" type:"list"`
54282
54283	// A list of all labels deleted from the parameter.
54284	RemovedLabels []*string `min:"1" type:"list"`
54285}
54286
54287// String returns the string representation.
54288//
54289// API parameter values that are decorated as "sensitive" in the API will not
54290// be included in the string output. The member name will be present, but the
54291// value will be replaced with "sensitive".
54292func (s UnlabelParameterVersionOutput) String() string {
54293	return awsutil.Prettify(s)
54294}
54295
54296// GoString returns the string representation.
54297//
54298// API parameter values that are decorated as "sensitive" in the API will not
54299// be included in the string output. The member name will be present, but the
54300// value will be replaced with "sensitive".
54301func (s UnlabelParameterVersionOutput) GoString() string {
54302	return s.String()
54303}
54304
54305// SetInvalidLabels sets the InvalidLabels field's value.
54306func (s *UnlabelParameterVersionOutput) SetInvalidLabels(v []*string) *UnlabelParameterVersionOutput {
54307	s.InvalidLabels = v
54308	return s
54309}
54310
54311// SetRemovedLabels sets the RemovedLabels field's value.
54312func (s *UnlabelParameterVersionOutput) SetRemovedLabels(v []*string) *UnlabelParameterVersionOutput {
54313	s.RemovedLabels = v
54314	return s
54315}
54316
54317// The calendar entry contained in the specified SSM document isn't supported.
54318type UnsupportedCalendarException struct {
54319	_            struct{}                  `type:"structure"`
54320	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54321
54322	Message_ *string `locationName:"Message" type:"string"`
54323}
54324
54325// String returns the string representation.
54326//
54327// API parameter values that are decorated as "sensitive" in the API will not
54328// be included in the string output. The member name will be present, but the
54329// value will be replaced with "sensitive".
54330func (s UnsupportedCalendarException) String() string {
54331	return awsutil.Prettify(s)
54332}
54333
54334// GoString returns the string representation.
54335//
54336// API parameter values that are decorated as "sensitive" in the API will not
54337// be included in the string output. The member name will be present, but the
54338// value will be replaced with "sensitive".
54339func (s UnsupportedCalendarException) GoString() string {
54340	return s.String()
54341}
54342
54343func newErrorUnsupportedCalendarException(v protocol.ResponseMetadata) error {
54344	return &UnsupportedCalendarException{
54345		RespMetadata: v,
54346	}
54347}
54348
54349// Code returns the exception type name.
54350func (s *UnsupportedCalendarException) Code() string {
54351	return "UnsupportedCalendarException"
54352}
54353
54354// Message returns the exception's message.
54355func (s *UnsupportedCalendarException) Message() string {
54356	if s.Message_ != nil {
54357		return *s.Message_
54358	}
54359	return ""
54360}
54361
54362// OrigErr always returns nil, satisfies awserr.Error interface.
54363func (s *UnsupportedCalendarException) OrigErr() error {
54364	return nil
54365}
54366
54367func (s *UnsupportedCalendarException) Error() string {
54368	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54369}
54370
54371// Status code returns the HTTP status code for the request's response error.
54372func (s *UnsupportedCalendarException) StatusCode() int {
54373	return s.RespMetadata.StatusCode
54374}
54375
54376// RequestID returns the service's response RequestID for request.
54377func (s *UnsupportedCalendarException) RequestID() string {
54378	return s.RespMetadata.RequestID
54379}
54380
54381// Patching for applications released by Microsoft is only available on EC2
54382// instances and advanced instances. To patch applications released by Microsoft
54383// on on-premises servers and VMs, you must enable advanced instances. For more
54384// information, see Enabling the advanced-instances tier (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances-advanced.html)
54385// in the Amazon Web Services Systems Manager User Guide.
54386type UnsupportedFeatureRequiredException struct {
54387	_            struct{}                  `type:"structure"`
54388	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54389
54390	Message_ *string `locationName:"Message" type:"string"`
54391}
54392
54393// String returns the string representation.
54394//
54395// API parameter values that are decorated as "sensitive" in the API will not
54396// be included in the string output. The member name will be present, but the
54397// value will be replaced with "sensitive".
54398func (s UnsupportedFeatureRequiredException) String() string {
54399	return awsutil.Prettify(s)
54400}
54401
54402// GoString returns the string representation.
54403//
54404// API parameter values that are decorated as "sensitive" in the API will not
54405// be included in the string output. The member name will be present, but the
54406// value will be replaced with "sensitive".
54407func (s UnsupportedFeatureRequiredException) GoString() string {
54408	return s.String()
54409}
54410
54411func newErrorUnsupportedFeatureRequiredException(v protocol.ResponseMetadata) error {
54412	return &UnsupportedFeatureRequiredException{
54413		RespMetadata: v,
54414	}
54415}
54416
54417// Code returns the exception type name.
54418func (s *UnsupportedFeatureRequiredException) Code() string {
54419	return "UnsupportedFeatureRequiredException"
54420}
54421
54422// Message returns the exception's message.
54423func (s *UnsupportedFeatureRequiredException) Message() string {
54424	if s.Message_ != nil {
54425		return *s.Message_
54426	}
54427	return ""
54428}
54429
54430// OrigErr always returns nil, satisfies awserr.Error interface.
54431func (s *UnsupportedFeatureRequiredException) OrigErr() error {
54432	return nil
54433}
54434
54435func (s *UnsupportedFeatureRequiredException) Error() string {
54436	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54437}
54438
54439// Status code returns the HTTP status code for the request's response error.
54440func (s *UnsupportedFeatureRequiredException) StatusCode() int {
54441	return s.RespMetadata.StatusCode
54442}
54443
54444// RequestID returns the service's response RequestID for request.
54445func (s *UnsupportedFeatureRequiredException) RequestID() string {
54446	return s.RespMetadata.RequestID
54447}
54448
54449// The Context attribute that you specified for the InventoryItem isn't allowed
54450// for this inventory type. You can only use the Context attribute with inventory
54451// types like AWS:ComplianceItem.
54452type UnsupportedInventoryItemContextException struct {
54453	_            struct{}                  `type:"structure"`
54454	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54455
54456	Message_ *string `locationName:"Message" type:"string"`
54457
54458	TypeName *string `min:"1" type:"string"`
54459}
54460
54461// String returns the string representation.
54462//
54463// API parameter values that are decorated as "sensitive" in the API will not
54464// be included in the string output. The member name will be present, but the
54465// value will be replaced with "sensitive".
54466func (s UnsupportedInventoryItemContextException) String() string {
54467	return awsutil.Prettify(s)
54468}
54469
54470// GoString returns the string representation.
54471//
54472// API parameter values that are decorated as "sensitive" in the API will not
54473// be included in the string output. The member name will be present, but the
54474// value will be replaced with "sensitive".
54475func (s UnsupportedInventoryItemContextException) GoString() string {
54476	return s.String()
54477}
54478
54479func newErrorUnsupportedInventoryItemContextException(v protocol.ResponseMetadata) error {
54480	return &UnsupportedInventoryItemContextException{
54481		RespMetadata: v,
54482	}
54483}
54484
54485// Code returns the exception type name.
54486func (s *UnsupportedInventoryItemContextException) Code() string {
54487	return "UnsupportedInventoryItemContextException"
54488}
54489
54490// Message returns the exception's message.
54491func (s *UnsupportedInventoryItemContextException) Message() string {
54492	if s.Message_ != nil {
54493		return *s.Message_
54494	}
54495	return ""
54496}
54497
54498// OrigErr always returns nil, satisfies awserr.Error interface.
54499func (s *UnsupportedInventoryItemContextException) OrigErr() error {
54500	return nil
54501}
54502
54503func (s *UnsupportedInventoryItemContextException) Error() string {
54504	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
54505}
54506
54507// Status code returns the HTTP status code for the request's response error.
54508func (s *UnsupportedInventoryItemContextException) StatusCode() int {
54509	return s.RespMetadata.StatusCode
54510}
54511
54512// RequestID returns the service's response RequestID for request.
54513func (s *UnsupportedInventoryItemContextException) RequestID() string {
54514	return s.RespMetadata.RequestID
54515}
54516
54517// Inventory item type schema version has to match supported versions in the
54518// service. Check output of GetInventorySchema to see the available schema version
54519// for each type.
54520type UnsupportedInventorySchemaVersionException struct {
54521	_            struct{}                  `type:"structure"`
54522	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54523
54524	Message_ *string `locationName:"Message" type:"string"`
54525}
54526
54527// String returns the string representation.
54528//
54529// API parameter values that are decorated as "sensitive" in the API will not
54530// be included in the string output. The member name will be present, but the
54531// value will be replaced with "sensitive".
54532func (s UnsupportedInventorySchemaVersionException) String() string {
54533	return awsutil.Prettify(s)
54534}
54535
54536// GoString returns the string representation.
54537//
54538// API parameter values that are decorated as "sensitive" in the API will not
54539// be included in the string output. The member name will be present, but the
54540// value will be replaced with "sensitive".
54541func (s UnsupportedInventorySchemaVersionException) GoString() string {
54542	return s.String()
54543}
54544
54545func newErrorUnsupportedInventorySchemaVersionException(v protocol.ResponseMetadata) error {
54546	return &UnsupportedInventorySchemaVersionException{
54547		RespMetadata: v,
54548	}
54549}
54550
54551// Code returns the exception type name.
54552func (s *UnsupportedInventorySchemaVersionException) Code() string {
54553	return "UnsupportedInventorySchemaVersionException"
54554}
54555
54556// Message returns the exception's message.
54557func (s *UnsupportedInventorySchemaVersionException) Message() string {
54558	if s.Message_ != nil {
54559		return *s.Message_
54560	}
54561	return ""
54562}
54563
54564// OrigErr always returns nil, satisfies awserr.Error interface.
54565func (s *UnsupportedInventorySchemaVersionException) OrigErr() error {
54566	return nil
54567}
54568
54569func (s *UnsupportedInventorySchemaVersionException) Error() string {
54570	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54571}
54572
54573// Status code returns the HTTP status code for the request's response error.
54574func (s *UnsupportedInventorySchemaVersionException) StatusCode() int {
54575	return s.RespMetadata.StatusCode
54576}
54577
54578// RequestID returns the service's response RequestID for request.
54579func (s *UnsupportedInventorySchemaVersionException) RequestID() string {
54580	return s.RespMetadata.RequestID
54581}
54582
54583// The operating systems you specified isn't supported, or the operation isn't
54584// supported for the operating system.
54585type UnsupportedOperatingSystem struct {
54586	_            struct{}                  `type:"structure"`
54587	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54588
54589	Message_ *string `locationName:"Message" type:"string"`
54590}
54591
54592// String returns the string representation.
54593//
54594// API parameter values that are decorated as "sensitive" in the API will not
54595// be included in the string output. The member name will be present, but the
54596// value will be replaced with "sensitive".
54597func (s UnsupportedOperatingSystem) String() string {
54598	return awsutil.Prettify(s)
54599}
54600
54601// GoString returns the string representation.
54602//
54603// API parameter values that are decorated as "sensitive" in the API will not
54604// be included in the string output. The member name will be present, but the
54605// value will be replaced with "sensitive".
54606func (s UnsupportedOperatingSystem) GoString() string {
54607	return s.String()
54608}
54609
54610func newErrorUnsupportedOperatingSystem(v protocol.ResponseMetadata) error {
54611	return &UnsupportedOperatingSystem{
54612		RespMetadata: v,
54613	}
54614}
54615
54616// Code returns the exception type name.
54617func (s *UnsupportedOperatingSystem) Code() string {
54618	return "UnsupportedOperatingSystem"
54619}
54620
54621// Message returns the exception's message.
54622func (s *UnsupportedOperatingSystem) Message() string {
54623	if s.Message_ != nil {
54624		return *s.Message_
54625	}
54626	return ""
54627}
54628
54629// OrigErr always returns nil, satisfies awserr.Error interface.
54630func (s *UnsupportedOperatingSystem) OrigErr() error {
54631	return nil
54632}
54633
54634func (s *UnsupportedOperatingSystem) Error() string {
54635	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54636}
54637
54638// Status code returns the HTTP status code for the request's response error.
54639func (s *UnsupportedOperatingSystem) StatusCode() int {
54640	return s.RespMetadata.StatusCode
54641}
54642
54643// RequestID returns the service's response RequestID for request.
54644func (s *UnsupportedOperatingSystem) RequestID() string {
54645	return s.RespMetadata.RequestID
54646}
54647
54648// The parameter type isn't supported.
54649type UnsupportedParameterType struct {
54650	_            struct{}                  `type:"structure"`
54651	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54652
54653	Message_ *string `locationName:"message" type:"string"`
54654}
54655
54656// String returns the string representation.
54657//
54658// API parameter values that are decorated as "sensitive" in the API will not
54659// be included in the string output. The member name will be present, but the
54660// value will be replaced with "sensitive".
54661func (s UnsupportedParameterType) String() string {
54662	return awsutil.Prettify(s)
54663}
54664
54665// GoString returns the string representation.
54666//
54667// API parameter values that are decorated as "sensitive" in the API will not
54668// be included in the string output. The member name will be present, but the
54669// value will be replaced with "sensitive".
54670func (s UnsupportedParameterType) GoString() string {
54671	return s.String()
54672}
54673
54674func newErrorUnsupportedParameterType(v protocol.ResponseMetadata) error {
54675	return &UnsupportedParameterType{
54676		RespMetadata: v,
54677	}
54678}
54679
54680// Code returns the exception type name.
54681func (s *UnsupportedParameterType) Code() string {
54682	return "UnsupportedParameterType"
54683}
54684
54685// Message returns the exception's message.
54686func (s *UnsupportedParameterType) Message() string {
54687	if s.Message_ != nil {
54688		return *s.Message_
54689	}
54690	return ""
54691}
54692
54693// OrigErr always returns nil, satisfies awserr.Error interface.
54694func (s *UnsupportedParameterType) OrigErr() error {
54695	return nil
54696}
54697
54698func (s *UnsupportedParameterType) Error() string {
54699	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54700}
54701
54702// Status code returns the HTTP status code for the request's response error.
54703func (s *UnsupportedParameterType) StatusCode() int {
54704	return s.RespMetadata.StatusCode
54705}
54706
54707// RequestID returns the service's response RequestID for request.
54708func (s *UnsupportedParameterType) RequestID() string {
54709	return s.RespMetadata.RequestID
54710}
54711
54712// The document doesn't support the platform type of the given instance ID(s).
54713// For example, you sent an document for a Windows instance to a Linux instance.
54714type UnsupportedPlatformType struct {
54715	_            struct{}                  `type:"structure"`
54716	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
54717
54718	Message_ *string `locationName:"Message" type:"string"`
54719}
54720
54721// String returns the string representation.
54722//
54723// API parameter values that are decorated as "sensitive" in the API will not
54724// be included in the string output. The member name will be present, but the
54725// value will be replaced with "sensitive".
54726func (s UnsupportedPlatformType) String() string {
54727	return awsutil.Prettify(s)
54728}
54729
54730// GoString returns the string representation.
54731//
54732// API parameter values that are decorated as "sensitive" in the API will not
54733// be included in the string output. The member name will be present, but the
54734// value will be replaced with "sensitive".
54735func (s UnsupportedPlatformType) GoString() string {
54736	return s.String()
54737}
54738
54739func newErrorUnsupportedPlatformType(v protocol.ResponseMetadata) error {
54740	return &UnsupportedPlatformType{
54741		RespMetadata: v,
54742	}
54743}
54744
54745// Code returns the exception type name.
54746func (s *UnsupportedPlatformType) Code() string {
54747	return "UnsupportedPlatformType"
54748}
54749
54750// Message returns the exception's message.
54751func (s *UnsupportedPlatformType) Message() string {
54752	if s.Message_ != nil {
54753		return *s.Message_
54754	}
54755	return ""
54756}
54757
54758// OrigErr always returns nil, satisfies awserr.Error interface.
54759func (s *UnsupportedPlatformType) OrigErr() error {
54760	return nil
54761}
54762
54763func (s *UnsupportedPlatformType) Error() string {
54764	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
54765}
54766
54767// Status code returns the HTTP status code for the request's response error.
54768func (s *UnsupportedPlatformType) StatusCode() int {
54769	return s.RespMetadata.StatusCode
54770}
54771
54772// RequestID returns the service's response RequestID for request.
54773func (s *UnsupportedPlatformType) RequestID() string {
54774	return s.RespMetadata.RequestID
54775}
54776
54777type UpdateAssociationInput struct {
54778	_ struct{} `type:"structure"`
54779
54780	// By default, when you update an association, the system runs it immediately
54781	// after it is updated and then according to the schedule you specified. Specify
54782	// this option if you don't want an association to run immediately after you
54783	// update it. This parameter isn't supported for rate expressions.
54784	//
54785	// Also, if you specified this option when you created the association, you
54786	// can reset it. To do so, specify the no-apply-only-at-cron-interval parameter
54787	// when you update the association from the command line. This parameter forces
54788	// the association to run immediately after updating it and according to the
54789	// interval specified.
54790	ApplyOnlyAtCronInterval *bool `type:"boolean"`
54791
54792	// The ID of the association you want to update.
54793	//
54794	// AssociationId is a required field
54795	AssociationId *string `type:"string" required:"true"`
54796
54797	// The name of the association that you want to update.
54798	AssociationName *string `type:"string"`
54799
54800	// This parameter is provided for concurrency control purposes. You must specify
54801	// the latest association version in the service. If you want to ensure that
54802	// this request succeeds, either specify $LATEST, or omit this parameter.
54803	AssociationVersion *string `type:"string"`
54804
54805	// Specify the target for the association. This target is required for associations
54806	// that use an Automation runbook and target resources by using rate controls.
54807	// Automation is a capability of Amazon Web Services Systems Manager.
54808	AutomationTargetParameterName *string `min:"1" type:"string"`
54809
54810	// The names or Amazon Resource Names (ARNs) of the Change Calendar type documents
54811	// you want to gate your associations under. The associations only run when
54812	// that change calendar is open. For more information, see Amazon Web Services
54813	// Systems Manager Change Calendar (https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar).
54814	CalendarNames []*string `type:"list"`
54815
54816	// The severity level to assign to the association.
54817	ComplianceSeverity *string `type:"string" enum:"AssociationComplianceSeverity"`
54818
54819	// The document version you want update for the association.
54820	DocumentVersion *string `type:"string"`
54821
54822	// The maximum number of targets allowed to run the association at the same
54823	// time. You can specify a number, for example 10, or a percentage of the target
54824	// set, for example 10%. The default value is 100%, which means all targets
54825	// run the association at the same time.
54826	//
54827	// If a new instance starts and attempts to run an association while Systems
54828	// Manager is running MaxConcurrency associations, the association is allowed
54829	// to run. During the next association interval, the new instance will process
54830	// its association within the limit specified for MaxConcurrency.
54831	MaxConcurrency *string `min:"1" type:"string"`
54832
54833	// The number of errors that are allowed before the system stops sending requests
54834	// to run the association on additional targets. You can specify either an absolute
54835	// number of errors, for example 10, or a percentage of the target set, for
54836	// example 10%. If you specify 3, for example, the system stops sending requests
54837	// when the fourth error is received. If you specify 0, then the system stops
54838	// sending requests after the first error is returned. If you run an association
54839	// on 50 instances and set MaxError to 10%, then the system stops sending the
54840	// request when the sixth error is received.
54841	//
54842	// Executions that are already running an association when MaxErrors is reached
54843	// are allowed to complete, but some of these executions may fail as well. If
54844	// you need to ensure that there won't be more than max-errors failed executions,
54845	// set MaxConcurrency to 1 so that executions proceed one at a time.
54846	MaxErrors *string `min:"1" type:"string"`
54847
54848	// The name of the SSM Command document or Automation runbook that contains
54849	// the configuration information for the instance.
54850	//
54851	// You can specify Amazon Web Services-predefined documents, documents you created,
54852	// or a document that is shared with you from another account.
54853	//
54854	// For Systems Manager document (SSM document) that are shared with you from
54855	// other Amazon Web Services accounts, you must specify the complete SSM document
54856	// ARN, in the following format:
54857	//
54858	// arn:aws:ssm:region:account-id:document/document-name
54859	//
54860	// For example:
54861	//
54862	// arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
54863	//
54864	// For Amazon Web Services-predefined documents and SSM documents you created
54865	// in your account, you only need to specify the document name. For example,
54866	// AWS-ApplyPatchBaseline or My-Document.
54867	Name *string `type:"string"`
54868
54869	// An S3 bucket where you want to store the results of this request.
54870	OutputLocation *InstanceAssociationOutputLocation `type:"structure"`
54871
54872	// The parameters you want to update for the association. If you create a parameter
54873	// using Parameter Store, a capability of Amazon Web Services Systems Manager,
54874	// you can reference the parameter using {{ssm:parameter-name}}.
54875	Parameters map[string][]*string `type:"map"`
54876
54877	// The cron expression used to schedule the association that you want to update.
54878	ScheduleExpression *string `min:"1" type:"string"`
54879
54880	// The mode for generating association compliance. You can specify AUTO or MANUAL.
54881	// In AUTO mode, the system uses the status of the association execution to
54882	// determine the compliance status. If the association execution runs successfully,
54883	// then the association is COMPLIANT. If the association execution doesn't run
54884	// successfully, the association is NON-COMPLIANT.
54885	//
54886	// In MANUAL mode, you must specify the AssociationId as a parameter for the
54887	// PutComplianceItems API operation. In this case, compliance data isn't managed
54888	// by State Manager, a capability of Amazon Web Services Systems Manager. It
54889	// is managed by your direct call to the PutComplianceItems API operation.
54890	//
54891	// By default, all associations use AUTO mode.
54892	SyncCompliance *string `type:"string" enum:"AssociationSyncCompliance"`
54893
54894	// A location is a combination of Amazon Web Services Regions and Amazon Web
54895	// Services accounts where you want to run the association. Use this action
54896	// to update an association in multiple Regions and multiple accounts.
54897	TargetLocations []*TargetLocation `min:"1" type:"list"`
54898
54899	// The targets of the association.
54900	Targets []*Target `type:"list"`
54901}
54902
54903// String returns the string representation.
54904//
54905// API parameter values that are decorated as "sensitive" in the API will not
54906// be included in the string output. The member name will be present, but the
54907// value will be replaced with "sensitive".
54908func (s UpdateAssociationInput) String() string {
54909	return awsutil.Prettify(s)
54910}
54911
54912// GoString returns the string representation.
54913//
54914// API parameter values that are decorated as "sensitive" in the API will not
54915// be included in the string output. The member name will be present, but the
54916// value will be replaced with "sensitive".
54917func (s UpdateAssociationInput) GoString() string {
54918	return s.String()
54919}
54920
54921// Validate inspects the fields of the type to determine if they are valid.
54922func (s *UpdateAssociationInput) Validate() error {
54923	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationInput"}
54924	if s.AssociationId == nil {
54925		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
54926	}
54927	if s.AutomationTargetParameterName != nil && len(*s.AutomationTargetParameterName) < 1 {
54928		invalidParams.Add(request.NewErrParamMinLen("AutomationTargetParameterName", 1))
54929	}
54930	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
54931		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
54932	}
54933	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
54934		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
54935	}
54936	if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 1 {
54937		invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 1))
54938	}
54939	if s.TargetLocations != nil && len(s.TargetLocations) < 1 {
54940		invalidParams.Add(request.NewErrParamMinLen("TargetLocations", 1))
54941	}
54942	if s.OutputLocation != nil {
54943		if err := s.OutputLocation.Validate(); err != nil {
54944			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
54945		}
54946	}
54947	if s.TargetLocations != nil {
54948		for i, v := range s.TargetLocations {
54949			if v == nil {
54950				continue
54951			}
54952			if err := v.Validate(); err != nil {
54953				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetLocations", i), err.(request.ErrInvalidParams))
54954			}
54955		}
54956	}
54957	if s.Targets != nil {
54958		for i, v := range s.Targets {
54959			if v == nil {
54960				continue
54961			}
54962			if err := v.Validate(); err != nil {
54963				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
54964			}
54965		}
54966	}
54967
54968	if invalidParams.Len() > 0 {
54969		return invalidParams
54970	}
54971	return nil
54972}
54973
54974// SetApplyOnlyAtCronInterval sets the ApplyOnlyAtCronInterval field's value.
54975func (s *UpdateAssociationInput) SetApplyOnlyAtCronInterval(v bool) *UpdateAssociationInput {
54976	s.ApplyOnlyAtCronInterval = &v
54977	return s
54978}
54979
54980// SetAssociationId sets the AssociationId field's value.
54981func (s *UpdateAssociationInput) SetAssociationId(v string) *UpdateAssociationInput {
54982	s.AssociationId = &v
54983	return s
54984}
54985
54986// SetAssociationName sets the AssociationName field's value.
54987func (s *UpdateAssociationInput) SetAssociationName(v string) *UpdateAssociationInput {
54988	s.AssociationName = &v
54989	return s
54990}
54991
54992// SetAssociationVersion sets the AssociationVersion field's value.
54993func (s *UpdateAssociationInput) SetAssociationVersion(v string) *UpdateAssociationInput {
54994	s.AssociationVersion = &v
54995	return s
54996}
54997
54998// SetAutomationTargetParameterName sets the AutomationTargetParameterName field's value.
54999func (s *UpdateAssociationInput) SetAutomationTargetParameterName(v string) *UpdateAssociationInput {
55000	s.AutomationTargetParameterName = &v
55001	return s
55002}
55003
55004// SetCalendarNames sets the CalendarNames field's value.
55005func (s *UpdateAssociationInput) SetCalendarNames(v []*string) *UpdateAssociationInput {
55006	s.CalendarNames = v
55007	return s
55008}
55009
55010// SetComplianceSeverity sets the ComplianceSeverity field's value.
55011func (s *UpdateAssociationInput) SetComplianceSeverity(v string) *UpdateAssociationInput {
55012	s.ComplianceSeverity = &v
55013	return s
55014}
55015
55016// SetDocumentVersion sets the DocumentVersion field's value.
55017func (s *UpdateAssociationInput) SetDocumentVersion(v string) *UpdateAssociationInput {
55018	s.DocumentVersion = &v
55019	return s
55020}
55021
55022// SetMaxConcurrency sets the MaxConcurrency field's value.
55023func (s *UpdateAssociationInput) SetMaxConcurrency(v string) *UpdateAssociationInput {
55024	s.MaxConcurrency = &v
55025	return s
55026}
55027
55028// SetMaxErrors sets the MaxErrors field's value.
55029func (s *UpdateAssociationInput) SetMaxErrors(v string) *UpdateAssociationInput {
55030	s.MaxErrors = &v
55031	return s
55032}
55033
55034// SetName sets the Name field's value.
55035func (s *UpdateAssociationInput) SetName(v string) *UpdateAssociationInput {
55036	s.Name = &v
55037	return s
55038}
55039
55040// SetOutputLocation sets the OutputLocation field's value.
55041func (s *UpdateAssociationInput) SetOutputLocation(v *InstanceAssociationOutputLocation) *UpdateAssociationInput {
55042	s.OutputLocation = v
55043	return s
55044}
55045
55046// SetParameters sets the Parameters field's value.
55047func (s *UpdateAssociationInput) SetParameters(v map[string][]*string) *UpdateAssociationInput {
55048	s.Parameters = v
55049	return s
55050}
55051
55052// SetScheduleExpression sets the ScheduleExpression field's value.
55053func (s *UpdateAssociationInput) SetScheduleExpression(v string) *UpdateAssociationInput {
55054	s.ScheduleExpression = &v
55055	return s
55056}
55057
55058// SetSyncCompliance sets the SyncCompliance field's value.
55059func (s *UpdateAssociationInput) SetSyncCompliance(v string) *UpdateAssociationInput {
55060	s.SyncCompliance = &v
55061	return s
55062}
55063
55064// SetTargetLocations sets the TargetLocations field's value.
55065func (s *UpdateAssociationInput) SetTargetLocations(v []*TargetLocation) *UpdateAssociationInput {
55066	s.TargetLocations = v
55067	return s
55068}
55069
55070// SetTargets sets the Targets field's value.
55071func (s *UpdateAssociationInput) SetTargets(v []*Target) *UpdateAssociationInput {
55072	s.Targets = v
55073	return s
55074}
55075
55076type UpdateAssociationOutput struct {
55077	_ struct{} `type:"structure"`
55078
55079	// The description of the association that was updated.
55080	AssociationDescription *AssociationDescription `type:"structure"`
55081}
55082
55083// String returns the string representation.
55084//
55085// API parameter values that are decorated as "sensitive" in the API will not
55086// be included in the string output. The member name will be present, but the
55087// value will be replaced with "sensitive".
55088func (s UpdateAssociationOutput) String() string {
55089	return awsutil.Prettify(s)
55090}
55091
55092// GoString returns the string representation.
55093//
55094// API parameter values that are decorated as "sensitive" in the API will not
55095// be included in the string output. The member name will be present, but the
55096// value will be replaced with "sensitive".
55097func (s UpdateAssociationOutput) GoString() string {
55098	return s.String()
55099}
55100
55101// SetAssociationDescription sets the AssociationDescription field's value.
55102func (s *UpdateAssociationOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationOutput {
55103	s.AssociationDescription = v
55104	return s
55105}
55106
55107type UpdateAssociationStatusInput struct {
55108	_ struct{} `type:"structure"`
55109
55110	// The association status.
55111	//
55112	// AssociationStatus is a required field
55113	AssociationStatus *AssociationStatus `type:"structure" required:"true"`
55114
55115	// The instance ID.
55116	//
55117	// InstanceId is a required field
55118	InstanceId *string `type:"string" required:"true"`
55119
55120	// The name of the SSM document.
55121	//
55122	// Name is a required field
55123	Name *string `type:"string" required:"true"`
55124}
55125
55126// String returns the string representation.
55127//
55128// API parameter values that are decorated as "sensitive" in the API will not
55129// be included in the string output. The member name will be present, but the
55130// value will be replaced with "sensitive".
55131func (s UpdateAssociationStatusInput) String() string {
55132	return awsutil.Prettify(s)
55133}
55134
55135// GoString returns the string representation.
55136//
55137// API parameter values that are decorated as "sensitive" in the API will not
55138// be included in the string output. The member name will be present, but the
55139// value will be replaced with "sensitive".
55140func (s UpdateAssociationStatusInput) GoString() string {
55141	return s.String()
55142}
55143
55144// Validate inspects the fields of the type to determine if they are valid.
55145func (s *UpdateAssociationStatusInput) Validate() error {
55146	invalidParams := request.ErrInvalidParams{Context: "UpdateAssociationStatusInput"}
55147	if s.AssociationStatus == nil {
55148		invalidParams.Add(request.NewErrParamRequired("AssociationStatus"))
55149	}
55150	if s.InstanceId == nil {
55151		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
55152	}
55153	if s.Name == nil {
55154		invalidParams.Add(request.NewErrParamRequired("Name"))
55155	}
55156	if s.AssociationStatus != nil {
55157		if err := s.AssociationStatus.Validate(); err != nil {
55158			invalidParams.AddNested("AssociationStatus", err.(request.ErrInvalidParams))
55159		}
55160	}
55161
55162	if invalidParams.Len() > 0 {
55163		return invalidParams
55164	}
55165	return nil
55166}
55167
55168// SetAssociationStatus sets the AssociationStatus field's value.
55169func (s *UpdateAssociationStatusInput) SetAssociationStatus(v *AssociationStatus) *UpdateAssociationStatusInput {
55170	s.AssociationStatus = v
55171	return s
55172}
55173
55174// SetInstanceId sets the InstanceId field's value.
55175func (s *UpdateAssociationStatusInput) SetInstanceId(v string) *UpdateAssociationStatusInput {
55176	s.InstanceId = &v
55177	return s
55178}
55179
55180// SetName sets the Name field's value.
55181func (s *UpdateAssociationStatusInput) SetName(v string) *UpdateAssociationStatusInput {
55182	s.Name = &v
55183	return s
55184}
55185
55186type UpdateAssociationStatusOutput struct {
55187	_ struct{} `type:"structure"`
55188
55189	// Information about the association.
55190	AssociationDescription *AssociationDescription `type:"structure"`
55191}
55192
55193// String returns the string representation.
55194//
55195// API parameter values that are decorated as "sensitive" in the API will not
55196// be included in the string output. The member name will be present, but the
55197// value will be replaced with "sensitive".
55198func (s UpdateAssociationStatusOutput) String() string {
55199	return awsutil.Prettify(s)
55200}
55201
55202// GoString returns the string representation.
55203//
55204// API parameter values that are decorated as "sensitive" in the API will not
55205// be included in the string output. The member name will be present, but the
55206// value will be replaced with "sensitive".
55207func (s UpdateAssociationStatusOutput) GoString() string {
55208	return s.String()
55209}
55210
55211// SetAssociationDescription sets the AssociationDescription field's value.
55212func (s *UpdateAssociationStatusOutput) SetAssociationDescription(v *AssociationDescription) *UpdateAssociationStatusOutput {
55213	s.AssociationDescription = v
55214	return s
55215}
55216
55217type UpdateDocumentDefaultVersionInput struct {
55218	_ struct{} `type:"structure"`
55219
55220	// The version of a custom document that you want to set as the default version.
55221	//
55222	// DocumentVersion is a required field
55223	DocumentVersion *string `type:"string" required:"true"`
55224
55225	// The name of a custom document that you want to set as the default version.
55226	//
55227	// Name is a required field
55228	Name *string `type:"string" required:"true"`
55229}
55230
55231// String returns the string representation.
55232//
55233// API parameter values that are decorated as "sensitive" in the API will not
55234// be included in the string output. The member name will be present, but the
55235// value will be replaced with "sensitive".
55236func (s UpdateDocumentDefaultVersionInput) String() string {
55237	return awsutil.Prettify(s)
55238}
55239
55240// GoString returns the string representation.
55241//
55242// API parameter values that are decorated as "sensitive" in the API will not
55243// be included in the string output. The member name will be present, but the
55244// value will be replaced with "sensitive".
55245func (s UpdateDocumentDefaultVersionInput) GoString() string {
55246	return s.String()
55247}
55248
55249// Validate inspects the fields of the type to determine if they are valid.
55250func (s *UpdateDocumentDefaultVersionInput) Validate() error {
55251	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentDefaultVersionInput"}
55252	if s.DocumentVersion == nil {
55253		invalidParams.Add(request.NewErrParamRequired("DocumentVersion"))
55254	}
55255	if s.Name == nil {
55256		invalidParams.Add(request.NewErrParamRequired("Name"))
55257	}
55258
55259	if invalidParams.Len() > 0 {
55260		return invalidParams
55261	}
55262	return nil
55263}
55264
55265// SetDocumentVersion sets the DocumentVersion field's value.
55266func (s *UpdateDocumentDefaultVersionInput) SetDocumentVersion(v string) *UpdateDocumentDefaultVersionInput {
55267	s.DocumentVersion = &v
55268	return s
55269}
55270
55271// SetName sets the Name field's value.
55272func (s *UpdateDocumentDefaultVersionInput) SetName(v string) *UpdateDocumentDefaultVersionInput {
55273	s.Name = &v
55274	return s
55275}
55276
55277type UpdateDocumentDefaultVersionOutput struct {
55278	_ struct{} `type:"structure"`
55279
55280	// The description of a custom document that you want to set as the default
55281	// version.
55282	Description *DocumentDefaultVersionDescription `type:"structure"`
55283}
55284
55285// String returns the string representation.
55286//
55287// API parameter values that are decorated as "sensitive" in the API will not
55288// be included in the string output. The member name will be present, but the
55289// value will be replaced with "sensitive".
55290func (s UpdateDocumentDefaultVersionOutput) String() string {
55291	return awsutil.Prettify(s)
55292}
55293
55294// GoString returns the string representation.
55295//
55296// API parameter values that are decorated as "sensitive" in the API will not
55297// be included in the string output. The member name will be present, but the
55298// value will be replaced with "sensitive".
55299func (s UpdateDocumentDefaultVersionOutput) GoString() string {
55300	return s.String()
55301}
55302
55303// SetDescription sets the Description field's value.
55304func (s *UpdateDocumentDefaultVersionOutput) SetDescription(v *DocumentDefaultVersionDescription) *UpdateDocumentDefaultVersionOutput {
55305	s.Description = v
55306	return s
55307}
55308
55309type UpdateDocumentInput struct {
55310	_ struct{} `type:"structure"`
55311
55312	// A list of key-value pairs that describe attachments to a version of a document.
55313	Attachments []*AttachmentsSource `type:"list"`
55314
55315	// A valid JSON or YAML string.
55316	//
55317	// Content is a required field
55318	Content *string `min:"1" type:"string" required:"true"`
55319
55320	// The friendly name of the SSM document that you want to update. This value
55321	// can differ for each version of the document. If you don't specify a value
55322	// for this parameter in your request, the existing value is applied to the
55323	// new document version.
55324	DisplayName *string `type:"string"`
55325
55326	// Specify the document format for the new document version. Systems Manager
55327	// supports JSON and YAML documents. JSON is the default format.
55328	DocumentFormat *string `type:"string" enum:"DocumentFormat"`
55329
55330	// The version of the document that you want to update. Currently, Systems Manager
55331	// supports updating only the latest version of the document. You can specify
55332	// the version number of the latest version or use the $LATEST variable.
55333	DocumentVersion *string `type:"string"`
55334
55335	// The name of the SSM document that you want to update.
55336	//
55337	// Name is a required field
55338	Name *string `type:"string" required:"true"`
55339
55340	// Specify a new target type for the document.
55341	TargetType *string `type:"string"`
55342
55343	// An optional field specifying the version of the artifact you are updating
55344	// with the document. For example, "Release 12, Update 6". This value is unique
55345	// across all versions of a document, and can't be changed.
55346	VersionName *string `type:"string"`
55347}
55348
55349// String returns the string representation.
55350//
55351// API parameter values that are decorated as "sensitive" in the API will not
55352// be included in the string output. The member name will be present, but the
55353// value will be replaced with "sensitive".
55354func (s UpdateDocumentInput) String() string {
55355	return awsutil.Prettify(s)
55356}
55357
55358// GoString returns the string representation.
55359//
55360// API parameter values that are decorated as "sensitive" in the API will not
55361// be included in the string output. The member name will be present, but the
55362// value will be replaced with "sensitive".
55363func (s UpdateDocumentInput) GoString() string {
55364	return s.String()
55365}
55366
55367// Validate inspects the fields of the type to determine if they are valid.
55368func (s *UpdateDocumentInput) Validate() error {
55369	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentInput"}
55370	if s.Content == nil {
55371		invalidParams.Add(request.NewErrParamRequired("Content"))
55372	}
55373	if s.Content != nil && len(*s.Content) < 1 {
55374		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
55375	}
55376	if s.Name == nil {
55377		invalidParams.Add(request.NewErrParamRequired("Name"))
55378	}
55379	if s.Attachments != nil {
55380		for i, v := range s.Attachments {
55381			if v == nil {
55382				continue
55383			}
55384			if err := v.Validate(); err != nil {
55385				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams))
55386			}
55387		}
55388	}
55389
55390	if invalidParams.Len() > 0 {
55391		return invalidParams
55392	}
55393	return nil
55394}
55395
55396// SetAttachments sets the Attachments field's value.
55397func (s *UpdateDocumentInput) SetAttachments(v []*AttachmentsSource) *UpdateDocumentInput {
55398	s.Attachments = v
55399	return s
55400}
55401
55402// SetContent sets the Content field's value.
55403func (s *UpdateDocumentInput) SetContent(v string) *UpdateDocumentInput {
55404	s.Content = &v
55405	return s
55406}
55407
55408// SetDisplayName sets the DisplayName field's value.
55409func (s *UpdateDocumentInput) SetDisplayName(v string) *UpdateDocumentInput {
55410	s.DisplayName = &v
55411	return s
55412}
55413
55414// SetDocumentFormat sets the DocumentFormat field's value.
55415func (s *UpdateDocumentInput) SetDocumentFormat(v string) *UpdateDocumentInput {
55416	s.DocumentFormat = &v
55417	return s
55418}
55419
55420// SetDocumentVersion sets the DocumentVersion field's value.
55421func (s *UpdateDocumentInput) SetDocumentVersion(v string) *UpdateDocumentInput {
55422	s.DocumentVersion = &v
55423	return s
55424}
55425
55426// SetName sets the Name field's value.
55427func (s *UpdateDocumentInput) SetName(v string) *UpdateDocumentInput {
55428	s.Name = &v
55429	return s
55430}
55431
55432// SetTargetType sets the TargetType field's value.
55433func (s *UpdateDocumentInput) SetTargetType(v string) *UpdateDocumentInput {
55434	s.TargetType = &v
55435	return s
55436}
55437
55438// SetVersionName sets the VersionName field's value.
55439func (s *UpdateDocumentInput) SetVersionName(v string) *UpdateDocumentInput {
55440	s.VersionName = &v
55441	return s
55442}
55443
55444type UpdateDocumentMetadataInput struct {
55445	_ struct{} `type:"structure"`
55446
55447	// The change template review details to update.
55448	//
55449	// DocumentReviews is a required field
55450	DocumentReviews *DocumentReviews `type:"structure" required:"true"`
55451
55452	// The version of a change template in which to update approval metadata.
55453	DocumentVersion *string `type:"string"`
55454
55455	// The name of the change template for which a version's metadata is to be updated.
55456	//
55457	// Name is a required field
55458	Name *string `type:"string" required:"true"`
55459}
55460
55461// String returns the string representation.
55462//
55463// API parameter values that are decorated as "sensitive" in the API will not
55464// be included in the string output. The member name will be present, but the
55465// value will be replaced with "sensitive".
55466func (s UpdateDocumentMetadataInput) String() string {
55467	return awsutil.Prettify(s)
55468}
55469
55470// GoString returns the string representation.
55471//
55472// API parameter values that are decorated as "sensitive" in the API will not
55473// be included in the string output. The member name will be present, but the
55474// value will be replaced with "sensitive".
55475func (s UpdateDocumentMetadataInput) GoString() string {
55476	return s.String()
55477}
55478
55479// Validate inspects the fields of the type to determine if they are valid.
55480func (s *UpdateDocumentMetadataInput) Validate() error {
55481	invalidParams := request.ErrInvalidParams{Context: "UpdateDocumentMetadataInput"}
55482	if s.DocumentReviews == nil {
55483		invalidParams.Add(request.NewErrParamRequired("DocumentReviews"))
55484	}
55485	if s.Name == nil {
55486		invalidParams.Add(request.NewErrParamRequired("Name"))
55487	}
55488	if s.DocumentReviews != nil {
55489		if err := s.DocumentReviews.Validate(); err != nil {
55490			invalidParams.AddNested("DocumentReviews", err.(request.ErrInvalidParams))
55491		}
55492	}
55493
55494	if invalidParams.Len() > 0 {
55495		return invalidParams
55496	}
55497	return nil
55498}
55499
55500// SetDocumentReviews sets the DocumentReviews field's value.
55501func (s *UpdateDocumentMetadataInput) SetDocumentReviews(v *DocumentReviews) *UpdateDocumentMetadataInput {
55502	s.DocumentReviews = v
55503	return s
55504}
55505
55506// SetDocumentVersion sets the DocumentVersion field's value.
55507func (s *UpdateDocumentMetadataInput) SetDocumentVersion(v string) *UpdateDocumentMetadataInput {
55508	s.DocumentVersion = &v
55509	return s
55510}
55511
55512// SetName sets the Name field's value.
55513func (s *UpdateDocumentMetadataInput) SetName(v string) *UpdateDocumentMetadataInput {
55514	s.Name = &v
55515	return s
55516}
55517
55518type UpdateDocumentMetadataOutput struct {
55519	_ struct{} `type:"structure"`
55520}
55521
55522// String returns the string representation.
55523//
55524// API parameter values that are decorated as "sensitive" in the API will not
55525// be included in the string output. The member name will be present, but the
55526// value will be replaced with "sensitive".
55527func (s UpdateDocumentMetadataOutput) String() string {
55528	return awsutil.Prettify(s)
55529}
55530
55531// GoString returns the string representation.
55532//
55533// API parameter values that are decorated as "sensitive" in the API will not
55534// be included in the string output. The member name will be present, but the
55535// value will be replaced with "sensitive".
55536func (s UpdateDocumentMetadataOutput) GoString() string {
55537	return s.String()
55538}
55539
55540type UpdateDocumentOutput struct {
55541	_ struct{} `type:"structure"`
55542
55543	// A description of the document that was updated.
55544	DocumentDescription *DocumentDescription `type:"structure"`
55545}
55546
55547// String returns the string representation.
55548//
55549// API parameter values that are decorated as "sensitive" in the API will not
55550// be included in the string output. The member name will be present, but the
55551// value will be replaced with "sensitive".
55552func (s UpdateDocumentOutput) String() string {
55553	return awsutil.Prettify(s)
55554}
55555
55556// GoString returns the string representation.
55557//
55558// API parameter values that are decorated as "sensitive" in the API will not
55559// be included in the string output. The member name will be present, but the
55560// value will be replaced with "sensitive".
55561func (s UpdateDocumentOutput) GoString() string {
55562	return s.String()
55563}
55564
55565// SetDocumentDescription sets the DocumentDescription field's value.
55566func (s *UpdateDocumentOutput) SetDocumentDescription(v *DocumentDescription) *UpdateDocumentOutput {
55567	s.DocumentDescription = v
55568	return s
55569}
55570
55571type UpdateMaintenanceWindowInput struct {
55572	_ struct{} `type:"structure"`
55573
55574	// Whether targets must be registered with the maintenance window before tasks
55575	// can be defined for those targets.
55576	AllowUnassociatedTargets *bool `type:"boolean"`
55577
55578	// The number of hours before the end of the maintenance window that Amazon
55579	// Web Services Systems Manager stops scheduling new tasks for execution.
55580	Cutoff *int64 `type:"integer"`
55581
55582	// An optional description for the update request.
55583	//
55584	// Description is a sensitive parameter and its value will be
55585	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowInput's
55586	// String and GoString methods.
55587	Description *string `min:"1" type:"string" sensitive:"true"`
55588
55589	// The duration of the maintenance window in hours.
55590	Duration *int64 `min:"1" type:"integer"`
55591
55592	// Whether the maintenance window is enabled.
55593	Enabled *bool `type:"boolean"`
55594
55595	// The date and time, in ISO-8601 Extended format, for when you want the maintenance
55596	// window to become inactive. EndDate allows you to set a date and time in the
55597	// future when the maintenance window will no longer run.
55598	EndDate *string `type:"string"`
55599
55600	// The name of the maintenance window.
55601	Name *string `min:"3" type:"string"`
55602
55603	// If True, then all fields that are required by the CreateMaintenanceWindow
55604	// operation are also required for this API request. Optional fields that aren't
55605	// specified are set to null.
55606	Replace *bool `type:"boolean"`
55607
55608	// The schedule of the maintenance window in the form of a cron or rate expression.
55609	Schedule *string `min:"1" type:"string"`
55610
55611	// The number of days to wait after the date and time specified by a cron expression
55612	// before running the maintenance window.
55613	//
55614	// For example, the following cron expression schedules a maintenance window
55615	// to run the third Tuesday of every month at 11:30 PM.
55616	//
55617	// cron(30 23 ? * TUE#3 *)
55618	//
55619	// If the schedule offset is 2, the maintenance window won't run until two days
55620	// later.
55621	ScheduleOffset *int64 `min:"1" type:"integer"`
55622
55623	// The time zone that the scheduled maintenance window executions are based
55624	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
55625	// "UTC", or "Asia/Seoul". For more information, see the Time Zone Database
55626	// (https://www.iana.org/time-zones) on the IANA website.
55627	ScheduleTimezone *string `type:"string"`
55628
55629	// The time zone that the scheduled maintenance window executions are based
55630	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
55631	// "UTC", or "Asia/Seoul". For more information, see the Time Zone Database
55632	// (https://www.iana.org/time-zones) on the IANA website.
55633	StartDate *string `type:"string"`
55634
55635	// The ID of the maintenance window to update.
55636	//
55637	// WindowId is a required field
55638	WindowId *string `min:"20" type:"string" required:"true"`
55639}
55640
55641// String returns the string representation.
55642//
55643// API parameter values that are decorated as "sensitive" in the API will not
55644// be included in the string output. The member name will be present, but the
55645// value will be replaced with "sensitive".
55646func (s UpdateMaintenanceWindowInput) String() string {
55647	return awsutil.Prettify(s)
55648}
55649
55650// GoString returns the string representation.
55651//
55652// API parameter values that are decorated as "sensitive" in the API will not
55653// be included in the string output. The member name will be present, but the
55654// value will be replaced with "sensitive".
55655func (s UpdateMaintenanceWindowInput) GoString() string {
55656	return s.String()
55657}
55658
55659// Validate inspects the fields of the type to determine if they are valid.
55660func (s *UpdateMaintenanceWindowInput) Validate() error {
55661	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowInput"}
55662	if s.Description != nil && len(*s.Description) < 1 {
55663		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
55664	}
55665	if s.Duration != nil && *s.Duration < 1 {
55666		invalidParams.Add(request.NewErrParamMinValue("Duration", 1))
55667	}
55668	if s.Name != nil && len(*s.Name) < 3 {
55669		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
55670	}
55671	if s.Schedule != nil && len(*s.Schedule) < 1 {
55672		invalidParams.Add(request.NewErrParamMinLen("Schedule", 1))
55673	}
55674	if s.ScheduleOffset != nil && *s.ScheduleOffset < 1 {
55675		invalidParams.Add(request.NewErrParamMinValue("ScheduleOffset", 1))
55676	}
55677	if s.WindowId == nil {
55678		invalidParams.Add(request.NewErrParamRequired("WindowId"))
55679	}
55680	if s.WindowId != nil && len(*s.WindowId) < 20 {
55681		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
55682	}
55683
55684	if invalidParams.Len() > 0 {
55685		return invalidParams
55686	}
55687	return nil
55688}
55689
55690// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
55691func (s *UpdateMaintenanceWindowInput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowInput {
55692	s.AllowUnassociatedTargets = &v
55693	return s
55694}
55695
55696// SetCutoff sets the Cutoff field's value.
55697func (s *UpdateMaintenanceWindowInput) SetCutoff(v int64) *UpdateMaintenanceWindowInput {
55698	s.Cutoff = &v
55699	return s
55700}
55701
55702// SetDescription sets the Description field's value.
55703func (s *UpdateMaintenanceWindowInput) SetDescription(v string) *UpdateMaintenanceWindowInput {
55704	s.Description = &v
55705	return s
55706}
55707
55708// SetDuration sets the Duration field's value.
55709func (s *UpdateMaintenanceWindowInput) SetDuration(v int64) *UpdateMaintenanceWindowInput {
55710	s.Duration = &v
55711	return s
55712}
55713
55714// SetEnabled sets the Enabled field's value.
55715func (s *UpdateMaintenanceWindowInput) SetEnabled(v bool) *UpdateMaintenanceWindowInput {
55716	s.Enabled = &v
55717	return s
55718}
55719
55720// SetEndDate sets the EndDate field's value.
55721func (s *UpdateMaintenanceWindowInput) SetEndDate(v string) *UpdateMaintenanceWindowInput {
55722	s.EndDate = &v
55723	return s
55724}
55725
55726// SetName sets the Name field's value.
55727func (s *UpdateMaintenanceWindowInput) SetName(v string) *UpdateMaintenanceWindowInput {
55728	s.Name = &v
55729	return s
55730}
55731
55732// SetReplace sets the Replace field's value.
55733func (s *UpdateMaintenanceWindowInput) SetReplace(v bool) *UpdateMaintenanceWindowInput {
55734	s.Replace = &v
55735	return s
55736}
55737
55738// SetSchedule sets the Schedule field's value.
55739func (s *UpdateMaintenanceWindowInput) SetSchedule(v string) *UpdateMaintenanceWindowInput {
55740	s.Schedule = &v
55741	return s
55742}
55743
55744// SetScheduleOffset sets the ScheduleOffset field's value.
55745func (s *UpdateMaintenanceWindowInput) SetScheduleOffset(v int64) *UpdateMaintenanceWindowInput {
55746	s.ScheduleOffset = &v
55747	return s
55748}
55749
55750// SetScheduleTimezone sets the ScheduleTimezone field's value.
55751func (s *UpdateMaintenanceWindowInput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowInput {
55752	s.ScheduleTimezone = &v
55753	return s
55754}
55755
55756// SetStartDate sets the StartDate field's value.
55757func (s *UpdateMaintenanceWindowInput) SetStartDate(v string) *UpdateMaintenanceWindowInput {
55758	s.StartDate = &v
55759	return s
55760}
55761
55762// SetWindowId sets the WindowId field's value.
55763func (s *UpdateMaintenanceWindowInput) SetWindowId(v string) *UpdateMaintenanceWindowInput {
55764	s.WindowId = &v
55765	return s
55766}
55767
55768type UpdateMaintenanceWindowOutput struct {
55769	_ struct{} `type:"structure"`
55770
55771	// Whether targets must be registered with the maintenance window before tasks
55772	// can be defined for those targets.
55773	AllowUnassociatedTargets *bool `type:"boolean"`
55774
55775	// The number of hours before the end of the maintenance window that Amazon
55776	// Web Services Systems Manager stops scheduling new tasks for execution.
55777	Cutoff *int64 `type:"integer"`
55778
55779	// An optional description of the update.
55780	//
55781	// Description is a sensitive parameter and its value will be
55782	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowOutput's
55783	// String and GoString methods.
55784	Description *string `min:"1" type:"string" sensitive:"true"`
55785
55786	// The duration of the maintenance window in hours.
55787	Duration *int64 `min:"1" type:"integer"`
55788
55789	// Whether the maintenance window is enabled.
55790	Enabled *bool `type:"boolean"`
55791
55792	// The date and time, in ISO-8601 Extended format, for when the maintenance
55793	// window is scheduled to become inactive. The maintenance window won't run
55794	// after this specified time.
55795	EndDate *string `type:"string"`
55796
55797	// The name of the maintenance window.
55798	Name *string `min:"3" type:"string"`
55799
55800	// The schedule of the maintenance window in the form of a cron or rate expression.
55801	Schedule *string `min:"1" type:"string"`
55802
55803	// The number of days to wait to run a maintenance window after the scheduled
55804	// cron expression date and time.
55805	ScheduleOffset *int64 `min:"1" type:"integer"`
55806
55807	// The time zone that the scheduled maintenance window executions are based
55808	// on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles",
55809	// "UTC", or "Asia/Seoul". For more information, see the Time Zone Database
55810	// (https://www.iana.org/time-zones) on the IANA website.
55811	ScheduleTimezone *string `type:"string"`
55812
55813	// The date and time, in ISO-8601 Extended format, for when the maintenance
55814	// window is scheduled to become active. The maintenance window won't run before
55815	// this specified time.
55816	StartDate *string `type:"string"`
55817
55818	// The ID of the created maintenance window.
55819	WindowId *string `min:"20" type:"string"`
55820}
55821
55822// String returns the string representation.
55823//
55824// API parameter values that are decorated as "sensitive" in the API will not
55825// be included in the string output. The member name will be present, but the
55826// value will be replaced with "sensitive".
55827func (s UpdateMaintenanceWindowOutput) String() string {
55828	return awsutil.Prettify(s)
55829}
55830
55831// GoString returns the string representation.
55832//
55833// API parameter values that are decorated as "sensitive" in the API will not
55834// be included in the string output. The member name will be present, but the
55835// value will be replaced with "sensitive".
55836func (s UpdateMaintenanceWindowOutput) GoString() string {
55837	return s.String()
55838}
55839
55840// SetAllowUnassociatedTargets sets the AllowUnassociatedTargets field's value.
55841func (s *UpdateMaintenanceWindowOutput) SetAllowUnassociatedTargets(v bool) *UpdateMaintenanceWindowOutput {
55842	s.AllowUnassociatedTargets = &v
55843	return s
55844}
55845
55846// SetCutoff sets the Cutoff field's value.
55847func (s *UpdateMaintenanceWindowOutput) SetCutoff(v int64) *UpdateMaintenanceWindowOutput {
55848	s.Cutoff = &v
55849	return s
55850}
55851
55852// SetDescription sets the Description field's value.
55853func (s *UpdateMaintenanceWindowOutput) SetDescription(v string) *UpdateMaintenanceWindowOutput {
55854	s.Description = &v
55855	return s
55856}
55857
55858// SetDuration sets the Duration field's value.
55859func (s *UpdateMaintenanceWindowOutput) SetDuration(v int64) *UpdateMaintenanceWindowOutput {
55860	s.Duration = &v
55861	return s
55862}
55863
55864// SetEnabled sets the Enabled field's value.
55865func (s *UpdateMaintenanceWindowOutput) SetEnabled(v bool) *UpdateMaintenanceWindowOutput {
55866	s.Enabled = &v
55867	return s
55868}
55869
55870// SetEndDate sets the EndDate field's value.
55871func (s *UpdateMaintenanceWindowOutput) SetEndDate(v string) *UpdateMaintenanceWindowOutput {
55872	s.EndDate = &v
55873	return s
55874}
55875
55876// SetName sets the Name field's value.
55877func (s *UpdateMaintenanceWindowOutput) SetName(v string) *UpdateMaintenanceWindowOutput {
55878	s.Name = &v
55879	return s
55880}
55881
55882// SetSchedule sets the Schedule field's value.
55883func (s *UpdateMaintenanceWindowOutput) SetSchedule(v string) *UpdateMaintenanceWindowOutput {
55884	s.Schedule = &v
55885	return s
55886}
55887
55888// SetScheduleOffset sets the ScheduleOffset field's value.
55889func (s *UpdateMaintenanceWindowOutput) SetScheduleOffset(v int64) *UpdateMaintenanceWindowOutput {
55890	s.ScheduleOffset = &v
55891	return s
55892}
55893
55894// SetScheduleTimezone sets the ScheduleTimezone field's value.
55895func (s *UpdateMaintenanceWindowOutput) SetScheduleTimezone(v string) *UpdateMaintenanceWindowOutput {
55896	s.ScheduleTimezone = &v
55897	return s
55898}
55899
55900// SetStartDate sets the StartDate field's value.
55901func (s *UpdateMaintenanceWindowOutput) SetStartDate(v string) *UpdateMaintenanceWindowOutput {
55902	s.StartDate = &v
55903	return s
55904}
55905
55906// SetWindowId sets the WindowId field's value.
55907func (s *UpdateMaintenanceWindowOutput) SetWindowId(v string) *UpdateMaintenanceWindowOutput {
55908	s.WindowId = &v
55909	return s
55910}
55911
55912type UpdateMaintenanceWindowTargetInput struct {
55913	_ struct{} `type:"structure"`
55914
55915	// An optional description for the update.
55916	//
55917	// Description is a sensitive parameter and its value will be
55918	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTargetInput's
55919	// String and GoString methods.
55920	Description *string `min:"1" type:"string" sensitive:"true"`
55921
55922	// A name for the update.
55923	Name *string `min:"3" type:"string"`
55924
55925	// User-provided value that will be included in any Amazon CloudWatch Events
55926	// events raised while running tasks for these targets in this maintenance window.
55927	//
55928	// OwnerInformation is a sensitive parameter and its value will be
55929	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTargetInput's
55930	// String and GoString methods.
55931	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
55932
55933	// If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow
55934	// operation are also required for this API request. Optional fields that aren't
55935	// specified are set to null.
55936	Replace *bool `type:"boolean"`
55937
55938	// The targets to add or replace.
55939	Targets []*Target `type:"list"`
55940
55941	// The maintenance window ID with which to modify the target.
55942	//
55943	// WindowId is a required field
55944	WindowId *string `min:"20" type:"string" required:"true"`
55945
55946	// The target ID to modify.
55947	//
55948	// WindowTargetId is a required field
55949	WindowTargetId *string `min:"36" type:"string" required:"true"`
55950}
55951
55952// String returns the string representation.
55953//
55954// API parameter values that are decorated as "sensitive" in the API will not
55955// be included in the string output. The member name will be present, but the
55956// value will be replaced with "sensitive".
55957func (s UpdateMaintenanceWindowTargetInput) String() string {
55958	return awsutil.Prettify(s)
55959}
55960
55961// GoString returns the string representation.
55962//
55963// API parameter values that are decorated as "sensitive" in the API will not
55964// be included in the string output. The member name will be present, but the
55965// value will be replaced with "sensitive".
55966func (s UpdateMaintenanceWindowTargetInput) GoString() string {
55967	return s.String()
55968}
55969
55970// Validate inspects the fields of the type to determine if they are valid.
55971func (s *UpdateMaintenanceWindowTargetInput) Validate() error {
55972	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTargetInput"}
55973	if s.Description != nil && len(*s.Description) < 1 {
55974		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
55975	}
55976	if s.Name != nil && len(*s.Name) < 3 {
55977		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
55978	}
55979	if s.OwnerInformation != nil && len(*s.OwnerInformation) < 1 {
55980		invalidParams.Add(request.NewErrParamMinLen("OwnerInformation", 1))
55981	}
55982	if s.WindowId == nil {
55983		invalidParams.Add(request.NewErrParamRequired("WindowId"))
55984	}
55985	if s.WindowId != nil && len(*s.WindowId) < 20 {
55986		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
55987	}
55988	if s.WindowTargetId == nil {
55989		invalidParams.Add(request.NewErrParamRequired("WindowTargetId"))
55990	}
55991	if s.WindowTargetId != nil && len(*s.WindowTargetId) < 36 {
55992		invalidParams.Add(request.NewErrParamMinLen("WindowTargetId", 36))
55993	}
55994	if s.Targets != nil {
55995		for i, v := range s.Targets {
55996			if v == nil {
55997				continue
55998			}
55999			if err := v.Validate(); err != nil {
56000				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
56001			}
56002		}
56003	}
56004
56005	if invalidParams.Len() > 0 {
56006		return invalidParams
56007	}
56008	return nil
56009}
56010
56011// SetDescription sets the Description field's value.
56012func (s *UpdateMaintenanceWindowTargetInput) SetDescription(v string) *UpdateMaintenanceWindowTargetInput {
56013	s.Description = &v
56014	return s
56015}
56016
56017// SetName sets the Name field's value.
56018func (s *UpdateMaintenanceWindowTargetInput) SetName(v string) *UpdateMaintenanceWindowTargetInput {
56019	s.Name = &v
56020	return s
56021}
56022
56023// SetOwnerInformation sets the OwnerInformation field's value.
56024func (s *UpdateMaintenanceWindowTargetInput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetInput {
56025	s.OwnerInformation = &v
56026	return s
56027}
56028
56029// SetReplace sets the Replace field's value.
56030func (s *UpdateMaintenanceWindowTargetInput) SetReplace(v bool) *UpdateMaintenanceWindowTargetInput {
56031	s.Replace = &v
56032	return s
56033}
56034
56035// SetTargets sets the Targets field's value.
56036func (s *UpdateMaintenanceWindowTargetInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetInput {
56037	s.Targets = v
56038	return s
56039}
56040
56041// SetWindowId sets the WindowId field's value.
56042func (s *UpdateMaintenanceWindowTargetInput) SetWindowId(v string) *UpdateMaintenanceWindowTargetInput {
56043	s.WindowId = &v
56044	return s
56045}
56046
56047// SetWindowTargetId sets the WindowTargetId field's value.
56048func (s *UpdateMaintenanceWindowTargetInput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetInput {
56049	s.WindowTargetId = &v
56050	return s
56051}
56052
56053type UpdateMaintenanceWindowTargetOutput struct {
56054	_ struct{} `type:"structure"`
56055
56056	// The updated description.
56057	//
56058	// Description is a sensitive parameter and its value will be
56059	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTargetOutput's
56060	// String and GoString methods.
56061	Description *string `min:"1" type:"string" sensitive:"true"`
56062
56063	// The updated name.
56064	Name *string `min:"3" type:"string"`
56065
56066	// The updated owner.
56067	//
56068	// OwnerInformation is a sensitive parameter and its value will be
56069	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTargetOutput's
56070	// String and GoString methods.
56071	OwnerInformation *string `min:"1" type:"string" sensitive:"true"`
56072
56073	// The updated targets.
56074	Targets []*Target `type:"list"`
56075
56076	// The maintenance window ID specified in the update request.
56077	WindowId *string `min:"20" type:"string"`
56078
56079	// The target ID specified in the update request.
56080	WindowTargetId *string `min:"36" type:"string"`
56081}
56082
56083// String returns the string representation.
56084//
56085// API parameter values that are decorated as "sensitive" in the API will not
56086// be included in the string output. The member name will be present, but the
56087// value will be replaced with "sensitive".
56088func (s UpdateMaintenanceWindowTargetOutput) String() string {
56089	return awsutil.Prettify(s)
56090}
56091
56092// GoString returns the string representation.
56093//
56094// API parameter values that are decorated as "sensitive" in the API will not
56095// be included in the string output. The member name will be present, but the
56096// value will be replaced with "sensitive".
56097func (s UpdateMaintenanceWindowTargetOutput) GoString() string {
56098	return s.String()
56099}
56100
56101// SetDescription sets the Description field's value.
56102func (s *UpdateMaintenanceWindowTargetOutput) SetDescription(v string) *UpdateMaintenanceWindowTargetOutput {
56103	s.Description = &v
56104	return s
56105}
56106
56107// SetName sets the Name field's value.
56108func (s *UpdateMaintenanceWindowTargetOutput) SetName(v string) *UpdateMaintenanceWindowTargetOutput {
56109	s.Name = &v
56110	return s
56111}
56112
56113// SetOwnerInformation sets the OwnerInformation field's value.
56114func (s *UpdateMaintenanceWindowTargetOutput) SetOwnerInformation(v string) *UpdateMaintenanceWindowTargetOutput {
56115	s.OwnerInformation = &v
56116	return s
56117}
56118
56119// SetTargets sets the Targets field's value.
56120func (s *UpdateMaintenanceWindowTargetOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTargetOutput {
56121	s.Targets = v
56122	return s
56123}
56124
56125// SetWindowId sets the WindowId field's value.
56126func (s *UpdateMaintenanceWindowTargetOutput) SetWindowId(v string) *UpdateMaintenanceWindowTargetOutput {
56127	s.WindowId = &v
56128	return s
56129}
56130
56131// SetWindowTargetId sets the WindowTargetId field's value.
56132func (s *UpdateMaintenanceWindowTargetOutput) SetWindowTargetId(v string) *UpdateMaintenanceWindowTargetOutput {
56133	s.WindowTargetId = &v
56134	return s
56135}
56136
56137type UpdateMaintenanceWindowTaskInput struct {
56138	_ struct{} `type:"structure"`
56139
56140	// Indicates whether tasks should continue to run after the cutoff time specified
56141	// in the maintenance windows is reached.
56142	//
56143	//    * CONTINUE_TASK: When the cutoff time is reached, any tasks that are running
56144	//    continue. The default value.
56145	//
56146	//    * CANCEL_TASK: For Automation, Lambda, Step Functions tasks: When the
56147	//    cutoff time is reached, any task invocations that are already running
56148	//    continue, but no new task invocations are started. For Run Command tasks:
56149	//    When the cutoff time is reached, the system sends a CancelCommand operation
56150	//    that attempts to cancel the command associated with the task. However,
56151	//    there is no guarantee that the command will be terminated and the underlying
56152	//    process stopped. The status for tasks that are not completed is TIMED_OUT.
56153	CutoffBehavior *string `type:"string" enum:"MaintenanceWindowTaskCutoffBehavior"`
56154
56155	// The new task description to specify.
56156	//
56157	// Description is a sensitive parameter and its value will be
56158	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTaskInput's
56159	// String and GoString methods.
56160	Description *string `min:"1" type:"string" sensitive:"true"`
56161
56162	// The new logging location in Amazon S3 to specify.
56163	//
56164	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
56165	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
56166	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
56167	// information about how Amazon Web Services Systems Manager handles these options
56168	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
56169	LoggingInfo *LoggingInfo `type:"structure"`
56170
56171	// The new MaxConcurrency value you want to specify. MaxConcurrency is the number
56172	// of targets that are allowed to run this task in parallel.
56173	//
56174	// For maintenance window tasks without a target specified, you can't supply
56175	// a value for this option. Instead, the system inserts a placeholder value
56176	// of 1, which may be reported in the response to this command. This value doesn't
56177	// affect the running of your task and can be ignored.
56178	MaxConcurrency *string `min:"1" type:"string"`
56179
56180	// The new MaxErrors value to specify. MaxErrors is the maximum number of errors
56181	// that are allowed before the task stops being scheduled.
56182	//
56183	// For maintenance window tasks without a target specified, you can't supply
56184	// a value for this option. Instead, the system inserts a placeholder value
56185	// of 1, which may be reported in the response to this command. This value doesn't
56186	// affect the running of your task and can be ignored.
56187	MaxErrors *string `min:"1" type:"string"`
56188
56189	// The new task name to specify.
56190	Name *string `min:"3" type:"string"`
56191
56192	// The new task priority to specify. The lower the number, the higher the priority.
56193	// Tasks that have the same priority are scheduled in parallel.
56194	Priority *int64 `type:"integer"`
56195
56196	// If True, then all fields that are required by the RegisterTaskWithMaintenanceWindow
56197	// operation are also required for this API request. Optional fields that aren't
56198	// specified are set to null.
56199	Replace *bool `type:"boolean"`
56200
56201	// The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services
56202	// Systems Manager to assume when running a maintenance window task. If you
56203	// do not specify a service role ARN, Systems Manager uses your account's service-linked
56204	// role. If no service-linked role for Systems Manager exists in your account,
56205	// it is created when you run RegisterTaskWithMaintenanceWindow.
56206	//
56207	// For more information, see the following topics in the in the Amazon Web Services
56208	// Systems Manager User Guide:
56209	//
56210	//    * Using service-linked roles for Systems Manager (https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions)
56211	//
56212	//    * Should I use a service-linked role or a custom service role to run maintenance
56213	//    window tasks? (https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role)
56214	ServiceRoleArn *string `type:"string"`
56215
56216	// The targets (either instances or tags) to modify. Instances are specified
56217	// using the format Key=instanceids,Values=instanceID_1,instanceID_2. Tags are
56218	// specified using the format Key=tag_name,Values=tag_value.
56219	//
56220	// One or more targets must be specified for maintenance window Run Command-type
56221	// tasks. Depending on the task, targets are optional for other maintenance
56222	// window task types (Automation, Lambda, and Step Functions). For more information
56223	// about running tasks that don't specify targets, see Registering maintenance
56224	// window tasks without targets (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html)
56225	// in the Amazon Web Services Systems Manager User Guide.
56226	Targets []*Target `type:"list"`
56227
56228	// The task ARN to modify.
56229	TaskArn *string `min:"1" type:"string"`
56230
56231	// The parameters that the task should use during execution. Populate only the
56232	// fields that match the task type. All other fields should be empty.
56233	//
56234	// When you update a maintenance window task that has options specified in TaskInvocationParameters,
56235	// you must provide again all the TaskInvocationParameters values that you want
56236	// to retain. The values you don't specify again are removed. For example, suppose
56237	// that when you registered a Run Command task, you specified TaskInvocationParameters
56238	// values for Comment, NotificationConfig, and OutputS3BucketName. If you update
56239	// the maintenance window task and specify only a different OutputS3BucketName
56240	// value, the values for Comment and NotificationConfig are removed.
56241	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
56242
56243	// The parameters to modify.
56244	//
56245	// TaskParameters has been deprecated. To specify parameters to pass to a task
56246	// when it runs, instead use the Parameters option in the TaskInvocationParameters
56247	// structure. For information about how Systems Manager handles these options
56248	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
56249	//
56250	// The map has the following format:
56251	//
56252	// Key: string, between 1 and 255 characters
56253	//
56254	// Value: an array of strings, each string is between 1 and 255 characters
56255	//
56256	// TaskParameters is a sensitive parameter and its value will be
56257	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTaskInput's
56258	// String and GoString methods.
56259	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
56260
56261	// The maintenance window ID that contains the task to modify.
56262	//
56263	// WindowId is a required field
56264	WindowId *string `min:"20" type:"string" required:"true"`
56265
56266	// The task ID to modify.
56267	//
56268	// WindowTaskId is a required field
56269	WindowTaskId *string `min:"36" type:"string" required:"true"`
56270}
56271
56272// String returns the string representation.
56273//
56274// API parameter values that are decorated as "sensitive" in the API will not
56275// be included in the string output. The member name will be present, but the
56276// value will be replaced with "sensitive".
56277func (s UpdateMaintenanceWindowTaskInput) String() string {
56278	return awsutil.Prettify(s)
56279}
56280
56281// GoString returns the string representation.
56282//
56283// API parameter values that are decorated as "sensitive" in the API will not
56284// be included in the string output. The member name will be present, but the
56285// value will be replaced with "sensitive".
56286func (s UpdateMaintenanceWindowTaskInput) GoString() string {
56287	return s.String()
56288}
56289
56290// Validate inspects the fields of the type to determine if they are valid.
56291func (s *UpdateMaintenanceWindowTaskInput) Validate() error {
56292	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceWindowTaskInput"}
56293	if s.Description != nil && len(*s.Description) < 1 {
56294		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
56295	}
56296	if s.MaxConcurrency != nil && len(*s.MaxConcurrency) < 1 {
56297		invalidParams.Add(request.NewErrParamMinLen("MaxConcurrency", 1))
56298	}
56299	if s.MaxErrors != nil && len(*s.MaxErrors) < 1 {
56300		invalidParams.Add(request.NewErrParamMinLen("MaxErrors", 1))
56301	}
56302	if s.Name != nil && len(*s.Name) < 3 {
56303		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
56304	}
56305	if s.TaskArn != nil && len(*s.TaskArn) < 1 {
56306		invalidParams.Add(request.NewErrParamMinLen("TaskArn", 1))
56307	}
56308	if s.WindowId == nil {
56309		invalidParams.Add(request.NewErrParamRequired("WindowId"))
56310	}
56311	if s.WindowId != nil && len(*s.WindowId) < 20 {
56312		invalidParams.Add(request.NewErrParamMinLen("WindowId", 20))
56313	}
56314	if s.WindowTaskId == nil {
56315		invalidParams.Add(request.NewErrParamRequired("WindowTaskId"))
56316	}
56317	if s.WindowTaskId != nil && len(*s.WindowTaskId) < 36 {
56318		invalidParams.Add(request.NewErrParamMinLen("WindowTaskId", 36))
56319	}
56320	if s.LoggingInfo != nil {
56321		if err := s.LoggingInfo.Validate(); err != nil {
56322			invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams))
56323		}
56324	}
56325	if s.Targets != nil {
56326		for i, v := range s.Targets {
56327			if v == nil {
56328				continue
56329			}
56330			if err := v.Validate(); err != nil {
56331				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
56332			}
56333		}
56334	}
56335	if s.TaskInvocationParameters != nil {
56336		if err := s.TaskInvocationParameters.Validate(); err != nil {
56337			invalidParams.AddNested("TaskInvocationParameters", err.(request.ErrInvalidParams))
56338		}
56339	}
56340
56341	if invalidParams.Len() > 0 {
56342		return invalidParams
56343	}
56344	return nil
56345}
56346
56347// SetCutoffBehavior sets the CutoffBehavior field's value.
56348func (s *UpdateMaintenanceWindowTaskInput) SetCutoffBehavior(v string) *UpdateMaintenanceWindowTaskInput {
56349	s.CutoffBehavior = &v
56350	return s
56351}
56352
56353// SetDescription sets the Description field's value.
56354func (s *UpdateMaintenanceWindowTaskInput) SetDescription(v string) *UpdateMaintenanceWindowTaskInput {
56355	s.Description = &v
56356	return s
56357}
56358
56359// SetLoggingInfo sets the LoggingInfo field's value.
56360func (s *UpdateMaintenanceWindowTaskInput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskInput {
56361	s.LoggingInfo = v
56362	return s
56363}
56364
56365// SetMaxConcurrency sets the MaxConcurrency field's value.
56366func (s *UpdateMaintenanceWindowTaskInput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskInput {
56367	s.MaxConcurrency = &v
56368	return s
56369}
56370
56371// SetMaxErrors sets the MaxErrors field's value.
56372func (s *UpdateMaintenanceWindowTaskInput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskInput {
56373	s.MaxErrors = &v
56374	return s
56375}
56376
56377// SetName sets the Name field's value.
56378func (s *UpdateMaintenanceWindowTaskInput) SetName(v string) *UpdateMaintenanceWindowTaskInput {
56379	s.Name = &v
56380	return s
56381}
56382
56383// SetPriority sets the Priority field's value.
56384func (s *UpdateMaintenanceWindowTaskInput) SetPriority(v int64) *UpdateMaintenanceWindowTaskInput {
56385	s.Priority = &v
56386	return s
56387}
56388
56389// SetReplace sets the Replace field's value.
56390func (s *UpdateMaintenanceWindowTaskInput) SetReplace(v bool) *UpdateMaintenanceWindowTaskInput {
56391	s.Replace = &v
56392	return s
56393}
56394
56395// SetServiceRoleArn sets the ServiceRoleArn field's value.
56396func (s *UpdateMaintenanceWindowTaskInput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskInput {
56397	s.ServiceRoleArn = &v
56398	return s
56399}
56400
56401// SetTargets sets the Targets field's value.
56402func (s *UpdateMaintenanceWindowTaskInput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskInput {
56403	s.Targets = v
56404	return s
56405}
56406
56407// SetTaskArn sets the TaskArn field's value.
56408func (s *UpdateMaintenanceWindowTaskInput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskInput {
56409	s.TaskArn = &v
56410	return s
56411}
56412
56413// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
56414func (s *UpdateMaintenanceWindowTaskInput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskInput {
56415	s.TaskInvocationParameters = v
56416	return s
56417}
56418
56419// SetTaskParameters sets the TaskParameters field's value.
56420func (s *UpdateMaintenanceWindowTaskInput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskInput {
56421	s.TaskParameters = v
56422	return s
56423}
56424
56425// SetWindowId sets the WindowId field's value.
56426func (s *UpdateMaintenanceWindowTaskInput) SetWindowId(v string) *UpdateMaintenanceWindowTaskInput {
56427	s.WindowId = &v
56428	return s
56429}
56430
56431// SetWindowTaskId sets the WindowTaskId field's value.
56432func (s *UpdateMaintenanceWindowTaskInput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskInput {
56433	s.WindowTaskId = &v
56434	return s
56435}
56436
56437type UpdateMaintenanceWindowTaskOutput struct {
56438	_ struct{} `type:"structure"`
56439
56440	// The specification for whether tasks should continue to run after the cutoff
56441	// time specified in the maintenance windows is reached.
56442	CutoffBehavior *string `type:"string" enum:"MaintenanceWindowTaskCutoffBehavior"`
56443
56444	// The updated task description.
56445	//
56446	// Description is a sensitive parameter and its value will be
56447	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTaskOutput's
56448	// String and GoString methods.
56449	Description *string `min:"1" type:"string" sensitive:"true"`
56450
56451	// The updated logging information in Amazon S3.
56452	//
56453	// LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service
56454	// (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName and
56455	// OutputS3KeyPrefix options in the TaskInvocationParameters structure. For
56456	// information about how Amazon Web Services Systems Manager handles these options
56457	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
56458	LoggingInfo *LoggingInfo `type:"structure"`
56459
56460	// The updated MaxConcurrency value.
56461	MaxConcurrency *string `min:"1" type:"string"`
56462
56463	// The updated MaxErrors value.
56464	MaxErrors *string `min:"1" type:"string"`
56465
56466	// The updated task name.
56467	Name *string `min:"3" type:"string"`
56468
56469	// The updated priority value.
56470	Priority *int64 `type:"integer"`
56471
56472	// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM)
56473	// service role to use to publish Amazon Simple Notification Service (Amazon
56474	// SNS) notifications for maintenance window Run Command tasks.
56475	ServiceRoleArn *string `type:"string"`
56476
56477	// The updated target values.
56478	Targets []*Target `type:"list"`
56479
56480	// The updated task ARN value.
56481	TaskArn *string `min:"1" type:"string"`
56482
56483	// The updated parameter values.
56484	TaskInvocationParameters *MaintenanceWindowTaskInvocationParameters `type:"structure"`
56485
56486	// The updated parameter values.
56487	//
56488	// TaskParameters has been deprecated. To specify parameters to pass to a task
56489	// when it runs, instead use the Parameters option in the TaskInvocationParameters
56490	// structure. For information about how Systems Manager handles these options
56491	// for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.
56492	//
56493	// TaskParameters is a sensitive parameter and its value will be
56494	// replaced with "sensitive" in string returned by UpdateMaintenanceWindowTaskOutput's
56495	// String and GoString methods.
56496	TaskParameters map[string]*MaintenanceWindowTaskParameterValueExpression `type:"map" sensitive:"true"`
56497
56498	// The ID of the maintenance window that was updated.
56499	WindowId *string `min:"20" type:"string"`
56500
56501	// The task ID of the maintenance window that was updated.
56502	WindowTaskId *string `min:"36" type:"string"`
56503}
56504
56505// String returns the string representation.
56506//
56507// API parameter values that are decorated as "sensitive" in the API will not
56508// be included in the string output. The member name will be present, but the
56509// value will be replaced with "sensitive".
56510func (s UpdateMaintenanceWindowTaskOutput) String() string {
56511	return awsutil.Prettify(s)
56512}
56513
56514// GoString returns the string representation.
56515//
56516// API parameter values that are decorated as "sensitive" in the API will not
56517// be included in the string output. The member name will be present, but the
56518// value will be replaced with "sensitive".
56519func (s UpdateMaintenanceWindowTaskOutput) GoString() string {
56520	return s.String()
56521}
56522
56523// SetCutoffBehavior sets the CutoffBehavior field's value.
56524func (s *UpdateMaintenanceWindowTaskOutput) SetCutoffBehavior(v string) *UpdateMaintenanceWindowTaskOutput {
56525	s.CutoffBehavior = &v
56526	return s
56527}
56528
56529// SetDescription sets the Description field's value.
56530func (s *UpdateMaintenanceWindowTaskOutput) SetDescription(v string) *UpdateMaintenanceWindowTaskOutput {
56531	s.Description = &v
56532	return s
56533}
56534
56535// SetLoggingInfo sets the LoggingInfo field's value.
56536func (s *UpdateMaintenanceWindowTaskOutput) SetLoggingInfo(v *LoggingInfo) *UpdateMaintenanceWindowTaskOutput {
56537	s.LoggingInfo = v
56538	return s
56539}
56540
56541// SetMaxConcurrency sets the MaxConcurrency field's value.
56542func (s *UpdateMaintenanceWindowTaskOutput) SetMaxConcurrency(v string) *UpdateMaintenanceWindowTaskOutput {
56543	s.MaxConcurrency = &v
56544	return s
56545}
56546
56547// SetMaxErrors sets the MaxErrors field's value.
56548func (s *UpdateMaintenanceWindowTaskOutput) SetMaxErrors(v string) *UpdateMaintenanceWindowTaskOutput {
56549	s.MaxErrors = &v
56550	return s
56551}
56552
56553// SetName sets the Name field's value.
56554func (s *UpdateMaintenanceWindowTaskOutput) SetName(v string) *UpdateMaintenanceWindowTaskOutput {
56555	s.Name = &v
56556	return s
56557}
56558
56559// SetPriority sets the Priority field's value.
56560func (s *UpdateMaintenanceWindowTaskOutput) SetPriority(v int64) *UpdateMaintenanceWindowTaskOutput {
56561	s.Priority = &v
56562	return s
56563}
56564
56565// SetServiceRoleArn sets the ServiceRoleArn field's value.
56566func (s *UpdateMaintenanceWindowTaskOutput) SetServiceRoleArn(v string) *UpdateMaintenanceWindowTaskOutput {
56567	s.ServiceRoleArn = &v
56568	return s
56569}
56570
56571// SetTargets sets the Targets field's value.
56572func (s *UpdateMaintenanceWindowTaskOutput) SetTargets(v []*Target) *UpdateMaintenanceWindowTaskOutput {
56573	s.Targets = v
56574	return s
56575}
56576
56577// SetTaskArn sets the TaskArn field's value.
56578func (s *UpdateMaintenanceWindowTaskOutput) SetTaskArn(v string) *UpdateMaintenanceWindowTaskOutput {
56579	s.TaskArn = &v
56580	return s
56581}
56582
56583// SetTaskInvocationParameters sets the TaskInvocationParameters field's value.
56584func (s *UpdateMaintenanceWindowTaskOutput) SetTaskInvocationParameters(v *MaintenanceWindowTaskInvocationParameters) *UpdateMaintenanceWindowTaskOutput {
56585	s.TaskInvocationParameters = v
56586	return s
56587}
56588
56589// SetTaskParameters sets the TaskParameters field's value.
56590func (s *UpdateMaintenanceWindowTaskOutput) SetTaskParameters(v map[string]*MaintenanceWindowTaskParameterValueExpression) *UpdateMaintenanceWindowTaskOutput {
56591	s.TaskParameters = v
56592	return s
56593}
56594
56595// SetWindowId sets the WindowId field's value.
56596func (s *UpdateMaintenanceWindowTaskOutput) SetWindowId(v string) *UpdateMaintenanceWindowTaskOutput {
56597	s.WindowId = &v
56598	return s
56599}
56600
56601// SetWindowTaskId sets the WindowTaskId field's value.
56602func (s *UpdateMaintenanceWindowTaskOutput) SetWindowTaskId(v string) *UpdateMaintenanceWindowTaskOutput {
56603	s.WindowTaskId = &v
56604	return s
56605}
56606
56607type UpdateManagedInstanceRoleInput struct {
56608	_ struct{} `type:"structure"`
56609
56610	// The IAM role you want to assign or change.
56611	//
56612	// IamRole is a required field
56613	IamRole *string `type:"string" required:"true"`
56614
56615	// The ID of the managed instance where you want to update the role.
56616	//
56617	// InstanceId is a required field
56618	InstanceId *string `type:"string" required:"true"`
56619}
56620
56621// String returns the string representation.
56622//
56623// API parameter values that are decorated as "sensitive" in the API will not
56624// be included in the string output. The member name will be present, but the
56625// value will be replaced with "sensitive".
56626func (s UpdateManagedInstanceRoleInput) String() string {
56627	return awsutil.Prettify(s)
56628}
56629
56630// GoString returns the string representation.
56631//
56632// API parameter values that are decorated as "sensitive" in the API will not
56633// be included in the string output. The member name will be present, but the
56634// value will be replaced with "sensitive".
56635func (s UpdateManagedInstanceRoleInput) GoString() string {
56636	return s.String()
56637}
56638
56639// Validate inspects the fields of the type to determine if they are valid.
56640func (s *UpdateManagedInstanceRoleInput) Validate() error {
56641	invalidParams := request.ErrInvalidParams{Context: "UpdateManagedInstanceRoleInput"}
56642	if s.IamRole == nil {
56643		invalidParams.Add(request.NewErrParamRequired("IamRole"))
56644	}
56645	if s.InstanceId == nil {
56646		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
56647	}
56648
56649	if invalidParams.Len() > 0 {
56650		return invalidParams
56651	}
56652	return nil
56653}
56654
56655// SetIamRole sets the IamRole field's value.
56656func (s *UpdateManagedInstanceRoleInput) SetIamRole(v string) *UpdateManagedInstanceRoleInput {
56657	s.IamRole = &v
56658	return s
56659}
56660
56661// SetInstanceId sets the InstanceId field's value.
56662func (s *UpdateManagedInstanceRoleInput) SetInstanceId(v string) *UpdateManagedInstanceRoleInput {
56663	s.InstanceId = &v
56664	return s
56665}
56666
56667type UpdateManagedInstanceRoleOutput struct {
56668	_ struct{} `type:"structure"`
56669}
56670
56671// String returns the string representation.
56672//
56673// API parameter values that are decorated as "sensitive" in the API will not
56674// be included in the string output. The member name will be present, but the
56675// value will be replaced with "sensitive".
56676func (s UpdateManagedInstanceRoleOutput) String() string {
56677	return awsutil.Prettify(s)
56678}
56679
56680// GoString returns the string representation.
56681//
56682// API parameter values that are decorated as "sensitive" in the API will not
56683// be included in the string output. The member name will be present, but the
56684// value will be replaced with "sensitive".
56685func (s UpdateManagedInstanceRoleOutput) GoString() string {
56686	return s.String()
56687}
56688
56689type UpdateOpsItemInput struct {
56690	_ struct{} `type:"structure"`
56691
56692	// The time a runbook workflow ended. Currently reported only for the OpsItem
56693	// type /aws/changerequest.
56694	ActualEndTime *time.Time `type:"timestamp"`
56695
56696	// The time a runbook workflow started. Currently reported only for the OpsItem
56697	// type /aws/changerequest.
56698	ActualStartTime *time.Time `type:"timestamp"`
56699
56700	// Specify a new category for an OpsItem.
56701	Category *string `min:"1" type:"string"`
56702
56703	// Update the information about the OpsItem. Provide enough information so that
56704	// users reading this OpsItem for the first time understand the issue.
56705	Description *string `min:"1" type:"string"`
56706
56707	// The Amazon Resource Name (ARN) of an SNS topic where notifications are sent
56708	// when this OpsItem is edited or changed.
56709	Notifications []*OpsItemNotification `type:"list"`
56710
56711	// Add new keys or edit existing key-value pairs of the OperationalData map
56712	// in the OpsItem object.
56713	//
56714	// Operational data is custom data that provides useful reference details about
56715	// the OpsItem. For example, you can specify log files, error strings, license
56716	// keys, troubleshooting tips, or other relevant data. You enter operational
56717	// data as key-value pairs. The key has a maximum length of 128 characters.
56718	// The value has a maximum size of 20 KB.
56719	//
56720	// Operational data keys can't begin with the following: amazon, aws, amzn,
56721	// ssm, /amazon, /aws, /amzn, /ssm.
56722	//
56723	// You can choose to make the data searchable by other users in the account
56724	// or you can restrict search access. Searchable data means that all users with
56725	// access to the OpsItem Overview page (as provided by the DescribeOpsItems
56726	// API operation) can view and search on the specified data. Operational data
56727	// that isn't searchable is only viewable by users who have access to the OpsItem
56728	// (as provided by the GetOpsItem API operation).
56729	//
56730	// Use the /aws/resources key in OperationalData to specify a related resource
56731	// in the request. Use the /aws/automations key in OperationalData to associate
56732	// an Automation runbook with the OpsItem. To view Amazon Web Services CLI example
56733	// commands that use these keys, see Creating OpsItems manually (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems)
56734	// in the Amazon Web Services Systems Manager User Guide.
56735	OperationalData map[string]*OpsItemDataValue `type:"map"`
56736
56737	// Keys that you want to remove from the OperationalData map.
56738	OperationalDataToDelete []*string `type:"list"`
56739
56740	// The ID of the OpsItem.
56741	//
56742	// OpsItemId is a required field
56743	OpsItemId *string `type:"string" required:"true"`
56744
56745	// The time specified in a change request for a runbook workflow to end. Currently
56746	// supported only for the OpsItem type /aws/changerequest.
56747	PlannedEndTime *time.Time `type:"timestamp"`
56748
56749	// The time specified in a change request for a runbook workflow to start. Currently
56750	// supported only for the OpsItem type /aws/changerequest.
56751	PlannedStartTime *time.Time `type:"timestamp"`
56752
56753	// The importance of this OpsItem in relation to other OpsItems in the system.
56754	Priority *int64 `min:"1" type:"integer"`
56755
56756	// One or more OpsItems that share something in common with the current OpsItems.
56757	// For example, related OpsItems can include OpsItems with similar error messages,
56758	// impacted resources, or statuses for the impacted resource.
56759	RelatedOpsItems []*RelatedOpsItem `type:"list"`
56760
56761	// Specify a new severity for an OpsItem.
56762	Severity *string `min:"1" type:"string"`
56763
56764	// The OpsItem status. Status can be Open, In Progress, or Resolved. For more
56765	// information, see Editing OpsItem details (https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems.html#OpsCenter-working-with-OpsItems-editing-details)
56766	// in the Amazon Web Services Systems Manager User Guide.
56767	Status *string `type:"string" enum:"OpsItemStatus"`
56768
56769	// A short heading that describes the nature of the OpsItem and the impacted
56770	// resource.
56771	Title *string `min:"1" type:"string"`
56772}
56773
56774// String returns the string representation.
56775//
56776// API parameter values that are decorated as "sensitive" in the API will not
56777// be included in the string output. The member name will be present, but the
56778// value will be replaced with "sensitive".
56779func (s UpdateOpsItemInput) String() string {
56780	return awsutil.Prettify(s)
56781}
56782
56783// GoString returns the string representation.
56784//
56785// API parameter values that are decorated as "sensitive" in the API will not
56786// be included in the string output. The member name will be present, but the
56787// value will be replaced with "sensitive".
56788func (s UpdateOpsItemInput) GoString() string {
56789	return s.String()
56790}
56791
56792// Validate inspects the fields of the type to determine if they are valid.
56793func (s *UpdateOpsItemInput) Validate() error {
56794	invalidParams := request.ErrInvalidParams{Context: "UpdateOpsItemInput"}
56795	if s.Category != nil && len(*s.Category) < 1 {
56796		invalidParams.Add(request.NewErrParamMinLen("Category", 1))
56797	}
56798	if s.Description != nil && len(*s.Description) < 1 {
56799		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
56800	}
56801	if s.OpsItemId == nil {
56802		invalidParams.Add(request.NewErrParamRequired("OpsItemId"))
56803	}
56804	if s.Priority != nil && *s.Priority < 1 {
56805		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
56806	}
56807	if s.Severity != nil && len(*s.Severity) < 1 {
56808		invalidParams.Add(request.NewErrParamMinLen("Severity", 1))
56809	}
56810	if s.Title != nil && len(*s.Title) < 1 {
56811		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
56812	}
56813	if s.RelatedOpsItems != nil {
56814		for i, v := range s.RelatedOpsItems {
56815			if v == nil {
56816				continue
56817			}
56818			if err := v.Validate(); err != nil {
56819				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedOpsItems", i), err.(request.ErrInvalidParams))
56820			}
56821		}
56822	}
56823
56824	if invalidParams.Len() > 0 {
56825		return invalidParams
56826	}
56827	return nil
56828}
56829
56830// SetActualEndTime sets the ActualEndTime field's value.
56831func (s *UpdateOpsItemInput) SetActualEndTime(v time.Time) *UpdateOpsItemInput {
56832	s.ActualEndTime = &v
56833	return s
56834}
56835
56836// SetActualStartTime sets the ActualStartTime field's value.
56837func (s *UpdateOpsItemInput) SetActualStartTime(v time.Time) *UpdateOpsItemInput {
56838	s.ActualStartTime = &v
56839	return s
56840}
56841
56842// SetCategory sets the Category field's value.
56843func (s *UpdateOpsItemInput) SetCategory(v string) *UpdateOpsItemInput {
56844	s.Category = &v
56845	return s
56846}
56847
56848// SetDescription sets the Description field's value.
56849func (s *UpdateOpsItemInput) SetDescription(v string) *UpdateOpsItemInput {
56850	s.Description = &v
56851	return s
56852}
56853
56854// SetNotifications sets the Notifications field's value.
56855func (s *UpdateOpsItemInput) SetNotifications(v []*OpsItemNotification) *UpdateOpsItemInput {
56856	s.Notifications = v
56857	return s
56858}
56859
56860// SetOperationalData sets the OperationalData field's value.
56861func (s *UpdateOpsItemInput) SetOperationalData(v map[string]*OpsItemDataValue) *UpdateOpsItemInput {
56862	s.OperationalData = v
56863	return s
56864}
56865
56866// SetOperationalDataToDelete sets the OperationalDataToDelete field's value.
56867func (s *UpdateOpsItemInput) SetOperationalDataToDelete(v []*string) *UpdateOpsItemInput {
56868	s.OperationalDataToDelete = v
56869	return s
56870}
56871
56872// SetOpsItemId sets the OpsItemId field's value.
56873func (s *UpdateOpsItemInput) SetOpsItemId(v string) *UpdateOpsItemInput {
56874	s.OpsItemId = &v
56875	return s
56876}
56877
56878// SetPlannedEndTime sets the PlannedEndTime field's value.
56879func (s *UpdateOpsItemInput) SetPlannedEndTime(v time.Time) *UpdateOpsItemInput {
56880	s.PlannedEndTime = &v
56881	return s
56882}
56883
56884// SetPlannedStartTime sets the PlannedStartTime field's value.
56885func (s *UpdateOpsItemInput) SetPlannedStartTime(v time.Time) *UpdateOpsItemInput {
56886	s.PlannedStartTime = &v
56887	return s
56888}
56889
56890// SetPriority sets the Priority field's value.
56891func (s *UpdateOpsItemInput) SetPriority(v int64) *UpdateOpsItemInput {
56892	s.Priority = &v
56893	return s
56894}
56895
56896// SetRelatedOpsItems sets the RelatedOpsItems field's value.
56897func (s *UpdateOpsItemInput) SetRelatedOpsItems(v []*RelatedOpsItem) *UpdateOpsItemInput {
56898	s.RelatedOpsItems = v
56899	return s
56900}
56901
56902// SetSeverity sets the Severity field's value.
56903func (s *UpdateOpsItemInput) SetSeverity(v string) *UpdateOpsItemInput {
56904	s.Severity = &v
56905	return s
56906}
56907
56908// SetStatus sets the Status field's value.
56909func (s *UpdateOpsItemInput) SetStatus(v string) *UpdateOpsItemInput {
56910	s.Status = &v
56911	return s
56912}
56913
56914// SetTitle sets the Title field's value.
56915func (s *UpdateOpsItemInput) SetTitle(v string) *UpdateOpsItemInput {
56916	s.Title = &v
56917	return s
56918}
56919
56920type UpdateOpsItemOutput struct {
56921	_ struct{} `type:"structure"`
56922}
56923
56924// String returns the string representation.
56925//
56926// API parameter values that are decorated as "sensitive" in the API will not
56927// be included in the string output. The member name will be present, but the
56928// value will be replaced with "sensitive".
56929func (s UpdateOpsItemOutput) String() string {
56930	return awsutil.Prettify(s)
56931}
56932
56933// GoString returns the string representation.
56934//
56935// API parameter values that are decorated as "sensitive" in the API will not
56936// be included in the string output. The member name will be present, but the
56937// value will be replaced with "sensitive".
56938func (s UpdateOpsItemOutput) GoString() string {
56939	return s.String()
56940}
56941
56942type UpdateOpsMetadataInput struct {
56943	_ struct{} `type:"structure"`
56944
56945	// The metadata keys to delete from the OpsMetadata object.
56946	KeysToDelete []*string `min:"1" type:"list"`
56947
56948	// Metadata to add to an OpsMetadata object.
56949	MetadataToUpdate map[string]*MetadataValue `min:"1" type:"map"`
56950
56951	// The Amazon Resoure Name (ARN) of the OpsMetadata Object to update.
56952	//
56953	// OpsMetadataArn is a required field
56954	OpsMetadataArn *string `min:"1" type:"string" required:"true"`
56955}
56956
56957// String returns the string representation.
56958//
56959// API parameter values that are decorated as "sensitive" in the API will not
56960// be included in the string output. The member name will be present, but the
56961// value will be replaced with "sensitive".
56962func (s UpdateOpsMetadataInput) String() string {
56963	return awsutil.Prettify(s)
56964}
56965
56966// GoString returns the string representation.
56967//
56968// API parameter values that are decorated as "sensitive" in the API will not
56969// be included in the string output. The member name will be present, but the
56970// value will be replaced with "sensitive".
56971func (s UpdateOpsMetadataInput) GoString() string {
56972	return s.String()
56973}
56974
56975// Validate inspects the fields of the type to determine if they are valid.
56976func (s *UpdateOpsMetadataInput) Validate() error {
56977	invalidParams := request.ErrInvalidParams{Context: "UpdateOpsMetadataInput"}
56978	if s.KeysToDelete != nil && len(s.KeysToDelete) < 1 {
56979		invalidParams.Add(request.NewErrParamMinLen("KeysToDelete", 1))
56980	}
56981	if s.MetadataToUpdate != nil && len(s.MetadataToUpdate) < 1 {
56982		invalidParams.Add(request.NewErrParamMinLen("MetadataToUpdate", 1))
56983	}
56984	if s.OpsMetadataArn == nil {
56985		invalidParams.Add(request.NewErrParamRequired("OpsMetadataArn"))
56986	}
56987	if s.OpsMetadataArn != nil && len(*s.OpsMetadataArn) < 1 {
56988		invalidParams.Add(request.NewErrParamMinLen("OpsMetadataArn", 1))
56989	}
56990	if s.MetadataToUpdate != nil {
56991		for i, v := range s.MetadataToUpdate {
56992			if v == nil {
56993				continue
56994			}
56995			if err := v.Validate(); err != nil {
56996				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetadataToUpdate", i), err.(request.ErrInvalidParams))
56997			}
56998		}
56999	}
57000
57001	if invalidParams.Len() > 0 {
57002		return invalidParams
57003	}
57004	return nil
57005}
57006
57007// SetKeysToDelete sets the KeysToDelete field's value.
57008func (s *UpdateOpsMetadataInput) SetKeysToDelete(v []*string) *UpdateOpsMetadataInput {
57009	s.KeysToDelete = v
57010	return s
57011}
57012
57013// SetMetadataToUpdate sets the MetadataToUpdate field's value.
57014func (s *UpdateOpsMetadataInput) SetMetadataToUpdate(v map[string]*MetadataValue) *UpdateOpsMetadataInput {
57015	s.MetadataToUpdate = v
57016	return s
57017}
57018
57019// SetOpsMetadataArn sets the OpsMetadataArn field's value.
57020func (s *UpdateOpsMetadataInput) SetOpsMetadataArn(v string) *UpdateOpsMetadataInput {
57021	s.OpsMetadataArn = &v
57022	return s
57023}
57024
57025type UpdateOpsMetadataOutput struct {
57026	_ struct{} `type:"structure"`
57027
57028	// The Amazon Resource Name (ARN) of the OpsMetadata Object that was updated.
57029	OpsMetadataArn *string `min:"1" type:"string"`
57030}
57031
57032// String returns the string representation.
57033//
57034// API parameter values that are decorated as "sensitive" in the API will not
57035// be included in the string output. The member name will be present, but the
57036// value will be replaced with "sensitive".
57037func (s UpdateOpsMetadataOutput) String() string {
57038	return awsutil.Prettify(s)
57039}
57040
57041// GoString returns the string representation.
57042//
57043// API parameter values that are decorated as "sensitive" in the API will not
57044// be included in the string output. The member name will be present, but the
57045// value will be replaced with "sensitive".
57046func (s UpdateOpsMetadataOutput) GoString() string {
57047	return s.String()
57048}
57049
57050// SetOpsMetadataArn sets the OpsMetadataArn field's value.
57051func (s *UpdateOpsMetadataOutput) SetOpsMetadataArn(v string) *UpdateOpsMetadataOutput {
57052	s.OpsMetadataArn = &v
57053	return s
57054}
57055
57056type UpdatePatchBaselineInput struct {
57057	_ struct{} `type:"structure"`
57058
57059	// A set of rules used to include patches in the baseline.
57060	ApprovalRules *PatchRuleGroup `type:"structure"`
57061
57062	// A list of explicitly approved patches for the baseline.
57063	//
57064	// For information about accepted formats for lists of approved patches and
57065	// rejected patches, see About package name formats for approved and rejected
57066	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
57067	// in the Amazon Web Services Systems Manager User Guide.
57068	ApprovedPatches []*string `type:"list"`
57069
57070	// Assigns a new compliance severity level to an existing patch baseline.
57071	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
57072
57073	// Indicates whether the list of approved patches includes non-security updates
57074	// that should be applied to the instances. The default value is false. Applies
57075	// to Linux instances only.
57076	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
57077
57078	// The ID of the patch baseline to update.
57079	//
57080	// BaselineId is a required field
57081	BaselineId *string `min:"20" type:"string" required:"true"`
57082
57083	// A description of the patch baseline.
57084	Description *string `min:"1" type:"string"`
57085
57086	// A set of global filters used to include patches in the baseline.
57087	GlobalFilters *PatchFilterGroup `type:"structure"`
57088
57089	// The name of the patch baseline.
57090	Name *string `min:"3" type:"string"`
57091
57092	// A list of explicitly rejected patches for the baseline.
57093	//
57094	// For information about accepted formats for lists of approved patches and
57095	// rejected patches, see About package name formats for approved and rejected
57096	// patch lists (https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html)
57097	// in the Amazon Web Services Systems Manager User Guide.
57098	RejectedPatches []*string `type:"list"`
57099
57100	// The action for Patch Manager to take on patches included in the RejectedPackages
57101	// list.
57102	//
57103	//    * ALLOW_AS_DEPENDENCY : A package in the Rejected patches list is installed
57104	//    only if it is a dependency of another package. It is considered compliant
57105	//    with the patch baseline, and its status is reported as InstalledOther.
57106	//    This is the default action if no option is specified.
57107	//
57108	//    * BLOCK : Packages in the RejectedPatches list, and packages that include
57109	//    them as dependencies, aren't installed under any circumstances. If a package
57110	//    was installed before it was added to the Rejected patches list, it is
57111	//    considered non-compliant with the patch baseline, and its status is reported
57112	//    as InstalledRejected.
57113	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
57114
57115	// If True, then all fields that are required by the CreatePatchBaseline operation
57116	// are also required for this API request. Optional fields that aren't specified
57117	// are set to null.
57118	Replace *bool `type:"boolean"`
57119
57120	// Information about the patches to use to update the instances, including target
57121	// operating systems and source repositories. Applies to Linux instances only.
57122	Sources []*PatchSource `type:"list"`
57123}
57124
57125// String returns the string representation.
57126//
57127// API parameter values that are decorated as "sensitive" in the API will not
57128// be included in the string output. The member name will be present, but the
57129// value will be replaced with "sensitive".
57130func (s UpdatePatchBaselineInput) String() string {
57131	return awsutil.Prettify(s)
57132}
57133
57134// GoString returns the string representation.
57135//
57136// API parameter values that are decorated as "sensitive" in the API will not
57137// be included in the string output. The member name will be present, but the
57138// value will be replaced with "sensitive".
57139func (s UpdatePatchBaselineInput) GoString() string {
57140	return s.String()
57141}
57142
57143// Validate inspects the fields of the type to determine if they are valid.
57144func (s *UpdatePatchBaselineInput) Validate() error {
57145	invalidParams := request.ErrInvalidParams{Context: "UpdatePatchBaselineInput"}
57146	if s.BaselineId == nil {
57147		invalidParams.Add(request.NewErrParamRequired("BaselineId"))
57148	}
57149	if s.BaselineId != nil && len(*s.BaselineId) < 20 {
57150		invalidParams.Add(request.NewErrParamMinLen("BaselineId", 20))
57151	}
57152	if s.Description != nil && len(*s.Description) < 1 {
57153		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
57154	}
57155	if s.Name != nil && len(*s.Name) < 3 {
57156		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
57157	}
57158	if s.ApprovalRules != nil {
57159		if err := s.ApprovalRules.Validate(); err != nil {
57160			invalidParams.AddNested("ApprovalRules", err.(request.ErrInvalidParams))
57161		}
57162	}
57163	if s.GlobalFilters != nil {
57164		if err := s.GlobalFilters.Validate(); err != nil {
57165			invalidParams.AddNested("GlobalFilters", err.(request.ErrInvalidParams))
57166		}
57167	}
57168	if s.Sources != nil {
57169		for i, v := range s.Sources {
57170			if v == nil {
57171				continue
57172			}
57173			if err := v.Validate(); err != nil {
57174				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
57175			}
57176		}
57177	}
57178
57179	if invalidParams.Len() > 0 {
57180		return invalidParams
57181	}
57182	return nil
57183}
57184
57185// SetApprovalRules sets the ApprovalRules field's value.
57186func (s *UpdatePatchBaselineInput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineInput {
57187	s.ApprovalRules = v
57188	return s
57189}
57190
57191// SetApprovedPatches sets the ApprovedPatches field's value.
57192func (s *UpdatePatchBaselineInput) SetApprovedPatches(v []*string) *UpdatePatchBaselineInput {
57193	s.ApprovedPatches = v
57194	return s
57195}
57196
57197// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
57198func (s *UpdatePatchBaselineInput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineInput {
57199	s.ApprovedPatchesComplianceLevel = &v
57200	return s
57201}
57202
57203// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
57204func (s *UpdatePatchBaselineInput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineInput {
57205	s.ApprovedPatchesEnableNonSecurity = &v
57206	return s
57207}
57208
57209// SetBaselineId sets the BaselineId field's value.
57210func (s *UpdatePatchBaselineInput) SetBaselineId(v string) *UpdatePatchBaselineInput {
57211	s.BaselineId = &v
57212	return s
57213}
57214
57215// SetDescription sets the Description field's value.
57216func (s *UpdatePatchBaselineInput) SetDescription(v string) *UpdatePatchBaselineInput {
57217	s.Description = &v
57218	return s
57219}
57220
57221// SetGlobalFilters sets the GlobalFilters field's value.
57222func (s *UpdatePatchBaselineInput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineInput {
57223	s.GlobalFilters = v
57224	return s
57225}
57226
57227// SetName sets the Name field's value.
57228func (s *UpdatePatchBaselineInput) SetName(v string) *UpdatePatchBaselineInput {
57229	s.Name = &v
57230	return s
57231}
57232
57233// SetRejectedPatches sets the RejectedPatches field's value.
57234func (s *UpdatePatchBaselineInput) SetRejectedPatches(v []*string) *UpdatePatchBaselineInput {
57235	s.RejectedPatches = v
57236	return s
57237}
57238
57239// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
57240func (s *UpdatePatchBaselineInput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineInput {
57241	s.RejectedPatchesAction = &v
57242	return s
57243}
57244
57245// SetReplace sets the Replace field's value.
57246func (s *UpdatePatchBaselineInput) SetReplace(v bool) *UpdatePatchBaselineInput {
57247	s.Replace = &v
57248	return s
57249}
57250
57251// SetSources sets the Sources field's value.
57252func (s *UpdatePatchBaselineInput) SetSources(v []*PatchSource) *UpdatePatchBaselineInput {
57253	s.Sources = v
57254	return s
57255}
57256
57257type UpdatePatchBaselineOutput struct {
57258	_ struct{} `type:"structure"`
57259
57260	// A set of rules used to include patches in the baseline.
57261	ApprovalRules *PatchRuleGroup `type:"structure"`
57262
57263	// A list of explicitly approved patches for the baseline.
57264	ApprovedPatches []*string `type:"list"`
57265
57266	// The compliance severity level assigned to the patch baseline after the update
57267	// completed.
57268	ApprovedPatchesComplianceLevel *string `type:"string" enum:"PatchComplianceLevel"`
57269
57270	// Indicates whether the list of approved patches includes non-security updates
57271	// that should be applied to the instances. The default value is false. Applies
57272	// to Linux instances only.
57273	ApprovedPatchesEnableNonSecurity *bool `type:"boolean"`
57274
57275	// The ID of the deleted patch baseline.
57276	BaselineId *string `min:"20" type:"string"`
57277
57278	// The date when the patch baseline was created.
57279	CreatedDate *time.Time `type:"timestamp"`
57280
57281	// A description of the patch baseline.
57282	Description *string `min:"1" type:"string"`
57283
57284	// A set of global filters used to exclude patches from the baseline.
57285	GlobalFilters *PatchFilterGroup `type:"structure"`
57286
57287	// The date when the patch baseline was last modified.
57288	ModifiedDate *time.Time `type:"timestamp"`
57289
57290	// The name of the patch baseline.
57291	Name *string `min:"3" type:"string"`
57292
57293	// The operating system rule used by the updated patch baseline.
57294	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
57295
57296	// A list of explicitly rejected patches for the baseline.
57297	RejectedPatches []*string `type:"list"`
57298
57299	// The action specified to take on patches included in the RejectedPatches list.
57300	// A patch can be allowed only if it is a dependency of another package, or
57301	// blocked entirely along with packages that include it as a dependency.
57302	RejectedPatchesAction *string `type:"string" enum:"PatchAction"`
57303
57304	// Information about the patches to use to update the instances, including target
57305	// operating systems and source repositories. Applies to Linux instances only.
57306	Sources []*PatchSource `type:"list"`
57307}
57308
57309// String returns the string representation.
57310//
57311// API parameter values that are decorated as "sensitive" in the API will not
57312// be included in the string output. The member name will be present, but the
57313// value will be replaced with "sensitive".
57314func (s UpdatePatchBaselineOutput) String() string {
57315	return awsutil.Prettify(s)
57316}
57317
57318// GoString returns the string representation.
57319//
57320// API parameter values that are decorated as "sensitive" in the API will not
57321// be included in the string output. The member name will be present, but the
57322// value will be replaced with "sensitive".
57323func (s UpdatePatchBaselineOutput) GoString() string {
57324	return s.String()
57325}
57326
57327// SetApprovalRules sets the ApprovalRules field's value.
57328func (s *UpdatePatchBaselineOutput) SetApprovalRules(v *PatchRuleGroup) *UpdatePatchBaselineOutput {
57329	s.ApprovalRules = v
57330	return s
57331}
57332
57333// SetApprovedPatches sets the ApprovedPatches field's value.
57334func (s *UpdatePatchBaselineOutput) SetApprovedPatches(v []*string) *UpdatePatchBaselineOutput {
57335	s.ApprovedPatches = v
57336	return s
57337}
57338
57339// SetApprovedPatchesComplianceLevel sets the ApprovedPatchesComplianceLevel field's value.
57340func (s *UpdatePatchBaselineOutput) SetApprovedPatchesComplianceLevel(v string) *UpdatePatchBaselineOutput {
57341	s.ApprovedPatchesComplianceLevel = &v
57342	return s
57343}
57344
57345// SetApprovedPatchesEnableNonSecurity sets the ApprovedPatchesEnableNonSecurity field's value.
57346func (s *UpdatePatchBaselineOutput) SetApprovedPatchesEnableNonSecurity(v bool) *UpdatePatchBaselineOutput {
57347	s.ApprovedPatchesEnableNonSecurity = &v
57348	return s
57349}
57350
57351// SetBaselineId sets the BaselineId field's value.
57352func (s *UpdatePatchBaselineOutput) SetBaselineId(v string) *UpdatePatchBaselineOutput {
57353	s.BaselineId = &v
57354	return s
57355}
57356
57357// SetCreatedDate sets the CreatedDate field's value.
57358func (s *UpdatePatchBaselineOutput) SetCreatedDate(v time.Time) *UpdatePatchBaselineOutput {
57359	s.CreatedDate = &v
57360	return s
57361}
57362
57363// SetDescription sets the Description field's value.
57364func (s *UpdatePatchBaselineOutput) SetDescription(v string) *UpdatePatchBaselineOutput {
57365	s.Description = &v
57366	return s
57367}
57368
57369// SetGlobalFilters sets the GlobalFilters field's value.
57370func (s *UpdatePatchBaselineOutput) SetGlobalFilters(v *PatchFilterGroup) *UpdatePatchBaselineOutput {
57371	s.GlobalFilters = v
57372	return s
57373}
57374
57375// SetModifiedDate sets the ModifiedDate field's value.
57376func (s *UpdatePatchBaselineOutput) SetModifiedDate(v time.Time) *UpdatePatchBaselineOutput {
57377	s.ModifiedDate = &v
57378	return s
57379}
57380
57381// SetName sets the Name field's value.
57382func (s *UpdatePatchBaselineOutput) SetName(v string) *UpdatePatchBaselineOutput {
57383	s.Name = &v
57384	return s
57385}
57386
57387// SetOperatingSystem sets the OperatingSystem field's value.
57388func (s *UpdatePatchBaselineOutput) SetOperatingSystem(v string) *UpdatePatchBaselineOutput {
57389	s.OperatingSystem = &v
57390	return s
57391}
57392
57393// SetRejectedPatches sets the RejectedPatches field's value.
57394func (s *UpdatePatchBaselineOutput) SetRejectedPatches(v []*string) *UpdatePatchBaselineOutput {
57395	s.RejectedPatches = v
57396	return s
57397}
57398
57399// SetRejectedPatchesAction sets the RejectedPatchesAction field's value.
57400func (s *UpdatePatchBaselineOutput) SetRejectedPatchesAction(v string) *UpdatePatchBaselineOutput {
57401	s.RejectedPatchesAction = &v
57402	return s
57403}
57404
57405// SetSources sets the Sources field's value.
57406func (s *UpdatePatchBaselineOutput) SetSources(v []*PatchSource) *UpdatePatchBaselineOutput {
57407	s.Sources = v
57408	return s
57409}
57410
57411type UpdateResourceDataSyncInput struct {
57412	_ struct{} `type:"structure"`
57413
57414	// The name of the resource data sync you want to update.
57415	//
57416	// SyncName is a required field
57417	SyncName *string `min:"1" type:"string" required:"true"`
57418
57419	// Specify information about the data sources to synchronize.
57420	//
57421	// SyncSource is a required field
57422	SyncSource *ResourceDataSyncSource `type:"structure" required:"true"`
57423
57424	// The type of resource data sync. The supported SyncType is SyncFromSource.
57425	//
57426	// SyncType is a required field
57427	SyncType *string `min:"1" type:"string" required:"true"`
57428}
57429
57430// String returns the string representation.
57431//
57432// API parameter values that are decorated as "sensitive" in the API will not
57433// be included in the string output. The member name will be present, but the
57434// value will be replaced with "sensitive".
57435func (s UpdateResourceDataSyncInput) String() string {
57436	return awsutil.Prettify(s)
57437}
57438
57439// GoString returns the string representation.
57440//
57441// API parameter values that are decorated as "sensitive" in the API will not
57442// be included in the string output. The member name will be present, but the
57443// value will be replaced with "sensitive".
57444func (s UpdateResourceDataSyncInput) GoString() string {
57445	return s.String()
57446}
57447
57448// Validate inspects the fields of the type to determine if they are valid.
57449func (s *UpdateResourceDataSyncInput) Validate() error {
57450	invalidParams := request.ErrInvalidParams{Context: "UpdateResourceDataSyncInput"}
57451	if s.SyncName == nil {
57452		invalidParams.Add(request.NewErrParamRequired("SyncName"))
57453	}
57454	if s.SyncName != nil && len(*s.SyncName) < 1 {
57455		invalidParams.Add(request.NewErrParamMinLen("SyncName", 1))
57456	}
57457	if s.SyncSource == nil {
57458		invalidParams.Add(request.NewErrParamRequired("SyncSource"))
57459	}
57460	if s.SyncType == nil {
57461		invalidParams.Add(request.NewErrParamRequired("SyncType"))
57462	}
57463	if s.SyncType != nil && len(*s.SyncType) < 1 {
57464		invalidParams.Add(request.NewErrParamMinLen("SyncType", 1))
57465	}
57466	if s.SyncSource != nil {
57467		if err := s.SyncSource.Validate(); err != nil {
57468			invalidParams.AddNested("SyncSource", err.(request.ErrInvalidParams))
57469		}
57470	}
57471
57472	if invalidParams.Len() > 0 {
57473		return invalidParams
57474	}
57475	return nil
57476}
57477
57478// SetSyncName sets the SyncName field's value.
57479func (s *UpdateResourceDataSyncInput) SetSyncName(v string) *UpdateResourceDataSyncInput {
57480	s.SyncName = &v
57481	return s
57482}
57483
57484// SetSyncSource sets the SyncSource field's value.
57485func (s *UpdateResourceDataSyncInput) SetSyncSource(v *ResourceDataSyncSource) *UpdateResourceDataSyncInput {
57486	s.SyncSource = v
57487	return s
57488}
57489
57490// SetSyncType sets the SyncType field's value.
57491func (s *UpdateResourceDataSyncInput) SetSyncType(v string) *UpdateResourceDataSyncInput {
57492	s.SyncType = &v
57493	return s
57494}
57495
57496type UpdateResourceDataSyncOutput struct {
57497	_ struct{} `type:"structure"`
57498}
57499
57500// String returns the string representation.
57501//
57502// API parameter values that are decorated as "sensitive" in the API will not
57503// be included in the string output. The member name will be present, but the
57504// value will be replaced with "sensitive".
57505func (s UpdateResourceDataSyncOutput) String() string {
57506	return awsutil.Prettify(s)
57507}
57508
57509// GoString returns the string representation.
57510//
57511// API parameter values that are decorated as "sensitive" in the API will not
57512// be included in the string output. The member name will be present, but the
57513// value will be replaced with "sensitive".
57514func (s UpdateResourceDataSyncOutput) GoString() string {
57515	return s.String()
57516}
57517
57518// The request body of the UpdateServiceSetting API operation.
57519type UpdateServiceSettingInput struct {
57520	_ struct{} `type:"structure"`
57521
57522	// The Amazon Resource Name (ARN) of the service setting to reset. For example,
57523	// arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled.
57524	// The setting ID can be one of the following.
57525	//
57526	//    * /ssm/automation/customer-script-log-destination
57527	//
57528	//    * /ssm/automation/customer-script-log-group-name
57529	//
57530	//    * /ssm/documents/console/public-sharing-permission
57531	//
57532	//    * /ssm/parameter-store/default-parameter-tier
57533	//
57534	//    * /ssm/parameter-store/high-throughput-enabled
57535	//
57536	//    * /ssm/managed-instance/activation-tier
57537	//
57538	// SettingId is a required field
57539	SettingId *string `min:"1" type:"string" required:"true"`
57540
57541	// The new value to specify for the service setting. The following list specifies
57542	// the available values for each setting.
57543	//
57544	//    * /ssm/parameter-store/default-parameter-tier: Standard, Advanced, Intelligent-Tiering
57545	//
57546	//    * /ssm/parameter-store/high-throughput-enabled: true or false
57547	//
57548	//    * /ssm/managed-instance/activation-tier: true or false
57549	//
57550	//    * /ssm/automation/customer-script-log-destination: CloudWatch
57551	//
57552	//    * /ssm/automation/customer-script-log-group-name: the name of an Amazon
57553	//    CloudWatch Logs log group
57554	//
57555	//    * /ssm/documents/console/public-sharing-permission: Enable or Disable
57556	//
57557	//    * /ssm/managed-instance/activation-tier: standard or advanced
57558	//
57559	// SettingValue is a required field
57560	SettingValue *string `min:"1" type:"string" required:"true"`
57561}
57562
57563// String returns the string representation.
57564//
57565// API parameter values that are decorated as "sensitive" in the API will not
57566// be included in the string output. The member name will be present, but the
57567// value will be replaced with "sensitive".
57568func (s UpdateServiceSettingInput) String() string {
57569	return awsutil.Prettify(s)
57570}
57571
57572// GoString returns the string representation.
57573//
57574// API parameter values that are decorated as "sensitive" in the API will not
57575// be included in the string output. The member name will be present, but the
57576// value will be replaced with "sensitive".
57577func (s UpdateServiceSettingInput) GoString() string {
57578	return s.String()
57579}
57580
57581// Validate inspects the fields of the type to determine if they are valid.
57582func (s *UpdateServiceSettingInput) Validate() error {
57583	invalidParams := request.ErrInvalidParams{Context: "UpdateServiceSettingInput"}
57584	if s.SettingId == nil {
57585		invalidParams.Add(request.NewErrParamRequired("SettingId"))
57586	}
57587	if s.SettingId != nil && len(*s.SettingId) < 1 {
57588		invalidParams.Add(request.NewErrParamMinLen("SettingId", 1))
57589	}
57590	if s.SettingValue == nil {
57591		invalidParams.Add(request.NewErrParamRequired("SettingValue"))
57592	}
57593	if s.SettingValue != nil && len(*s.SettingValue) < 1 {
57594		invalidParams.Add(request.NewErrParamMinLen("SettingValue", 1))
57595	}
57596
57597	if invalidParams.Len() > 0 {
57598		return invalidParams
57599	}
57600	return nil
57601}
57602
57603// SetSettingId sets the SettingId field's value.
57604func (s *UpdateServiceSettingInput) SetSettingId(v string) *UpdateServiceSettingInput {
57605	s.SettingId = &v
57606	return s
57607}
57608
57609// SetSettingValue sets the SettingValue field's value.
57610func (s *UpdateServiceSettingInput) SetSettingValue(v string) *UpdateServiceSettingInput {
57611	s.SettingValue = &v
57612	return s
57613}
57614
57615// The result body of the UpdateServiceSetting API operation.
57616type UpdateServiceSettingOutput struct {
57617	_ struct{} `type:"structure"`
57618}
57619
57620// String returns the string representation.
57621//
57622// API parameter values that are decorated as "sensitive" in the API will not
57623// be included in the string output. The member name will be present, but the
57624// value will be replaced with "sensitive".
57625func (s UpdateServiceSettingOutput) String() string {
57626	return awsutil.Prettify(s)
57627}
57628
57629// GoString returns the string representation.
57630//
57631// API parameter values that are decorated as "sensitive" in the API will not
57632// be included in the string output. The member name will be present, but the
57633// value will be replaced with "sensitive".
57634func (s UpdateServiceSettingOutput) GoString() string {
57635	return s.String()
57636}
57637
57638const (
57639	// AssociationComplianceSeverityCritical is a AssociationComplianceSeverity enum value
57640	AssociationComplianceSeverityCritical = "CRITICAL"
57641
57642	// AssociationComplianceSeverityHigh is a AssociationComplianceSeverity enum value
57643	AssociationComplianceSeverityHigh = "HIGH"
57644
57645	// AssociationComplianceSeverityMedium is a AssociationComplianceSeverity enum value
57646	AssociationComplianceSeverityMedium = "MEDIUM"
57647
57648	// AssociationComplianceSeverityLow is a AssociationComplianceSeverity enum value
57649	AssociationComplianceSeverityLow = "LOW"
57650
57651	// AssociationComplianceSeverityUnspecified is a AssociationComplianceSeverity enum value
57652	AssociationComplianceSeverityUnspecified = "UNSPECIFIED"
57653)
57654
57655// AssociationComplianceSeverity_Values returns all elements of the AssociationComplianceSeverity enum
57656func AssociationComplianceSeverity_Values() []string {
57657	return []string{
57658		AssociationComplianceSeverityCritical,
57659		AssociationComplianceSeverityHigh,
57660		AssociationComplianceSeverityMedium,
57661		AssociationComplianceSeverityLow,
57662		AssociationComplianceSeverityUnspecified,
57663	}
57664}
57665
57666const (
57667	// AssociationExecutionFilterKeyExecutionId is a AssociationExecutionFilterKey enum value
57668	AssociationExecutionFilterKeyExecutionId = "ExecutionId"
57669
57670	// AssociationExecutionFilterKeyStatus is a AssociationExecutionFilterKey enum value
57671	AssociationExecutionFilterKeyStatus = "Status"
57672
57673	// AssociationExecutionFilterKeyCreatedTime is a AssociationExecutionFilterKey enum value
57674	AssociationExecutionFilterKeyCreatedTime = "CreatedTime"
57675)
57676
57677// AssociationExecutionFilterKey_Values returns all elements of the AssociationExecutionFilterKey enum
57678func AssociationExecutionFilterKey_Values() []string {
57679	return []string{
57680		AssociationExecutionFilterKeyExecutionId,
57681		AssociationExecutionFilterKeyStatus,
57682		AssociationExecutionFilterKeyCreatedTime,
57683	}
57684}
57685
57686const (
57687	// AssociationExecutionTargetsFilterKeyStatus is a AssociationExecutionTargetsFilterKey enum value
57688	AssociationExecutionTargetsFilterKeyStatus = "Status"
57689
57690	// AssociationExecutionTargetsFilterKeyResourceId is a AssociationExecutionTargetsFilterKey enum value
57691	AssociationExecutionTargetsFilterKeyResourceId = "ResourceId"
57692
57693	// AssociationExecutionTargetsFilterKeyResourceType is a AssociationExecutionTargetsFilterKey enum value
57694	AssociationExecutionTargetsFilterKeyResourceType = "ResourceType"
57695)
57696
57697// AssociationExecutionTargetsFilterKey_Values returns all elements of the AssociationExecutionTargetsFilterKey enum
57698func AssociationExecutionTargetsFilterKey_Values() []string {
57699	return []string{
57700		AssociationExecutionTargetsFilterKeyStatus,
57701		AssociationExecutionTargetsFilterKeyResourceId,
57702		AssociationExecutionTargetsFilterKeyResourceType,
57703	}
57704}
57705
57706const (
57707	// AssociationFilterKeyInstanceId is a AssociationFilterKey enum value
57708	AssociationFilterKeyInstanceId = "InstanceId"
57709
57710	// AssociationFilterKeyName is a AssociationFilterKey enum value
57711	AssociationFilterKeyName = "Name"
57712
57713	// AssociationFilterKeyAssociationId is a AssociationFilterKey enum value
57714	AssociationFilterKeyAssociationId = "AssociationId"
57715
57716	// AssociationFilterKeyAssociationStatusName is a AssociationFilterKey enum value
57717	AssociationFilterKeyAssociationStatusName = "AssociationStatusName"
57718
57719	// AssociationFilterKeyLastExecutedBefore is a AssociationFilterKey enum value
57720	AssociationFilterKeyLastExecutedBefore = "LastExecutedBefore"
57721
57722	// AssociationFilterKeyLastExecutedAfter is a AssociationFilterKey enum value
57723	AssociationFilterKeyLastExecutedAfter = "LastExecutedAfter"
57724
57725	// AssociationFilterKeyAssociationName is a AssociationFilterKey enum value
57726	AssociationFilterKeyAssociationName = "AssociationName"
57727
57728	// AssociationFilterKeyResourceGroupName is a AssociationFilterKey enum value
57729	AssociationFilterKeyResourceGroupName = "ResourceGroupName"
57730)
57731
57732// AssociationFilterKey_Values returns all elements of the AssociationFilterKey enum
57733func AssociationFilterKey_Values() []string {
57734	return []string{
57735		AssociationFilterKeyInstanceId,
57736		AssociationFilterKeyName,
57737		AssociationFilterKeyAssociationId,
57738		AssociationFilterKeyAssociationStatusName,
57739		AssociationFilterKeyLastExecutedBefore,
57740		AssociationFilterKeyLastExecutedAfter,
57741		AssociationFilterKeyAssociationName,
57742		AssociationFilterKeyResourceGroupName,
57743	}
57744}
57745
57746const (
57747	// AssociationFilterOperatorTypeEqual is a AssociationFilterOperatorType enum value
57748	AssociationFilterOperatorTypeEqual = "EQUAL"
57749
57750	// AssociationFilterOperatorTypeLessThan is a AssociationFilterOperatorType enum value
57751	AssociationFilterOperatorTypeLessThan = "LESS_THAN"
57752
57753	// AssociationFilterOperatorTypeGreaterThan is a AssociationFilterOperatorType enum value
57754	AssociationFilterOperatorTypeGreaterThan = "GREATER_THAN"
57755)
57756
57757// AssociationFilterOperatorType_Values returns all elements of the AssociationFilterOperatorType enum
57758func AssociationFilterOperatorType_Values() []string {
57759	return []string{
57760		AssociationFilterOperatorTypeEqual,
57761		AssociationFilterOperatorTypeLessThan,
57762		AssociationFilterOperatorTypeGreaterThan,
57763	}
57764}
57765
57766const (
57767	// AssociationStatusNamePending is a AssociationStatusName enum value
57768	AssociationStatusNamePending = "Pending"
57769
57770	// AssociationStatusNameSuccess is a AssociationStatusName enum value
57771	AssociationStatusNameSuccess = "Success"
57772
57773	// AssociationStatusNameFailed is a AssociationStatusName enum value
57774	AssociationStatusNameFailed = "Failed"
57775)
57776
57777// AssociationStatusName_Values returns all elements of the AssociationStatusName enum
57778func AssociationStatusName_Values() []string {
57779	return []string{
57780		AssociationStatusNamePending,
57781		AssociationStatusNameSuccess,
57782		AssociationStatusNameFailed,
57783	}
57784}
57785
57786const (
57787	// AssociationSyncComplianceAuto is a AssociationSyncCompliance enum value
57788	AssociationSyncComplianceAuto = "AUTO"
57789
57790	// AssociationSyncComplianceManual is a AssociationSyncCompliance enum value
57791	AssociationSyncComplianceManual = "MANUAL"
57792)
57793
57794// AssociationSyncCompliance_Values returns all elements of the AssociationSyncCompliance enum
57795func AssociationSyncCompliance_Values() []string {
57796	return []string{
57797		AssociationSyncComplianceAuto,
57798		AssociationSyncComplianceManual,
57799	}
57800}
57801
57802const (
57803	// AttachmentHashTypeSha256 is a AttachmentHashType enum value
57804	AttachmentHashTypeSha256 = "Sha256"
57805)
57806
57807// AttachmentHashType_Values returns all elements of the AttachmentHashType enum
57808func AttachmentHashType_Values() []string {
57809	return []string{
57810		AttachmentHashTypeSha256,
57811	}
57812}
57813
57814const (
57815	// AttachmentsSourceKeySourceUrl is a AttachmentsSourceKey enum value
57816	AttachmentsSourceKeySourceUrl = "SourceUrl"
57817
57818	// AttachmentsSourceKeyS3fileUrl is a AttachmentsSourceKey enum value
57819	AttachmentsSourceKeyS3fileUrl = "S3FileUrl"
57820
57821	// AttachmentsSourceKeyAttachmentReference is a AttachmentsSourceKey enum value
57822	AttachmentsSourceKeyAttachmentReference = "AttachmentReference"
57823)
57824
57825// AttachmentsSourceKey_Values returns all elements of the AttachmentsSourceKey enum
57826func AttachmentsSourceKey_Values() []string {
57827	return []string{
57828		AttachmentsSourceKeySourceUrl,
57829		AttachmentsSourceKeyS3fileUrl,
57830		AttachmentsSourceKeyAttachmentReference,
57831	}
57832}
57833
57834const (
57835	// AutomationExecutionFilterKeyDocumentNamePrefix is a AutomationExecutionFilterKey enum value
57836	AutomationExecutionFilterKeyDocumentNamePrefix = "DocumentNamePrefix"
57837
57838	// AutomationExecutionFilterKeyExecutionStatus is a AutomationExecutionFilterKey enum value
57839	AutomationExecutionFilterKeyExecutionStatus = "ExecutionStatus"
57840
57841	// AutomationExecutionFilterKeyExecutionId is a AutomationExecutionFilterKey enum value
57842	AutomationExecutionFilterKeyExecutionId = "ExecutionId"
57843
57844	// AutomationExecutionFilterKeyParentExecutionId is a AutomationExecutionFilterKey enum value
57845	AutomationExecutionFilterKeyParentExecutionId = "ParentExecutionId"
57846
57847	// AutomationExecutionFilterKeyCurrentAction is a AutomationExecutionFilterKey enum value
57848	AutomationExecutionFilterKeyCurrentAction = "CurrentAction"
57849
57850	// AutomationExecutionFilterKeyStartTimeBefore is a AutomationExecutionFilterKey enum value
57851	AutomationExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
57852
57853	// AutomationExecutionFilterKeyStartTimeAfter is a AutomationExecutionFilterKey enum value
57854	AutomationExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
57855
57856	// AutomationExecutionFilterKeyAutomationType is a AutomationExecutionFilterKey enum value
57857	AutomationExecutionFilterKeyAutomationType = "AutomationType"
57858
57859	// AutomationExecutionFilterKeyTagKey is a AutomationExecutionFilterKey enum value
57860	AutomationExecutionFilterKeyTagKey = "TagKey"
57861
57862	// AutomationExecutionFilterKeyTargetResourceGroup is a AutomationExecutionFilterKey enum value
57863	AutomationExecutionFilterKeyTargetResourceGroup = "TargetResourceGroup"
57864
57865	// AutomationExecutionFilterKeyAutomationSubtype is a AutomationExecutionFilterKey enum value
57866	AutomationExecutionFilterKeyAutomationSubtype = "AutomationSubtype"
57867
57868	// AutomationExecutionFilterKeyOpsItemId is a AutomationExecutionFilterKey enum value
57869	AutomationExecutionFilterKeyOpsItemId = "OpsItemId"
57870)
57871
57872// AutomationExecutionFilterKey_Values returns all elements of the AutomationExecutionFilterKey enum
57873func AutomationExecutionFilterKey_Values() []string {
57874	return []string{
57875		AutomationExecutionFilterKeyDocumentNamePrefix,
57876		AutomationExecutionFilterKeyExecutionStatus,
57877		AutomationExecutionFilterKeyExecutionId,
57878		AutomationExecutionFilterKeyParentExecutionId,
57879		AutomationExecutionFilterKeyCurrentAction,
57880		AutomationExecutionFilterKeyStartTimeBefore,
57881		AutomationExecutionFilterKeyStartTimeAfter,
57882		AutomationExecutionFilterKeyAutomationType,
57883		AutomationExecutionFilterKeyTagKey,
57884		AutomationExecutionFilterKeyTargetResourceGroup,
57885		AutomationExecutionFilterKeyAutomationSubtype,
57886		AutomationExecutionFilterKeyOpsItemId,
57887	}
57888}
57889
57890const (
57891	// AutomationExecutionStatusPending is a AutomationExecutionStatus enum value
57892	AutomationExecutionStatusPending = "Pending"
57893
57894	// AutomationExecutionStatusInProgress is a AutomationExecutionStatus enum value
57895	AutomationExecutionStatusInProgress = "InProgress"
57896
57897	// AutomationExecutionStatusWaiting is a AutomationExecutionStatus enum value
57898	AutomationExecutionStatusWaiting = "Waiting"
57899
57900	// AutomationExecutionStatusSuccess is a AutomationExecutionStatus enum value
57901	AutomationExecutionStatusSuccess = "Success"
57902
57903	// AutomationExecutionStatusTimedOut is a AutomationExecutionStatus enum value
57904	AutomationExecutionStatusTimedOut = "TimedOut"
57905
57906	// AutomationExecutionStatusCancelling is a AutomationExecutionStatus enum value
57907	AutomationExecutionStatusCancelling = "Cancelling"
57908
57909	// AutomationExecutionStatusCancelled is a AutomationExecutionStatus enum value
57910	AutomationExecutionStatusCancelled = "Cancelled"
57911
57912	// AutomationExecutionStatusFailed is a AutomationExecutionStatus enum value
57913	AutomationExecutionStatusFailed = "Failed"
57914
57915	// AutomationExecutionStatusPendingApproval is a AutomationExecutionStatus enum value
57916	AutomationExecutionStatusPendingApproval = "PendingApproval"
57917
57918	// AutomationExecutionStatusApproved is a AutomationExecutionStatus enum value
57919	AutomationExecutionStatusApproved = "Approved"
57920
57921	// AutomationExecutionStatusRejected is a AutomationExecutionStatus enum value
57922	AutomationExecutionStatusRejected = "Rejected"
57923
57924	// AutomationExecutionStatusScheduled is a AutomationExecutionStatus enum value
57925	AutomationExecutionStatusScheduled = "Scheduled"
57926
57927	// AutomationExecutionStatusRunbookInProgress is a AutomationExecutionStatus enum value
57928	AutomationExecutionStatusRunbookInProgress = "RunbookInProgress"
57929
57930	// AutomationExecutionStatusPendingChangeCalendarOverride is a AutomationExecutionStatus enum value
57931	AutomationExecutionStatusPendingChangeCalendarOverride = "PendingChangeCalendarOverride"
57932
57933	// AutomationExecutionStatusChangeCalendarOverrideApproved is a AutomationExecutionStatus enum value
57934	AutomationExecutionStatusChangeCalendarOverrideApproved = "ChangeCalendarOverrideApproved"
57935
57936	// AutomationExecutionStatusChangeCalendarOverrideRejected is a AutomationExecutionStatus enum value
57937	AutomationExecutionStatusChangeCalendarOverrideRejected = "ChangeCalendarOverrideRejected"
57938
57939	// AutomationExecutionStatusCompletedWithSuccess is a AutomationExecutionStatus enum value
57940	AutomationExecutionStatusCompletedWithSuccess = "CompletedWithSuccess"
57941
57942	// AutomationExecutionStatusCompletedWithFailure is a AutomationExecutionStatus enum value
57943	AutomationExecutionStatusCompletedWithFailure = "CompletedWithFailure"
57944)
57945
57946// AutomationExecutionStatus_Values returns all elements of the AutomationExecutionStatus enum
57947func AutomationExecutionStatus_Values() []string {
57948	return []string{
57949		AutomationExecutionStatusPending,
57950		AutomationExecutionStatusInProgress,
57951		AutomationExecutionStatusWaiting,
57952		AutomationExecutionStatusSuccess,
57953		AutomationExecutionStatusTimedOut,
57954		AutomationExecutionStatusCancelling,
57955		AutomationExecutionStatusCancelled,
57956		AutomationExecutionStatusFailed,
57957		AutomationExecutionStatusPendingApproval,
57958		AutomationExecutionStatusApproved,
57959		AutomationExecutionStatusRejected,
57960		AutomationExecutionStatusScheduled,
57961		AutomationExecutionStatusRunbookInProgress,
57962		AutomationExecutionStatusPendingChangeCalendarOverride,
57963		AutomationExecutionStatusChangeCalendarOverrideApproved,
57964		AutomationExecutionStatusChangeCalendarOverrideRejected,
57965		AutomationExecutionStatusCompletedWithSuccess,
57966		AutomationExecutionStatusCompletedWithFailure,
57967	}
57968}
57969
57970const (
57971	// AutomationSubtypeChangeRequest is a AutomationSubtype enum value
57972	AutomationSubtypeChangeRequest = "ChangeRequest"
57973)
57974
57975// AutomationSubtype_Values returns all elements of the AutomationSubtype enum
57976func AutomationSubtype_Values() []string {
57977	return []string{
57978		AutomationSubtypeChangeRequest,
57979	}
57980}
57981
57982const (
57983	// AutomationTypeCrossAccount is a AutomationType enum value
57984	AutomationTypeCrossAccount = "CrossAccount"
57985
57986	// AutomationTypeLocal is a AutomationType enum value
57987	AutomationTypeLocal = "Local"
57988)
57989
57990// AutomationType_Values returns all elements of the AutomationType enum
57991func AutomationType_Values() []string {
57992	return []string{
57993		AutomationTypeCrossAccount,
57994		AutomationTypeLocal,
57995	}
57996}
57997
57998const (
57999	// CalendarStateOpen is a CalendarState enum value
58000	CalendarStateOpen = "OPEN"
58001
58002	// CalendarStateClosed is a CalendarState enum value
58003	CalendarStateClosed = "CLOSED"
58004)
58005
58006// CalendarState_Values returns all elements of the CalendarState enum
58007func CalendarState_Values() []string {
58008	return []string{
58009		CalendarStateOpen,
58010		CalendarStateClosed,
58011	}
58012}
58013
58014const (
58015	// CommandFilterKeyInvokedAfter is a CommandFilterKey enum value
58016	CommandFilterKeyInvokedAfter = "InvokedAfter"
58017
58018	// CommandFilterKeyInvokedBefore is a CommandFilterKey enum value
58019	CommandFilterKeyInvokedBefore = "InvokedBefore"
58020
58021	// CommandFilterKeyStatus is a CommandFilterKey enum value
58022	CommandFilterKeyStatus = "Status"
58023
58024	// CommandFilterKeyExecutionStage is a CommandFilterKey enum value
58025	CommandFilterKeyExecutionStage = "ExecutionStage"
58026
58027	// CommandFilterKeyDocumentName is a CommandFilterKey enum value
58028	CommandFilterKeyDocumentName = "DocumentName"
58029)
58030
58031// CommandFilterKey_Values returns all elements of the CommandFilterKey enum
58032func CommandFilterKey_Values() []string {
58033	return []string{
58034		CommandFilterKeyInvokedAfter,
58035		CommandFilterKeyInvokedBefore,
58036		CommandFilterKeyStatus,
58037		CommandFilterKeyExecutionStage,
58038		CommandFilterKeyDocumentName,
58039	}
58040}
58041
58042const (
58043	// CommandInvocationStatusPending is a CommandInvocationStatus enum value
58044	CommandInvocationStatusPending = "Pending"
58045
58046	// CommandInvocationStatusInProgress is a CommandInvocationStatus enum value
58047	CommandInvocationStatusInProgress = "InProgress"
58048
58049	// CommandInvocationStatusDelayed is a CommandInvocationStatus enum value
58050	CommandInvocationStatusDelayed = "Delayed"
58051
58052	// CommandInvocationStatusSuccess is a CommandInvocationStatus enum value
58053	CommandInvocationStatusSuccess = "Success"
58054
58055	// CommandInvocationStatusCancelled is a CommandInvocationStatus enum value
58056	CommandInvocationStatusCancelled = "Cancelled"
58057
58058	// CommandInvocationStatusTimedOut is a CommandInvocationStatus enum value
58059	CommandInvocationStatusTimedOut = "TimedOut"
58060
58061	// CommandInvocationStatusFailed is a CommandInvocationStatus enum value
58062	CommandInvocationStatusFailed = "Failed"
58063
58064	// CommandInvocationStatusCancelling is a CommandInvocationStatus enum value
58065	CommandInvocationStatusCancelling = "Cancelling"
58066)
58067
58068// CommandInvocationStatus_Values returns all elements of the CommandInvocationStatus enum
58069func CommandInvocationStatus_Values() []string {
58070	return []string{
58071		CommandInvocationStatusPending,
58072		CommandInvocationStatusInProgress,
58073		CommandInvocationStatusDelayed,
58074		CommandInvocationStatusSuccess,
58075		CommandInvocationStatusCancelled,
58076		CommandInvocationStatusTimedOut,
58077		CommandInvocationStatusFailed,
58078		CommandInvocationStatusCancelling,
58079	}
58080}
58081
58082const (
58083	// CommandPluginStatusPending is a CommandPluginStatus enum value
58084	CommandPluginStatusPending = "Pending"
58085
58086	// CommandPluginStatusInProgress is a CommandPluginStatus enum value
58087	CommandPluginStatusInProgress = "InProgress"
58088
58089	// CommandPluginStatusSuccess is a CommandPluginStatus enum value
58090	CommandPluginStatusSuccess = "Success"
58091
58092	// CommandPluginStatusTimedOut is a CommandPluginStatus enum value
58093	CommandPluginStatusTimedOut = "TimedOut"
58094
58095	// CommandPluginStatusCancelled is a CommandPluginStatus enum value
58096	CommandPluginStatusCancelled = "Cancelled"
58097
58098	// CommandPluginStatusFailed is a CommandPluginStatus enum value
58099	CommandPluginStatusFailed = "Failed"
58100)
58101
58102// CommandPluginStatus_Values returns all elements of the CommandPluginStatus enum
58103func CommandPluginStatus_Values() []string {
58104	return []string{
58105		CommandPluginStatusPending,
58106		CommandPluginStatusInProgress,
58107		CommandPluginStatusSuccess,
58108		CommandPluginStatusTimedOut,
58109		CommandPluginStatusCancelled,
58110		CommandPluginStatusFailed,
58111	}
58112}
58113
58114const (
58115	// CommandStatusPending is a CommandStatus enum value
58116	CommandStatusPending = "Pending"
58117
58118	// CommandStatusInProgress is a CommandStatus enum value
58119	CommandStatusInProgress = "InProgress"
58120
58121	// CommandStatusSuccess is a CommandStatus enum value
58122	CommandStatusSuccess = "Success"
58123
58124	// CommandStatusCancelled is a CommandStatus enum value
58125	CommandStatusCancelled = "Cancelled"
58126
58127	// CommandStatusFailed is a CommandStatus enum value
58128	CommandStatusFailed = "Failed"
58129
58130	// CommandStatusTimedOut is a CommandStatus enum value
58131	CommandStatusTimedOut = "TimedOut"
58132
58133	// CommandStatusCancelling is a CommandStatus enum value
58134	CommandStatusCancelling = "Cancelling"
58135)
58136
58137// CommandStatus_Values returns all elements of the CommandStatus enum
58138func CommandStatus_Values() []string {
58139	return []string{
58140		CommandStatusPending,
58141		CommandStatusInProgress,
58142		CommandStatusSuccess,
58143		CommandStatusCancelled,
58144		CommandStatusFailed,
58145		CommandStatusTimedOut,
58146		CommandStatusCancelling,
58147	}
58148}
58149
58150const (
58151	// ComplianceQueryOperatorTypeEqual is a ComplianceQueryOperatorType enum value
58152	ComplianceQueryOperatorTypeEqual = "EQUAL"
58153
58154	// ComplianceQueryOperatorTypeNotEqual is a ComplianceQueryOperatorType enum value
58155	ComplianceQueryOperatorTypeNotEqual = "NOT_EQUAL"
58156
58157	// ComplianceQueryOperatorTypeBeginWith is a ComplianceQueryOperatorType enum value
58158	ComplianceQueryOperatorTypeBeginWith = "BEGIN_WITH"
58159
58160	// ComplianceQueryOperatorTypeLessThan is a ComplianceQueryOperatorType enum value
58161	ComplianceQueryOperatorTypeLessThan = "LESS_THAN"
58162
58163	// ComplianceQueryOperatorTypeGreaterThan is a ComplianceQueryOperatorType enum value
58164	ComplianceQueryOperatorTypeGreaterThan = "GREATER_THAN"
58165)
58166
58167// ComplianceQueryOperatorType_Values returns all elements of the ComplianceQueryOperatorType enum
58168func ComplianceQueryOperatorType_Values() []string {
58169	return []string{
58170		ComplianceQueryOperatorTypeEqual,
58171		ComplianceQueryOperatorTypeNotEqual,
58172		ComplianceQueryOperatorTypeBeginWith,
58173		ComplianceQueryOperatorTypeLessThan,
58174		ComplianceQueryOperatorTypeGreaterThan,
58175	}
58176}
58177
58178const (
58179	// ComplianceSeverityCritical is a ComplianceSeverity enum value
58180	ComplianceSeverityCritical = "CRITICAL"
58181
58182	// ComplianceSeverityHigh is a ComplianceSeverity enum value
58183	ComplianceSeverityHigh = "HIGH"
58184
58185	// ComplianceSeverityMedium is a ComplianceSeverity enum value
58186	ComplianceSeverityMedium = "MEDIUM"
58187
58188	// ComplianceSeverityLow is a ComplianceSeverity enum value
58189	ComplianceSeverityLow = "LOW"
58190
58191	// ComplianceSeverityInformational is a ComplianceSeverity enum value
58192	ComplianceSeverityInformational = "INFORMATIONAL"
58193
58194	// ComplianceSeverityUnspecified is a ComplianceSeverity enum value
58195	ComplianceSeverityUnspecified = "UNSPECIFIED"
58196)
58197
58198// ComplianceSeverity_Values returns all elements of the ComplianceSeverity enum
58199func ComplianceSeverity_Values() []string {
58200	return []string{
58201		ComplianceSeverityCritical,
58202		ComplianceSeverityHigh,
58203		ComplianceSeverityMedium,
58204		ComplianceSeverityLow,
58205		ComplianceSeverityInformational,
58206		ComplianceSeverityUnspecified,
58207	}
58208}
58209
58210const (
58211	// ComplianceStatusCompliant is a ComplianceStatus enum value
58212	ComplianceStatusCompliant = "COMPLIANT"
58213
58214	// ComplianceStatusNonCompliant is a ComplianceStatus enum value
58215	ComplianceStatusNonCompliant = "NON_COMPLIANT"
58216)
58217
58218// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
58219func ComplianceStatus_Values() []string {
58220	return []string{
58221		ComplianceStatusCompliant,
58222		ComplianceStatusNonCompliant,
58223	}
58224}
58225
58226const (
58227	// ComplianceUploadTypeComplete is a ComplianceUploadType enum value
58228	ComplianceUploadTypeComplete = "COMPLETE"
58229
58230	// ComplianceUploadTypePartial is a ComplianceUploadType enum value
58231	ComplianceUploadTypePartial = "PARTIAL"
58232)
58233
58234// ComplianceUploadType_Values returns all elements of the ComplianceUploadType enum
58235func ComplianceUploadType_Values() []string {
58236	return []string{
58237		ComplianceUploadTypeComplete,
58238		ComplianceUploadTypePartial,
58239	}
58240}
58241
58242const (
58243	// ConnectionStatusConnected is a ConnectionStatus enum value
58244	ConnectionStatusConnected = "Connected"
58245
58246	// ConnectionStatusNotConnected is a ConnectionStatus enum value
58247	ConnectionStatusNotConnected = "NotConnected"
58248)
58249
58250// ConnectionStatus_Values returns all elements of the ConnectionStatus enum
58251func ConnectionStatus_Values() []string {
58252	return []string{
58253		ConnectionStatusConnected,
58254		ConnectionStatusNotConnected,
58255	}
58256}
58257
58258const (
58259	// DescribeActivationsFilterKeysActivationIds is a DescribeActivationsFilterKeys enum value
58260	DescribeActivationsFilterKeysActivationIds = "ActivationIds"
58261
58262	// DescribeActivationsFilterKeysDefaultInstanceName is a DescribeActivationsFilterKeys enum value
58263	DescribeActivationsFilterKeysDefaultInstanceName = "DefaultInstanceName"
58264
58265	// DescribeActivationsFilterKeysIamRole is a DescribeActivationsFilterKeys enum value
58266	DescribeActivationsFilterKeysIamRole = "IamRole"
58267)
58268
58269// DescribeActivationsFilterKeys_Values returns all elements of the DescribeActivationsFilterKeys enum
58270func DescribeActivationsFilterKeys_Values() []string {
58271	return []string{
58272		DescribeActivationsFilterKeysActivationIds,
58273		DescribeActivationsFilterKeysDefaultInstanceName,
58274		DescribeActivationsFilterKeysIamRole,
58275	}
58276}
58277
58278const (
58279	// DocumentFilterKeyName is a DocumentFilterKey enum value
58280	DocumentFilterKeyName = "Name"
58281
58282	// DocumentFilterKeyOwner is a DocumentFilterKey enum value
58283	DocumentFilterKeyOwner = "Owner"
58284
58285	// DocumentFilterKeyPlatformTypes is a DocumentFilterKey enum value
58286	DocumentFilterKeyPlatformTypes = "PlatformTypes"
58287
58288	// DocumentFilterKeyDocumentType is a DocumentFilterKey enum value
58289	DocumentFilterKeyDocumentType = "DocumentType"
58290)
58291
58292// DocumentFilterKey_Values returns all elements of the DocumentFilterKey enum
58293func DocumentFilterKey_Values() []string {
58294	return []string{
58295		DocumentFilterKeyName,
58296		DocumentFilterKeyOwner,
58297		DocumentFilterKeyPlatformTypes,
58298		DocumentFilterKeyDocumentType,
58299	}
58300}
58301
58302const (
58303	// DocumentFormatYaml is a DocumentFormat enum value
58304	DocumentFormatYaml = "YAML"
58305
58306	// DocumentFormatJson is a DocumentFormat enum value
58307	DocumentFormatJson = "JSON"
58308
58309	// DocumentFormatText is a DocumentFormat enum value
58310	DocumentFormatText = "TEXT"
58311)
58312
58313// DocumentFormat_Values returns all elements of the DocumentFormat enum
58314func DocumentFormat_Values() []string {
58315	return []string{
58316		DocumentFormatYaml,
58317		DocumentFormatJson,
58318		DocumentFormatText,
58319	}
58320}
58321
58322const (
58323	// DocumentHashTypeSha256 is a DocumentHashType enum value
58324	DocumentHashTypeSha256 = "Sha256"
58325
58326	// DocumentHashTypeSha1 is a DocumentHashType enum value
58327	DocumentHashTypeSha1 = "Sha1"
58328)
58329
58330// DocumentHashType_Values returns all elements of the DocumentHashType enum
58331func DocumentHashType_Values() []string {
58332	return []string{
58333		DocumentHashTypeSha256,
58334		DocumentHashTypeSha1,
58335	}
58336}
58337
58338const (
58339	// DocumentMetadataEnumDocumentReviews is a DocumentMetadataEnum enum value
58340	DocumentMetadataEnumDocumentReviews = "DocumentReviews"
58341)
58342
58343// DocumentMetadataEnum_Values returns all elements of the DocumentMetadataEnum enum
58344func DocumentMetadataEnum_Values() []string {
58345	return []string{
58346		DocumentMetadataEnumDocumentReviews,
58347	}
58348}
58349
58350const (
58351	// DocumentParameterTypeString is a DocumentParameterType enum value
58352	DocumentParameterTypeString = "String"
58353
58354	// DocumentParameterTypeStringList is a DocumentParameterType enum value
58355	DocumentParameterTypeStringList = "StringList"
58356)
58357
58358// DocumentParameterType_Values returns all elements of the DocumentParameterType enum
58359func DocumentParameterType_Values() []string {
58360	return []string{
58361		DocumentParameterTypeString,
58362		DocumentParameterTypeStringList,
58363	}
58364}
58365
58366const (
58367	// DocumentPermissionTypeShare is a DocumentPermissionType enum value
58368	DocumentPermissionTypeShare = "Share"
58369)
58370
58371// DocumentPermissionType_Values returns all elements of the DocumentPermissionType enum
58372func DocumentPermissionType_Values() []string {
58373	return []string{
58374		DocumentPermissionTypeShare,
58375	}
58376}
58377
58378const (
58379	// DocumentReviewActionSendForReview is a DocumentReviewAction enum value
58380	DocumentReviewActionSendForReview = "SendForReview"
58381
58382	// DocumentReviewActionUpdateReview is a DocumentReviewAction enum value
58383	DocumentReviewActionUpdateReview = "UpdateReview"
58384
58385	// DocumentReviewActionApprove is a DocumentReviewAction enum value
58386	DocumentReviewActionApprove = "Approve"
58387
58388	// DocumentReviewActionReject is a DocumentReviewAction enum value
58389	DocumentReviewActionReject = "Reject"
58390)
58391
58392// DocumentReviewAction_Values returns all elements of the DocumentReviewAction enum
58393func DocumentReviewAction_Values() []string {
58394	return []string{
58395		DocumentReviewActionSendForReview,
58396		DocumentReviewActionUpdateReview,
58397		DocumentReviewActionApprove,
58398		DocumentReviewActionReject,
58399	}
58400}
58401
58402const (
58403	// DocumentReviewCommentTypeComment is a DocumentReviewCommentType enum value
58404	DocumentReviewCommentTypeComment = "Comment"
58405)
58406
58407// DocumentReviewCommentType_Values returns all elements of the DocumentReviewCommentType enum
58408func DocumentReviewCommentType_Values() []string {
58409	return []string{
58410		DocumentReviewCommentTypeComment,
58411	}
58412}
58413
58414// The status of a document.
58415const (
58416	// DocumentStatusCreating is a DocumentStatus enum value
58417	DocumentStatusCreating = "Creating"
58418
58419	// DocumentStatusActive is a DocumentStatus enum value
58420	DocumentStatusActive = "Active"
58421
58422	// DocumentStatusUpdating is a DocumentStatus enum value
58423	DocumentStatusUpdating = "Updating"
58424
58425	// DocumentStatusDeleting is a DocumentStatus enum value
58426	DocumentStatusDeleting = "Deleting"
58427
58428	// DocumentStatusFailed is a DocumentStatus enum value
58429	DocumentStatusFailed = "Failed"
58430)
58431
58432// DocumentStatus_Values returns all elements of the DocumentStatus enum
58433func DocumentStatus_Values() []string {
58434	return []string{
58435		DocumentStatusCreating,
58436		DocumentStatusActive,
58437		DocumentStatusUpdating,
58438		DocumentStatusDeleting,
58439		DocumentStatusFailed,
58440	}
58441}
58442
58443const (
58444	// DocumentTypeCommand is a DocumentType enum value
58445	DocumentTypeCommand = "Command"
58446
58447	// DocumentTypePolicy is a DocumentType enum value
58448	DocumentTypePolicy = "Policy"
58449
58450	// DocumentTypeAutomation is a DocumentType enum value
58451	DocumentTypeAutomation = "Automation"
58452
58453	// DocumentTypeSession is a DocumentType enum value
58454	DocumentTypeSession = "Session"
58455
58456	// DocumentTypePackage is a DocumentType enum value
58457	DocumentTypePackage = "Package"
58458
58459	// DocumentTypeApplicationConfiguration is a DocumentType enum value
58460	DocumentTypeApplicationConfiguration = "ApplicationConfiguration"
58461
58462	// DocumentTypeApplicationConfigurationSchema is a DocumentType enum value
58463	DocumentTypeApplicationConfigurationSchema = "ApplicationConfigurationSchema"
58464
58465	// DocumentTypeDeploymentStrategy is a DocumentType enum value
58466	DocumentTypeDeploymentStrategy = "DeploymentStrategy"
58467
58468	// DocumentTypeChangeCalendar is a DocumentType enum value
58469	DocumentTypeChangeCalendar = "ChangeCalendar"
58470
58471	// DocumentTypeAutomationChangeTemplate is a DocumentType enum value
58472	DocumentTypeAutomationChangeTemplate = "Automation.ChangeTemplate"
58473
58474	// DocumentTypeProblemAnalysis is a DocumentType enum value
58475	DocumentTypeProblemAnalysis = "ProblemAnalysis"
58476
58477	// DocumentTypeProblemAnalysisTemplate is a DocumentType enum value
58478	DocumentTypeProblemAnalysisTemplate = "ProblemAnalysisTemplate"
58479)
58480
58481// DocumentType_Values returns all elements of the DocumentType enum
58482func DocumentType_Values() []string {
58483	return []string{
58484		DocumentTypeCommand,
58485		DocumentTypePolicy,
58486		DocumentTypeAutomation,
58487		DocumentTypeSession,
58488		DocumentTypePackage,
58489		DocumentTypeApplicationConfiguration,
58490		DocumentTypeApplicationConfigurationSchema,
58491		DocumentTypeDeploymentStrategy,
58492		DocumentTypeChangeCalendar,
58493		DocumentTypeAutomationChangeTemplate,
58494		DocumentTypeProblemAnalysis,
58495		DocumentTypeProblemAnalysisTemplate,
58496	}
58497}
58498
58499const (
58500	// ExecutionModeAuto is a ExecutionMode enum value
58501	ExecutionModeAuto = "Auto"
58502
58503	// ExecutionModeInteractive is a ExecutionMode enum value
58504	ExecutionModeInteractive = "Interactive"
58505)
58506
58507// ExecutionMode_Values returns all elements of the ExecutionMode enum
58508func ExecutionMode_Values() []string {
58509	return []string{
58510		ExecutionModeAuto,
58511		ExecutionModeInteractive,
58512	}
58513}
58514
58515const (
58516	// FaultClient is a Fault enum value
58517	FaultClient = "Client"
58518
58519	// FaultServer is a Fault enum value
58520	FaultServer = "Server"
58521
58522	// FaultUnknown is a Fault enum value
58523	FaultUnknown = "Unknown"
58524)
58525
58526// Fault_Values returns all elements of the Fault enum
58527func Fault_Values() []string {
58528	return []string{
58529		FaultClient,
58530		FaultServer,
58531		FaultUnknown,
58532	}
58533}
58534
58535const (
58536	// InstanceInformationFilterKeyInstanceIds is a InstanceInformationFilterKey enum value
58537	InstanceInformationFilterKeyInstanceIds = "InstanceIds"
58538
58539	// InstanceInformationFilterKeyAgentVersion is a InstanceInformationFilterKey enum value
58540	InstanceInformationFilterKeyAgentVersion = "AgentVersion"
58541
58542	// InstanceInformationFilterKeyPingStatus is a InstanceInformationFilterKey enum value
58543	InstanceInformationFilterKeyPingStatus = "PingStatus"
58544
58545	// InstanceInformationFilterKeyPlatformTypes is a InstanceInformationFilterKey enum value
58546	InstanceInformationFilterKeyPlatformTypes = "PlatformTypes"
58547
58548	// InstanceInformationFilterKeyActivationIds is a InstanceInformationFilterKey enum value
58549	InstanceInformationFilterKeyActivationIds = "ActivationIds"
58550
58551	// InstanceInformationFilterKeyIamRole is a InstanceInformationFilterKey enum value
58552	InstanceInformationFilterKeyIamRole = "IamRole"
58553
58554	// InstanceInformationFilterKeyResourceType is a InstanceInformationFilterKey enum value
58555	InstanceInformationFilterKeyResourceType = "ResourceType"
58556
58557	// InstanceInformationFilterKeyAssociationStatus is a InstanceInformationFilterKey enum value
58558	InstanceInformationFilterKeyAssociationStatus = "AssociationStatus"
58559)
58560
58561// InstanceInformationFilterKey_Values returns all elements of the InstanceInformationFilterKey enum
58562func InstanceInformationFilterKey_Values() []string {
58563	return []string{
58564		InstanceInformationFilterKeyInstanceIds,
58565		InstanceInformationFilterKeyAgentVersion,
58566		InstanceInformationFilterKeyPingStatus,
58567		InstanceInformationFilterKeyPlatformTypes,
58568		InstanceInformationFilterKeyActivationIds,
58569		InstanceInformationFilterKeyIamRole,
58570		InstanceInformationFilterKeyResourceType,
58571		InstanceInformationFilterKeyAssociationStatus,
58572	}
58573}
58574
58575const (
58576	// InstancePatchStateOperatorTypeEqual is a InstancePatchStateOperatorType enum value
58577	InstancePatchStateOperatorTypeEqual = "Equal"
58578
58579	// InstancePatchStateOperatorTypeNotEqual is a InstancePatchStateOperatorType enum value
58580	InstancePatchStateOperatorTypeNotEqual = "NotEqual"
58581
58582	// InstancePatchStateOperatorTypeLessThan is a InstancePatchStateOperatorType enum value
58583	InstancePatchStateOperatorTypeLessThan = "LessThan"
58584
58585	// InstancePatchStateOperatorTypeGreaterThan is a InstancePatchStateOperatorType enum value
58586	InstancePatchStateOperatorTypeGreaterThan = "GreaterThan"
58587)
58588
58589// InstancePatchStateOperatorType_Values returns all elements of the InstancePatchStateOperatorType enum
58590func InstancePatchStateOperatorType_Values() []string {
58591	return []string{
58592		InstancePatchStateOperatorTypeEqual,
58593		InstancePatchStateOperatorTypeNotEqual,
58594		InstancePatchStateOperatorTypeLessThan,
58595		InstancePatchStateOperatorTypeGreaterThan,
58596	}
58597}
58598
58599const (
58600	// InventoryAttributeDataTypeString is a InventoryAttributeDataType enum value
58601	InventoryAttributeDataTypeString = "string"
58602
58603	// InventoryAttributeDataTypeNumber is a InventoryAttributeDataType enum value
58604	InventoryAttributeDataTypeNumber = "number"
58605)
58606
58607// InventoryAttributeDataType_Values returns all elements of the InventoryAttributeDataType enum
58608func InventoryAttributeDataType_Values() []string {
58609	return []string{
58610		InventoryAttributeDataTypeString,
58611		InventoryAttributeDataTypeNumber,
58612	}
58613}
58614
58615const (
58616	// InventoryDeletionStatusInProgress is a InventoryDeletionStatus enum value
58617	InventoryDeletionStatusInProgress = "InProgress"
58618
58619	// InventoryDeletionStatusComplete is a InventoryDeletionStatus enum value
58620	InventoryDeletionStatusComplete = "Complete"
58621)
58622
58623// InventoryDeletionStatus_Values returns all elements of the InventoryDeletionStatus enum
58624func InventoryDeletionStatus_Values() []string {
58625	return []string{
58626		InventoryDeletionStatusInProgress,
58627		InventoryDeletionStatusComplete,
58628	}
58629}
58630
58631const (
58632	// InventoryQueryOperatorTypeEqual is a InventoryQueryOperatorType enum value
58633	InventoryQueryOperatorTypeEqual = "Equal"
58634
58635	// InventoryQueryOperatorTypeNotEqual is a InventoryQueryOperatorType enum value
58636	InventoryQueryOperatorTypeNotEqual = "NotEqual"
58637
58638	// InventoryQueryOperatorTypeBeginWith is a InventoryQueryOperatorType enum value
58639	InventoryQueryOperatorTypeBeginWith = "BeginWith"
58640
58641	// InventoryQueryOperatorTypeLessThan is a InventoryQueryOperatorType enum value
58642	InventoryQueryOperatorTypeLessThan = "LessThan"
58643
58644	// InventoryQueryOperatorTypeGreaterThan is a InventoryQueryOperatorType enum value
58645	InventoryQueryOperatorTypeGreaterThan = "GreaterThan"
58646
58647	// InventoryQueryOperatorTypeExists is a InventoryQueryOperatorType enum value
58648	InventoryQueryOperatorTypeExists = "Exists"
58649)
58650
58651// InventoryQueryOperatorType_Values returns all elements of the InventoryQueryOperatorType enum
58652func InventoryQueryOperatorType_Values() []string {
58653	return []string{
58654		InventoryQueryOperatorTypeEqual,
58655		InventoryQueryOperatorTypeNotEqual,
58656		InventoryQueryOperatorTypeBeginWith,
58657		InventoryQueryOperatorTypeLessThan,
58658		InventoryQueryOperatorTypeGreaterThan,
58659		InventoryQueryOperatorTypeExists,
58660	}
58661}
58662
58663const (
58664	// InventorySchemaDeleteOptionDisableSchema is a InventorySchemaDeleteOption enum value
58665	InventorySchemaDeleteOptionDisableSchema = "DisableSchema"
58666
58667	// InventorySchemaDeleteOptionDeleteSchema is a InventorySchemaDeleteOption enum value
58668	InventorySchemaDeleteOptionDeleteSchema = "DeleteSchema"
58669)
58670
58671// InventorySchemaDeleteOption_Values returns all elements of the InventorySchemaDeleteOption enum
58672func InventorySchemaDeleteOption_Values() []string {
58673	return []string{
58674		InventorySchemaDeleteOptionDisableSchema,
58675		InventorySchemaDeleteOptionDeleteSchema,
58676	}
58677}
58678
58679const (
58680	// LastResourceDataSyncStatusSuccessful is a LastResourceDataSyncStatus enum value
58681	LastResourceDataSyncStatusSuccessful = "Successful"
58682
58683	// LastResourceDataSyncStatusFailed is a LastResourceDataSyncStatus enum value
58684	LastResourceDataSyncStatusFailed = "Failed"
58685
58686	// LastResourceDataSyncStatusInProgress is a LastResourceDataSyncStatus enum value
58687	LastResourceDataSyncStatusInProgress = "InProgress"
58688)
58689
58690// LastResourceDataSyncStatus_Values returns all elements of the LastResourceDataSyncStatus enum
58691func LastResourceDataSyncStatus_Values() []string {
58692	return []string{
58693		LastResourceDataSyncStatusSuccessful,
58694		LastResourceDataSyncStatusFailed,
58695		LastResourceDataSyncStatusInProgress,
58696	}
58697}
58698
58699const (
58700	// MaintenanceWindowExecutionStatusPending is a MaintenanceWindowExecutionStatus enum value
58701	MaintenanceWindowExecutionStatusPending = "PENDING"
58702
58703	// MaintenanceWindowExecutionStatusInProgress is a MaintenanceWindowExecutionStatus enum value
58704	MaintenanceWindowExecutionStatusInProgress = "IN_PROGRESS"
58705
58706	// MaintenanceWindowExecutionStatusSuccess is a MaintenanceWindowExecutionStatus enum value
58707	MaintenanceWindowExecutionStatusSuccess = "SUCCESS"
58708
58709	// MaintenanceWindowExecutionStatusFailed is a MaintenanceWindowExecutionStatus enum value
58710	MaintenanceWindowExecutionStatusFailed = "FAILED"
58711
58712	// MaintenanceWindowExecutionStatusTimedOut is a MaintenanceWindowExecutionStatus enum value
58713	MaintenanceWindowExecutionStatusTimedOut = "TIMED_OUT"
58714
58715	// MaintenanceWindowExecutionStatusCancelling is a MaintenanceWindowExecutionStatus enum value
58716	MaintenanceWindowExecutionStatusCancelling = "CANCELLING"
58717
58718	// MaintenanceWindowExecutionStatusCancelled is a MaintenanceWindowExecutionStatus enum value
58719	MaintenanceWindowExecutionStatusCancelled = "CANCELLED"
58720
58721	// MaintenanceWindowExecutionStatusSkippedOverlapping is a MaintenanceWindowExecutionStatus enum value
58722	MaintenanceWindowExecutionStatusSkippedOverlapping = "SKIPPED_OVERLAPPING"
58723)
58724
58725// MaintenanceWindowExecutionStatus_Values returns all elements of the MaintenanceWindowExecutionStatus enum
58726func MaintenanceWindowExecutionStatus_Values() []string {
58727	return []string{
58728		MaintenanceWindowExecutionStatusPending,
58729		MaintenanceWindowExecutionStatusInProgress,
58730		MaintenanceWindowExecutionStatusSuccess,
58731		MaintenanceWindowExecutionStatusFailed,
58732		MaintenanceWindowExecutionStatusTimedOut,
58733		MaintenanceWindowExecutionStatusCancelling,
58734		MaintenanceWindowExecutionStatusCancelled,
58735		MaintenanceWindowExecutionStatusSkippedOverlapping,
58736	}
58737}
58738
58739const (
58740	// MaintenanceWindowResourceTypeInstance is a MaintenanceWindowResourceType enum value
58741	MaintenanceWindowResourceTypeInstance = "INSTANCE"
58742
58743	// MaintenanceWindowResourceTypeResourceGroup is a MaintenanceWindowResourceType enum value
58744	MaintenanceWindowResourceTypeResourceGroup = "RESOURCE_GROUP"
58745)
58746
58747// MaintenanceWindowResourceType_Values returns all elements of the MaintenanceWindowResourceType enum
58748func MaintenanceWindowResourceType_Values() []string {
58749	return []string{
58750		MaintenanceWindowResourceTypeInstance,
58751		MaintenanceWindowResourceTypeResourceGroup,
58752	}
58753}
58754
58755const (
58756	// MaintenanceWindowTaskCutoffBehaviorContinueTask is a MaintenanceWindowTaskCutoffBehavior enum value
58757	MaintenanceWindowTaskCutoffBehaviorContinueTask = "CONTINUE_TASK"
58758
58759	// MaintenanceWindowTaskCutoffBehaviorCancelTask is a MaintenanceWindowTaskCutoffBehavior enum value
58760	MaintenanceWindowTaskCutoffBehaviorCancelTask = "CANCEL_TASK"
58761)
58762
58763// MaintenanceWindowTaskCutoffBehavior_Values returns all elements of the MaintenanceWindowTaskCutoffBehavior enum
58764func MaintenanceWindowTaskCutoffBehavior_Values() []string {
58765	return []string{
58766		MaintenanceWindowTaskCutoffBehaviorContinueTask,
58767		MaintenanceWindowTaskCutoffBehaviorCancelTask,
58768	}
58769}
58770
58771const (
58772	// MaintenanceWindowTaskTypeRunCommand is a MaintenanceWindowTaskType enum value
58773	MaintenanceWindowTaskTypeRunCommand = "RUN_COMMAND"
58774
58775	// MaintenanceWindowTaskTypeAutomation is a MaintenanceWindowTaskType enum value
58776	MaintenanceWindowTaskTypeAutomation = "AUTOMATION"
58777
58778	// MaintenanceWindowTaskTypeStepFunctions is a MaintenanceWindowTaskType enum value
58779	MaintenanceWindowTaskTypeStepFunctions = "STEP_FUNCTIONS"
58780
58781	// MaintenanceWindowTaskTypeLambda is a MaintenanceWindowTaskType enum value
58782	MaintenanceWindowTaskTypeLambda = "LAMBDA"
58783)
58784
58785// MaintenanceWindowTaskType_Values returns all elements of the MaintenanceWindowTaskType enum
58786func MaintenanceWindowTaskType_Values() []string {
58787	return []string{
58788		MaintenanceWindowTaskTypeRunCommand,
58789		MaintenanceWindowTaskTypeAutomation,
58790		MaintenanceWindowTaskTypeStepFunctions,
58791		MaintenanceWindowTaskTypeLambda,
58792	}
58793}
58794
58795const (
58796	// NotificationEventAll is a NotificationEvent enum value
58797	NotificationEventAll = "All"
58798
58799	// NotificationEventInProgress is a NotificationEvent enum value
58800	NotificationEventInProgress = "InProgress"
58801
58802	// NotificationEventSuccess is a NotificationEvent enum value
58803	NotificationEventSuccess = "Success"
58804
58805	// NotificationEventTimedOut is a NotificationEvent enum value
58806	NotificationEventTimedOut = "TimedOut"
58807
58808	// NotificationEventCancelled is a NotificationEvent enum value
58809	NotificationEventCancelled = "Cancelled"
58810
58811	// NotificationEventFailed is a NotificationEvent enum value
58812	NotificationEventFailed = "Failed"
58813)
58814
58815// NotificationEvent_Values returns all elements of the NotificationEvent enum
58816func NotificationEvent_Values() []string {
58817	return []string{
58818		NotificationEventAll,
58819		NotificationEventInProgress,
58820		NotificationEventSuccess,
58821		NotificationEventTimedOut,
58822		NotificationEventCancelled,
58823		NotificationEventFailed,
58824	}
58825}
58826
58827const (
58828	// NotificationTypeCommand is a NotificationType enum value
58829	NotificationTypeCommand = "Command"
58830
58831	// NotificationTypeInvocation is a NotificationType enum value
58832	NotificationTypeInvocation = "Invocation"
58833)
58834
58835// NotificationType_Values returns all elements of the NotificationType enum
58836func NotificationType_Values() []string {
58837	return []string{
58838		NotificationTypeCommand,
58839		NotificationTypeInvocation,
58840	}
58841}
58842
58843const (
58844	// OperatingSystemWindows is a OperatingSystem enum value
58845	OperatingSystemWindows = "WINDOWS"
58846
58847	// OperatingSystemAmazonLinux is a OperatingSystem enum value
58848	OperatingSystemAmazonLinux = "AMAZON_LINUX"
58849
58850	// OperatingSystemAmazonLinux2 is a OperatingSystem enum value
58851	OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2"
58852
58853	// OperatingSystemUbuntu is a OperatingSystem enum value
58854	OperatingSystemUbuntu = "UBUNTU"
58855
58856	// OperatingSystemRedhatEnterpriseLinux is a OperatingSystem enum value
58857	OperatingSystemRedhatEnterpriseLinux = "REDHAT_ENTERPRISE_LINUX"
58858
58859	// OperatingSystemSuse is a OperatingSystem enum value
58860	OperatingSystemSuse = "SUSE"
58861
58862	// OperatingSystemCentos is a OperatingSystem enum value
58863	OperatingSystemCentos = "CENTOS"
58864
58865	// OperatingSystemOracleLinux is a OperatingSystem enum value
58866	OperatingSystemOracleLinux = "ORACLE_LINUX"
58867
58868	// OperatingSystemDebian is a OperatingSystem enum value
58869	OperatingSystemDebian = "DEBIAN"
58870
58871	// OperatingSystemMacos is a OperatingSystem enum value
58872	OperatingSystemMacos = "MACOS"
58873)
58874
58875// OperatingSystem_Values returns all elements of the OperatingSystem enum
58876func OperatingSystem_Values() []string {
58877	return []string{
58878		OperatingSystemWindows,
58879		OperatingSystemAmazonLinux,
58880		OperatingSystemAmazonLinux2,
58881		OperatingSystemUbuntu,
58882		OperatingSystemRedhatEnterpriseLinux,
58883		OperatingSystemSuse,
58884		OperatingSystemCentos,
58885		OperatingSystemOracleLinux,
58886		OperatingSystemDebian,
58887		OperatingSystemMacos,
58888	}
58889}
58890
58891const (
58892	// OpsFilterOperatorTypeEqual is a OpsFilterOperatorType enum value
58893	OpsFilterOperatorTypeEqual = "Equal"
58894
58895	// OpsFilterOperatorTypeNotEqual is a OpsFilterOperatorType enum value
58896	OpsFilterOperatorTypeNotEqual = "NotEqual"
58897
58898	// OpsFilterOperatorTypeBeginWith is a OpsFilterOperatorType enum value
58899	OpsFilterOperatorTypeBeginWith = "BeginWith"
58900
58901	// OpsFilterOperatorTypeLessThan is a OpsFilterOperatorType enum value
58902	OpsFilterOperatorTypeLessThan = "LessThan"
58903
58904	// OpsFilterOperatorTypeGreaterThan is a OpsFilterOperatorType enum value
58905	OpsFilterOperatorTypeGreaterThan = "GreaterThan"
58906
58907	// OpsFilterOperatorTypeExists is a OpsFilterOperatorType enum value
58908	OpsFilterOperatorTypeExists = "Exists"
58909)
58910
58911// OpsFilterOperatorType_Values returns all elements of the OpsFilterOperatorType enum
58912func OpsFilterOperatorType_Values() []string {
58913	return []string{
58914		OpsFilterOperatorTypeEqual,
58915		OpsFilterOperatorTypeNotEqual,
58916		OpsFilterOperatorTypeBeginWith,
58917		OpsFilterOperatorTypeLessThan,
58918		OpsFilterOperatorTypeGreaterThan,
58919		OpsFilterOperatorTypeExists,
58920	}
58921}
58922
58923const (
58924	// OpsItemDataTypeSearchableString is a OpsItemDataType enum value
58925	OpsItemDataTypeSearchableString = "SearchableString"
58926
58927	// OpsItemDataTypeString is a OpsItemDataType enum value
58928	OpsItemDataTypeString = "String"
58929)
58930
58931// OpsItemDataType_Values returns all elements of the OpsItemDataType enum
58932func OpsItemDataType_Values() []string {
58933	return []string{
58934		OpsItemDataTypeSearchableString,
58935		OpsItemDataTypeString,
58936	}
58937}
58938
58939const (
58940	// OpsItemEventFilterKeyOpsItemId is a OpsItemEventFilterKey enum value
58941	OpsItemEventFilterKeyOpsItemId = "OpsItemId"
58942)
58943
58944// OpsItemEventFilterKey_Values returns all elements of the OpsItemEventFilterKey enum
58945func OpsItemEventFilterKey_Values() []string {
58946	return []string{
58947		OpsItemEventFilterKeyOpsItemId,
58948	}
58949}
58950
58951const (
58952	// OpsItemEventFilterOperatorEqual is a OpsItemEventFilterOperator enum value
58953	OpsItemEventFilterOperatorEqual = "Equal"
58954)
58955
58956// OpsItemEventFilterOperator_Values returns all elements of the OpsItemEventFilterOperator enum
58957func OpsItemEventFilterOperator_Values() []string {
58958	return []string{
58959		OpsItemEventFilterOperatorEqual,
58960	}
58961}
58962
58963const (
58964	// OpsItemFilterKeyStatus is a OpsItemFilterKey enum value
58965	OpsItemFilterKeyStatus = "Status"
58966
58967	// OpsItemFilterKeyCreatedBy is a OpsItemFilterKey enum value
58968	OpsItemFilterKeyCreatedBy = "CreatedBy"
58969
58970	// OpsItemFilterKeySource is a OpsItemFilterKey enum value
58971	OpsItemFilterKeySource = "Source"
58972
58973	// OpsItemFilterKeyPriority is a OpsItemFilterKey enum value
58974	OpsItemFilterKeyPriority = "Priority"
58975
58976	// OpsItemFilterKeyTitle is a OpsItemFilterKey enum value
58977	OpsItemFilterKeyTitle = "Title"
58978
58979	// OpsItemFilterKeyOpsItemId is a OpsItemFilterKey enum value
58980	OpsItemFilterKeyOpsItemId = "OpsItemId"
58981
58982	// OpsItemFilterKeyCreatedTime is a OpsItemFilterKey enum value
58983	OpsItemFilterKeyCreatedTime = "CreatedTime"
58984
58985	// OpsItemFilterKeyLastModifiedTime is a OpsItemFilterKey enum value
58986	OpsItemFilterKeyLastModifiedTime = "LastModifiedTime"
58987
58988	// OpsItemFilterKeyActualStartTime is a OpsItemFilterKey enum value
58989	OpsItemFilterKeyActualStartTime = "ActualStartTime"
58990
58991	// OpsItemFilterKeyActualEndTime is a OpsItemFilterKey enum value
58992	OpsItemFilterKeyActualEndTime = "ActualEndTime"
58993
58994	// OpsItemFilterKeyPlannedStartTime is a OpsItemFilterKey enum value
58995	OpsItemFilterKeyPlannedStartTime = "PlannedStartTime"
58996
58997	// OpsItemFilterKeyPlannedEndTime is a OpsItemFilterKey enum value
58998	OpsItemFilterKeyPlannedEndTime = "PlannedEndTime"
58999
59000	// OpsItemFilterKeyOperationalData is a OpsItemFilterKey enum value
59001	OpsItemFilterKeyOperationalData = "OperationalData"
59002
59003	// OpsItemFilterKeyOperationalDataKey is a OpsItemFilterKey enum value
59004	OpsItemFilterKeyOperationalDataKey = "OperationalDataKey"
59005
59006	// OpsItemFilterKeyOperationalDataValue is a OpsItemFilterKey enum value
59007	OpsItemFilterKeyOperationalDataValue = "OperationalDataValue"
59008
59009	// OpsItemFilterKeyResourceId is a OpsItemFilterKey enum value
59010	OpsItemFilterKeyResourceId = "ResourceId"
59011
59012	// OpsItemFilterKeyAutomationId is a OpsItemFilterKey enum value
59013	OpsItemFilterKeyAutomationId = "AutomationId"
59014
59015	// OpsItemFilterKeyCategory is a OpsItemFilterKey enum value
59016	OpsItemFilterKeyCategory = "Category"
59017
59018	// OpsItemFilterKeySeverity is a OpsItemFilterKey enum value
59019	OpsItemFilterKeySeverity = "Severity"
59020
59021	// OpsItemFilterKeyOpsItemType is a OpsItemFilterKey enum value
59022	OpsItemFilterKeyOpsItemType = "OpsItemType"
59023
59024	// OpsItemFilterKeyChangeRequestByRequesterArn is a OpsItemFilterKey enum value
59025	OpsItemFilterKeyChangeRequestByRequesterArn = "ChangeRequestByRequesterArn"
59026
59027	// OpsItemFilterKeyChangeRequestByRequesterName is a OpsItemFilterKey enum value
59028	OpsItemFilterKeyChangeRequestByRequesterName = "ChangeRequestByRequesterName"
59029
59030	// OpsItemFilterKeyChangeRequestByApproverArn is a OpsItemFilterKey enum value
59031	OpsItemFilterKeyChangeRequestByApproverArn = "ChangeRequestByApproverArn"
59032
59033	// OpsItemFilterKeyChangeRequestByApproverName is a OpsItemFilterKey enum value
59034	OpsItemFilterKeyChangeRequestByApproverName = "ChangeRequestByApproverName"
59035
59036	// OpsItemFilterKeyChangeRequestByTemplate is a OpsItemFilterKey enum value
59037	OpsItemFilterKeyChangeRequestByTemplate = "ChangeRequestByTemplate"
59038
59039	// OpsItemFilterKeyChangeRequestByTargetsResourceGroup is a OpsItemFilterKey enum value
59040	OpsItemFilterKeyChangeRequestByTargetsResourceGroup = "ChangeRequestByTargetsResourceGroup"
59041
59042	// OpsItemFilterKeyInsightByType is a OpsItemFilterKey enum value
59043	OpsItemFilterKeyInsightByType = "InsightByType"
59044)
59045
59046// OpsItemFilterKey_Values returns all elements of the OpsItemFilterKey enum
59047func OpsItemFilterKey_Values() []string {
59048	return []string{
59049		OpsItemFilterKeyStatus,
59050		OpsItemFilterKeyCreatedBy,
59051		OpsItemFilterKeySource,
59052		OpsItemFilterKeyPriority,
59053		OpsItemFilterKeyTitle,
59054		OpsItemFilterKeyOpsItemId,
59055		OpsItemFilterKeyCreatedTime,
59056		OpsItemFilterKeyLastModifiedTime,
59057		OpsItemFilterKeyActualStartTime,
59058		OpsItemFilterKeyActualEndTime,
59059		OpsItemFilterKeyPlannedStartTime,
59060		OpsItemFilterKeyPlannedEndTime,
59061		OpsItemFilterKeyOperationalData,
59062		OpsItemFilterKeyOperationalDataKey,
59063		OpsItemFilterKeyOperationalDataValue,
59064		OpsItemFilterKeyResourceId,
59065		OpsItemFilterKeyAutomationId,
59066		OpsItemFilterKeyCategory,
59067		OpsItemFilterKeySeverity,
59068		OpsItemFilterKeyOpsItemType,
59069		OpsItemFilterKeyChangeRequestByRequesterArn,
59070		OpsItemFilterKeyChangeRequestByRequesterName,
59071		OpsItemFilterKeyChangeRequestByApproverArn,
59072		OpsItemFilterKeyChangeRequestByApproverName,
59073		OpsItemFilterKeyChangeRequestByTemplate,
59074		OpsItemFilterKeyChangeRequestByTargetsResourceGroup,
59075		OpsItemFilterKeyInsightByType,
59076	}
59077}
59078
59079const (
59080	// OpsItemFilterOperatorEqual is a OpsItemFilterOperator enum value
59081	OpsItemFilterOperatorEqual = "Equal"
59082
59083	// OpsItemFilterOperatorContains is a OpsItemFilterOperator enum value
59084	OpsItemFilterOperatorContains = "Contains"
59085
59086	// OpsItemFilterOperatorGreaterThan is a OpsItemFilterOperator enum value
59087	OpsItemFilterOperatorGreaterThan = "GreaterThan"
59088
59089	// OpsItemFilterOperatorLessThan is a OpsItemFilterOperator enum value
59090	OpsItemFilterOperatorLessThan = "LessThan"
59091)
59092
59093// OpsItemFilterOperator_Values returns all elements of the OpsItemFilterOperator enum
59094func OpsItemFilterOperator_Values() []string {
59095	return []string{
59096		OpsItemFilterOperatorEqual,
59097		OpsItemFilterOperatorContains,
59098		OpsItemFilterOperatorGreaterThan,
59099		OpsItemFilterOperatorLessThan,
59100	}
59101}
59102
59103const (
59104	// OpsItemRelatedItemsFilterKeyResourceType is a OpsItemRelatedItemsFilterKey enum value
59105	OpsItemRelatedItemsFilterKeyResourceType = "ResourceType"
59106
59107	// OpsItemRelatedItemsFilterKeyAssociationId is a OpsItemRelatedItemsFilterKey enum value
59108	OpsItemRelatedItemsFilterKeyAssociationId = "AssociationId"
59109
59110	// OpsItemRelatedItemsFilterKeyResourceUri is a OpsItemRelatedItemsFilterKey enum value
59111	OpsItemRelatedItemsFilterKeyResourceUri = "ResourceUri"
59112)
59113
59114// OpsItemRelatedItemsFilterKey_Values returns all elements of the OpsItemRelatedItemsFilterKey enum
59115func OpsItemRelatedItemsFilterKey_Values() []string {
59116	return []string{
59117		OpsItemRelatedItemsFilterKeyResourceType,
59118		OpsItemRelatedItemsFilterKeyAssociationId,
59119		OpsItemRelatedItemsFilterKeyResourceUri,
59120	}
59121}
59122
59123const (
59124	// OpsItemRelatedItemsFilterOperatorEqual is a OpsItemRelatedItemsFilterOperator enum value
59125	OpsItemRelatedItemsFilterOperatorEqual = "Equal"
59126)
59127
59128// OpsItemRelatedItemsFilterOperator_Values returns all elements of the OpsItemRelatedItemsFilterOperator enum
59129func OpsItemRelatedItemsFilterOperator_Values() []string {
59130	return []string{
59131		OpsItemRelatedItemsFilterOperatorEqual,
59132	}
59133}
59134
59135const (
59136	// OpsItemStatusOpen is a OpsItemStatus enum value
59137	OpsItemStatusOpen = "Open"
59138
59139	// OpsItemStatusInProgress is a OpsItemStatus enum value
59140	OpsItemStatusInProgress = "InProgress"
59141
59142	// OpsItemStatusResolved is a OpsItemStatus enum value
59143	OpsItemStatusResolved = "Resolved"
59144
59145	// OpsItemStatusPending is a OpsItemStatus enum value
59146	OpsItemStatusPending = "Pending"
59147
59148	// OpsItemStatusTimedOut is a OpsItemStatus enum value
59149	OpsItemStatusTimedOut = "TimedOut"
59150
59151	// OpsItemStatusCancelling is a OpsItemStatus enum value
59152	OpsItemStatusCancelling = "Cancelling"
59153
59154	// OpsItemStatusCancelled is a OpsItemStatus enum value
59155	OpsItemStatusCancelled = "Cancelled"
59156
59157	// OpsItemStatusFailed is a OpsItemStatus enum value
59158	OpsItemStatusFailed = "Failed"
59159
59160	// OpsItemStatusCompletedWithSuccess is a OpsItemStatus enum value
59161	OpsItemStatusCompletedWithSuccess = "CompletedWithSuccess"
59162
59163	// OpsItemStatusCompletedWithFailure is a OpsItemStatus enum value
59164	OpsItemStatusCompletedWithFailure = "CompletedWithFailure"
59165
59166	// OpsItemStatusScheduled is a OpsItemStatus enum value
59167	OpsItemStatusScheduled = "Scheduled"
59168
59169	// OpsItemStatusRunbookInProgress is a OpsItemStatus enum value
59170	OpsItemStatusRunbookInProgress = "RunbookInProgress"
59171
59172	// OpsItemStatusPendingChangeCalendarOverride is a OpsItemStatus enum value
59173	OpsItemStatusPendingChangeCalendarOverride = "PendingChangeCalendarOverride"
59174
59175	// OpsItemStatusChangeCalendarOverrideApproved is a OpsItemStatus enum value
59176	OpsItemStatusChangeCalendarOverrideApproved = "ChangeCalendarOverrideApproved"
59177
59178	// OpsItemStatusChangeCalendarOverrideRejected is a OpsItemStatus enum value
59179	OpsItemStatusChangeCalendarOverrideRejected = "ChangeCalendarOverrideRejected"
59180
59181	// OpsItemStatusPendingApproval is a OpsItemStatus enum value
59182	OpsItemStatusPendingApproval = "PendingApproval"
59183
59184	// OpsItemStatusApproved is a OpsItemStatus enum value
59185	OpsItemStatusApproved = "Approved"
59186
59187	// OpsItemStatusRejected is a OpsItemStatus enum value
59188	OpsItemStatusRejected = "Rejected"
59189
59190	// OpsItemStatusClosed is a OpsItemStatus enum value
59191	OpsItemStatusClosed = "Closed"
59192)
59193
59194// OpsItemStatus_Values returns all elements of the OpsItemStatus enum
59195func OpsItemStatus_Values() []string {
59196	return []string{
59197		OpsItemStatusOpen,
59198		OpsItemStatusInProgress,
59199		OpsItemStatusResolved,
59200		OpsItemStatusPending,
59201		OpsItemStatusTimedOut,
59202		OpsItemStatusCancelling,
59203		OpsItemStatusCancelled,
59204		OpsItemStatusFailed,
59205		OpsItemStatusCompletedWithSuccess,
59206		OpsItemStatusCompletedWithFailure,
59207		OpsItemStatusScheduled,
59208		OpsItemStatusRunbookInProgress,
59209		OpsItemStatusPendingChangeCalendarOverride,
59210		OpsItemStatusChangeCalendarOverrideApproved,
59211		OpsItemStatusChangeCalendarOverrideRejected,
59212		OpsItemStatusPendingApproval,
59213		OpsItemStatusApproved,
59214		OpsItemStatusRejected,
59215		OpsItemStatusClosed,
59216	}
59217}
59218
59219const (
59220	// ParameterTierStandard is a ParameterTier enum value
59221	ParameterTierStandard = "Standard"
59222
59223	// ParameterTierAdvanced is a ParameterTier enum value
59224	ParameterTierAdvanced = "Advanced"
59225
59226	// ParameterTierIntelligentTiering is a ParameterTier enum value
59227	ParameterTierIntelligentTiering = "Intelligent-Tiering"
59228)
59229
59230// ParameterTier_Values returns all elements of the ParameterTier enum
59231func ParameterTier_Values() []string {
59232	return []string{
59233		ParameterTierStandard,
59234		ParameterTierAdvanced,
59235		ParameterTierIntelligentTiering,
59236	}
59237}
59238
59239const (
59240	// ParameterTypeString is a ParameterType enum value
59241	ParameterTypeString = "String"
59242
59243	// ParameterTypeStringList is a ParameterType enum value
59244	ParameterTypeStringList = "StringList"
59245
59246	// ParameterTypeSecureString is a ParameterType enum value
59247	ParameterTypeSecureString = "SecureString"
59248)
59249
59250// ParameterType_Values returns all elements of the ParameterType enum
59251func ParameterType_Values() []string {
59252	return []string{
59253		ParameterTypeString,
59254		ParameterTypeStringList,
59255		ParameterTypeSecureString,
59256	}
59257}
59258
59259const (
59260	// ParametersFilterKeyName is a ParametersFilterKey enum value
59261	ParametersFilterKeyName = "Name"
59262
59263	// ParametersFilterKeyType is a ParametersFilterKey enum value
59264	ParametersFilterKeyType = "Type"
59265
59266	// ParametersFilterKeyKeyId is a ParametersFilterKey enum value
59267	ParametersFilterKeyKeyId = "KeyId"
59268)
59269
59270// ParametersFilterKey_Values returns all elements of the ParametersFilterKey enum
59271func ParametersFilterKey_Values() []string {
59272	return []string{
59273		ParametersFilterKeyName,
59274		ParametersFilterKeyType,
59275		ParametersFilterKeyKeyId,
59276	}
59277}
59278
59279const (
59280	// PatchActionAllowAsDependency is a PatchAction enum value
59281	PatchActionAllowAsDependency = "ALLOW_AS_DEPENDENCY"
59282
59283	// PatchActionBlock is a PatchAction enum value
59284	PatchActionBlock = "BLOCK"
59285)
59286
59287// PatchAction_Values returns all elements of the PatchAction enum
59288func PatchAction_Values() []string {
59289	return []string{
59290		PatchActionAllowAsDependency,
59291		PatchActionBlock,
59292	}
59293}
59294
59295const (
59296	// PatchComplianceDataStateInstalled is a PatchComplianceDataState enum value
59297	PatchComplianceDataStateInstalled = "INSTALLED"
59298
59299	// PatchComplianceDataStateInstalledOther is a PatchComplianceDataState enum value
59300	PatchComplianceDataStateInstalledOther = "INSTALLED_OTHER"
59301
59302	// PatchComplianceDataStateInstalledPendingReboot is a PatchComplianceDataState enum value
59303	PatchComplianceDataStateInstalledPendingReboot = "INSTALLED_PENDING_REBOOT"
59304
59305	// PatchComplianceDataStateInstalledRejected is a PatchComplianceDataState enum value
59306	PatchComplianceDataStateInstalledRejected = "INSTALLED_REJECTED"
59307
59308	// PatchComplianceDataStateMissing is a PatchComplianceDataState enum value
59309	PatchComplianceDataStateMissing = "MISSING"
59310
59311	// PatchComplianceDataStateNotApplicable is a PatchComplianceDataState enum value
59312	PatchComplianceDataStateNotApplicable = "NOT_APPLICABLE"
59313
59314	// PatchComplianceDataStateFailed is a PatchComplianceDataState enum value
59315	PatchComplianceDataStateFailed = "FAILED"
59316)
59317
59318// PatchComplianceDataState_Values returns all elements of the PatchComplianceDataState enum
59319func PatchComplianceDataState_Values() []string {
59320	return []string{
59321		PatchComplianceDataStateInstalled,
59322		PatchComplianceDataStateInstalledOther,
59323		PatchComplianceDataStateInstalledPendingReboot,
59324		PatchComplianceDataStateInstalledRejected,
59325		PatchComplianceDataStateMissing,
59326		PatchComplianceDataStateNotApplicable,
59327		PatchComplianceDataStateFailed,
59328	}
59329}
59330
59331const (
59332	// PatchComplianceLevelCritical is a PatchComplianceLevel enum value
59333	PatchComplianceLevelCritical = "CRITICAL"
59334
59335	// PatchComplianceLevelHigh is a PatchComplianceLevel enum value
59336	PatchComplianceLevelHigh = "HIGH"
59337
59338	// PatchComplianceLevelMedium is a PatchComplianceLevel enum value
59339	PatchComplianceLevelMedium = "MEDIUM"
59340
59341	// PatchComplianceLevelLow is a PatchComplianceLevel enum value
59342	PatchComplianceLevelLow = "LOW"
59343
59344	// PatchComplianceLevelInformational is a PatchComplianceLevel enum value
59345	PatchComplianceLevelInformational = "INFORMATIONAL"
59346
59347	// PatchComplianceLevelUnspecified is a PatchComplianceLevel enum value
59348	PatchComplianceLevelUnspecified = "UNSPECIFIED"
59349)
59350
59351// PatchComplianceLevel_Values returns all elements of the PatchComplianceLevel enum
59352func PatchComplianceLevel_Values() []string {
59353	return []string{
59354		PatchComplianceLevelCritical,
59355		PatchComplianceLevelHigh,
59356		PatchComplianceLevelMedium,
59357		PatchComplianceLevelLow,
59358		PatchComplianceLevelInformational,
59359		PatchComplianceLevelUnspecified,
59360	}
59361}
59362
59363const (
59364	// PatchDeploymentStatusApproved is a PatchDeploymentStatus enum value
59365	PatchDeploymentStatusApproved = "APPROVED"
59366
59367	// PatchDeploymentStatusPendingApproval is a PatchDeploymentStatus enum value
59368	PatchDeploymentStatusPendingApproval = "PENDING_APPROVAL"
59369
59370	// PatchDeploymentStatusExplicitApproved is a PatchDeploymentStatus enum value
59371	PatchDeploymentStatusExplicitApproved = "EXPLICIT_APPROVED"
59372
59373	// PatchDeploymentStatusExplicitRejected is a PatchDeploymentStatus enum value
59374	PatchDeploymentStatusExplicitRejected = "EXPLICIT_REJECTED"
59375)
59376
59377// PatchDeploymentStatus_Values returns all elements of the PatchDeploymentStatus enum
59378func PatchDeploymentStatus_Values() []string {
59379	return []string{
59380		PatchDeploymentStatusApproved,
59381		PatchDeploymentStatusPendingApproval,
59382		PatchDeploymentStatusExplicitApproved,
59383		PatchDeploymentStatusExplicitRejected,
59384	}
59385}
59386
59387const (
59388	// PatchFilterKeyArch is a PatchFilterKey enum value
59389	PatchFilterKeyArch = "ARCH"
59390
59391	// PatchFilterKeyAdvisoryId is a PatchFilterKey enum value
59392	PatchFilterKeyAdvisoryId = "ADVISORY_ID"
59393
59394	// PatchFilterKeyBugzillaId is a PatchFilterKey enum value
59395	PatchFilterKeyBugzillaId = "BUGZILLA_ID"
59396
59397	// PatchFilterKeyPatchSet is a PatchFilterKey enum value
59398	PatchFilterKeyPatchSet = "PATCH_SET"
59399
59400	// PatchFilterKeyProduct is a PatchFilterKey enum value
59401	PatchFilterKeyProduct = "PRODUCT"
59402
59403	// PatchFilterKeyProductFamily is a PatchFilterKey enum value
59404	PatchFilterKeyProductFamily = "PRODUCT_FAMILY"
59405
59406	// PatchFilterKeyClassification is a PatchFilterKey enum value
59407	PatchFilterKeyClassification = "CLASSIFICATION"
59408
59409	// PatchFilterKeyCveId is a PatchFilterKey enum value
59410	PatchFilterKeyCveId = "CVE_ID"
59411
59412	// PatchFilterKeyEpoch is a PatchFilterKey enum value
59413	PatchFilterKeyEpoch = "EPOCH"
59414
59415	// PatchFilterKeyMsrcSeverity is a PatchFilterKey enum value
59416	PatchFilterKeyMsrcSeverity = "MSRC_SEVERITY"
59417
59418	// PatchFilterKeyName is a PatchFilterKey enum value
59419	PatchFilterKeyName = "NAME"
59420
59421	// PatchFilterKeyPatchId is a PatchFilterKey enum value
59422	PatchFilterKeyPatchId = "PATCH_ID"
59423
59424	// PatchFilterKeySection is a PatchFilterKey enum value
59425	PatchFilterKeySection = "SECTION"
59426
59427	// PatchFilterKeyPriority is a PatchFilterKey enum value
59428	PatchFilterKeyPriority = "PRIORITY"
59429
59430	// PatchFilterKeyRepository is a PatchFilterKey enum value
59431	PatchFilterKeyRepository = "REPOSITORY"
59432
59433	// PatchFilterKeyRelease is a PatchFilterKey enum value
59434	PatchFilterKeyRelease = "RELEASE"
59435
59436	// PatchFilterKeySeverity is a PatchFilterKey enum value
59437	PatchFilterKeySeverity = "SEVERITY"
59438
59439	// PatchFilterKeySecurity is a PatchFilterKey enum value
59440	PatchFilterKeySecurity = "SECURITY"
59441
59442	// PatchFilterKeyVersion is a PatchFilterKey enum value
59443	PatchFilterKeyVersion = "VERSION"
59444)
59445
59446// PatchFilterKey_Values returns all elements of the PatchFilterKey enum
59447func PatchFilterKey_Values() []string {
59448	return []string{
59449		PatchFilterKeyArch,
59450		PatchFilterKeyAdvisoryId,
59451		PatchFilterKeyBugzillaId,
59452		PatchFilterKeyPatchSet,
59453		PatchFilterKeyProduct,
59454		PatchFilterKeyProductFamily,
59455		PatchFilterKeyClassification,
59456		PatchFilterKeyCveId,
59457		PatchFilterKeyEpoch,
59458		PatchFilterKeyMsrcSeverity,
59459		PatchFilterKeyName,
59460		PatchFilterKeyPatchId,
59461		PatchFilterKeySection,
59462		PatchFilterKeyPriority,
59463		PatchFilterKeyRepository,
59464		PatchFilterKeyRelease,
59465		PatchFilterKeySeverity,
59466		PatchFilterKeySecurity,
59467		PatchFilterKeyVersion,
59468	}
59469}
59470
59471const (
59472	// PatchOperationTypeScan is a PatchOperationType enum value
59473	PatchOperationTypeScan = "Scan"
59474
59475	// PatchOperationTypeInstall is a PatchOperationType enum value
59476	PatchOperationTypeInstall = "Install"
59477)
59478
59479// PatchOperationType_Values returns all elements of the PatchOperationType enum
59480func PatchOperationType_Values() []string {
59481	return []string{
59482		PatchOperationTypeScan,
59483		PatchOperationTypeInstall,
59484	}
59485}
59486
59487const (
59488	// PatchPropertyProduct is a PatchProperty enum value
59489	PatchPropertyProduct = "PRODUCT"
59490
59491	// PatchPropertyProductFamily is a PatchProperty enum value
59492	PatchPropertyProductFamily = "PRODUCT_FAMILY"
59493
59494	// PatchPropertyClassification is a PatchProperty enum value
59495	PatchPropertyClassification = "CLASSIFICATION"
59496
59497	// PatchPropertyMsrcSeverity is a PatchProperty enum value
59498	PatchPropertyMsrcSeverity = "MSRC_SEVERITY"
59499
59500	// PatchPropertyPriority is a PatchProperty enum value
59501	PatchPropertyPriority = "PRIORITY"
59502
59503	// PatchPropertySeverity is a PatchProperty enum value
59504	PatchPropertySeverity = "SEVERITY"
59505)
59506
59507// PatchProperty_Values returns all elements of the PatchProperty enum
59508func PatchProperty_Values() []string {
59509	return []string{
59510		PatchPropertyProduct,
59511		PatchPropertyProductFamily,
59512		PatchPropertyClassification,
59513		PatchPropertyMsrcSeverity,
59514		PatchPropertyPriority,
59515		PatchPropertySeverity,
59516	}
59517}
59518
59519const (
59520	// PatchSetOs is a PatchSet enum value
59521	PatchSetOs = "OS"
59522
59523	// PatchSetApplication is a PatchSet enum value
59524	PatchSetApplication = "APPLICATION"
59525)
59526
59527// PatchSet_Values returns all elements of the PatchSet enum
59528func PatchSet_Values() []string {
59529	return []string{
59530		PatchSetOs,
59531		PatchSetApplication,
59532	}
59533}
59534
59535const (
59536	// PingStatusOnline is a PingStatus enum value
59537	PingStatusOnline = "Online"
59538
59539	// PingStatusConnectionLost is a PingStatus enum value
59540	PingStatusConnectionLost = "ConnectionLost"
59541
59542	// PingStatusInactive is a PingStatus enum value
59543	PingStatusInactive = "Inactive"
59544)
59545
59546// PingStatus_Values returns all elements of the PingStatus enum
59547func PingStatus_Values() []string {
59548	return []string{
59549		PingStatusOnline,
59550		PingStatusConnectionLost,
59551		PingStatusInactive,
59552	}
59553}
59554
59555const (
59556	// PlatformTypeWindows is a PlatformType enum value
59557	PlatformTypeWindows = "Windows"
59558
59559	// PlatformTypeLinux is a PlatformType enum value
59560	PlatformTypeLinux = "Linux"
59561)
59562
59563// PlatformType_Values returns all elements of the PlatformType enum
59564func PlatformType_Values() []string {
59565	return []string{
59566		PlatformTypeWindows,
59567		PlatformTypeLinux,
59568	}
59569}
59570
59571const (
59572	// RebootOptionRebootIfNeeded is a RebootOption enum value
59573	RebootOptionRebootIfNeeded = "RebootIfNeeded"
59574
59575	// RebootOptionNoReboot is a RebootOption enum value
59576	RebootOptionNoReboot = "NoReboot"
59577)
59578
59579// RebootOption_Values returns all elements of the RebootOption enum
59580func RebootOption_Values() []string {
59581	return []string{
59582		RebootOptionRebootIfNeeded,
59583		RebootOptionNoReboot,
59584	}
59585}
59586
59587const (
59588	// ResourceDataSyncS3FormatJsonSerDe is a ResourceDataSyncS3Format enum value
59589	ResourceDataSyncS3FormatJsonSerDe = "JsonSerDe"
59590)
59591
59592// ResourceDataSyncS3Format_Values returns all elements of the ResourceDataSyncS3Format enum
59593func ResourceDataSyncS3Format_Values() []string {
59594	return []string{
59595		ResourceDataSyncS3FormatJsonSerDe,
59596	}
59597}
59598
59599const (
59600	// ResourceTypeManagedInstance is a ResourceType enum value
59601	ResourceTypeManagedInstance = "ManagedInstance"
59602
59603	// ResourceTypeDocument is a ResourceType enum value
59604	ResourceTypeDocument = "Document"
59605
59606	// ResourceTypeEc2instance is a ResourceType enum value
59607	ResourceTypeEc2instance = "EC2Instance"
59608)
59609
59610// ResourceType_Values returns all elements of the ResourceType enum
59611func ResourceType_Values() []string {
59612	return []string{
59613		ResourceTypeManagedInstance,
59614		ResourceTypeDocument,
59615		ResourceTypeEc2instance,
59616	}
59617}
59618
59619const (
59620	// ResourceTypeForTaggingDocument is a ResourceTypeForTagging enum value
59621	ResourceTypeForTaggingDocument = "Document"
59622
59623	// ResourceTypeForTaggingManagedInstance is a ResourceTypeForTagging enum value
59624	ResourceTypeForTaggingManagedInstance = "ManagedInstance"
59625
59626	// ResourceTypeForTaggingMaintenanceWindow is a ResourceTypeForTagging enum value
59627	ResourceTypeForTaggingMaintenanceWindow = "MaintenanceWindow"
59628
59629	// ResourceTypeForTaggingParameter is a ResourceTypeForTagging enum value
59630	ResourceTypeForTaggingParameter = "Parameter"
59631
59632	// ResourceTypeForTaggingPatchBaseline is a ResourceTypeForTagging enum value
59633	ResourceTypeForTaggingPatchBaseline = "PatchBaseline"
59634
59635	// ResourceTypeForTaggingOpsItem is a ResourceTypeForTagging enum value
59636	ResourceTypeForTaggingOpsItem = "OpsItem"
59637
59638	// ResourceTypeForTaggingOpsMetadata is a ResourceTypeForTagging enum value
59639	ResourceTypeForTaggingOpsMetadata = "OpsMetadata"
59640)
59641
59642// ResourceTypeForTagging_Values returns all elements of the ResourceTypeForTagging enum
59643func ResourceTypeForTagging_Values() []string {
59644	return []string{
59645		ResourceTypeForTaggingDocument,
59646		ResourceTypeForTaggingManagedInstance,
59647		ResourceTypeForTaggingMaintenanceWindow,
59648		ResourceTypeForTaggingParameter,
59649		ResourceTypeForTaggingPatchBaseline,
59650		ResourceTypeForTaggingOpsItem,
59651		ResourceTypeForTaggingOpsMetadata,
59652	}
59653}
59654
59655const (
59656	// ReviewStatusApproved is a ReviewStatus enum value
59657	ReviewStatusApproved = "APPROVED"
59658
59659	// ReviewStatusNotReviewed is a ReviewStatus enum value
59660	ReviewStatusNotReviewed = "NOT_REVIEWED"
59661
59662	// ReviewStatusPending is a ReviewStatus enum value
59663	ReviewStatusPending = "PENDING"
59664
59665	// ReviewStatusRejected is a ReviewStatus enum value
59666	ReviewStatusRejected = "REJECTED"
59667)
59668
59669// ReviewStatus_Values returns all elements of the ReviewStatus enum
59670func ReviewStatus_Values() []string {
59671	return []string{
59672		ReviewStatusApproved,
59673		ReviewStatusNotReviewed,
59674		ReviewStatusPending,
59675		ReviewStatusRejected,
59676	}
59677}
59678
59679const (
59680	// SessionFilterKeyInvokedAfter is a SessionFilterKey enum value
59681	SessionFilterKeyInvokedAfter = "InvokedAfter"
59682
59683	// SessionFilterKeyInvokedBefore is a SessionFilterKey enum value
59684	SessionFilterKeyInvokedBefore = "InvokedBefore"
59685
59686	// SessionFilterKeyTarget is a SessionFilterKey enum value
59687	SessionFilterKeyTarget = "Target"
59688
59689	// SessionFilterKeyOwner is a SessionFilterKey enum value
59690	SessionFilterKeyOwner = "Owner"
59691
59692	// SessionFilterKeyStatus is a SessionFilterKey enum value
59693	SessionFilterKeyStatus = "Status"
59694
59695	// SessionFilterKeySessionId is a SessionFilterKey enum value
59696	SessionFilterKeySessionId = "SessionId"
59697)
59698
59699// SessionFilterKey_Values returns all elements of the SessionFilterKey enum
59700func SessionFilterKey_Values() []string {
59701	return []string{
59702		SessionFilterKeyInvokedAfter,
59703		SessionFilterKeyInvokedBefore,
59704		SessionFilterKeyTarget,
59705		SessionFilterKeyOwner,
59706		SessionFilterKeyStatus,
59707		SessionFilterKeySessionId,
59708	}
59709}
59710
59711const (
59712	// SessionStateActive is a SessionState enum value
59713	SessionStateActive = "Active"
59714
59715	// SessionStateHistory is a SessionState enum value
59716	SessionStateHistory = "History"
59717)
59718
59719// SessionState_Values returns all elements of the SessionState enum
59720func SessionState_Values() []string {
59721	return []string{
59722		SessionStateActive,
59723		SessionStateHistory,
59724	}
59725}
59726
59727const (
59728	// SessionStatusConnected is a SessionStatus enum value
59729	SessionStatusConnected = "Connected"
59730
59731	// SessionStatusConnecting is a SessionStatus enum value
59732	SessionStatusConnecting = "Connecting"
59733
59734	// SessionStatusDisconnected is a SessionStatus enum value
59735	SessionStatusDisconnected = "Disconnected"
59736
59737	// SessionStatusTerminated is a SessionStatus enum value
59738	SessionStatusTerminated = "Terminated"
59739
59740	// SessionStatusTerminating is a SessionStatus enum value
59741	SessionStatusTerminating = "Terminating"
59742
59743	// SessionStatusFailed is a SessionStatus enum value
59744	SessionStatusFailed = "Failed"
59745)
59746
59747// SessionStatus_Values returns all elements of the SessionStatus enum
59748func SessionStatus_Values() []string {
59749	return []string{
59750		SessionStatusConnected,
59751		SessionStatusConnecting,
59752		SessionStatusDisconnected,
59753		SessionStatusTerminated,
59754		SessionStatusTerminating,
59755		SessionStatusFailed,
59756	}
59757}
59758
59759const (
59760	// SignalTypeApprove is a SignalType enum value
59761	SignalTypeApprove = "Approve"
59762
59763	// SignalTypeReject is a SignalType enum value
59764	SignalTypeReject = "Reject"
59765
59766	// SignalTypeStartStep is a SignalType enum value
59767	SignalTypeStartStep = "StartStep"
59768
59769	// SignalTypeStopStep is a SignalType enum value
59770	SignalTypeStopStep = "StopStep"
59771
59772	// SignalTypeResume is a SignalType enum value
59773	SignalTypeResume = "Resume"
59774)
59775
59776// SignalType_Values returns all elements of the SignalType enum
59777func SignalType_Values() []string {
59778	return []string{
59779		SignalTypeApprove,
59780		SignalTypeReject,
59781		SignalTypeStartStep,
59782		SignalTypeStopStep,
59783		SignalTypeResume,
59784	}
59785}
59786
59787const (
59788	// StepExecutionFilterKeyStartTimeBefore is a StepExecutionFilterKey enum value
59789	StepExecutionFilterKeyStartTimeBefore = "StartTimeBefore"
59790
59791	// StepExecutionFilterKeyStartTimeAfter is a StepExecutionFilterKey enum value
59792	StepExecutionFilterKeyStartTimeAfter = "StartTimeAfter"
59793
59794	// StepExecutionFilterKeyStepExecutionStatus is a StepExecutionFilterKey enum value
59795	StepExecutionFilterKeyStepExecutionStatus = "StepExecutionStatus"
59796
59797	// StepExecutionFilterKeyStepExecutionId is a StepExecutionFilterKey enum value
59798	StepExecutionFilterKeyStepExecutionId = "StepExecutionId"
59799
59800	// StepExecutionFilterKeyStepName is a StepExecutionFilterKey enum value
59801	StepExecutionFilterKeyStepName = "StepName"
59802
59803	// StepExecutionFilterKeyAction is a StepExecutionFilterKey enum value
59804	StepExecutionFilterKeyAction = "Action"
59805)
59806
59807// StepExecutionFilterKey_Values returns all elements of the StepExecutionFilterKey enum
59808func StepExecutionFilterKey_Values() []string {
59809	return []string{
59810		StepExecutionFilterKeyStartTimeBefore,
59811		StepExecutionFilterKeyStartTimeAfter,
59812		StepExecutionFilterKeyStepExecutionStatus,
59813		StepExecutionFilterKeyStepExecutionId,
59814		StepExecutionFilterKeyStepName,
59815		StepExecutionFilterKeyAction,
59816	}
59817}
59818
59819const (
59820	// StopTypeComplete is a StopType enum value
59821	StopTypeComplete = "Complete"
59822
59823	// StopTypeCancel is a StopType enum value
59824	StopTypeCancel = "Cancel"
59825)
59826
59827// StopType_Values returns all elements of the StopType enum
59828func StopType_Values() []string {
59829	return []string{
59830		StopTypeComplete,
59831		StopTypeCancel,
59832	}
59833}
59834