1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package ssmincidents
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/restjson"
14)
15
16const opCreateReplicationSet = "CreateReplicationSet"
17
18// CreateReplicationSetRequest generates a "aws/request.Request" representing the
19// client's request for the CreateReplicationSet 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 CreateReplicationSet for more information on using the CreateReplicationSet
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 CreateReplicationSetRequest method.
34//    req, resp := client.CreateReplicationSetRequest(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-incidents-2018-05-10/CreateReplicationSet
42func (c *SSMIncidents) CreateReplicationSetRequest(input *CreateReplicationSetInput) (req *request.Request, output *CreateReplicationSetOutput) {
43	op := &request.Operation{
44		Name:       opCreateReplicationSet,
45		HTTPMethod: "POST",
46		HTTPPath:   "/createReplicationSet",
47	}
48
49	if input == nil {
50		input = &CreateReplicationSetInput{}
51	}
52
53	output = &CreateReplicationSetOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateReplicationSet API operation for AWS Systems Manager Incident Manager.
59//
60// A replication set replicates and encrypts your data to the provided Regions
61// with the provided KMS key.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for AWS Systems Manager Incident Manager's
68// API operation CreateReplicationSet for usage and error information.
69//
70// Returned Error Types:
71//   * ServiceQuotaExceededException
72//   Request would cause a service quota to be exceeded.
73//
74//   * ThrottlingException
75//   The request was denied due to request throttling.
76//
77//   * AccessDeniedException
78//   You don't have sufficient access to perform this operation.
79//
80//   * ValidationException
81//   The input fails to satisfy the constraints specified by an Amazon Web Services
82//   service.
83//
84//   * ConflictException
85//   Updating or deleting a resource causes an inconsistent state.
86//
87//   * InternalServerException
88//   The request processing has failed because of an unknown error, exception
89//   or failure.
90//
91// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateReplicationSet
92func (c *SSMIncidents) CreateReplicationSet(input *CreateReplicationSetInput) (*CreateReplicationSetOutput, error) {
93	req, out := c.CreateReplicationSetRequest(input)
94	return out, req.Send()
95}
96
97// CreateReplicationSetWithContext is the same as CreateReplicationSet with the addition of
98// the ability to pass a context and additional request options.
99//
100// See CreateReplicationSet for details on how to use this API operation.
101//
102// The context must be non-nil and will be used for request cancellation. If
103// the context is nil a panic will occur. In the future the SDK may create
104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
105// for more information on using Contexts.
106func (c *SSMIncidents) CreateReplicationSetWithContext(ctx aws.Context, input *CreateReplicationSetInput, opts ...request.Option) (*CreateReplicationSetOutput, error) {
107	req, out := c.CreateReplicationSetRequest(input)
108	req.SetContext(ctx)
109	req.ApplyOptions(opts...)
110	return out, req.Send()
111}
112
113const opCreateResponsePlan = "CreateResponsePlan"
114
115// CreateResponsePlanRequest generates a "aws/request.Request" representing the
116// client's request for the CreateResponsePlan operation. The "output" return
117// value will be populated with the request's response once the request completes
118// successfully.
119//
120// Use "Send" method on the returned Request to send the API call to the service.
121// the "output" return value is not valid until after Send returns without error.
122//
123// See CreateResponsePlan for more information on using the CreateResponsePlan
124// API call, and error handling.
125//
126// This method is useful when you want to inject custom logic or configuration
127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
128//
129//
130//    // Example sending a request using the CreateResponsePlanRequest method.
131//    req, resp := client.CreateResponsePlanRequest(params)
132//
133//    err := req.Send()
134//    if err == nil { // resp is now filled
135//        fmt.Println(resp)
136//    }
137//
138// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateResponsePlan
139func (c *SSMIncidents) CreateResponsePlanRequest(input *CreateResponsePlanInput) (req *request.Request, output *CreateResponsePlanOutput) {
140	op := &request.Operation{
141		Name:       opCreateResponsePlan,
142		HTTPMethod: "POST",
143		HTTPPath:   "/createResponsePlan",
144	}
145
146	if input == nil {
147		input = &CreateResponsePlanInput{}
148	}
149
150	output = &CreateResponsePlanOutput{}
151	req = c.newRequest(op, input, output)
152	return
153}
154
155// CreateResponsePlan API operation for AWS Systems Manager Incident Manager.
156//
157// Creates a response plan that automates the initial response to incidents.
158// A response plan engages contacts, starts chat channel collaboration, and
159// initiates runbooks at the beginning of an incident.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for AWS Systems Manager Incident Manager's
166// API operation CreateResponsePlan for usage and error information.
167//
168// Returned Error Types:
169//   * ThrottlingException
170//   The request was denied due to request throttling.
171//
172//   * ResourceNotFoundException
173//   Request references a resource which doesn't exist.
174//
175//   * AccessDeniedException
176//   You don't have sufficient access to perform this operation.
177//
178//   * ValidationException
179//   The input fails to satisfy the constraints specified by an Amazon Web Services
180//   service.
181//
182//   * ConflictException
183//   Updating or deleting a resource causes an inconsistent state.
184//
185//   * InternalServerException
186//   The request processing has failed because of an unknown error, exception
187//   or failure.
188//
189// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateResponsePlan
190func (c *SSMIncidents) CreateResponsePlan(input *CreateResponsePlanInput) (*CreateResponsePlanOutput, error) {
191	req, out := c.CreateResponsePlanRequest(input)
192	return out, req.Send()
193}
194
195// CreateResponsePlanWithContext is the same as CreateResponsePlan with the addition of
196// the ability to pass a context and additional request options.
197//
198// See CreateResponsePlan for details on how to use this API operation.
199//
200// The context must be non-nil and will be used for request cancellation. If
201// the context is nil a panic will occur. In the future the SDK may create
202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
203// for more information on using Contexts.
204func (c *SSMIncidents) CreateResponsePlanWithContext(ctx aws.Context, input *CreateResponsePlanInput, opts ...request.Option) (*CreateResponsePlanOutput, error) {
205	req, out := c.CreateResponsePlanRequest(input)
206	req.SetContext(ctx)
207	req.ApplyOptions(opts...)
208	return out, req.Send()
209}
210
211const opCreateTimelineEvent = "CreateTimelineEvent"
212
213// CreateTimelineEventRequest generates a "aws/request.Request" representing the
214// client's request for the CreateTimelineEvent operation. The "output" return
215// value will be populated with the request's response once the request completes
216// successfully.
217//
218// Use "Send" method on the returned Request to send the API call to the service.
219// the "output" return value is not valid until after Send returns without error.
220//
221// See CreateTimelineEvent for more information on using the CreateTimelineEvent
222// API call, and error handling.
223//
224// This method is useful when you want to inject custom logic or configuration
225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
226//
227//
228//    // Example sending a request using the CreateTimelineEventRequest method.
229//    req, resp := client.CreateTimelineEventRequest(params)
230//
231//    err := req.Send()
232//    if err == nil { // resp is now filled
233//        fmt.Println(resp)
234//    }
235//
236// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateTimelineEvent
237func (c *SSMIncidents) CreateTimelineEventRequest(input *CreateTimelineEventInput) (req *request.Request, output *CreateTimelineEventOutput) {
238	op := &request.Operation{
239		Name:       opCreateTimelineEvent,
240		HTTPMethod: "POST",
241		HTTPPath:   "/createTimelineEvent",
242	}
243
244	if input == nil {
245		input = &CreateTimelineEventInput{}
246	}
247
248	output = &CreateTimelineEventOutput{}
249	req = c.newRequest(op, input, output)
250	return
251}
252
253// CreateTimelineEvent API operation for AWS Systems Manager Incident Manager.
254//
255// Creates a custom timeline event on the incident details page of an incident
256// record. Timeline events are automatically created by Incident Manager, marking
257// key moment during an incident. You can create custom timeline events to mark
258// important events that are automatically detected by Incident Manager.
259//
260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
261// with awserr.Error's Code and Message methods to get detailed information about
262// the error.
263//
264// See the AWS API reference guide for AWS Systems Manager Incident Manager's
265// API operation CreateTimelineEvent for usage and error information.
266//
267// Returned Error Types:
268//   * ThrottlingException
269//   The request was denied due to request throttling.
270//
271//   * ResourceNotFoundException
272//   Request references a resource which doesn't exist.
273//
274//   * AccessDeniedException
275//   You don't have sufficient access to perform this operation.
276//
277//   * ValidationException
278//   The input fails to satisfy the constraints specified by an Amazon Web Services
279//   service.
280//
281//   * ConflictException
282//   Updating or deleting a resource causes an inconsistent state.
283//
284//   * InternalServerException
285//   The request processing has failed because of an unknown error, exception
286//   or failure.
287//
288// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/CreateTimelineEvent
289func (c *SSMIncidents) CreateTimelineEvent(input *CreateTimelineEventInput) (*CreateTimelineEventOutput, error) {
290	req, out := c.CreateTimelineEventRequest(input)
291	return out, req.Send()
292}
293
294// CreateTimelineEventWithContext is the same as CreateTimelineEvent with the addition of
295// the ability to pass a context and additional request options.
296//
297// See CreateTimelineEvent for details on how to use this API operation.
298//
299// The context must be non-nil and will be used for request cancellation. If
300// the context is nil a panic will occur. In the future the SDK may create
301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
302// for more information on using Contexts.
303func (c *SSMIncidents) CreateTimelineEventWithContext(ctx aws.Context, input *CreateTimelineEventInput, opts ...request.Option) (*CreateTimelineEventOutput, error) {
304	req, out := c.CreateTimelineEventRequest(input)
305	req.SetContext(ctx)
306	req.ApplyOptions(opts...)
307	return out, req.Send()
308}
309
310const opDeleteIncidentRecord = "DeleteIncidentRecord"
311
312// DeleteIncidentRecordRequest generates a "aws/request.Request" representing the
313// client's request for the DeleteIncidentRecord operation. The "output" return
314// value will be populated with the request's response once the request completes
315// successfully.
316//
317// Use "Send" method on the returned Request to send the API call to the service.
318// the "output" return value is not valid until after Send returns without error.
319//
320// See DeleteIncidentRecord for more information on using the DeleteIncidentRecord
321// API call, and error handling.
322//
323// This method is useful when you want to inject custom logic or configuration
324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
325//
326//
327//    // Example sending a request using the DeleteIncidentRecordRequest method.
328//    req, resp := client.DeleteIncidentRecordRequest(params)
329//
330//    err := req.Send()
331//    if err == nil { // resp is now filled
332//        fmt.Println(resp)
333//    }
334//
335// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteIncidentRecord
336func (c *SSMIncidents) DeleteIncidentRecordRequest(input *DeleteIncidentRecordInput) (req *request.Request, output *DeleteIncidentRecordOutput) {
337	op := &request.Operation{
338		Name:       opDeleteIncidentRecord,
339		HTTPMethod: "POST",
340		HTTPPath:   "/deleteIncidentRecord",
341	}
342
343	if input == nil {
344		input = &DeleteIncidentRecordInput{}
345	}
346
347	output = &DeleteIncidentRecordOutput{}
348	req = c.newRequest(op, input, output)
349	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
350	return
351}
352
353// DeleteIncidentRecord API operation for AWS Systems Manager Incident Manager.
354//
355// Delete an incident record from Incident Manager.
356//
357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
358// with awserr.Error's Code and Message methods to get detailed information about
359// the error.
360//
361// See the AWS API reference guide for AWS Systems Manager Incident Manager's
362// API operation DeleteIncidentRecord for usage and error information.
363//
364// Returned Error Types:
365//   * ThrottlingException
366//   The request was denied due to request throttling.
367//
368//   * AccessDeniedException
369//   You don't have sufficient access to perform this operation.
370//
371//   * ValidationException
372//   The input fails to satisfy the constraints specified by an Amazon Web Services
373//   service.
374//
375//   * InternalServerException
376//   The request processing has failed because of an unknown error, exception
377//   or failure.
378//
379// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteIncidentRecord
380func (c *SSMIncidents) DeleteIncidentRecord(input *DeleteIncidentRecordInput) (*DeleteIncidentRecordOutput, error) {
381	req, out := c.DeleteIncidentRecordRequest(input)
382	return out, req.Send()
383}
384
385// DeleteIncidentRecordWithContext is the same as DeleteIncidentRecord with the addition of
386// the ability to pass a context and additional request options.
387//
388// See DeleteIncidentRecord for details on how to use this API operation.
389//
390// The context must be non-nil and will be used for request cancellation. If
391// the context is nil a panic will occur. In the future the SDK may create
392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
393// for more information on using Contexts.
394func (c *SSMIncidents) DeleteIncidentRecordWithContext(ctx aws.Context, input *DeleteIncidentRecordInput, opts ...request.Option) (*DeleteIncidentRecordOutput, error) {
395	req, out := c.DeleteIncidentRecordRequest(input)
396	req.SetContext(ctx)
397	req.ApplyOptions(opts...)
398	return out, req.Send()
399}
400
401const opDeleteReplicationSet = "DeleteReplicationSet"
402
403// DeleteReplicationSetRequest generates a "aws/request.Request" representing the
404// client's request for the DeleteReplicationSet operation. The "output" return
405// value will be populated with the request's response once the request completes
406// successfully.
407//
408// Use "Send" method on the returned Request to send the API call to the service.
409// the "output" return value is not valid until after Send returns without error.
410//
411// See DeleteReplicationSet for more information on using the DeleteReplicationSet
412// API call, and error handling.
413//
414// This method is useful when you want to inject custom logic or configuration
415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
416//
417//
418//    // Example sending a request using the DeleteReplicationSetRequest method.
419//    req, resp := client.DeleteReplicationSetRequest(params)
420//
421//    err := req.Send()
422//    if err == nil { // resp is now filled
423//        fmt.Println(resp)
424//    }
425//
426// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteReplicationSet
427func (c *SSMIncidents) DeleteReplicationSetRequest(input *DeleteReplicationSetInput) (req *request.Request, output *DeleteReplicationSetOutput) {
428	op := &request.Operation{
429		Name:       opDeleteReplicationSet,
430		HTTPMethod: "POST",
431		HTTPPath:   "/deleteReplicationSet",
432	}
433
434	if input == nil {
435		input = &DeleteReplicationSetInput{}
436	}
437
438	output = &DeleteReplicationSetOutput{}
439	req = c.newRequest(op, input, output)
440	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
441	return
442}
443
444// DeleteReplicationSet API operation for AWS Systems Manager Incident Manager.
445//
446// Deletes all Regions in your replication set. Deleting the replication set
447// deletes all Incident Manager data.
448//
449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
450// with awserr.Error's Code and Message methods to get detailed information about
451// the error.
452//
453// See the AWS API reference guide for AWS Systems Manager Incident Manager's
454// API operation DeleteReplicationSet for usage and error information.
455//
456// Returned Error Types:
457//   * ThrottlingException
458//   The request was denied due to request throttling.
459//
460//   * ResourceNotFoundException
461//   Request references a resource which doesn't exist.
462//
463//   * AccessDeniedException
464//   You don't have sufficient access to perform this operation.
465//
466//   * ValidationException
467//   The input fails to satisfy the constraints specified by an Amazon Web Services
468//   service.
469//
470//   * InternalServerException
471//   The request processing has failed because of an unknown error, exception
472//   or failure.
473//
474// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteReplicationSet
475func (c *SSMIncidents) DeleteReplicationSet(input *DeleteReplicationSetInput) (*DeleteReplicationSetOutput, error) {
476	req, out := c.DeleteReplicationSetRequest(input)
477	return out, req.Send()
478}
479
480// DeleteReplicationSetWithContext is the same as DeleteReplicationSet with the addition of
481// the ability to pass a context and additional request options.
482//
483// See DeleteReplicationSet for details on how to use this API operation.
484//
485// The context must be non-nil and will be used for request cancellation. If
486// the context is nil a panic will occur. In the future the SDK may create
487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
488// for more information on using Contexts.
489func (c *SSMIncidents) DeleteReplicationSetWithContext(ctx aws.Context, input *DeleteReplicationSetInput, opts ...request.Option) (*DeleteReplicationSetOutput, error) {
490	req, out := c.DeleteReplicationSetRequest(input)
491	req.SetContext(ctx)
492	req.ApplyOptions(opts...)
493	return out, req.Send()
494}
495
496const opDeleteResourcePolicy = "DeleteResourcePolicy"
497
498// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
499// client's request for the DeleteResourcePolicy operation. The "output" return
500// value will be populated with the request's response once the request completes
501// successfully.
502//
503// Use "Send" method on the returned Request to send the API call to the service.
504// the "output" return value is not valid until after Send returns without error.
505//
506// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
507// API call, and error handling.
508//
509// This method is useful when you want to inject custom logic or configuration
510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
511//
512//
513//    // Example sending a request using the DeleteResourcePolicyRequest method.
514//    req, resp := client.DeleteResourcePolicyRequest(params)
515//
516//    err := req.Send()
517//    if err == nil { // resp is now filled
518//        fmt.Println(resp)
519//    }
520//
521// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResourcePolicy
522func (c *SSMIncidents) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
523	op := &request.Operation{
524		Name:       opDeleteResourcePolicy,
525		HTTPMethod: "POST",
526		HTTPPath:   "/deleteResourcePolicy",
527	}
528
529	if input == nil {
530		input = &DeleteResourcePolicyInput{}
531	}
532
533	output = &DeleteResourcePolicyOutput{}
534	req = c.newRequest(op, input, output)
535	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
536	return
537}
538
539// DeleteResourcePolicy API operation for AWS Systems Manager Incident Manager.
540//
541// Deletes the resource policy that Resource Access Manager uses to share your
542// Incident Manager resource.
543//
544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
545// with awserr.Error's Code and Message methods to get detailed information about
546// the error.
547//
548// See the AWS API reference guide for AWS Systems Manager Incident Manager's
549// API operation DeleteResourcePolicy for usage and error information.
550//
551// Returned Error Types:
552//   * ThrottlingException
553//   The request was denied due to request throttling.
554//
555//   * ResourceNotFoundException
556//   Request references a resource which doesn't exist.
557//
558//   * AccessDeniedException
559//   You don't have sufficient access to perform this operation.
560//
561//   * ValidationException
562//   The input fails to satisfy the constraints specified by an Amazon Web Services
563//   service.
564//
565//   * InternalServerException
566//   The request processing has failed because of an unknown error, exception
567//   or failure.
568//
569// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResourcePolicy
570func (c *SSMIncidents) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
571	req, out := c.DeleteResourcePolicyRequest(input)
572	return out, req.Send()
573}
574
575// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
576// the ability to pass a context and additional request options.
577//
578// See DeleteResourcePolicy for details on how to use this API operation.
579//
580// The context must be non-nil and will be used for request cancellation. If
581// the context is nil a panic will occur. In the future the SDK may create
582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
583// for more information on using Contexts.
584func (c *SSMIncidents) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
585	req, out := c.DeleteResourcePolicyRequest(input)
586	req.SetContext(ctx)
587	req.ApplyOptions(opts...)
588	return out, req.Send()
589}
590
591const opDeleteResponsePlan = "DeleteResponsePlan"
592
593// DeleteResponsePlanRequest generates a "aws/request.Request" representing the
594// client's request for the DeleteResponsePlan operation. The "output" return
595// value will be populated with the request's response once the request completes
596// successfully.
597//
598// Use "Send" method on the returned Request to send the API call to the service.
599// the "output" return value is not valid until after Send returns without error.
600//
601// See DeleteResponsePlan for more information on using the DeleteResponsePlan
602// API call, and error handling.
603//
604// This method is useful when you want to inject custom logic or configuration
605// into the SDK's request lifecycle. Such as custom headers, or retry logic.
606//
607//
608//    // Example sending a request using the DeleteResponsePlanRequest method.
609//    req, resp := client.DeleteResponsePlanRequest(params)
610//
611//    err := req.Send()
612//    if err == nil { // resp is now filled
613//        fmt.Println(resp)
614//    }
615//
616// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResponsePlan
617func (c *SSMIncidents) DeleteResponsePlanRequest(input *DeleteResponsePlanInput) (req *request.Request, output *DeleteResponsePlanOutput) {
618	op := &request.Operation{
619		Name:       opDeleteResponsePlan,
620		HTTPMethod: "POST",
621		HTTPPath:   "/deleteResponsePlan",
622	}
623
624	if input == nil {
625		input = &DeleteResponsePlanInput{}
626	}
627
628	output = &DeleteResponsePlanOutput{}
629	req = c.newRequest(op, input, output)
630	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
631	return
632}
633
634// DeleteResponsePlan API operation for AWS Systems Manager Incident Manager.
635//
636// Deletes the specified response plan. Deleting a response plan stops all linked
637// CloudWatch alarms and EventBridge events from creating an incident with this
638// response plan.
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for AWS Systems Manager Incident Manager's
645// API operation DeleteResponsePlan for usage and error information.
646//
647// Returned Error Types:
648//   * ThrottlingException
649//   The request was denied due to request throttling.
650//
651//   * AccessDeniedException
652//   You don't have sufficient access to perform this operation.
653//
654//   * ValidationException
655//   The input fails to satisfy the constraints specified by an Amazon Web Services
656//   service.
657//
658//   * InternalServerException
659//   The request processing has failed because of an unknown error, exception
660//   or failure.
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteResponsePlan
663func (c *SSMIncidents) DeleteResponsePlan(input *DeleteResponsePlanInput) (*DeleteResponsePlanOutput, error) {
664	req, out := c.DeleteResponsePlanRequest(input)
665	return out, req.Send()
666}
667
668// DeleteResponsePlanWithContext is the same as DeleteResponsePlan with the addition of
669// the ability to pass a context and additional request options.
670//
671// See DeleteResponsePlan for details on how to use this API operation.
672//
673// The context must be non-nil and will be used for request cancellation. If
674// the context is nil a panic will occur. In the future the SDK may create
675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
676// for more information on using Contexts.
677func (c *SSMIncidents) DeleteResponsePlanWithContext(ctx aws.Context, input *DeleteResponsePlanInput, opts ...request.Option) (*DeleteResponsePlanOutput, error) {
678	req, out := c.DeleteResponsePlanRequest(input)
679	req.SetContext(ctx)
680	req.ApplyOptions(opts...)
681	return out, req.Send()
682}
683
684const opDeleteTimelineEvent = "DeleteTimelineEvent"
685
686// DeleteTimelineEventRequest generates a "aws/request.Request" representing the
687// client's request for the DeleteTimelineEvent operation. The "output" return
688// value will be populated with the request's response once the request completes
689// successfully.
690//
691// Use "Send" method on the returned Request to send the API call to the service.
692// the "output" return value is not valid until after Send returns without error.
693//
694// See DeleteTimelineEvent for more information on using the DeleteTimelineEvent
695// API call, and error handling.
696//
697// This method is useful when you want to inject custom logic or configuration
698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
699//
700//
701//    // Example sending a request using the DeleteTimelineEventRequest method.
702//    req, resp := client.DeleteTimelineEventRequest(params)
703//
704//    err := req.Send()
705//    if err == nil { // resp is now filled
706//        fmt.Println(resp)
707//    }
708//
709// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteTimelineEvent
710func (c *SSMIncidents) DeleteTimelineEventRequest(input *DeleteTimelineEventInput) (req *request.Request, output *DeleteTimelineEventOutput) {
711	op := &request.Operation{
712		Name:       opDeleteTimelineEvent,
713		HTTPMethod: "POST",
714		HTTPPath:   "/deleteTimelineEvent",
715	}
716
717	if input == nil {
718		input = &DeleteTimelineEventInput{}
719	}
720
721	output = &DeleteTimelineEventOutput{}
722	req = c.newRequest(op, input, output)
723	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
724	return
725}
726
727// DeleteTimelineEvent API operation for AWS Systems Manager Incident Manager.
728//
729// Deletes a timeline event from an incident.
730//
731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
732// with awserr.Error's Code and Message methods to get detailed information about
733// the error.
734//
735// See the AWS API reference guide for AWS Systems Manager Incident Manager's
736// API operation DeleteTimelineEvent for usage and error information.
737//
738// Returned Error Types:
739//   * ThrottlingException
740//   The request was denied due to request throttling.
741//
742//   * AccessDeniedException
743//   You don't have sufficient access to perform this operation.
744//
745//   * ValidationException
746//   The input fails to satisfy the constraints specified by an Amazon Web Services
747//   service.
748//
749//   * InternalServerException
750//   The request processing has failed because of an unknown error, exception
751//   or failure.
752//
753// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/DeleteTimelineEvent
754func (c *SSMIncidents) DeleteTimelineEvent(input *DeleteTimelineEventInput) (*DeleteTimelineEventOutput, error) {
755	req, out := c.DeleteTimelineEventRequest(input)
756	return out, req.Send()
757}
758
759// DeleteTimelineEventWithContext is the same as DeleteTimelineEvent with the addition of
760// the ability to pass a context and additional request options.
761//
762// See DeleteTimelineEvent for details on how to use this API operation.
763//
764// The context must be non-nil and will be used for request cancellation. If
765// the context is nil a panic will occur. In the future the SDK may create
766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
767// for more information on using Contexts.
768func (c *SSMIncidents) DeleteTimelineEventWithContext(ctx aws.Context, input *DeleteTimelineEventInput, opts ...request.Option) (*DeleteTimelineEventOutput, error) {
769	req, out := c.DeleteTimelineEventRequest(input)
770	req.SetContext(ctx)
771	req.ApplyOptions(opts...)
772	return out, req.Send()
773}
774
775const opGetIncidentRecord = "GetIncidentRecord"
776
777// GetIncidentRecordRequest generates a "aws/request.Request" representing the
778// client's request for the GetIncidentRecord operation. The "output" return
779// value will be populated with the request's response once the request completes
780// successfully.
781//
782// Use "Send" method on the returned Request to send the API call to the service.
783// the "output" return value is not valid until after Send returns without error.
784//
785// See GetIncidentRecord for more information on using the GetIncidentRecord
786// API call, and error handling.
787//
788// This method is useful when you want to inject custom logic or configuration
789// into the SDK's request lifecycle. Such as custom headers, or retry logic.
790//
791//
792//    // Example sending a request using the GetIncidentRecordRequest method.
793//    req, resp := client.GetIncidentRecordRequest(params)
794//
795//    err := req.Send()
796//    if err == nil { // resp is now filled
797//        fmt.Println(resp)
798//    }
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetIncidentRecord
801func (c *SSMIncidents) GetIncidentRecordRequest(input *GetIncidentRecordInput) (req *request.Request, output *GetIncidentRecordOutput) {
802	op := &request.Operation{
803		Name:       opGetIncidentRecord,
804		HTTPMethod: "GET",
805		HTTPPath:   "/getIncidentRecord",
806	}
807
808	if input == nil {
809		input = &GetIncidentRecordInput{}
810	}
811
812	output = &GetIncidentRecordOutput{}
813	req = c.newRequest(op, input, output)
814	return
815}
816
817// GetIncidentRecord API operation for AWS Systems Manager Incident Manager.
818//
819// Returns the details for the specified incident record.
820//
821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
822// with awserr.Error's Code and Message methods to get detailed information about
823// the error.
824//
825// See the AWS API reference guide for AWS Systems Manager Incident Manager's
826// API operation GetIncidentRecord for usage and error information.
827//
828// Returned Error Types:
829//   * ThrottlingException
830//   The request was denied due to request throttling.
831//
832//   * ResourceNotFoundException
833//   Request references a resource which doesn't exist.
834//
835//   * AccessDeniedException
836//   You don't have sufficient access to perform this operation.
837//
838//   * ValidationException
839//   The input fails to satisfy the constraints specified by an Amazon Web Services
840//   service.
841//
842//   * InternalServerException
843//   The request processing has failed because of an unknown error, exception
844//   or failure.
845//
846// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetIncidentRecord
847func (c *SSMIncidents) GetIncidentRecord(input *GetIncidentRecordInput) (*GetIncidentRecordOutput, error) {
848	req, out := c.GetIncidentRecordRequest(input)
849	return out, req.Send()
850}
851
852// GetIncidentRecordWithContext is the same as GetIncidentRecord with the addition of
853// the ability to pass a context and additional request options.
854//
855// See GetIncidentRecord for details on how to use this API operation.
856//
857// The context must be non-nil and will be used for request cancellation. If
858// the context is nil a panic will occur. In the future the SDK may create
859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
860// for more information on using Contexts.
861func (c *SSMIncidents) GetIncidentRecordWithContext(ctx aws.Context, input *GetIncidentRecordInput, opts ...request.Option) (*GetIncidentRecordOutput, error) {
862	req, out := c.GetIncidentRecordRequest(input)
863	req.SetContext(ctx)
864	req.ApplyOptions(opts...)
865	return out, req.Send()
866}
867
868const opGetReplicationSet = "GetReplicationSet"
869
870// GetReplicationSetRequest generates a "aws/request.Request" representing the
871// client's request for the GetReplicationSet operation. The "output" return
872// value will be populated with the request's response once the request completes
873// successfully.
874//
875// Use "Send" method on the returned Request to send the API call to the service.
876// the "output" return value is not valid until after Send returns without error.
877//
878// See GetReplicationSet for more information on using the GetReplicationSet
879// API call, and error handling.
880//
881// This method is useful when you want to inject custom logic or configuration
882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
883//
884//
885//    // Example sending a request using the GetReplicationSetRequest method.
886//    req, resp := client.GetReplicationSetRequest(params)
887//
888//    err := req.Send()
889//    if err == nil { // resp is now filled
890//        fmt.Println(resp)
891//    }
892//
893// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetReplicationSet
894func (c *SSMIncidents) GetReplicationSetRequest(input *GetReplicationSetInput) (req *request.Request, output *GetReplicationSetOutput) {
895	op := &request.Operation{
896		Name:       opGetReplicationSet,
897		HTTPMethod: "GET",
898		HTTPPath:   "/getReplicationSet",
899	}
900
901	if input == nil {
902		input = &GetReplicationSetInput{}
903	}
904
905	output = &GetReplicationSetOutput{}
906	req = c.newRequest(op, input, output)
907	return
908}
909
910// GetReplicationSet API operation for AWS Systems Manager Incident Manager.
911//
912// Retrieve your Incident Manager replication set.
913//
914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
915// with awserr.Error's Code and Message methods to get detailed information about
916// the error.
917//
918// See the AWS API reference guide for AWS Systems Manager Incident Manager's
919// API operation GetReplicationSet for usage and error information.
920//
921// Returned Error Types:
922//   * ThrottlingException
923//   The request was denied due to request throttling.
924//
925//   * ResourceNotFoundException
926//   Request references a resource which doesn't exist.
927//
928//   * AccessDeniedException
929//   You don't have sufficient access to perform this operation.
930//
931//   * ValidationException
932//   The input fails to satisfy the constraints specified by an Amazon Web Services
933//   service.
934//
935//   * InternalServerException
936//   The request processing has failed because of an unknown error, exception
937//   or failure.
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetReplicationSet
940func (c *SSMIncidents) GetReplicationSet(input *GetReplicationSetInput) (*GetReplicationSetOutput, error) {
941	req, out := c.GetReplicationSetRequest(input)
942	return out, req.Send()
943}
944
945// GetReplicationSetWithContext is the same as GetReplicationSet with the addition of
946// the ability to pass a context and additional request options.
947//
948// See GetReplicationSet for details on how to use this API operation.
949//
950// The context must be non-nil and will be used for request cancellation. If
951// the context is nil a panic will occur. In the future the SDK may create
952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
953// for more information on using Contexts.
954func (c *SSMIncidents) GetReplicationSetWithContext(ctx aws.Context, input *GetReplicationSetInput, opts ...request.Option) (*GetReplicationSetOutput, error) {
955	req, out := c.GetReplicationSetRequest(input)
956	req.SetContext(ctx)
957	req.ApplyOptions(opts...)
958	return out, req.Send()
959}
960
961const opGetResourcePolicies = "GetResourcePolicies"
962
963// GetResourcePoliciesRequest generates a "aws/request.Request" representing the
964// client's request for the GetResourcePolicies operation. The "output" return
965// value will be populated with the request's response once the request completes
966// successfully.
967//
968// Use "Send" method on the returned Request to send the API call to the service.
969// the "output" return value is not valid until after Send returns without error.
970//
971// See GetResourcePolicies for more information on using the GetResourcePolicies
972// API call, and error handling.
973//
974// This method is useful when you want to inject custom logic or configuration
975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
976//
977//
978//    // Example sending a request using the GetResourcePoliciesRequest method.
979//    req, resp := client.GetResourcePoliciesRequest(params)
980//
981//    err := req.Send()
982//    if err == nil { // resp is now filled
983//        fmt.Println(resp)
984//    }
985//
986// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResourcePolicies
987func (c *SSMIncidents) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req *request.Request, output *GetResourcePoliciesOutput) {
988	op := &request.Operation{
989		Name:       opGetResourcePolicies,
990		HTTPMethod: "POST",
991		HTTPPath:   "/getResourcePolicies",
992		Paginator: &request.Paginator{
993			InputTokens:     []string{"nextToken"},
994			OutputTokens:    []string{"nextToken"},
995			LimitToken:      "maxResults",
996			TruncationToken: "",
997		},
998	}
999
1000	if input == nil {
1001		input = &GetResourcePoliciesInput{}
1002	}
1003
1004	output = &GetResourcePoliciesOutput{}
1005	req = c.newRequest(op, input, output)
1006	return
1007}
1008
1009// GetResourcePolicies API operation for AWS Systems Manager Incident Manager.
1010//
1011// Retrieves the resource policies attached to the specified response plan.
1012//
1013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1014// with awserr.Error's Code and Message methods to get detailed information about
1015// the error.
1016//
1017// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1018// API operation GetResourcePolicies for usage and error information.
1019//
1020// Returned Error Types:
1021//   * ThrottlingException
1022//   The request was denied due to request throttling.
1023//
1024//   * ResourceNotFoundException
1025//   Request references a resource which doesn't exist.
1026//
1027//   * AccessDeniedException
1028//   You don't have sufficient access to perform this operation.
1029//
1030//   * ValidationException
1031//   The input fails to satisfy the constraints specified by an Amazon Web Services
1032//   service.
1033//
1034//   * InternalServerException
1035//   The request processing has failed because of an unknown error, exception
1036//   or failure.
1037//
1038// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResourcePolicies
1039func (c *SSMIncidents) GetResourcePolicies(input *GetResourcePoliciesInput) (*GetResourcePoliciesOutput, error) {
1040	req, out := c.GetResourcePoliciesRequest(input)
1041	return out, req.Send()
1042}
1043
1044// GetResourcePoliciesWithContext is the same as GetResourcePolicies with the addition of
1045// the ability to pass a context and additional request options.
1046//
1047// See GetResourcePolicies for details on how to use this API operation.
1048//
1049// The context must be non-nil and will be used for request cancellation. If
1050// the context is nil a panic will occur. In the future the SDK may create
1051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1052// for more information on using Contexts.
1053func (c *SSMIncidents) GetResourcePoliciesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, opts ...request.Option) (*GetResourcePoliciesOutput, error) {
1054	req, out := c.GetResourcePoliciesRequest(input)
1055	req.SetContext(ctx)
1056	req.ApplyOptions(opts...)
1057	return out, req.Send()
1058}
1059
1060// GetResourcePoliciesPages iterates over the pages of a GetResourcePolicies operation,
1061// calling the "fn" function with the response data for each page. To stop
1062// iterating, return false from the fn function.
1063//
1064// See GetResourcePolicies method for more information on how to use this operation.
1065//
1066// Note: This operation can generate multiple requests to a service.
1067//
1068//    // Example iterating over at most 3 pages of a GetResourcePolicies operation.
1069//    pageNum := 0
1070//    err := client.GetResourcePoliciesPages(params,
1071//        func(page *ssmincidents.GetResourcePoliciesOutput, lastPage bool) bool {
1072//            pageNum++
1073//            fmt.Println(page)
1074//            return pageNum <= 3
1075//        })
1076//
1077func (c *SSMIncidents) GetResourcePoliciesPages(input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool) error {
1078	return c.GetResourcePoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
1079}
1080
1081// GetResourcePoliciesPagesWithContext same as GetResourcePoliciesPages except
1082// it takes a Context and allows setting request options on the pages.
1083//
1084// The context must be non-nil and will be used for request cancellation. If
1085// the context is nil a panic will occur. In the future the SDK may create
1086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1087// for more information on using Contexts.
1088func (c *SSMIncidents) GetResourcePoliciesPagesWithContext(ctx aws.Context, input *GetResourcePoliciesInput, fn func(*GetResourcePoliciesOutput, bool) bool, opts ...request.Option) error {
1089	p := request.Pagination{
1090		NewRequest: func() (*request.Request, error) {
1091			var inCpy *GetResourcePoliciesInput
1092			if input != nil {
1093				tmp := *input
1094				inCpy = &tmp
1095			}
1096			req, _ := c.GetResourcePoliciesRequest(inCpy)
1097			req.SetContext(ctx)
1098			req.ApplyOptions(opts...)
1099			return req, nil
1100		},
1101	}
1102
1103	for p.Next() {
1104		if !fn(p.Page().(*GetResourcePoliciesOutput), !p.HasNextPage()) {
1105			break
1106		}
1107	}
1108
1109	return p.Err()
1110}
1111
1112const opGetResponsePlan = "GetResponsePlan"
1113
1114// GetResponsePlanRequest generates a "aws/request.Request" representing the
1115// client's request for the GetResponsePlan operation. The "output" return
1116// value will be populated with the request's response once the request completes
1117// successfully.
1118//
1119// Use "Send" method on the returned Request to send the API call to the service.
1120// the "output" return value is not valid until after Send returns without error.
1121//
1122// See GetResponsePlan for more information on using the GetResponsePlan
1123// API call, and error handling.
1124//
1125// This method is useful when you want to inject custom logic or configuration
1126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1127//
1128//
1129//    // Example sending a request using the GetResponsePlanRequest method.
1130//    req, resp := client.GetResponsePlanRequest(params)
1131//
1132//    err := req.Send()
1133//    if err == nil { // resp is now filled
1134//        fmt.Println(resp)
1135//    }
1136//
1137// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan
1138func (c *SSMIncidents) GetResponsePlanRequest(input *GetResponsePlanInput) (req *request.Request, output *GetResponsePlanOutput) {
1139	op := &request.Operation{
1140		Name:       opGetResponsePlan,
1141		HTTPMethod: "GET",
1142		HTTPPath:   "/getResponsePlan",
1143	}
1144
1145	if input == nil {
1146		input = &GetResponsePlanInput{}
1147	}
1148
1149	output = &GetResponsePlanOutput{}
1150	req = c.newRequest(op, input, output)
1151	return
1152}
1153
1154// GetResponsePlan API operation for AWS Systems Manager Incident Manager.
1155//
1156// Retrieves the details of the specified response plan.
1157//
1158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1159// with awserr.Error's Code and Message methods to get detailed information about
1160// the error.
1161//
1162// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1163// API operation GetResponsePlan for usage and error information.
1164//
1165// Returned Error Types:
1166//   * ThrottlingException
1167//   The request was denied due to request throttling.
1168//
1169//   * ResourceNotFoundException
1170//   Request references a resource which doesn't exist.
1171//
1172//   * AccessDeniedException
1173//   You don't have sufficient access to perform this operation.
1174//
1175//   * ValidationException
1176//   The input fails to satisfy the constraints specified by an Amazon Web Services
1177//   service.
1178//
1179//   * InternalServerException
1180//   The request processing has failed because of an unknown error, exception
1181//   or failure.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetResponsePlan
1184func (c *SSMIncidents) GetResponsePlan(input *GetResponsePlanInput) (*GetResponsePlanOutput, error) {
1185	req, out := c.GetResponsePlanRequest(input)
1186	return out, req.Send()
1187}
1188
1189// GetResponsePlanWithContext is the same as GetResponsePlan with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See GetResponsePlan for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *SSMIncidents) GetResponsePlanWithContext(ctx aws.Context, input *GetResponsePlanInput, opts ...request.Option) (*GetResponsePlanOutput, error) {
1199	req, out := c.GetResponsePlanRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opGetTimelineEvent = "GetTimelineEvent"
1206
1207// GetTimelineEventRequest generates a "aws/request.Request" representing the
1208// client's request for the GetTimelineEvent operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See GetTimelineEvent for more information on using the GetTimelineEvent
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the GetTimelineEventRequest method.
1223//    req, resp := client.GetTimelineEventRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetTimelineEvent
1231func (c *SSMIncidents) GetTimelineEventRequest(input *GetTimelineEventInput) (req *request.Request, output *GetTimelineEventOutput) {
1232	op := &request.Operation{
1233		Name:       opGetTimelineEvent,
1234		HTTPMethod: "GET",
1235		HTTPPath:   "/getTimelineEvent",
1236	}
1237
1238	if input == nil {
1239		input = &GetTimelineEventInput{}
1240	}
1241
1242	output = &GetTimelineEventOutput{}
1243	req = c.newRequest(op, input, output)
1244	return
1245}
1246
1247// GetTimelineEvent API operation for AWS Systems Manager Incident Manager.
1248//
1249// Retrieves a timeline event based on its ID and incident record.
1250//
1251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1252// with awserr.Error's Code and Message methods to get detailed information about
1253// the error.
1254//
1255// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1256// API operation GetTimelineEvent for usage and error information.
1257//
1258// Returned Error Types:
1259//   * ThrottlingException
1260//   The request was denied due to request throttling.
1261//
1262//   * ResourceNotFoundException
1263//   Request references a resource which doesn't exist.
1264//
1265//   * AccessDeniedException
1266//   You don't have sufficient access to perform this operation.
1267//
1268//   * ValidationException
1269//   The input fails to satisfy the constraints specified by an Amazon Web Services
1270//   service.
1271//
1272//   * InternalServerException
1273//   The request processing has failed because of an unknown error, exception
1274//   or failure.
1275//
1276// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/GetTimelineEvent
1277func (c *SSMIncidents) GetTimelineEvent(input *GetTimelineEventInput) (*GetTimelineEventOutput, error) {
1278	req, out := c.GetTimelineEventRequest(input)
1279	return out, req.Send()
1280}
1281
1282// GetTimelineEventWithContext is the same as GetTimelineEvent with the addition of
1283// the ability to pass a context and additional request options.
1284//
1285// See GetTimelineEvent for details on how to use this API operation.
1286//
1287// The context must be non-nil and will be used for request cancellation. If
1288// the context is nil a panic will occur. In the future the SDK may create
1289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1290// for more information on using Contexts.
1291func (c *SSMIncidents) GetTimelineEventWithContext(ctx aws.Context, input *GetTimelineEventInput, opts ...request.Option) (*GetTimelineEventOutput, error) {
1292	req, out := c.GetTimelineEventRequest(input)
1293	req.SetContext(ctx)
1294	req.ApplyOptions(opts...)
1295	return out, req.Send()
1296}
1297
1298const opListIncidentRecords = "ListIncidentRecords"
1299
1300// ListIncidentRecordsRequest generates a "aws/request.Request" representing the
1301// client's request for the ListIncidentRecords operation. The "output" return
1302// value will be populated with the request's response once the request completes
1303// successfully.
1304//
1305// Use "Send" method on the returned Request to send the API call to the service.
1306// the "output" return value is not valid until after Send returns without error.
1307//
1308// See ListIncidentRecords for more information on using the ListIncidentRecords
1309// API call, and error handling.
1310//
1311// This method is useful when you want to inject custom logic or configuration
1312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1313//
1314//
1315//    // Example sending a request using the ListIncidentRecordsRequest method.
1316//    req, resp := client.ListIncidentRecordsRequest(params)
1317//
1318//    err := req.Send()
1319//    if err == nil { // resp is now filled
1320//        fmt.Println(resp)
1321//    }
1322//
1323// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListIncidentRecords
1324func (c *SSMIncidents) ListIncidentRecordsRequest(input *ListIncidentRecordsInput) (req *request.Request, output *ListIncidentRecordsOutput) {
1325	op := &request.Operation{
1326		Name:       opListIncidentRecords,
1327		HTTPMethod: "POST",
1328		HTTPPath:   "/listIncidentRecords",
1329		Paginator: &request.Paginator{
1330			InputTokens:     []string{"nextToken"},
1331			OutputTokens:    []string{"nextToken"},
1332			LimitToken:      "maxResults",
1333			TruncationToken: "",
1334		},
1335	}
1336
1337	if input == nil {
1338		input = &ListIncidentRecordsInput{}
1339	}
1340
1341	output = &ListIncidentRecordsOutput{}
1342	req = c.newRequest(op, input, output)
1343	return
1344}
1345
1346// ListIncidentRecords API operation for AWS Systems Manager Incident Manager.
1347//
1348// Lists all incident records in your account. Use this command to retrieve
1349// the Amazon Resource Name (ARN) of the incident record you want to update.
1350//
1351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1352// with awserr.Error's Code and Message methods to get detailed information about
1353// the error.
1354//
1355// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1356// API operation ListIncidentRecords for usage and error information.
1357//
1358// Returned Error Types:
1359//   * ThrottlingException
1360//   The request was denied due to request throttling.
1361//
1362//   * AccessDeniedException
1363//   You don't have sufficient access to perform this operation.
1364//
1365//   * ValidationException
1366//   The input fails to satisfy the constraints specified by an Amazon Web Services
1367//   service.
1368//
1369//   * InternalServerException
1370//   The request processing has failed because of an unknown error, exception
1371//   or failure.
1372//
1373// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListIncidentRecords
1374func (c *SSMIncidents) ListIncidentRecords(input *ListIncidentRecordsInput) (*ListIncidentRecordsOutput, error) {
1375	req, out := c.ListIncidentRecordsRequest(input)
1376	return out, req.Send()
1377}
1378
1379// ListIncidentRecordsWithContext is the same as ListIncidentRecords with the addition of
1380// the ability to pass a context and additional request options.
1381//
1382// See ListIncidentRecords for details on how to use this API operation.
1383//
1384// The context must be non-nil and will be used for request cancellation. If
1385// the context is nil a panic will occur. In the future the SDK may create
1386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1387// for more information on using Contexts.
1388func (c *SSMIncidents) ListIncidentRecordsWithContext(ctx aws.Context, input *ListIncidentRecordsInput, opts ...request.Option) (*ListIncidentRecordsOutput, error) {
1389	req, out := c.ListIncidentRecordsRequest(input)
1390	req.SetContext(ctx)
1391	req.ApplyOptions(opts...)
1392	return out, req.Send()
1393}
1394
1395// ListIncidentRecordsPages iterates over the pages of a ListIncidentRecords operation,
1396// calling the "fn" function with the response data for each page. To stop
1397// iterating, return false from the fn function.
1398//
1399// See ListIncidentRecords method for more information on how to use this operation.
1400//
1401// Note: This operation can generate multiple requests to a service.
1402//
1403//    // Example iterating over at most 3 pages of a ListIncidentRecords operation.
1404//    pageNum := 0
1405//    err := client.ListIncidentRecordsPages(params,
1406//        func(page *ssmincidents.ListIncidentRecordsOutput, lastPage bool) bool {
1407//            pageNum++
1408//            fmt.Println(page)
1409//            return pageNum <= 3
1410//        })
1411//
1412func (c *SSMIncidents) ListIncidentRecordsPages(input *ListIncidentRecordsInput, fn func(*ListIncidentRecordsOutput, bool) bool) error {
1413	return c.ListIncidentRecordsPagesWithContext(aws.BackgroundContext(), input, fn)
1414}
1415
1416// ListIncidentRecordsPagesWithContext same as ListIncidentRecordsPages except
1417// it takes a Context and allows setting request options on the pages.
1418//
1419// The context must be non-nil and will be used for request cancellation. If
1420// the context is nil a panic will occur. In the future the SDK may create
1421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1422// for more information on using Contexts.
1423func (c *SSMIncidents) ListIncidentRecordsPagesWithContext(ctx aws.Context, input *ListIncidentRecordsInput, fn func(*ListIncidentRecordsOutput, bool) bool, opts ...request.Option) error {
1424	p := request.Pagination{
1425		NewRequest: func() (*request.Request, error) {
1426			var inCpy *ListIncidentRecordsInput
1427			if input != nil {
1428				tmp := *input
1429				inCpy = &tmp
1430			}
1431			req, _ := c.ListIncidentRecordsRequest(inCpy)
1432			req.SetContext(ctx)
1433			req.ApplyOptions(opts...)
1434			return req, nil
1435		},
1436	}
1437
1438	for p.Next() {
1439		if !fn(p.Page().(*ListIncidentRecordsOutput), !p.HasNextPage()) {
1440			break
1441		}
1442	}
1443
1444	return p.Err()
1445}
1446
1447const opListRelatedItems = "ListRelatedItems"
1448
1449// ListRelatedItemsRequest generates a "aws/request.Request" representing the
1450// client's request for the ListRelatedItems operation. The "output" return
1451// value will be populated with the request's response once the request completes
1452// successfully.
1453//
1454// Use "Send" method on the returned Request to send the API call to the service.
1455// the "output" return value is not valid until after Send returns without error.
1456//
1457// See ListRelatedItems for more information on using the ListRelatedItems
1458// API call, and error handling.
1459//
1460// This method is useful when you want to inject custom logic or configuration
1461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1462//
1463//
1464//    // Example sending a request using the ListRelatedItemsRequest method.
1465//    req, resp := client.ListRelatedItemsRequest(params)
1466//
1467//    err := req.Send()
1468//    if err == nil { // resp is now filled
1469//        fmt.Println(resp)
1470//    }
1471//
1472// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListRelatedItems
1473func (c *SSMIncidents) ListRelatedItemsRequest(input *ListRelatedItemsInput) (req *request.Request, output *ListRelatedItemsOutput) {
1474	op := &request.Operation{
1475		Name:       opListRelatedItems,
1476		HTTPMethod: "POST",
1477		HTTPPath:   "/listRelatedItems",
1478		Paginator: &request.Paginator{
1479			InputTokens:     []string{"nextToken"},
1480			OutputTokens:    []string{"nextToken"},
1481			LimitToken:      "maxResults",
1482			TruncationToken: "",
1483		},
1484	}
1485
1486	if input == nil {
1487		input = &ListRelatedItemsInput{}
1488	}
1489
1490	output = &ListRelatedItemsOutput{}
1491	req = c.newRequest(op, input, output)
1492	return
1493}
1494
1495// ListRelatedItems API operation for AWS Systems Manager Incident Manager.
1496//
1497// List all related items for an incident record.
1498//
1499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1500// with awserr.Error's Code and Message methods to get detailed information about
1501// the error.
1502//
1503// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1504// API operation ListRelatedItems for usage and error information.
1505//
1506// Returned Error Types:
1507//   * ThrottlingException
1508//   The request was denied due to request throttling.
1509//
1510//   * AccessDeniedException
1511//   You don't have sufficient access to perform this operation.
1512//
1513//   * ValidationException
1514//   The input fails to satisfy the constraints specified by an Amazon Web Services
1515//   service.
1516//
1517//   * InternalServerException
1518//   The request processing has failed because of an unknown error, exception
1519//   or failure.
1520//
1521// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListRelatedItems
1522func (c *SSMIncidents) ListRelatedItems(input *ListRelatedItemsInput) (*ListRelatedItemsOutput, error) {
1523	req, out := c.ListRelatedItemsRequest(input)
1524	return out, req.Send()
1525}
1526
1527// ListRelatedItemsWithContext is the same as ListRelatedItems with the addition of
1528// the ability to pass a context and additional request options.
1529//
1530// See ListRelatedItems for details on how to use this API operation.
1531//
1532// The context must be non-nil and will be used for request cancellation. If
1533// the context is nil a panic will occur. In the future the SDK may create
1534// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1535// for more information on using Contexts.
1536func (c *SSMIncidents) ListRelatedItemsWithContext(ctx aws.Context, input *ListRelatedItemsInput, opts ...request.Option) (*ListRelatedItemsOutput, error) {
1537	req, out := c.ListRelatedItemsRequest(input)
1538	req.SetContext(ctx)
1539	req.ApplyOptions(opts...)
1540	return out, req.Send()
1541}
1542
1543// ListRelatedItemsPages iterates over the pages of a ListRelatedItems operation,
1544// calling the "fn" function with the response data for each page. To stop
1545// iterating, return false from the fn function.
1546//
1547// See ListRelatedItems method for more information on how to use this operation.
1548//
1549// Note: This operation can generate multiple requests to a service.
1550//
1551//    // Example iterating over at most 3 pages of a ListRelatedItems operation.
1552//    pageNum := 0
1553//    err := client.ListRelatedItemsPages(params,
1554//        func(page *ssmincidents.ListRelatedItemsOutput, lastPage bool) bool {
1555//            pageNum++
1556//            fmt.Println(page)
1557//            return pageNum <= 3
1558//        })
1559//
1560func (c *SSMIncidents) ListRelatedItemsPages(input *ListRelatedItemsInput, fn func(*ListRelatedItemsOutput, bool) bool) error {
1561	return c.ListRelatedItemsPagesWithContext(aws.BackgroundContext(), input, fn)
1562}
1563
1564// ListRelatedItemsPagesWithContext same as ListRelatedItemsPages except
1565// it takes a Context and allows setting request options on the pages.
1566//
1567// The context must be non-nil and will be used for request cancellation. If
1568// the context is nil a panic will occur. In the future the SDK may create
1569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1570// for more information on using Contexts.
1571func (c *SSMIncidents) ListRelatedItemsPagesWithContext(ctx aws.Context, input *ListRelatedItemsInput, fn func(*ListRelatedItemsOutput, bool) bool, opts ...request.Option) error {
1572	p := request.Pagination{
1573		NewRequest: func() (*request.Request, error) {
1574			var inCpy *ListRelatedItemsInput
1575			if input != nil {
1576				tmp := *input
1577				inCpy = &tmp
1578			}
1579			req, _ := c.ListRelatedItemsRequest(inCpy)
1580			req.SetContext(ctx)
1581			req.ApplyOptions(opts...)
1582			return req, nil
1583		},
1584	}
1585
1586	for p.Next() {
1587		if !fn(p.Page().(*ListRelatedItemsOutput), !p.HasNextPage()) {
1588			break
1589		}
1590	}
1591
1592	return p.Err()
1593}
1594
1595const opListReplicationSets = "ListReplicationSets"
1596
1597// ListReplicationSetsRequest generates a "aws/request.Request" representing the
1598// client's request for the ListReplicationSets operation. The "output" return
1599// value will be populated with the request's response once the request completes
1600// successfully.
1601//
1602// Use "Send" method on the returned Request to send the API call to the service.
1603// the "output" return value is not valid until after Send returns without error.
1604//
1605// See ListReplicationSets for more information on using the ListReplicationSets
1606// API call, and error handling.
1607//
1608// This method is useful when you want to inject custom logic or configuration
1609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1610//
1611//
1612//    // Example sending a request using the ListReplicationSetsRequest method.
1613//    req, resp := client.ListReplicationSetsRequest(params)
1614//
1615//    err := req.Send()
1616//    if err == nil { // resp is now filled
1617//        fmt.Println(resp)
1618//    }
1619//
1620// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListReplicationSets
1621func (c *SSMIncidents) ListReplicationSetsRequest(input *ListReplicationSetsInput) (req *request.Request, output *ListReplicationSetsOutput) {
1622	op := &request.Operation{
1623		Name:       opListReplicationSets,
1624		HTTPMethod: "POST",
1625		HTTPPath:   "/listReplicationSets",
1626		Paginator: &request.Paginator{
1627			InputTokens:     []string{"nextToken"},
1628			OutputTokens:    []string{"nextToken"},
1629			LimitToken:      "maxResults",
1630			TruncationToken: "",
1631		},
1632	}
1633
1634	if input == nil {
1635		input = &ListReplicationSetsInput{}
1636	}
1637
1638	output = &ListReplicationSetsOutput{}
1639	req = c.newRequest(op, input, output)
1640	return
1641}
1642
1643// ListReplicationSets API operation for AWS Systems Manager Incident Manager.
1644//
1645// Lists details about the replication set configured in your account.
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 AWS Systems Manager Incident Manager's
1652// API operation ListReplicationSets for usage and error information.
1653//
1654// Returned Error Types:
1655//   * ThrottlingException
1656//   The request was denied due to request throttling.
1657//
1658//   * AccessDeniedException
1659//   You don't have sufficient access to perform this operation.
1660//
1661//   * ValidationException
1662//   The input fails to satisfy the constraints specified by an Amazon Web Services
1663//   service.
1664//
1665//   * InternalServerException
1666//   The request processing has failed because of an unknown error, exception
1667//   or failure.
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListReplicationSets
1670func (c *SSMIncidents) ListReplicationSets(input *ListReplicationSetsInput) (*ListReplicationSetsOutput, error) {
1671	req, out := c.ListReplicationSetsRequest(input)
1672	return out, req.Send()
1673}
1674
1675// ListReplicationSetsWithContext is the same as ListReplicationSets with the addition of
1676// the ability to pass a context and additional request options.
1677//
1678// See ListReplicationSets 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 *SSMIncidents) ListReplicationSetsWithContext(ctx aws.Context, input *ListReplicationSetsInput, opts ...request.Option) (*ListReplicationSetsOutput, error) {
1685	req, out := c.ListReplicationSetsRequest(input)
1686	req.SetContext(ctx)
1687	req.ApplyOptions(opts...)
1688	return out, req.Send()
1689}
1690
1691// ListReplicationSetsPages iterates over the pages of a ListReplicationSets operation,
1692// calling the "fn" function with the response data for each page. To stop
1693// iterating, return false from the fn function.
1694//
1695// See ListReplicationSets method for more information on how to use this operation.
1696//
1697// Note: This operation can generate multiple requests to a service.
1698//
1699//    // Example iterating over at most 3 pages of a ListReplicationSets operation.
1700//    pageNum := 0
1701//    err := client.ListReplicationSetsPages(params,
1702//        func(page *ssmincidents.ListReplicationSetsOutput, lastPage bool) bool {
1703//            pageNum++
1704//            fmt.Println(page)
1705//            return pageNum <= 3
1706//        })
1707//
1708func (c *SSMIncidents) ListReplicationSetsPages(input *ListReplicationSetsInput, fn func(*ListReplicationSetsOutput, bool) bool) error {
1709	return c.ListReplicationSetsPagesWithContext(aws.BackgroundContext(), input, fn)
1710}
1711
1712// ListReplicationSetsPagesWithContext same as ListReplicationSetsPages except
1713// it takes a Context and allows setting request options on the pages.
1714//
1715// The context must be non-nil and will be used for request cancellation. If
1716// the context is nil a panic will occur. In the future the SDK may create
1717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1718// for more information on using Contexts.
1719func (c *SSMIncidents) ListReplicationSetsPagesWithContext(ctx aws.Context, input *ListReplicationSetsInput, fn func(*ListReplicationSetsOutput, bool) bool, opts ...request.Option) error {
1720	p := request.Pagination{
1721		NewRequest: func() (*request.Request, error) {
1722			var inCpy *ListReplicationSetsInput
1723			if input != nil {
1724				tmp := *input
1725				inCpy = &tmp
1726			}
1727			req, _ := c.ListReplicationSetsRequest(inCpy)
1728			req.SetContext(ctx)
1729			req.ApplyOptions(opts...)
1730			return req, nil
1731		},
1732	}
1733
1734	for p.Next() {
1735		if !fn(p.Page().(*ListReplicationSetsOutput), !p.HasNextPage()) {
1736			break
1737		}
1738	}
1739
1740	return p.Err()
1741}
1742
1743const opListResponsePlans = "ListResponsePlans"
1744
1745// ListResponsePlansRequest generates a "aws/request.Request" representing the
1746// client's request for the ListResponsePlans operation. The "output" return
1747// value will be populated with the request's response once the request completes
1748// successfully.
1749//
1750// Use "Send" method on the returned Request to send the API call to the service.
1751// the "output" return value is not valid until after Send returns without error.
1752//
1753// See ListResponsePlans for more information on using the ListResponsePlans
1754// API call, and error handling.
1755//
1756// This method is useful when you want to inject custom logic or configuration
1757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1758//
1759//
1760//    // Example sending a request using the ListResponsePlansRequest method.
1761//    req, resp := client.ListResponsePlansRequest(params)
1762//
1763//    err := req.Send()
1764//    if err == nil { // resp is now filled
1765//        fmt.Println(resp)
1766//    }
1767//
1768// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListResponsePlans
1769func (c *SSMIncidents) ListResponsePlansRequest(input *ListResponsePlansInput) (req *request.Request, output *ListResponsePlansOutput) {
1770	op := &request.Operation{
1771		Name:       opListResponsePlans,
1772		HTTPMethod: "POST",
1773		HTTPPath:   "/listResponsePlans",
1774		Paginator: &request.Paginator{
1775			InputTokens:     []string{"nextToken"},
1776			OutputTokens:    []string{"nextToken"},
1777			LimitToken:      "maxResults",
1778			TruncationToken: "",
1779		},
1780	}
1781
1782	if input == nil {
1783		input = &ListResponsePlansInput{}
1784	}
1785
1786	output = &ListResponsePlansOutput{}
1787	req = c.newRequest(op, input, output)
1788	return
1789}
1790
1791// ListResponsePlans API operation for AWS Systems Manager Incident Manager.
1792//
1793// Lists all response plans in your account.
1794//
1795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1796// with awserr.Error's Code and Message methods to get detailed information about
1797// the error.
1798//
1799// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1800// API operation ListResponsePlans for usage and error information.
1801//
1802// Returned Error Types:
1803//   * ThrottlingException
1804//   The request was denied due to request throttling.
1805//
1806//   * AccessDeniedException
1807//   You don't have sufficient access to perform this operation.
1808//
1809//   * ValidationException
1810//   The input fails to satisfy the constraints specified by an Amazon Web Services
1811//   service.
1812//
1813//   * InternalServerException
1814//   The request processing has failed because of an unknown error, exception
1815//   or failure.
1816//
1817// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListResponsePlans
1818func (c *SSMIncidents) ListResponsePlans(input *ListResponsePlansInput) (*ListResponsePlansOutput, error) {
1819	req, out := c.ListResponsePlansRequest(input)
1820	return out, req.Send()
1821}
1822
1823// ListResponsePlansWithContext is the same as ListResponsePlans with the addition of
1824// the ability to pass a context and additional request options.
1825//
1826// See ListResponsePlans for details on how to use this API operation.
1827//
1828// The context must be non-nil and will be used for request cancellation. If
1829// the context is nil a panic will occur. In the future the SDK may create
1830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1831// for more information on using Contexts.
1832func (c *SSMIncidents) ListResponsePlansWithContext(ctx aws.Context, input *ListResponsePlansInput, opts ...request.Option) (*ListResponsePlansOutput, error) {
1833	req, out := c.ListResponsePlansRequest(input)
1834	req.SetContext(ctx)
1835	req.ApplyOptions(opts...)
1836	return out, req.Send()
1837}
1838
1839// ListResponsePlansPages iterates over the pages of a ListResponsePlans operation,
1840// calling the "fn" function with the response data for each page. To stop
1841// iterating, return false from the fn function.
1842//
1843// See ListResponsePlans method for more information on how to use this operation.
1844//
1845// Note: This operation can generate multiple requests to a service.
1846//
1847//    // Example iterating over at most 3 pages of a ListResponsePlans operation.
1848//    pageNum := 0
1849//    err := client.ListResponsePlansPages(params,
1850//        func(page *ssmincidents.ListResponsePlansOutput, lastPage bool) bool {
1851//            pageNum++
1852//            fmt.Println(page)
1853//            return pageNum <= 3
1854//        })
1855//
1856func (c *SSMIncidents) ListResponsePlansPages(input *ListResponsePlansInput, fn func(*ListResponsePlansOutput, bool) bool) error {
1857	return c.ListResponsePlansPagesWithContext(aws.BackgroundContext(), input, fn)
1858}
1859
1860// ListResponsePlansPagesWithContext same as ListResponsePlansPages except
1861// it takes a Context and allows setting request options on the pages.
1862//
1863// The context must be non-nil and will be used for request cancellation. If
1864// the context is nil a panic will occur. In the future the SDK may create
1865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1866// for more information on using Contexts.
1867func (c *SSMIncidents) ListResponsePlansPagesWithContext(ctx aws.Context, input *ListResponsePlansInput, fn func(*ListResponsePlansOutput, bool) bool, opts ...request.Option) error {
1868	p := request.Pagination{
1869		NewRequest: func() (*request.Request, error) {
1870			var inCpy *ListResponsePlansInput
1871			if input != nil {
1872				tmp := *input
1873				inCpy = &tmp
1874			}
1875			req, _ := c.ListResponsePlansRequest(inCpy)
1876			req.SetContext(ctx)
1877			req.ApplyOptions(opts...)
1878			return req, nil
1879		},
1880	}
1881
1882	for p.Next() {
1883		if !fn(p.Page().(*ListResponsePlansOutput), !p.HasNextPage()) {
1884			break
1885		}
1886	}
1887
1888	return p.Err()
1889}
1890
1891const opListTagsForResource = "ListTagsForResource"
1892
1893// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1894// client's request for the ListTagsForResource operation. The "output" return
1895// value will be populated with the request's response once the request completes
1896// successfully.
1897//
1898// Use "Send" method on the returned Request to send the API call to the service.
1899// the "output" return value is not valid until after Send returns without error.
1900//
1901// See ListTagsForResource for more information on using the ListTagsForResource
1902// API call, and error handling.
1903//
1904// This method is useful when you want to inject custom logic or configuration
1905// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1906//
1907//
1908//    // Example sending a request using the ListTagsForResourceRequest method.
1909//    req, resp := client.ListTagsForResourceRequest(params)
1910//
1911//    err := req.Send()
1912//    if err == nil { // resp is now filled
1913//        fmt.Println(resp)
1914//    }
1915//
1916// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTagsForResource
1917func (c *SSMIncidents) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1918	op := &request.Operation{
1919		Name:       opListTagsForResource,
1920		HTTPMethod: "GET",
1921		HTTPPath:   "/tags/{resourceArn}",
1922	}
1923
1924	if input == nil {
1925		input = &ListTagsForResourceInput{}
1926	}
1927
1928	output = &ListTagsForResourceOutput{}
1929	req = c.newRequest(op, input, output)
1930	return
1931}
1932
1933// ListTagsForResource API operation for AWS Systems Manager Incident Manager.
1934//
1935// Lists the tags that are attached to the specified response plan.
1936//
1937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1938// with awserr.Error's Code and Message methods to get detailed information about
1939// the error.
1940//
1941// See the AWS API reference guide for AWS Systems Manager Incident Manager's
1942// API operation ListTagsForResource for usage and error information.
1943//
1944// Returned Error Types:
1945//   * ThrottlingException
1946//   The request was denied due to request throttling.
1947//
1948//   * ResourceNotFoundException
1949//   Request references a resource which doesn't exist.
1950//
1951//   * AccessDeniedException
1952//   You don't have sufficient access to perform this operation.
1953//
1954//   * ValidationException
1955//   The input fails to satisfy the constraints specified by an Amazon Web Services
1956//   service.
1957//
1958//   * InternalServerException
1959//   The request processing has failed because of an unknown error, exception
1960//   or failure.
1961//
1962// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTagsForResource
1963func (c *SSMIncidents) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1964	req, out := c.ListTagsForResourceRequest(input)
1965	return out, req.Send()
1966}
1967
1968// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1969// the ability to pass a context and additional request options.
1970//
1971// See ListTagsForResource for details on how to use this API operation.
1972//
1973// The context must be non-nil and will be used for request cancellation. If
1974// the context is nil a panic will occur. In the future the SDK may create
1975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1976// for more information on using Contexts.
1977func (c *SSMIncidents) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1978	req, out := c.ListTagsForResourceRequest(input)
1979	req.SetContext(ctx)
1980	req.ApplyOptions(opts...)
1981	return out, req.Send()
1982}
1983
1984const opListTimelineEvents = "ListTimelineEvents"
1985
1986// ListTimelineEventsRequest generates a "aws/request.Request" representing the
1987// client's request for the ListTimelineEvents operation. The "output" return
1988// value will be populated with the request's response once the request completes
1989// successfully.
1990//
1991// Use "Send" method on the returned Request to send the API call to the service.
1992// the "output" return value is not valid until after Send returns without error.
1993//
1994// See ListTimelineEvents for more information on using the ListTimelineEvents
1995// API call, and error handling.
1996//
1997// This method is useful when you want to inject custom logic or configuration
1998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1999//
2000//
2001//    // Example sending a request using the ListTimelineEventsRequest method.
2002//    req, resp := client.ListTimelineEventsRequest(params)
2003//
2004//    err := req.Send()
2005//    if err == nil { // resp is now filled
2006//        fmt.Println(resp)
2007//    }
2008//
2009// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTimelineEvents
2010func (c *SSMIncidents) ListTimelineEventsRequest(input *ListTimelineEventsInput) (req *request.Request, output *ListTimelineEventsOutput) {
2011	op := &request.Operation{
2012		Name:       opListTimelineEvents,
2013		HTTPMethod: "POST",
2014		HTTPPath:   "/listTimelineEvents",
2015		Paginator: &request.Paginator{
2016			InputTokens:     []string{"nextToken"},
2017			OutputTokens:    []string{"nextToken"},
2018			LimitToken:      "maxResults",
2019			TruncationToken: "",
2020		},
2021	}
2022
2023	if input == nil {
2024		input = &ListTimelineEventsInput{}
2025	}
2026
2027	output = &ListTimelineEventsOutput{}
2028	req = c.newRequest(op, input, output)
2029	return
2030}
2031
2032// ListTimelineEvents API operation for AWS Systems Manager Incident Manager.
2033//
2034// Lists timeline events for the specified incident record.
2035//
2036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2037// with awserr.Error's Code and Message methods to get detailed information about
2038// the error.
2039//
2040// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2041// API operation ListTimelineEvents for usage and error information.
2042//
2043// Returned Error Types:
2044//   * ThrottlingException
2045//   The request was denied due to request throttling.
2046//
2047//   * AccessDeniedException
2048//   You don't have sufficient access to perform this operation.
2049//
2050//   * ValidationException
2051//   The input fails to satisfy the constraints specified by an Amazon Web Services
2052//   service.
2053//
2054//   * InternalServerException
2055//   The request processing has failed because of an unknown error, exception
2056//   or failure.
2057//
2058// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/ListTimelineEvents
2059func (c *SSMIncidents) ListTimelineEvents(input *ListTimelineEventsInput) (*ListTimelineEventsOutput, error) {
2060	req, out := c.ListTimelineEventsRequest(input)
2061	return out, req.Send()
2062}
2063
2064// ListTimelineEventsWithContext is the same as ListTimelineEvents with the addition of
2065// the ability to pass a context and additional request options.
2066//
2067// See ListTimelineEvents for details on how to use this API operation.
2068//
2069// The context must be non-nil and will be used for request cancellation. If
2070// the context is nil a panic will occur. In the future the SDK may create
2071// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2072// for more information on using Contexts.
2073func (c *SSMIncidents) ListTimelineEventsWithContext(ctx aws.Context, input *ListTimelineEventsInput, opts ...request.Option) (*ListTimelineEventsOutput, error) {
2074	req, out := c.ListTimelineEventsRequest(input)
2075	req.SetContext(ctx)
2076	req.ApplyOptions(opts...)
2077	return out, req.Send()
2078}
2079
2080// ListTimelineEventsPages iterates over the pages of a ListTimelineEvents operation,
2081// calling the "fn" function with the response data for each page. To stop
2082// iterating, return false from the fn function.
2083//
2084// See ListTimelineEvents method for more information on how to use this operation.
2085//
2086// Note: This operation can generate multiple requests to a service.
2087//
2088//    // Example iterating over at most 3 pages of a ListTimelineEvents operation.
2089//    pageNum := 0
2090//    err := client.ListTimelineEventsPages(params,
2091//        func(page *ssmincidents.ListTimelineEventsOutput, lastPage bool) bool {
2092//            pageNum++
2093//            fmt.Println(page)
2094//            return pageNum <= 3
2095//        })
2096//
2097func (c *SSMIncidents) ListTimelineEventsPages(input *ListTimelineEventsInput, fn func(*ListTimelineEventsOutput, bool) bool) error {
2098	return c.ListTimelineEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2099}
2100
2101// ListTimelineEventsPagesWithContext same as ListTimelineEventsPages except
2102// it takes a Context and allows setting request options on the pages.
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 *SSMIncidents) ListTimelineEventsPagesWithContext(ctx aws.Context, input *ListTimelineEventsInput, fn func(*ListTimelineEventsOutput, bool) bool, opts ...request.Option) error {
2109	p := request.Pagination{
2110		NewRequest: func() (*request.Request, error) {
2111			var inCpy *ListTimelineEventsInput
2112			if input != nil {
2113				tmp := *input
2114				inCpy = &tmp
2115			}
2116			req, _ := c.ListTimelineEventsRequest(inCpy)
2117			req.SetContext(ctx)
2118			req.ApplyOptions(opts...)
2119			return req, nil
2120		},
2121	}
2122
2123	for p.Next() {
2124		if !fn(p.Page().(*ListTimelineEventsOutput), !p.HasNextPage()) {
2125			break
2126		}
2127	}
2128
2129	return p.Err()
2130}
2131
2132const opPutResourcePolicy = "PutResourcePolicy"
2133
2134// PutResourcePolicyRequest generates a "aws/request.Request" representing the
2135// client's request for the PutResourcePolicy operation. The "output" return
2136// value will be populated with the request's response once the request completes
2137// successfully.
2138//
2139// Use "Send" method on the returned Request to send the API call to the service.
2140// the "output" return value is not valid until after Send returns without error.
2141//
2142// See PutResourcePolicy for more information on using the PutResourcePolicy
2143// API call, and error handling.
2144//
2145// This method is useful when you want to inject custom logic or configuration
2146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2147//
2148//
2149//    // Example sending a request using the PutResourcePolicyRequest method.
2150//    req, resp := client.PutResourcePolicyRequest(params)
2151//
2152//    err := req.Send()
2153//    if err == nil { // resp is now filled
2154//        fmt.Println(resp)
2155//    }
2156//
2157// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/PutResourcePolicy
2158func (c *SSMIncidents) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
2159	op := &request.Operation{
2160		Name:       opPutResourcePolicy,
2161		HTTPMethod: "POST",
2162		HTTPPath:   "/putResourcePolicy",
2163	}
2164
2165	if input == nil {
2166		input = &PutResourcePolicyInput{}
2167	}
2168
2169	output = &PutResourcePolicyOutput{}
2170	req = c.newRequest(op, input, output)
2171	return
2172}
2173
2174// PutResourcePolicy API operation for AWS Systems Manager Incident Manager.
2175//
2176// Adds a resource policy to the specified response plan.
2177//
2178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2179// with awserr.Error's Code and Message methods to get detailed information about
2180// the error.
2181//
2182// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2183// API operation PutResourcePolicy for usage and error information.
2184//
2185// Returned Error Types:
2186//   * ThrottlingException
2187//   The request was denied due to request throttling.
2188//
2189//   * ResourceNotFoundException
2190//   Request references a resource which doesn't exist.
2191//
2192//   * AccessDeniedException
2193//   You don't have sufficient access to perform this operation.
2194//
2195//   * ValidationException
2196//   The input fails to satisfy the constraints specified by an Amazon Web Services
2197//   service.
2198//
2199//   * InternalServerException
2200//   The request processing has failed because of an unknown error, exception
2201//   or failure.
2202//
2203// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/PutResourcePolicy
2204func (c *SSMIncidents) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
2205	req, out := c.PutResourcePolicyRequest(input)
2206	return out, req.Send()
2207}
2208
2209// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
2210// the ability to pass a context and additional request options.
2211//
2212// See PutResourcePolicy for details on how to use this API operation.
2213//
2214// The context must be non-nil and will be used for request cancellation. If
2215// the context is nil a panic will occur. In the future the SDK may create
2216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2217// for more information on using Contexts.
2218func (c *SSMIncidents) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
2219	req, out := c.PutResourcePolicyRequest(input)
2220	req.SetContext(ctx)
2221	req.ApplyOptions(opts...)
2222	return out, req.Send()
2223}
2224
2225const opStartIncident = "StartIncident"
2226
2227// StartIncidentRequest generates a "aws/request.Request" representing the
2228// client's request for the StartIncident operation. The "output" return
2229// value will be populated with the request's response once the request completes
2230// successfully.
2231//
2232// Use "Send" method on the returned Request to send the API call to the service.
2233// the "output" return value is not valid until after Send returns without error.
2234//
2235// See StartIncident for more information on using the StartIncident
2236// API call, and error handling.
2237//
2238// This method is useful when you want to inject custom logic or configuration
2239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2240//
2241//
2242//    // Example sending a request using the StartIncidentRequest method.
2243//    req, resp := client.StartIncidentRequest(params)
2244//
2245//    err := req.Send()
2246//    if err == nil { // resp is now filled
2247//        fmt.Println(resp)
2248//    }
2249//
2250// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/StartIncident
2251func (c *SSMIncidents) StartIncidentRequest(input *StartIncidentInput) (req *request.Request, output *StartIncidentOutput) {
2252	op := &request.Operation{
2253		Name:       opStartIncident,
2254		HTTPMethod: "POST",
2255		HTTPPath:   "/startIncident",
2256	}
2257
2258	if input == nil {
2259		input = &StartIncidentInput{}
2260	}
2261
2262	output = &StartIncidentOutput{}
2263	req = c.newRequest(op, input, output)
2264	return
2265}
2266
2267// StartIncident API operation for AWS Systems Manager Incident Manager.
2268//
2269// Used to start an incident from CloudWatch alarms, EventBridge events, or
2270// manually.
2271//
2272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2273// with awserr.Error's Code and Message methods to get detailed information about
2274// the error.
2275//
2276// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2277// API operation StartIncident for usage and error information.
2278//
2279// Returned Error Types:
2280//   * ThrottlingException
2281//   The request was denied due to request throttling.
2282//
2283//   * ResourceNotFoundException
2284//   Request references a resource which doesn't exist.
2285//
2286//   * AccessDeniedException
2287//   You don't have sufficient access to perform this operation.
2288//
2289//   * ValidationException
2290//   The input fails to satisfy the constraints specified by an Amazon Web Services
2291//   service.
2292//
2293//   * ConflictException
2294//   Updating or deleting a resource causes an inconsistent state.
2295//
2296//   * InternalServerException
2297//   The request processing has failed because of an unknown error, exception
2298//   or failure.
2299//
2300// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/StartIncident
2301func (c *SSMIncidents) StartIncident(input *StartIncidentInput) (*StartIncidentOutput, error) {
2302	req, out := c.StartIncidentRequest(input)
2303	return out, req.Send()
2304}
2305
2306// StartIncidentWithContext is the same as StartIncident with the addition of
2307// the ability to pass a context and additional request options.
2308//
2309// See StartIncident for details on how to use this API operation.
2310//
2311// The context must be non-nil and will be used for request cancellation. If
2312// the context is nil a panic will occur. In the future the SDK may create
2313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2314// for more information on using Contexts.
2315func (c *SSMIncidents) StartIncidentWithContext(ctx aws.Context, input *StartIncidentInput, opts ...request.Option) (*StartIncidentOutput, error) {
2316	req, out := c.StartIncidentRequest(input)
2317	req.SetContext(ctx)
2318	req.ApplyOptions(opts...)
2319	return out, req.Send()
2320}
2321
2322const opTagResource = "TagResource"
2323
2324// TagResourceRequest generates a "aws/request.Request" representing the
2325// client's request for the TagResource operation. The "output" return
2326// value will be populated with the request's response once the request completes
2327// successfully.
2328//
2329// Use "Send" method on the returned Request to send the API call to the service.
2330// the "output" return value is not valid until after Send returns without error.
2331//
2332// See TagResource for more information on using the TagResource
2333// API call, and error handling.
2334//
2335// This method is useful when you want to inject custom logic or configuration
2336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2337//
2338//
2339//    // Example sending a request using the TagResourceRequest method.
2340//    req, resp := client.TagResourceRequest(params)
2341//
2342//    err := req.Send()
2343//    if err == nil { // resp is now filled
2344//        fmt.Println(resp)
2345//    }
2346//
2347// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/TagResource
2348func (c *SSMIncidents) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2349	op := &request.Operation{
2350		Name:       opTagResource,
2351		HTTPMethod: "POST",
2352		HTTPPath:   "/tags/{resourceArn}",
2353	}
2354
2355	if input == nil {
2356		input = &TagResourceInput{}
2357	}
2358
2359	output = &TagResourceOutput{}
2360	req = c.newRequest(op, input, output)
2361	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2362	return
2363}
2364
2365// TagResource API operation for AWS Systems Manager Incident Manager.
2366//
2367// Adds a tag to a response plan.
2368//
2369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2370// with awserr.Error's Code and Message methods to get detailed information about
2371// the error.
2372//
2373// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2374// API operation TagResource for usage and error information.
2375//
2376// Returned Error Types:
2377//   * ServiceQuotaExceededException
2378//   Request would cause a service quota to be exceeded.
2379//
2380//   * ThrottlingException
2381//   The request was denied due to request throttling.
2382//
2383//   * ResourceNotFoundException
2384//   Request references a resource which doesn't exist.
2385//
2386//   * AccessDeniedException
2387//   You don't have sufficient access to perform this operation.
2388//
2389//   * ValidationException
2390//   The input fails to satisfy the constraints specified by an Amazon Web Services
2391//   service.
2392//
2393//   * ConflictException
2394//   Updating or deleting a resource causes an inconsistent state.
2395//
2396//   * InternalServerException
2397//   The request processing has failed because of an unknown error, exception
2398//   or failure.
2399//
2400// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/TagResource
2401func (c *SSMIncidents) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2402	req, out := c.TagResourceRequest(input)
2403	return out, req.Send()
2404}
2405
2406// TagResourceWithContext is the same as TagResource with the addition of
2407// the ability to pass a context and additional request options.
2408//
2409// See TagResource for details on how to use this API operation.
2410//
2411// The context must be non-nil and will be used for request cancellation. If
2412// the context is nil a panic will occur. In the future the SDK may create
2413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2414// for more information on using Contexts.
2415func (c *SSMIncidents) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2416	req, out := c.TagResourceRequest(input)
2417	req.SetContext(ctx)
2418	req.ApplyOptions(opts...)
2419	return out, req.Send()
2420}
2421
2422const opUntagResource = "UntagResource"
2423
2424// UntagResourceRequest generates a "aws/request.Request" representing the
2425// client's request for the UntagResource operation. The "output" return
2426// value will be populated with the request's response once the request completes
2427// successfully.
2428//
2429// Use "Send" method on the returned Request to send the API call to the service.
2430// the "output" return value is not valid until after Send returns without error.
2431//
2432// See UntagResource for more information on using the UntagResource
2433// API call, and error handling.
2434//
2435// This method is useful when you want to inject custom logic or configuration
2436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2437//
2438//
2439//    // Example sending a request using the UntagResourceRequest method.
2440//    req, resp := client.UntagResourceRequest(params)
2441//
2442//    err := req.Send()
2443//    if err == nil { // resp is now filled
2444//        fmt.Println(resp)
2445//    }
2446//
2447// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UntagResource
2448func (c *SSMIncidents) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2449	op := &request.Operation{
2450		Name:       opUntagResource,
2451		HTTPMethod: "DELETE",
2452		HTTPPath:   "/tags/{resourceArn}",
2453	}
2454
2455	if input == nil {
2456		input = &UntagResourceInput{}
2457	}
2458
2459	output = &UntagResourceOutput{}
2460	req = c.newRequest(op, input, output)
2461	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2462	return
2463}
2464
2465// UntagResource API operation for AWS Systems Manager Incident Manager.
2466//
2467// Removes a tag from a resource.
2468//
2469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2470// with awserr.Error's Code and Message methods to get detailed information about
2471// the error.
2472//
2473// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2474// API operation UntagResource for usage and error information.
2475//
2476// Returned Error Types:
2477//   * ThrottlingException
2478//   The request was denied due to request throttling.
2479//
2480//   * ResourceNotFoundException
2481//   Request references a resource which doesn't exist.
2482//
2483//   * AccessDeniedException
2484//   You don't have sufficient access to perform this operation.
2485//
2486//   * ValidationException
2487//   The input fails to satisfy the constraints specified by an Amazon Web Services
2488//   service.
2489//
2490//   * ConflictException
2491//   Updating or deleting a resource causes an inconsistent state.
2492//
2493//   * InternalServerException
2494//   The request processing has failed because of an unknown error, exception
2495//   or failure.
2496//
2497// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UntagResource
2498func (c *SSMIncidents) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2499	req, out := c.UntagResourceRequest(input)
2500	return out, req.Send()
2501}
2502
2503// UntagResourceWithContext is the same as UntagResource with the addition of
2504// the ability to pass a context and additional request options.
2505//
2506// See UntagResource for details on how to use this API operation.
2507//
2508// The context must be non-nil and will be used for request cancellation. If
2509// the context is nil a panic will occur. In the future the SDK may create
2510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2511// for more information on using Contexts.
2512func (c *SSMIncidents) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2513	req, out := c.UntagResourceRequest(input)
2514	req.SetContext(ctx)
2515	req.ApplyOptions(opts...)
2516	return out, req.Send()
2517}
2518
2519const opUpdateDeletionProtection = "UpdateDeletionProtection"
2520
2521// UpdateDeletionProtectionRequest generates a "aws/request.Request" representing the
2522// client's request for the UpdateDeletionProtection operation. The "output" return
2523// value will be populated with the request's response once the request completes
2524// successfully.
2525//
2526// Use "Send" method on the returned Request to send the API call to the service.
2527// the "output" return value is not valid until after Send returns without error.
2528//
2529// See UpdateDeletionProtection for more information on using the UpdateDeletionProtection
2530// API call, and error handling.
2531//
2532// This method is useful when you want to inject custom logic or configuration
2533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2534//
2535//
2536//    // Example sending a request using the UpdateDeletionProtectionRequest method.
2537//    req, resp := client.UpdateDeletionProtectionRequest(params)
2538//
2539//    err := req.Send()
2540//    if err == nil { // resp is now filled
2541//        fmt.Println(resp)
2542//    }
2543//
2544// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateDeletionProtection
2545func (c *SSMIncidents) UpdateDeletionProtectionRequest(input *UpdateDeletionProtectionInput) (req *request.Request, output *UpdateDeletionProtectionOutput) {
2546	op := &request.Operation{
2547		Name:       opUpdateDeletionProtection,
2548		HTTPMethod: "POST",
2549		HTTPPath:   "/updateDeletionProtection",
2550	}
2551
2552	if input == nil {
2553		input = &UpdateDeletionProtectionInput{}
2554	}
2555
2556	output = &UpdateDeletionProtectionOutput{}
2557	req = c.newRequest(op, input, output)
2558	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2559	return
2560}
2561
2562// UpdateDeletionProtection API operation for AWS Systems Manager Incident Manager.
2563//
2564// Update deletion protection to either allow or deny deletion of the final
2565// Region in a replication set.
2566//
2567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2568// with awserr.Error's Code and Message methods to get detailed information about
2569// the error.
2570//
2571// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2572// API operation UpdateDeletionProtection for usage and error information.
2573//
2574// Returned Error Types:
2575//   * ThrottlingException
2576//   The request was denied due to request throttling.
2577//
2578//   * ResourceNotFoundException
2579//   Request references a resource which doesn't exist.
2580//
2581//   * AccessDeniedException
2582//   You don't have sufficient access to perform this operation.
2583//
2584//   * ValidationException
2585//   The input fails to satisfy the constraints specified by an Amazon Web Services
2586//   service.
2587//
2588//   * InternalServerException
2589//   The request processing has failed because of an unknown error, exception
2590//   or failure.
2591//
2592// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateDeletionProtection
2593func (c *SSMIncidents) UpdateDeletionProtection(input *UpdateDeletionProtectionInput) (*UpdateDeletionProtectionOutput, error) {
2594	req, out := c.UpdateDeletionProtectionRequest(input)
2595	return out, req.Send()
2596}
2597
2598// UpdateDeletionProtectionWithContext is the same as UpdateDeletionProtection with the addition of
2599// the ability to pass a context and additional request options.
2600//
2601// See UpdateDeletionProtection for details on how to use this API operation.
2602//
2603// The context must be non-nil and will be used for request cancellation. If
2604// the context is nil a panic will occur. In the future the SDK may create
2605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2606// for more information on using Contexts.
2607func (c *SSMIncidents) UpdateDeletionProtectionWithContext(ctx aws.Context, input *UpdateDeletionProtectionInput, opts ...request.Option) (*UpdateDeletionProtectionOutput, error) {
2608	req, out := c.UpdateDeletionProtectionRequest(input)
2609	req.SetContext(ctx)
2610	req.ApplyOptions(opts...)
2611	return out, req.Send()
2612}
2613
2614const opUpdateIncidentRecord = "UpdateIncidentRecord"
2615
2616// UpdateIncidentRecordRequest generates a "aws/request.Request" representing the
2617// client's request for the UpdateIncidentRecord operation. The "output" return
2618// value will be populated with the request's response once the request completes
2619// successfully.
2620//
2621// Use "Send" method on the returned Request to send the API call to the service.
2622// the "output" return value is not valid until after Send returns without error.
2623//
2624// See UpdateIncidentRecord for more information on using the UpdateIncidentRecord
2625// API call, and error handling.
2626//
2627// This method is useful when you want to inject custom logic or configuration
2628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2629//
2630//
2631//    // Example sending a request using the UpdateIncidentRecordRequest method.
2632//    req, resp := client.UpdateIncidentRecordRequest(params)
2633//
2634//    err := req.Send()
2635//    if err == nil { // resp is now filled
2636//        fmt.Println(resp)
2637//    }
2638//
2639// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateIncidentRecord
2640func (c *SSMIncidents) UpdateIncidentRecordRequest(input *UpdateIncidentRecordInput) (req *request.Request, output *UpdateIncidentRecordOutput) {
2641	op := &request.Operation{
2642		Name:       opUpdateIncidentRecord,
2643		HTTPMethod: "POST",
2644		HTTPPath:   "/updateIncidentRecord",
2645	}
2646
2647	if input == nil {
2648		input = &UpdateIncidentRecordInput{}
2649	}
2650
2651	output = &UpdateIncidentRecordOutput{}
2652	req = c.newRequest(op, input, output)
2653	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2654	return
2655}
2656
2657// UpdateIncidentRecord API operation for AWS Systems Manager Incident Manager.
2658//
2659// Update the details of an incident record. You can use this operation to update
2660// an incident record from the defined chat channel. For more information about
2661// using actions in chat channels, see Interacting through chat (https://docs.aws.amazon.com/incident-manager/latest/userguide/chat.html#chat-interact).
2662//
2663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2664// with awserr.Error's Code and Message methods to get detailed information about
2665// the error.
2666//
2667// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2668// API operation UpdateIncidentRecord for usage and error information.
2669//
2670// Returned Error Types:
2671//   * ThrottlingException
2672//   The request was denied due to request throttling.
2673//
2674//   * ResourceNotFoundException
2675//   Request references a resource which doesn't exist.
2676//
2677//   * AccessDeniedException
2678//   You don't have sufficient access to perform this operation.
2679//
2680//   * ValidationException
2681//   The input fails to satisfy the constraints specified by an Amazon Web Services
2682//   service.
2683//
2684//   * ConflictException
2685//   Updating or deleting a resource causes an inconsistent state.
2686//
2687//   * InternalServerException
2688//   The request processing has failed because of an unknown error, exception
2689//   or failure.
2690//
2691// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateIncidentRecord
2692func (c *SSMIncidents) UpdateIncidentRecord(input *UpdateIncidentRecordInput) (*UpdateIncidentRecordOutput, error) {
2693	req, out := c.UpdateIncidentRecordRequest(input)
2694	return out, req.Send()
2695}
2696
2697// UpdateIncidentRecordWithContext is the same as UpdateIncidentRecord with the addition of
2698// the ability to pass a context and additional request options.
2699//
2700// See UpdateIncidentRecord for details on how to use this API operation.
2701//
2702// The context must be non-nil and will be used for request cancellation. If
2703// the context is nil a panic will occur. In the future the SDK may create
2704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2705// for more information on using Contexts.
2706func (c *SSMIncidents) UpdateIncidentRecordWithContext(ctx aws.Context, input *UpdateIncidentRecordInput, opts ...request.Option) (*UpdateIncidentRecordOutput, error) {
2707	req, out := c.UpdateIncidentRecordRequest(input)
2708	req.SetContext(ctx)
2709	req.ApplyOptions(opts...)
2710	return out, req.Send()
2711}
2712
2713const opUpdateRelatedItems = "UpdateRelatedItems"
2714
2715// UpdateRelatedItemsRequest generates a "aws/request.Request" representing the
2716// client's request for the UpdateRelatedItems operation. The "output" return
2717// value will be populated with the request's response once the request completes
2718// successfully.
2719//
2720// Use "Send" method on the returned Request to send the API call to the service.
2721// the "output" return value is not valid until after Send returns without error.
2722//
2723// See UpdateRelatedItems for more information on using the UpdateRelatedItems
2724// API call, and error handling.
2725//
2726// This method is useful when you want to inject custom logic or configuration
2727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2728//
2729//
2730//    // Example sending a request using the UpdateRelatedItemsRequest method.
2731//    req, resp := client.UpdateRelatedItemsRequest(params)
2732//
2733//    err := req.Send()
2734//    if err == nil { // resp is now filled
2735//        fmt.Println(resp)
2736//    }
2737//
2738// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateRelatedItems
2739func (c *SSMIncidents) UpdateRelatedItemsRequest(input *UpdateRelatedItemsInput) (req *request.Request, output *UpdateRelatedItemsOutput) {
2740	op := &request.Operation{
2741		Name:       opUpdateRelatedItems,
2742		HTTPMethod: "POST",
2743		HTTPPath:   "/updateRelatedItems",
2744	}
2745
2746	if input == nil {
2747		input = &UpdateRelatedItemsInput{}
2748	}
2749
2750	output = &UpdateRelatedItemsOutput{}
2751	req = c.newRequest(op, input, output)
2752	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2753	return
2754}
2755
2756// UpdateRelatedItems API operation for AWS Systems Manager Incident Manager.
2757//
2758// Add or remove related items from the related items tab of an incident record.
2759//
2760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2761// with awserr.Error's Code and Message methods to get detailed information about
2762// the error.
2763//
2764// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2765// API operation UpdateRelatedItems for usage and error information.
2766//
2767// Returned Error Types:
2768//   * ThrottlingException
2769//   The request was denied due to request throttling.
2770//
2771//   * ResourceNotFoundException
2772//   Request references a resource which doesn't exist.
2773//
2774//   * AccessDeniedException
2775//   You don't have sufficient access to perform this operation.
2776//
2777//   * ValidationException
2778//   The input fails to satisfy the constraints specified by an Amazon Web Services
2779//   service.
2780//
2781//   * ConflictException
2782//   Updating or deleting a resource causes an inconsistent state.
2783//
2784//   * InternalServerException
2785//   The request processing has failed because of an unknown error, exception
2786//   or failure.
2787//
2788// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateRelatedItems
2789func (c *SSMIncidents) UpdateRelatedItems(input *UpdateRelatedItemsInput) (*UpdateRelatedItemsOutput, error) {
2790	req, out := c.UpdateRelatedItemsRequest(input)
2791	return out, req.Send()
2792}
2793
2794// UpdateRelatedItemsWithContext is the same as UpdateRelatedItems with the addition of
2795// the ability to pass a context and additional request options.
2796//
2797// See UpdateRelatedItems for details on how to use this API operation.
2798//
2799// The context must be non-nil and will be used for request cancellation. If
2800// the context is nil a panic will occur. In the future the SDK may create
2801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2802// for more information on using Contexts.
2803func (c *SSMIncidents) UpdateRelatedItemsWithContext(ctx aws.Context, input *UpdateRelatedItemsInput, opts ...request.Option) (*UpdateRelatedItemsOutput, error) {
2804	req, out := c.UpdateRelatedItemsRequest(input)
2805	req.SetContext(ctx)
2806	req.ApplyOptions(opts...)
2807	return out, req.Send()
2808}
2809
2810const opUpdateReplicationSet = "UpdateReplicationSet"
2811
2812// UpdateReplicationSetRequest generates a "aws/request.Request" representing the
2813// client's request for the UpdateReplicationSet operation. The "output" return
2814// value will be populated with the request's response once the request completes
2815// successfully.
2816//
2817// Use "Send" method on the returned Request to send the API call to the service.
2818// the "output" return value is not valid until after Send returns without error.
2819//
2820// See UpdateReplicationSet for more information on using the UpdateReplicationSet
2821// API call, and error handling.
2822//
2823// This method is useful when you want to inject custom logic or configuration
2824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2825//
2826//
2827//    // Example sending a request using the UpdateReplicationSetRequest method.
2828//    req, resp := client.UpdateReplicationSetRequest(params)
2829//
2830//    err := req.Send()
2831//    if err == nil { // resp is now filled
2832//        fmt.Println(resp)
2833//    }
2834//
2835// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateReplicationSet
2836func (c *SSMIncidents) UpdateReplicationSetRequest(input *UpdateReplicationSetInput) (req *request.Request, output *UpdateReplicationSetOutput) {
2837	op := &request.Operation{
2838		Name:       opUpdateReplicationSet,
2839		HTTPMethod: "POST",
2840		HTTPPath:   "/updateReplicationSet",
2841	}
2842
2843	if input == nil {
2844		input = &UpdateReplicationSetInput{}
2845	}
2846
2847	output = &UpdateReplicationSetOutput{}
2848	req = c.newRequest(op, input, output)
2849	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2850	return
2851}
2852
2853// UpdateReplicationSet API operation for AWS Systems Manager Incident Manager.
2854//
2855// Add or delete Regions from your replication set.
2856//
2857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2858// with awserr.Error's Code and Message methods to get detailed information about
2859// the error.
2860//
2861// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2862// API operation UpdateReplicationSet for usage and error information.
2863//
2864// Returned Error Types:
2865//   * ThrottlingException
2866//   The request was denied due to request throttling.
2867//
2868//   * ResourceNotFoundException
2869//   Request references a resource which doesn't exist.
2870//
2871//   * AccessDeniedException
2872//   You don't have sufficient access to perform this operation.
2873//
2874//   * ValidationException
2875//   The input fails to satisfy the constraints specified by an Amazon Web Services
2876//   service.
2877//
2878//   * InternalServerException
2879//   The request processing has failed because of an unknown error, exception
2880//   or failure.
2881//
2882// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateReplicationSet
2883func (c *SSMIncidents) UpdateReplicationSet(input *UpdateReplicationSetInput) (*UpdateReplicationSetOutput, error) {
2884	req, out := c.UpdateReplicationSetRequest(input)
2885	return out, req.Send()
2886}
2887
2888// UpdateReplicationSetWithContext is the same as UpdateReplicationSet with the addition of
2889// the ability to pass a context and additional request options.
2890//
2891// See UpdateReplicationSet for details on how to use this API operation.
2892//
2893// The context must be non-nil and will be used for request cancellation. If
2894// the context is nil a panic will occur. In the future the SDK may create
2895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2896// for more information on using Contexts.
2897func (c *SSMIncidents) UpdateReplicationSetWithContext(ctx aws.Context, input *UpdateReplicationSetInput, opts ...request.Option) (*UpdateReplicationSetOutput, error) {
2898	req, out := c.UpdateReplicationSetRequest(input)
2899	req.SetContext(ctx)
2900	req.ApplyOptions(opts...)
2901	return out, req.Send()
2902}
2903
2904const opUpdateResponsePlan = "UpdateResponsePlan"
2905
2906// UpdateResponsePlanRequest generates a "aws/request.Request" representing the
2907// client's request for the UpdateResponsePlan operation. The "output" return
2908// value will be populated with the request's response once the request completes
2909// successfully.
2910//
2911// Use "Send" method on the returned Request to send the API call to the service.
2912// the "output" return value is not valid until after Send returns without error.
2913//
2914// See UpdateResponsePlan for more information on using the UpdateResponsePlan
2915// API call, and error handling.
2916//
2917// This method is useful when you want to inject custom logic or configuration
2918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2919//
2920//
2921//    // Example sending a request using the UpdateResponsePlanRequest method.
2922//    req, resp := client.UpdateResponsePlanRequest(params)
2923//
2924//    err := req.Send()
2925//    if err == nil { // resp is now filled
2926//        fmt.Println(resp)
2927//    }
2928//
2929// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan
2930func (c *SSMIncidents) UpdateResponsePlanRequest(input *UpdateResponsePlanInput) (req *request.Request, output *UpdateResponsePlanOutput) {
2931	op := &request.Operation{
2932		Name:       opUpdateResponsePlan,
2933		HTTPMethod: "POST",
2934		HTTPPath:   "/updateResponsePlan",
2935	}
2936
2937	if input == nil {
2938		input = &UpdateResponsePlanInput{}
2939	}
2940
2941	output = &UpdateResponsePlanOutput{}
2942	req = c.newRequest(op, input, output)
2943	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2944	return
2945}
2946
2947// UpdateResponsePlan API operation for AWS Systems Manager Incident Manager.
2948//
2949// Updates the specified response plan.
2950//
2951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2952// with awserr.Error's Code and Message methods to get detailed information about
2953// the error.
2954//
2955// See the AWS API reference guide for AWS Systems Manager Incident Manager's
2956// API operation UpdateResponsePlan for usage and error information.
2957//
2958// Returned Error Types:
2959//   * ThrottlingException
2960//   The request was denied due to request throttling.
2961//
2962//   * ResourceNotFoundException
2963//   Request references a resource which doesn't exist.
2964//
2965//   * AccessDeniedException
2966//   You don't have sufficient access to perform this operation.
2967//
2968//   * ValidationException
2969//   The input fails to satisfy the constraints specified by an Amazon Web Services
2970//   service.
2971//
2972//   * ConflictException
2973//   Updating or deleting a resource causes an inconsistent state.
2974//
2975//   * InternalServerException
2976//   The request processing has failed because of an unknown error, exception
2977//   or failure.
2978//
2979// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateResponsePlan
2980func (c *SSMIncidents) UpdateResponsePlan(input *UpdateResponsePlanInput) (*UpdateResponsePlanOutput, error) {
2981	req, out := c.UpdateResponsePlanRequest(input)
2982	return out, req.Send()
2983}
2984
2985// UpdateResponsePlanWithContext is the same as UpdateResponsePlan with the addition of
2986// the ability to pass a context and additional request options.
2987//
2988// See UpdateResponsePlan for details on how to use this API operation.
2989//
2990// The context must be non-nil and will be used for request cancellation. If
2991// the context is nil a panic will occur. In the future the SDK may create
2992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2993// for more information on using Contexts.
2994func (c *SSMIncidents) UpdateResponsePlanWithContext(ctx aws.Context, input *UpdateResponsePlanInput, opts ...request.Option) (*UpdateResponsePlanOutput, error) {
2995	req, out := c.UpdateResponsePlanRequest(input)
2996	req.SetContext(ctx)
2997	req.ApplyOptions(opts...)
2998	return out, req.Send()
2999}
3000
3001const opUpdateTimelineEvent = "UpdateTimelineEvent"
3002
3003// UpdateTimelineEventRequest generates a "aws/request.Request" representing the
3004// client's request for the UpdateTimelineEvent operation. The "output" return
3005// value will be populated with the request's response once the request completes
3006// successfully.
3007//
3008// Use "Send" method on the returned Request to send the API call to the service.
3009// the "output" return value is not valid until after Send returns without error.
3010//
3011// See UpdateTimelineEvent for more information on using the UpdateTimelineEvent
3012// API call, and error handling.
3013//
3014// This method is useful when you want to inject custom logic or configuration
3015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3016//
3017//
3018//    // Example sending a request using the UpdateTimelineEventRequest method.
3019//    req, resp := client.UpdateTimelineEventRequest(params)
3020//
3021//    err := req.Send()
3022//    if err == nil { // resp is now filled
3023//        fmt.Println(resp)
3024//    }
3025//
3026// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateTimelineEvent
3027func (c *SSMIncidents) UpdateTimelineEventRequest(input *UpdateTimelineEventInput) (req *request.Request, output *UpdateTimelineEventOutput) {
3028	op := &request.Operation{
3029		Name:       opUpdateTimelineEvent,
3030		HTTPMethod: "POST",
3031		HTTPPath:   "/updateTimelineEvent",
3032	}
3033
3034	if input == nil {
3035		input = &UpdateTimelineEventInput{}
3036	}
3037
3038	output = &UpdateTimelineEventOutput{}
3039	req = c.newRequest(op, input, output)
3040	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3041	return
3042}
3043
3044// UpdateTimelineEvent API operation for AWS Systems Manager Incident Manager.
3045//
3046// Updates a timeline event. You can update events of type Custom Event.
3047//
3048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3049// with awserr.Error's Code and Message methods to get detailed information about
3050// the error.
3051//
3052// See the AWS API reference guide for AWS Systems Manager Incident Manager's
3053// API operation UpdateTimelineEvent for usage and error information.
3054//
3055// Returned Error Types:
3056//   * ThrottlingException
3057//   The request was denied due to request throttling.
3058//
3059//   * ResourceNotFoundException
3060//   Request references a resource which doesn't exist.
3061//
3062//   * AccessDeniedException
3063//   You don't have sufficient access to perform this operation.
3064//
3065//   * ValidationException
3066//   The input fails to satisfy the constraints specified by an Amazon Web Services
3067//   service.
3068//
3069//   * ConflictException
3070//   Updating or deleting a resource causes an inconsistent state.
3071//
3072//   * InternalServerException
3073//   The request processing has failed because of an unknown error, exception
3074//   or failure.
3075//
3076// See also, https://docs.aws.amazon.com/goto/WebAPI/ssm-incidents-2018-05-10/UpdateTimelineEvent
3077func (c *SSMIncidents) UpdateTimelineEvent(input *UpdateTimelineEventInput) (*UpdateTimelineEventOutput, error) {
3078	req, out := c.UpdateTimelineEventRequest(input)
3079	return out, req.Send()
3080}
3081
3082// UpdateTimelineEventWithContext is the same as UpdateTimelineEvent with the addition of
3083// the ability to pass a context and additional request options.
3084//
3085// See UpdateTimelineEvent for details on how to use this API operation.
3086//
3087// The context must be non-nil and will be used for request cancellation. If
3088// the context is nil a panic will occur. In the future the SDK may create
3089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3090// for more information on using Contexts.
3091func (c *SSMIncidents) UpdateTimelineEventWithContext(ctx aws.Context, input *UpdateTimelineEventInput, opts ...request.Option) (*UpdateTimelineEventOutput, error) {
3092	req, out := c.UpdateTimelineEventRequest(input)
3093	req.SetContext(ctx)
3094	req.ApplyOptions(opts...)
3095	return out, req.Send()
3096}
3097
3098// You don't have sufficient access to perform this operation.
3099type AccessDeniedException struct {
3100	_            struct{}                  `type:"structure"`
3101	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3102
3103	Message_ *string `locationName:"message" type:"string"`
3104}
3105
3106// String returns the string representation.
3107//
3108// API parameter values that are decorated as "sensitive" in the API will not
3109// be included in the string output. The member name will be present, but the
3110// value will be replaced with "sensitive".
3111func (s AccessDeniedException) String() string {
3112	return awsutil.Prettify(s)
3113}
3114
3115// GoString returns the string representation.
3116//
3117// API parameter values that are decorated as "sensitive" in the API will not
3118// be included in the string output. The member name will be present, but the
3119// value will be replaced with "sensitive".
3120func (s AccessDeniedException) GoString() string {
3121	return s.String()
3122}
3123
3124func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
3125	return &AccessDeniedException{
3126		RespMetadata: v,
3127	}
3128}
3129
3130// Code returns the exception type name.
3131func (s *AccessDeniedException) Code() string {
3132	return "AccessDeniedException"
3133}
3134
3135// Message returns the exception's message.
3136func (s *AccessDeniedException) Message() string {
3137	if s.Message_ != nil {
3138		return *s.Message_
3139	}
3140	return ""
3141}
3142
3143// OrigErr always returns nil, satisfies awserr.Error interface.
3144func (s *AccessDeniedException) OrigErr() error {
3145	return nil
3146}
3147
3148func (s *AccessDeniedException) Error() string {
3149	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3150}
3151
3152// Status code returns the HTTP status code for the request's response error.
3153func (s *AccessDeniedException) StatusCode() int {
3154	return s.RespMetadata.StatusCode
3155}
3156
3157// RequestID returns the service's response RequestID for request.
3158func (s *AccessDeniedException) RequestID() string {
3159	return s.RespMetadata.RequestID
3160}
3161
3162// The action that starts at the beginning of an incident. The response plan
3163// defines the action.
3164type Action struct {
3165	_ struct{} `type:"structure"`
3166
3167	// The Systems Manager automation document to start as the runbook at the beginning
3168	// of the incident.
3169	SsmAutomation *SsmAutomation `locationName:"ssmAutomation" type:"structure"`
3170}
3171
3172// String returns the string representation.
3173//
3174// API parameter values that are decorated as "sensitive" in the API will not
3175// be included in the string output. The member name will be present, but the
3176// value will be replaced with "sensitive".
3177func (s Action) String() string {
3178	return awsutil.Prettify(s)
3179}
3180
3181// GoString returns the string representation.
3182//
3183// API parameter values that are decorated as "sensitive" in the API will not
3184// be included in the string output. The member name will be present, but the
3185// value will be replaced with "sensitive".
3186func (s Action) GoString() string {
3187	return s.String()
3188}
3189
3190// Validate inspects the fields of the type to determine if they are valid.
3191func (s *Action) Validate() error {
3192	invalidParams := request.ErrInvalidParams{Context: "Action"}
3193	if s.SsmAutomation != nil {
3194		if err := s.SsmAutomation.Validate(); err != nil {
3195			invalidParams.AddNested("SsmAutomation", err.(request.ErrInvalidParams))
3196		}
3197	}
3198
3199	if invalidParams.Len() > 0 {
3200		return invalidParams
3201	}
3202	return nil
3203}
3204
3205// SetSsmAutomation sets the SsmAutomation field's value.
3206func (s *Action) SetSsmAutomation(v *SsmAutomation) *Action {
3207	s.SsmAutomation = v
3208	return s
3209}
3210
3211// Defines the Amazon Web Services Region and KMS key to add to the replication
3212// set.
3213type AddRegionAction struct {
3214	_ struct{} `type:"structure"`
3215
3216	// The Amazon Web Services Region name to add to the replication set.
3217	//
3218	// RegionName is a required field
3219	RegionName *string `locationName:"regionName" type:"string" required:"true"`
3220
3221	// The KMS key ID to use to encrypt your replication set.
3222	SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"`
3223}
3224
3225// String returns the string representation.
3226//
3227// API parameter values that are decorated as "sensitive" in the API will not
3228// be included in the string output. The member name will be present, but the
3229// value will be replaced with "sensitive".
3230func (s AddRegionAction) String() string {
3231	return awsutil.Prettify(s)
3232}
3233
3234// GoString returns the string representation.
3235//
3236// API parameter values that are decorated as "sensitive" in the API will not
3237// be included in the string output. The member name will be present, but the
3238// value will be replaced with "sensitive".
3239func (s AddRegionAction) GoString() string {
3240	return s.String()
3241}
3242
3243// Validate inspects the fields of the type to determine if they are valid.
3244func (s *AddRegionAction) Validate() error {
3245	invalidParams := request.ErrInvalidParams{Context: "AddRegionAction"}
3246	if s.RegionName == nil {
3247		invalidParams.Add(request.NewErrParamRequired("RegionName"))
3248	}
3249
3250	if invalidParams.Len() > 0 {
3251		return invalidParams
3252	}
3253	return nil
3254}
3255
3256// SetRegionName sets the RegionName field's value.
3257func (s *AddRegionAction) SetRegionName(v string) *AddRegionAction {
3258	s.RegionName = &v
3259	return s
3260}
3261
3262// SetSseKmsKeyId sets the SseKmsKeyId field's value.
3263func (s *AddRegionAction) SetSseKmsKeyId(v string) *AddRegionAction {
3264	s.SseKmsKeyId = &v
3265	return s
3266}
3267
3268// Use the AttributeValueList to filter by string or integer values.
3269type AttributeValueList struct {
3270	_ struct{} `type:"structure"`
3271
3272	// The list of integer values that the filter matches.
3273	IntegerValues []*int64 `locationName:"integerValues" type:"list"`
3274
3275	// The list of string values that the filter matches.
3276	StringValues []*string `locationName:"stringValues" type:"list"`
3277}
3278
3279// String returns the string representation.
3280//
3281// API parameter values that are decorated as "sensitive" in the API will not
3282// be included in the string output. The member name will be present, but the
3283// value will be replaced with "sensitive".
3284func (s AttributeValueList) String() string {
3285	return awsutil.Prettify(s)
3286}
3287
3288// GoString returns the string representation.
3289//
3290// API parameter values that are decorated as "sensitive" in the API will not
3291// be included in the string output. The member name will be present, but the
3292// value will be replaced with "sensitive".
3293func (s AttributeValueList) GoString() string {
3294	return s.String()
3295}
3296
3297// SetIntegerValues sets the IntegerValues field's value.
3298func (s *AttributeValueList) SetIntegerValues(v []*int64) *AttributeValueList {
3299	s.IntegerValues = v
3300	return s
3301}
3302
3303// SetStringValues sets the StringValues field's value.
3304func (s *AttributeValueList) SetStringValues(v []*string) *AttributeValueList {
3305	s.StringValues = v
3306	return s
3307}
3308
3309// The Systems Manager automation document process to start as the runbook at
3310// the beginning of the incident.
3311type AutomationExecution struct {
3312	_ struct{} `type:"structure"`
3313
3314	// The Amazon Resource Name (ARN) of the automation process.
3315	SsmExecutionArn *string `locationName:"ssmExecutionArn" type:"string"`
3316}
3317
3318// String returns the string representation.
3319//
3320// API parameter values that are decorated as "sensitive" in the API will not
3321// be included in the string output. The member name will be present, but the
3322// value will be replaced with "sensitive".
3323func (s AutomationExecution) String() string {
3324	return awsutil.Prettify(s)
3325}
3326
3327// GoString returns the string representation.
3328//
3329// API parameter values that are decorated as "sensitive" in the API will not
3330// be included in the string output. The member name will be present, but the
3331// value will be replaced with "sensitive".
3332func (s AutomationExecution) GoString() string {
3333	return s.String()
3334}
3335
3336// SetSsmExecutionArn sets the SsmExecutionArn field's value.
3337func (s *AutomationExecution) SetSsmExecutionArn(v string) *AutomationExecution {
3338	s.SsmExecutionArn = &v
3339	return s
3340}
3341
3342// The Chatbot chat channel used for collaboration during an incident.
3343type ChatChannel struct {
3344	_ struct{} `type:"structure"`
3345
3346	// The Amazon SNS targets that Chatbot uses to notify the chat channel of updates
3347	// to an incident. You can also make updates to the incident through the chat
3348	// channel by using the Amazon SNS topics.
3349	ChatbotSns []*string `locationName:"chatbotSns" min:"1" type:"list"`
3350
3351	// Used to remove the chat channel from an incident record or response plan.
3352	Empty *EmptyChatChannel `locationName:"empty" type:"structure"`
3353}
3354
3355// String returns the string representation.
3356//
3357// API parameter values that are decorated as "sensitive" in the API will not
3358// be included in the string output. The member name will be present, but the
3359// value will be replaced with "sensitive".
3360func (s ChatChannel) String() string {
3361	return awsutil.Prettify(s)
3362}
3363
3364// GoString returns the string representation.
3365//
3366// API parameter values that are decorated as "sensitive" in the API will not
3367// be included in the string output. The member name will be present, but the
3368// value will be replaced with "sensitive".
3369func (s ChatChannel) GoString() string {
3370	return s.String()
3371}
3372
3373// Validate inspects the fields of the type to determine if they are valid.
3374func (s *ChatChannel) Validate() error {
3375	invalidParams := request.ErrInvalidParams{Context: "ChatChannel"}
3376	if s.ChatbotSns != nil && len(s.ChatbotSns) < 1 {
3377		invalidParams.Add(request.NewErrParamMinLen("ChatbotSns", 1))
3378	}
3379
3380	if invalidParams.Len() > 0 {
3381		return invalidParams
3382	}
3383	return nil
3384}
3385
3386// SetChatbotSns sets the ChatbotSns field's value.
3387func (s *ChatChannel) SetChatbotSns(v []*string) *ChatChannel {
3388	s.ChatbotSns = v
3389	return s
3390}
3391
3392// SetEmpty sets the Empty field's value.
3393func (s *ChatChannel) SetEmpty(v *EmptyChatChannel) *ChatChannel {
3394	s.Empty = v
3395	return s
3396}
3397
3398// A conditional statement with which to compare a value, after a timestamp,
3399// before a timestamp, or equal to a string or integer. If multiple conditions
3400// are specified, the conditionals become an ANDed statement. If multiple values
3401// are specified for a conditional, the values are ORd.
3402type Condition struct {
3403	_ struct{} `type:"structure"`
3404
3405	// After the specified timestamp.
3406	After *time.Time `locationName:"after" type:"timestamp"`
3407
3408	// Before the specified timestamp
3409	Before *time.Time `locationName:"before" type:"timestamp"`
3410
3411	// The value is equal to the provided string or integer.
3412	Equals *AttributeValueList `locationName:"equals" type:"structure"`
3413}
3414
3415// String returns the string representation.
3416//
3417// API parameter values that are decorated as "sensitive" in the API will not
3418// be included in the string output. The member name will be present, but the
3419// value will be replaced with "sensitive".
3420func (s Condition) String() string {
3421	return awsutil.Prettify(s)
3422}
3423
3424// GoString returns the string representation.
3425//
3426// API parameter values that are decorated as "sensitive" in the API will not
3427// be included in the string output. The member name will be present, but the
3428// value will be replaced with "sensitive".
3429func (s Condition) GoString() string {
3430	return s.String()
3431}
3432
3433// SetAfter sets the After field's value.
3434func (s *Condition) SetAfter(v time.Time) *Condition {
3435	s.After = &v
3436	return s
3437}
3438
3439// SetBefore sets the Before field's value.
3440func (s *Condition) SetBefore(v time.Time) *Condition {
3441	s.Before = &v
3442	return s
3443}
3444
3445// SetEquals sets the Equals field's value.
3446func (s *Condition) SetEquals(v *AttributeValueList) *Condition {
3447	s.Equals = v
3448	return s
3449}
3450
3451// Updating or deleting a resource causes an inconsistent state.
3452type ConflictException struct {
3453	_            struct{}                  `type:"structure"`
3454	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3455
3456	Message_ *string `locationName:"message" type:"string"`
3457
3458	// The identifier of the requested resource
3459	ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"`
3460
3461	// The resource type
3462	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
3463
3464	// If present in the output, the operation can be retried after this time
3465	RetryAfter *time.Time `locationName:"retryAfter" type:"timestamp"`
3466}
3467
3468// String returns the string representation.
3469//
3470// API parameter values that are decorated as "sensitive" in the API will not
3471// be included in the string output. The member name will be present, but the
3472// value will be replaced with "sensitive".
3473func (s ConflictException) String() string {
3474	return awsutil.Prettify(s)
3475}
3476
3477// GoString returns the string representation.
3478//
3479// API parameter values that are decorated as "sensitive" in the API will not
3480// be included in the string output. The member name will be present, but the
3481// value will be replaced with "sensitive".
3482func (s ConflictException) GoString() string {
3483	return s.String()
3484}
3485
3486func newErrorConflictException(v protocol.ResponseMetadata) error {
3487	return &ConflictException{
3488		RespMetadata: v,
3489	}
3490}
3491
3492// Code returns the exception type name.
3493func (s *ConflictException) Code() string {
3494	return "ConflictException"
3495}
3496
3497// Message returns the exception's message.
3498func (s *ConflictException) Message() string {
3499	if s.Message_ != nil {
3500		return *s.Message_
3501	}
3502	return ""
3503}
3504
3505// OrigErr always returns nil, satisfies awserr.Error interface.
3506func (s *ConflictException) OrigErr() error {
3507	return nil
3508}
3509
3510func (s *ConflictException) Error() string {
3511	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3512}
3513
3514// Status code returns the HTTP status code for the request's response error.
3515func (s *ConflictException) StatusCode() int {
3516	return s.RespMetadata.StatusCode
3517}
3518
3519// RequestID returns the service's response RequestID for request.
3520func (s *ConflictException) RequestID() string {
3521	return s.RespMetadata.RequestID
3522}
3523
3524type CreateReplicationSetInput struct {
3525	_ struct{} `type:"structure"`
3526
3527	// A token ensuring that the operation is called only once with the specified
3528	// details.
3529	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
3530
3531	// The Regions that Incident Manager replicates your data to. You can have up
3532	// to three Regions in your replication set.
3533	//
3534	// Regions is a required field
3535	Regions map[string]*RegionMapInputValue `locationName:"regions" min:"1" type:"map" required:"true"`
3536}
3537
3538// String returns the string representation.
3539//
3540// API parameter values that are decorated as "sensitive" in the API will not
3541// be included in the string output. The member name will be present, but the
3542// value will be replaced with "sensitive".
3543func (s CreateReplicationSetInput) String() string {
3544	return awsutil.Prettify(s)
3545}
3546
3547// GoString returns the string representation.
3548//
3549// API parameter values that are decorated as "sensitive" in the API will not
3550// be included in the string output. The member name will be present, but the
3551// value will be replaced with "sensitive".
3552func (s CreateReplicationSetInput) GoString() string {
3553	return s.String()
3554}
3555
3556// Validate inspects the fields of the type to determine if they are valid.
3557func (s *CreateReplicationSetInput) Validate() error {
3558	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationSetInput"}
3559	if s.Regions == nil {
3560		invalidParams.Add(request.NewErrParamRequired("Regions"))
3561	}
3562	if s.Regions != nil && len(s.Regions) < 1 {
3563		invalidParams.Add(request.NewErrParamMinLen("Regions", 1))
3564	}
3565
3566	if invalidParams.Len() > 0 {
3567		return invalidParams
3568	}
3569	return nil
3570}
3571
3572// SetClientToken sets the ClientToken field's value.
3573func (s *CreateReplicationSetInput) SetClientToken(v string) *CreateReplicationSetInput {
3574	s.ClientToken = &v
3575	return s
3576}
3577
3578// SetRegions sets the Regions field's value.
3579func (s *CreateReplicationSetInput) SetRegions(v map[string]*RegionMapInputValue) *CreateReplicationSetInput {
3580	s.Regions = v
3581	return s
3582}
3583
3584type CreateReplicationSetOutput struct {
3585	_ struct{} `type:"structure"`
3586
3587	// The Amazon Resource Name (ARN) of the replication set.
3588	//
3589	// Arn is a required field
3590	Arn *string `locationName:"arn" type:"string" required:"true"`
3591}
3592
3593// String returns the string representation.
3594//
3595// API parameter values that are decorated as "sensitive" in the API will not
3596// be included in the string output. The member name will be present, but the
3597// value will be replaced with "sensitive".
3598func (s CreateReplicationSetOutput) String() string {
3599	return awsutil.Prettify(s)
3600}
3601
3602// GoString returns the string representation.
3603//
3604// API parameter values that are decorated as "sensitive" in the API will not
3605// be included in the string output. The member name will be present, but the
3606// value will be replaced with "sensitive".
3607func (s CreateReplicationSetOutput) GoString() string {
3608	return s.String()
3609}
3610
3611// SetArn sets the Arn field's value.
3612func (s *CreateReplicationSetOutput) SetArn(v string) *CreateReplicationSetOutput {
3613	s.Arn = &v
3614	return s
3615}
3616
3617type CreateResponsePlanInput struct {
3618	_ struct{} `type:"structure"`
3619
3620	// The actions that the response plan starts at the beginning of an incident.
3621	Actions []*Action `locationName:"actions" type:"list"`
3622
3623	// The Chatbot chat channel used for collaboration during an incident.
3624	ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"`
3625
3626	// A token ensuring that the operation is called only once with the specified
3627	// details.
3628	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
3629
3630	// The long format of the response plan name. This field can contain spaces.
3631	DisplayName *string `locationName:"displayName" type:"string"`
3632
3633	// The contacts and escalation plans that the response plan engages during an
3634	// incident.
3635	Engagements []*string `locationName:"engagements" type:"list"`
3636
3637	// Details used to create an incident when using this response plan.
3638	//
3639	// IncidentTemplate is a required field
3640	IncidentTemplate *IncidentTemplate `locationName:"incidentTemplate" type:"structure" required:"true"`
3641
3642	// The short format name of the response plan. Can't include spaces.
3643	//
3644	// Name is a required field
3645	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
3646
3647	// A list of tags that you are adding to the response plan.
3648	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
3649}
3650
3651// String returns the string representation.
3652//
3653// API parameter values that are decorated as "sensitive" in the API will not
3654// be included in the string output. The member name will be present, but the
3655// value will be replaced with "sensitive".
3656func (s CreateResponsePlanInput) String() string {
3657	return awsutil.Prettify(s)
3658}
3659
3660// GoString returns the string representation.
3661//
3662// API parameter values that are decorated as "sensitive" in the API will not
3663// be included in the string output. The member name will be present, but the
3664// value will be replaced with "sensitive".
3665func (s CreateResponsePlanInput) GoString() string {
3666	return s.String()
3667}
3668
3669// Validate inspects the fields of the type to determine if they are valid.
3670func (s *CreateResponsePlanInput) Validate() error {
3671	invalidParams := request.ErrInvalidParams{Context: "CreateResponsePlanInput"}
3672	if s.IncidentTemplate == nil {
3673		invalidParams.Add(request.NewErrParamRequired("IncidentTemplate"))
3674	}
3675	if s.Name == nil {
3676		invalidParams.Add(request.NewErrParamRequired("Name"))
3677	}
3678	if s.Name != nil && len(*s.Name) < 1 {
3679		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3680	}
3681	if s.Tags != nil && len(s.Tags) < 1 {
3682		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
3683	}
3684	if s.Actions != nil {
3685		for i, v := range s.Actions {
3686			if v == nil {
3687				continue
3688			}
3689			if err := v.Validate(); err != nil {
3690				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
3691			}
3692		}
3693	}
3694	if s.ChatChannel != nil {
3695		if err := s.ChatChannel.Validate(); err != nil {
3696			invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams))
3697		}
3698	}
3699	if s.IncidentTemplate != nil {
3700		if err := s.IncidentTemplate.Validate(); err != nil {
3701			invalidParams.AddNested("IncidentTemplate", err.(request.ErrInvalidParams))
3702		}
3703	}
3704
3705	if invalidParams.Len() > 0 {
3706		return invalidParams
3707	}
3708	return nil
3709}
3710
3711// SetActions sets the Actions field's value.
3712func (s *CreateResponsePlanInput) SetActions(v []*Action) *CreateResponsePlanInput {
3713	s.Actions = v
3714	return s
3715}
3716
3717// SetChatChannel sets the ChatChannel field's value.
3718func (s *CreateResponsePlanInput) SetChatChannel(v *ChatChannel) *CreateResponsePlanInput {
3719	s.ChatChannel = v
3720	return s
3721}
3722
3723// SetClientToken sets the ClientToken field's value.
3724func (s *CreateResponsePlanInput) SetClientToken(v string) *CreateResponsePlanInput {
3725	s.ClientToken = &v
3726	return s
3727}
3728
3729// SetDisplayName sets the DisplayName field's value.
3730func (s *CreateResponsePlanInput) SetDisplayName(v string) *CreateResponsePlanInput {
3731	s.DisplayName = &v
3732	return s
3733}
3734
3735// SetEngagements sets the Engagements field's value.
3736func (s *CreateResponsePlanInput) SetEngagements(v []*string) *CreateResponsePlanInput {
3737	s.Engagements = v
3738	return s
3739}
3740
3741// SetIncidentTemplate sets the IncidentTemplate field's value.
3742func (s *CreateResponsePlanInput) SetIncidentTemplate(v *IncidentTemplate) *CreateResponsePlanInput {
3743	s.IncidentTemplate = v
3744	return s
3745}
3746
3747// SetName sets the Name field's value.
3748func (s *CreateResponsePlanInput) SetName(v string) *CreateResponsePlanInput {
3749	s.Name = &v
3750	return s
3751}
3752
3753// SetTags sets the Tags field's value.
3754func (s *CreateResponsePlanInput) SetTags(v map[string]*string) *CreateResponsePlanInput {
3755	s.Tags = v
3756	return s
3757}
3758
3759type CreateResponsePlanOutput struct {
3760	_ struct{} `type:"structure"`
3761
3762	// The Amazon Resource Name (ARN) of the response plan.
3763	//
3764	// Arn is a required field
3765	Arn *string `locationName:"arn" type:"string" required:"true"`
3766}
3767
3768// String returns the string representation.
3769//
3770// API parameter values that are decorated as "sensitive" in the API will not
3771// be included in the string output. The member name will be present, but the
3772// value will be replaced with "sensitive".
3773func (s CreateResponsePlanOutput) String() string {
3774	return awsutil.Prettify(s)
3775}
3776
3777// GoString returns the string representation.
3778//
3779// API parameter values that are decorated as "sensitive" in the API will not
3780// be included in the string output. The member name will be present, but the
3781// value will be replaced with "sensitive".
3782func (s CreateResponsePlanOutput) GoString() string {
3783	return s.String()
3784}
3785
3786// SetArn sets the Arn field's value.
3787func (s *CreateResponsePlanOutput) SetArn(v string) *CreateResponsePlanOutput {
3788	s.Arn = &v
3789	return s
3790}
3791
3792type CreateTimelineEventInput struct {
3793	_ struct{} `type:"structure"`
3794
3795	// A token ensuring that the action is called only once with the specified details.
3796	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
3797
3798	// A short description of the event as a valid JSON string. There is no other
3799	// schema imposed.
3800	//
3801	// EventData is a required field
3802	EventData *string `locationName:"eventData" type:"string" required:"true"`
3803
3804	// The time that the event occurred.
3805	//
3806	// EventTime is a required field
3807	EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"`
3808
3809	// The type of the event. You can create timeline events of type Custom Event.
3810	//
3811	// EventType is a required field
3812	EventType *string `locationName:"eventType" type:"string" required:"true"`
3813
3814	// The Amazon Resource Name (ARN) of the incident record to which the event
3815	// will be added.
3816	//
3817	// IncidentRecordArn is a required field
3818	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
3819}
3820
3821// String returns the string representation.
3822//
3823// API parameter values that are decorated as "sensitive" in the API will not
3824// be included in the string output. The member name will be present, but the
3825// value will be replaced with "sensitive".
3826func (s CreateTimelineEventInput) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation.
3831//
3832// API parameter values that are decorated as "sensitive" in the API will not
3833// be included in the string output. The member name will be present, but the
3834// value will be replaced with "sensitive".
3835func (s CreateTimelineEventInput) GoString() string {
3836	return s.String()
3837}
3838
3839// Validate inspects the fields of the type to determine if they are valid.
3840func (s *CreateTimelineEventInput) Validate() error {
3841	invalidParams := request.ErrInvalidParams{Context: "CreateTimelineEventInput"}
3842	if s.EventData == nil {
3843		invalidParams.Add(request.NewErrParamRequired("EventData"))
3844	}
3845	if s.EventTime == nil {
3846		invalidParams.Add(request.NewErrParamRequired("EventTime"))
3847	}
3848	if s.EventType == nil {
3849		invalidParams.Add(request.NewErrParamRequired("EventType"))
3850	}
3851	if s.IncidentRecordArn == nil {
3852		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
3853	}
3854
3855	if invalidParams.Len() > 0 {
3856		return invalidParams
3857	}
3858	return nil
3859}
3860
3861// SetClientToken sets the ClientToken field's value.
3862func (s *CreateTimelineEventInput) SetClientToken(v string) *CreateTimelineEventInput {
3863	s.ClientToken = &v
3864	return s
3865}
3866
3867// SetEventData sets the EventData field's value.
3868func (s *CreateTimelineEventInput) SetEventData(v string) *CreateTimelineEventInput {
3869	s.EventData = &v
3870	return s
3871}
3872
3873// SetEventTime sets the EventTime field's value.
3874func (s *CreateTimelineEventInput) SetEventTime(v time.Time) *CreateTimelineEventInput {
3875	s.EventTime = &v
3876	return s
3877}
3878
3879// SetEventType sets the EventType field's value.
3880func (s *CreateTimelineEventInput) SetEventType(v string) *CreateTimelineEventInput {
3881	s.EventType = &v
3882	return s
3883}
3884
3885// SetIncidentRecordArn sets the IncidentRecordArn field's value.
3886func (s *CreateTimelineEventInput) SetIncidentRecordArn(v string) *CreateTimelineEventInput {
3887	s.IncidentRecordArn = &v
3888	return s
3889}
3890
3891type CreateTimelineEventOutput struct {
3892	_ struct{} `type:"structure"`
3893
3894	// The ID of the event for easy reference later.
3895	//
3896	// EventId is a required field
3897	EventId *string `locationName:"eventId" type:"string" required:"true"`
3898
3899	// The ARN of the incident record that you added the event to.
3900	//
3901	// IncidentRecordArn is a required field
3902	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
3903}
3904
3905// String returns the string representation.
3906//
3907// API parameter values that are decorated as "sensitive" in the API will not
3908// be included in the string output. The member name will be present, but the
3909// value will be replaced with "sensitive".
3910func (s CreateTimelineEventOutput) String() string {
3911	return awsutil.Prettify(s)
3912}
3913
3914// GoString returns the string representation.
3915//
3916// API parameter values that are decorated as "sensitive" in the API will not
3917// be included in the string output. The member name will be present, but the
3918// value will be replaced with "sensitive".
3919func (s CreateTimelineEventOutput) GoString() string {
3920	return s.String()
3921}
3922
3923// SetEventId sets the EventId field's value.
3924func (s *CreateTimelineEventOutput) SetEventId(v string) *CreateTimelineEventOutput {
3925	s.EventId = &v
3926	return s
3927}
3928
3929// SetIncidentRecordArn sets the IncidentRecordArn field's value.
3930func (s *CreateTimelineEventOutput) SetIncidentRecordArn(v string) *CreateTimelineEventOutput {
3931	s.IncidentRecordArn = &v
3932	return s
3933}
3934
3935type DeleteIncidentRecordInput struct {
3936	_ struct{} `type:"structure"`
3937
3938	// The Amazon Resource Name (ARN) of the incident record you are deleting.
3939	//
3940	// Arn is a required field
3941	Arn *string `locationName:"arn" type:"string" required:"true"`
3942}
3943
3944// String returns the string representation.
3945//
3946// API parameter values that are decorated as "sensitive" in the API will not
3947// be included in the string output. The member name will be present, but the
3948// value will be replaced with "sensitive".
3949func (s DeleteIncidentRecordInput) String() string {
3950	return awsutil.Prettify(s)
3951}
3952
3953// GoString returns the string representation.
3954//
3955// API parameter values that are decorated as "sensitive" in the API will not
3956// be included in the string output. The member name will be present, but the
3957// value will be replaced with "sensitive".
3958func (s DeleteIncidentRecordInput) GoString() string {
3959	return s.String()
3960}
3961
3962// Validate inspects the fields of the type to determine if they are valid.
3963func (s *DeleteIncidentRecordInput) Validate() error {
3964	invalidParams := request.ErrInvalidParams{Context: "DeleteIncidentRecordInput"}
3965	if s.Arn == nil {
3966		invalidParams.Add(request.NewErrParamRequired("Arn"))
3967	}
3968
3969	if invalidParams.Len() > 0 {
3970		return invalidParams
3971	}
3972	return nil
3973}
3974
3975// SetArn sets the Arn field's value.
3976func (s *DeleteIncidentRecordInput) SetArn(v string) *DeleteIncidentRecordInput {
3977	s.Arn = &v
3978	return s
3979}
3980
3981type DeleteIncidentRecordOutput struct {
3982	_ struct{} `type:"structure"`
3983}
3984
3985// String returns the string representation.
3986//
3987// API parameter values that are decorated as "sensitive" in the API will not
3988// be included in the string output. The member name will be present, but the
3989// value will be replaced with "sensitive".
3990func (s DeleteIncidentRecordOutput) String() string {
3991	return awsutil.Prettify(s)
3992}
3993
3994// GoString returns the string representation.
3995//
3996// API parameter values that are decorated as "sensitive" in the API will not
3997// be included in the string output. The member name will be present, but the
3998// value will be replaced with "sensitive".
3999func (s DeleteIncidentRecordOutput) GoString() string {
4000	return s.String()
4001}
4002
4003// Defines the information about the Amazon Web Services Region you're deleting
4004// from your replication set.
4005type DeleteRegionAction struct {
4006	_ struct{} `type:"structure"`
4007
4008	// The name of the Amazon Web Services Region you're deleting from the replication
4009	// set.
4010	//
4011	// RegionName is a required field
4012	RegionName *string `locationName:"regionName" type:"string" required:"true"`
4013}
4014
4015// String returns the string representation.
4016//
4017// API parameter values that are decorated as "sensitive" in the API will not
4018// be included in the string output. The member name will be present, but the
4019// value will be replaced with "sensitive".
4020func (s DeleteRegionAction) String() string {
4021	return awsutil.Prettify(s)
4022}
4023
4024// GoString returns the string representation.
4025//
4026// API parameter values that are decorated as "sensitive" in the API will not
4027// be included in the string output. The member name will be present, but the
4028// value will be replaced with "sensitive".
4029func (s DeleteRegionAction) GoString() string {
4030	return s.String()
4031}
4032
4033// Validate inspects the fields of the type to determine if they are valid.
4034func (s *DeleteRegionAction) Validate() error {
4035	invalidParams := request.ErrInvalidParams{Context: "DeleteRegionAction"}
4036	if s.RegionName == nil {
4037		invalidParams.Add(request.NewErrParamRequired("RegionName"))
4038	}
4039
4040	if invalidParams.Len() > 0 {
4041		return invalidParams
4042	}
4043	return nil
4044}
4045
4046// SetRegionName sets the RegionName field's value.
4047func (s *DeleteRegionAction) SetRegionName(v string) *DeleteRegionAction {
4048	s.RegionName = &v
4049	return s
4050}
4051
4052type DeleteReplicationSetInput struct {
4053	_ struct{} `type:"structure" nopayload:"true"`
4054
4055	// The Amazon Resource Name (ARN) of the replication set you're deleting.
4056	//
4057	// Arn is a required field
4058	Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
4059}
4060
4061// String returns the string representation.
4062//
4063// API parameter values that are decorated as "sensitive" in the API will not
4064// be included in the string output. The member name will be present, but the
4065// value will be replaced with "sensitive".
4066func (s DeleteReplicationSetInput) String() string {
4067	return awsutil.Prettify(s)
4068}
4069
4070// GoString returns the string representation.
4071//
4072// API parameter values that are decorated as "sensitive" in the API will not
4073// be included in the string output. The member name will be present, but the
4074// value will be replaced with "sensitive".
4075func (s DeleteReplicationSetInput) GoString() string {
4076	return s.String()
4077}
4078
4079// Validate inspects the fields of the type to determine if they are valid.
4080func (s *DeleteReplicationSetInput) Validate() error {
4081	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationSetInput"}
4082	if s.Arn == nil {
4083		invalidParams.Add(request.NewErrParamRequired("Arn"))
4084	}
4085
4086	if invalidParams.Len() > 0 {
4087		return invalidParams
4088	}
4089	return nil
4090}
4091
4092// SetArn sets the Arn field's value.
4093func (s *DeleteReplicationSetInput) SetArn(v string) *DeleteReplicationSetInput {
4094	s.Arn = &v
4095	return s
4096}
4097
4098type DeleteReplicationSetOutput struct {
4099	_ struct{} `type:"structure"`
4100}
4101
4102// String returns the string representation.
4103//
4104// API parameter values that are decorated as "sensitive" in the API will not
4105// be included in the string output. The member name will be present, but the
4106// value will be replaced with "sensitive".
4107func (s DeleteReplicationSetOutput) String() string {
4108	return awsutil.Prettify(s)
4109}
4110
4111// GoString returns the string representation.
4112//
4113// API parameter values that are decorated as "sensitive" in the API will not
4114// be included in the string output. The member name will be present, but the
4115// value will be replaced with "sensitive".
4116func (s DeleteReplicationSetOutput) GoString() string {
4117	return s.String()
4118}
4119
4120type DeleteResourcePolicyInput struct {
4121	_ struct{} `type:"structure"`
4122
4123	// The ID of the resource policy you're deleting.
4124	//
4125	// PolicyId is a required field
4126	PolicyId *string `locationName:"policyId" type:"string" required:"true"`
4127
4128	// The Amazon Resource Name (ARN) of the resource you're deleting the policy
4129	// from.
4130	//
4131	// ResourceArn is a required field
4132	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
4133}
4134
4135// String returns the string representation.
4136//
4137// API parameter values that are decorated as "sensitive" in the API will not
4138// be included in the string output. The member name will be present, but the
4139// value will be replaced with "sensitive".
4140func (s DeleteResourcePolicyInput) String() string {
4141	return awsutil.Prettify(s)
4142}
4143
4144// GoString returns the string representation.
4145//
4146// API parameter values that are decorated as "sensitive" in the API will not
4147// be included in the string output. The member name will be present, but the
4148// value will be replaced with "sensitive".
4149func (s DeleteResourcePolicyInput) GoString() string {
4150	return s.String()
4151}
4152
4153// Validate inspects the fields of the type to determine if they are valid.
4154func (s *DeleteResourcePolicyInput) Validate() error {
4155	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
4156	if s.PolicyId == nil {
4157		invalidParams.Add(request.NewErrParamRequired("PolicyId"))
4158	}
4159	if s.ResourceArn == nil {
4160		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4161	}
4162
4163	if invalidParams.Len() > 0 {
4164		return invalidParams
4165	}
4166	return nil
4167}
4168
4169// SetPolicyId sets the PolicyId field's value.
4170func (s *DeleteResourcePolicyInput) SetPolicyId(v string) *DeleteResourcePolicyInput {
4171	s.PolicyId = &v
4172	return s
4173}
4174
4175// SetResourceArn sets the ResourceArn field's value.
4176func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
4177	s.ResourceArn = &v
4178	return s
4179}
4180
4181type DeleteResourcePolicyOutput struct {
4182	_ struct{} `type:"structure"`
4183}
4184
4185// String returns the string representation.
4186//
4187// API parameter values that are decorated as "sensitive" in the API will not
4188// be included in the string output. The member name will be present, but the
4189// value will be replaced with "sensitive".
4190func (s DeleteResourcePolicyOutput) String() string {
4191	return awsutil.Prettify(s)
4192}
4193
4194// GoString returns the string representation.
4195//
4196// API parameter values that are decorated as "sensitive" in the API will not
4197// be included in the string output. The member name will be present, but the
4198// value will be replaced with "sensitive".
4199func (s DeleteResourcePolicyOutput) GoString() string {
4200	return s.String()
4201}
4202
4203type DeleteResponsePlanInput struct {
4204	_ struct{} `type:"structure"`
4205
4206	// The Amazon Resource Name (ARN) of the response plan.
4207	//
4208	// Arn is a required field
4209	Arn *string `locationName:"arn" type:"string" required:"true"`
4210}
4211
4212// String returns the string representation.
4213//
4214// API parameter values that are decorated as "sensitive" in the API will not
4215// be included in the string output. The member name will be present, but the
4216// value will be replaced with "sensitive".
4217func (s DeleteResponsePlanInput) String() string {
4218	return awsutil.Prettify(s)
4219}
4220
4221// GoString returns the string representation.
4222//
4223// API parameter values that are decorated as "sensitive" in the API will not
4224// be included in the string output. The member name will be present, but the
4225// value will be replaced with "sensitive".
4226func (s DeleteResponsePlanInput) GoString() string {
4227	return s.String()
4228}
4229
4230// Validate inspects the fields of the type to determine if they are valid.
4231func (s *DeleteResponsePlanInput) Validate() error {
4232	invalidParams := request.ErrInvalidParams{Context: "DeleteResponsePlanInput"}
4233	if s.Arn == nil {
4234		invalidParams.Add(request.NewErrParamRequired("Arn"))
4235	}
4236
4237	if invalidParams.Len() > 0 {
4238		return invalidParams
4239	}
4240	return nil
4241}
4242
4243// SetArn sets the Arn field's value.
4244func (s *DeleteResponsePlanInput) SetArn(v string) *DeleteResponsePlanInput {
4245	s.Arn = &v
4246	return s
4247}
4248
4249type DeleteResponsePlanOutput struct {
4250	_ struct{} `type:"structure"`
4251}
4252
4253// String returns the string representation.
4254//
4255// API parameter values that are decorated as "sensitive" in the API will not
4256// be included in the string output. The member name will be present, but the
4257// value will be replaced with "sensitive".
4258func (s DeleteResponsePlanOutput) String() string {
4259	return awsutil.Prettify(s)
4260}
4261
4262// GoString returns the string representation.
4263//
4264// API parameter values that are decorated as "sensitive" in the API will not
4265// be included in the string output. The member name will be present, but the
4266// value will be replaced with "sensitive".
4267func (s DeleteResponsePlanOutput) GoString() string {
4268	return s.String()
4269}
4270
4271type DeleteTimelineEventInput struct {
4272	_ struct{} `type:"structure"`
4273
4274	// The ID of the event you are updating. You can find this by using ListTimelineEvents.
4275	//
4276	// EventId is a required field
4277	EventId *string `locationName:"eventId" type:"string" required:"true"`
4278
4279	// The Amazon Resource Name (ARN) of the incident that includes the timeline
4280	// event.
4281	//
4282	// IncidentRecordArn is a required field
4283	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
4284}
4285
4286// String returns the string representation.
4287//
4288// API parameter values that are decorated as "sensitive" in the API will not
4289// be included in the string output. The member name will be present, but the
4290// value will be replaced with "sensitive".
4291func (s DeleteTimelineEventInput) String() string {
4292	return awsutil.Prettify(s)
4293}
4294
4295// GoString returns the string representation.
4296//
4297// API parameter values that are decorated as "sensitive" in the API will not
4298// be included in the string output. The member name will be present, but the
4299// value will be replaced with "sensitive".
4300func (s DeleteTimelineEventInput) GoString() string {
4301	return s.String()
4302}
4303
4304// Validate inspects the fields of the type to determine if they are valid.
4305func (s *DeleteTimelineEventInput) Validate() error {
4306	invalidParams := request.ErrInvalidParams{Context: "DeleteTimelineEventInput"}
4307	if s.EventId == nil {
4308		invalidParams.Add(request.NewErrParamRequired("EventId"))
4309	}
4310	if s.IncidentRecordArn == nil {
4311		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
4312	}
4313
4314	if invalidParams.Len() > 0 {
4315		return invalidParams
4316	}
4317	return nil
4318}
4319
4320// SetEventId sets the EventId field's value.
4321func (s *DeleteTimelineEventInput) SetEventId(v string) *DeleteTimelineEventInput {
4322	s.EventId = &v
4323	return s
4324}
4325
4326// SetIncidentRecordArn sets the IncidentRecordArn field's value.
4327func (s *DeleteTimelineEventInput) SetIncidentRecordArn(v string) *DeleteTimelineEventInput {
4328	s.IncidentRecordArn = &v
4329	return s
4330}
4331
4332type DeleteTimelineEventOutput struct {
4333	_ struct{} `type:"structure"`
4334}
4335
4336// String returns the string representation.
4337//
4338// API parameter values that are decorated as "sensitive" in the API will not
4339// be included in the string output. The member name will be present, but the
4340// value will be replaced with "sensitive".
4341func (s DeleteTimelineEventOutput) String() string {
4342	return awsutil.Prettify(s)
4343}
4344
4345// GoString returns the string representation.
4346//
4347// API parameter values that are decorated as "sensitive" in the API will not
4348// be included in the string output. The member name will be present, but the
4349// value will be replaced with "sensitive".
4350func (s DeleteTimelineEventOutput) GoString() string {
4351	return s.String()
4352}
4353
4354// Used to remove the chat channel from an incident record or response plan.
4355type EmptyChatChannel struct {
4356	_ struct{} `type:"structure"`
4357}
4358
4359// String returns the string representation.
4360//
4361// API parameter values that are decorated as "sensitive" in the API will not
4362// be included in the string output. The member name will be present, but the
4363// value will be replaced with "sensitive".
4364func (s EmptyChatChannel) String() string {
4365	return awsutil.Prettify(s)
4366}
4367
4368// GoString returns the string representation.
4369//
4370// API parameter values that are decorated as "sensitive" in the API will not
4371// be included in the string output. The member name will be present, but the
4372// value will be replaced with "sensitive".
4373func (s EmptyChatChannel) GoString() string {
4374	return s.String()
4375}
4376
4377// Details about a timeline event during an incident.
4378type EventSummary struct {
4379	_ struct{} `type:"structure"`
4380
4381	// The timeline event ID.
4382	//
4383	// EventId is a required field
4384	EventId *string `locationName:"eventId" type:"string" required:"true"`
4385
4386	// The time that the event occurred.
4387	//
4388	// EventTime is a required field
4389	EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"`
4390
4391	// The type of event. The timeline event must be Custom Event.
4392	//
4393	// EventType is a required field
4394	EventType *string `locationName:"eventType" type:"string" required:"true"`
4395
4396	// The time that the timeline event was last updated.
4397	//
4398	// EventUpdatedTime is a required field
4399	EventUpdatedTime *time.Time `locationName:"eventUpdatedTime" type:"timestamp" required:"true"`
4400
4401	// The Amazon Resource Name (ARN) of the incident that the event happened during.
4402	//
4403	// IncidentRecordArn is a required field
4404	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
4405}
4406
4407// String returns the string representation.
4408//
4409// API parameter values that are decorated as "sensitive" in the API will not
4410// be included in the string output. The member name will be present, but the
4411// value will be replaced with "sensitive".
4412func (s EventSummary) String() string {
4413	return awsutil.Prettify(s)
4414}
4415
4416// GoString returns the string representation.
4417//
4418// API parameter values that are decorated as "sensitive" in the API will not
4419// be included in the string output. The member name will be present, but the
4420// value will be replaced with "sensitive".
4421func (s EventSummary) GoString() string {
4422	return s.String()
4423}
4424
4425// SetEventId sets the EventId field's value.
4426func (s *EventSummary) SetEventId(v string) *EventSummary {
4427	s.EventId = &v
4428	return s
4429}
4430
4431// SetEventTime sets the EventTime field's value.
4432func (s *EventSummary) SetEventTime(v time.Time) *EventSummary {
4433	s.EventTime = &v
4434	return s
4435}
4436
4437// SetEventType sets the EventType field's value.
4438func (s *EventSummary) SetEventType(v string) *EventSummary {
4439	s.EventType = &v
4440	return s
4441}
4442
4443// SetEventUpdatedTime sets the EventUpdatedTime field's value.
4444func (s *EventSummary) SetEventUpdatedTime(v time.Time) *EventSummary {
4445	s.EventUpdatedTime = &v
4446	return s
4447}
4448
4449// SetIncidentRecordArn sets the IncidentRecordArn field's value.
4450func (s *EventSummary) SetIncidentRecordArn(v string) *EventSummary {
4451	s.IncidentRecordArn = &v
4452	return s
4453}
4454
4455// Filter the selection by using a condition.
4456type Filter struct {
4457	_ struct{} `type:"structure"`
4458
4459	// The condition accepts before or after a specified time, equal to a string,
4460	// or equal to an integer.
4461	//
4462	// Condition is a required field
4463	Condition *Condition `locationName:"condition" type:"structure" required:"true"`
4464
4465	// The key that you're filtering on.
4466	//
4467	// Key is a required field
4468	Key *string `locationName:"key" type:"string" required:"true"`
4469}
4470
4471// String returns the string representation.
4472//
4473// API parameter values that are decorated as "sensitive" in the API will not
4474// be included in the string output. The member name will be present, but the
4475// value will be replaced with "sensitive".
4476func (s Filter) String() string {
4477	return awsutil.Prettify(s)
4478}
4479
4480// GoString returns the string representation.
4481//
4482// API parameter values that are decorated as "sensitive" in the API will not
4483// be included in the string output. The member name will be present, but the
4484// value will be replaced with "sensitive".
4485func (s Filter) GoString() string {
4486	return s.String()
4487}
4488
4489// Validate inspects the fields of the type to determine if they are valid.
4490func (s *Filter) Validate() error {
4491	invalidParams := request.ErrInvalidParams{Context: "Filter"}
4492	if s.Condition == nil {
4493		invalidParams.Add(request.NewErrParamRequired("Condition"))
4494	}
4495	if s.Key == nil {
4496		invalidParams.Add(request.NewErrParamRequired("Key"))
4497	}
4498
4499	if invalidParams.Len() > 0 {
4500		return invalidParams
4501	}
4502	return nil
4503}
4504
4505// SetCondition sets the Condition field's value.
4506func (s *Filter) SetCondition(v *Condition) *Filter {
4507	s.Condition = v
4508	return s
4509}
4510
4511// SetKey sets the Key field's value.
4512func (s *Filter) SetKey(v string) *Filter {
4513	s.Key = &v
4514	return s
4515}
4516
4517type GetIncidentRecordInput struct {
4518	_ struct{} `type:"structure" nopayload:"true"`
4519
4520	// The Amazon Resource Name (ARN) of the incident record.
4521	//
4522	// Arn is a required field
4523	Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
4524}
4525
4526// String returns the string representation.
4527//
4528// API parameter values that are decorated as "sensitive" in the API will not
4529// be included in the string output. The member name will be present, but the
4530// value will be replaced with "sensitive".
4531func (s GetIncidentRecordInput) String() string {
4532	return awsutil.Prettify(s)
4533}
4534
4535// GoString returns the string representation.
4536//
4537// API parameter values that are decorated as "sensitive" in the API will not
4538// be included in the string output. The member name will be present, but the
4539// value will be replaced with "sensitive".
4540func (s GetIncidentRecordInput) GoString() string {
4541	return s.String()
4542}
4543
4544// Validate inspects the fields of the type to determine if they are valid.
4545func (s *GetIncidentRecordInput) Validate() error {
4546	invalidParams := request.ErrInvalidParams{Context: "GetIncidentRecordInput"}
4547	if s.Arn == nil {
4548		invalidParams.Add(request.NewErrParamRequired("Arn"))
4549	}
4550
4551	if invalidParams.Len() > 0 {
4552		return invalidParams
4553	}
4554	return nil
4555}
4556
4557// SetArn sets the Arn field's value.
4558func (s *GetIncidentRecordInput) SetArn(v string) *GetIncidentRecordInput {
4559	s.Arn = &v
4560	return s
4561}
4562
4563type GetIncidentRecordOutput struct {
4564	_ struct{} `type:"structure"`
4565
4566	// Details the structure of the incident record.
4567	//
4568	// IncidentRecord is a required field
4569	IncidentRecord *IncidentRecord `locationName:"incidentRecord" type:"structure" required:"true"`
4570}
4571
4572// String returns the string representation.
4573//
4574// API parameter values that are decorated as "sensitive" in the API will not
4575// be included in the string output. The member name will be present, but the
4576// value will be replaced with "sensitive".
4577func (s GetIncidentRecordOutput) String() string {
4578	return awsutil.Prettify(s)
4579}
4580
4581// GoString returns the string representation.
4582//
4583// API parameter values that are decorated as "sensitive" in the API will not
4584// be included in the string output. The member name will be present, but the
4585// value will be replaced with "sensitive".
4586func (s GetIncidentRecordOutput) GoString() string {
4587	return s.String()
4588}
4589
4590// SetIncidentRecord sets the IncidentRecord field's value.
4591func (s *GetIncidentRecordOutput) SetIncidentRecord(v *IncidentRecord) *GetIncidentRecordOutput {
4592	s.IncidentRecord = v
4593	return s
4594}
4595
4596type GetReplicationSetInput struct {
4597	_ struct{} `type:"structure" nopayload:"true"`
4598
4599	// The Amazon Resource Name (ARN) of the replication set you want to retrieve.
4600	//
4601	// Arn is a required field
4602	Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
4603}
4604
4605// String returns the string representation.
4606//
4607// API parameter values that are decorated as "sensitive" in the API will not
4608// be included in the string output. The member name will be present, but the
4609// value will be replaced with "sensitive".
4610func (s GetReplicationSetInput) String() string {
4611	return awsutil.Prettify(s)
4612}
4613
4614// GoString returns the string representation.
4615//
4616// API parameter values that are decorated as "sensitive" in the API will not
4617// be included in the string output. The member name will be present, but the
4618// value will be replaced with "sensitive".
4619func (s GetReplicationSetInput) GoString() string {
4620	return s.String()
4621}
4622
4623// Validate inspects the fields of the type to determine if they are valid.
4624func (s *GetReplicationSetInput) Validate() error {
4625	invalidParams := request.ErrInvalidParams{Context: "GetReplicationSetInput"}
4626	if s.Arn == nil {
4627		invalidParams.Add(request.NewErrParamRequired("Arn"))
4628	}
4629
4630	if invalidParams.Len() > 0 {
4631		return invalidParams
4632	}
4633	return nil
4634}
4635
4636// SetArn sets the Arn field's value.
4637func (s *GetReplicationSetInput) SetArn(v string) *GetReplicationSetInput {
4638	s.Arn = &v
4639	return s
4640}
4641
4642type GetReplicationSetOutput struct {
4643	_ struct{} `type:"structure"`
4644
4645	// Details of the replication set.
4646	//
4647	// ReplicationSet is a required field
4648	ReplicationSet *ReplicationSet `locationName:"replicationSet" type:"structure" required:"true"`
4649}
4650
4651// String returns the string representation.
4652//
4653// API parameter values that are decorated as "sensitive" in the API will not
4654// be included in the string output. The member name will be present, but the
4655// value will be replaced with "sensitive".
4656func (s GetReplicationSetOutput) String() string {
4657	return awsutil.Prettify(s)
4658}
4659
4660// GoString returns the string representation.
4661//
4662// API parameter values that are decorated as "sensitive" in the API will not
4663// be included in the string output. The member name will be present, but the
4664// value will be replaced with "sensitive".
4665func (s GetReplicationSetOutput) GoString() string {
4666	return s.String()
4667}
4668
4669// SetReplicationSet sets the ReplicationSet field's value.
4670func (s *GetReplicationSetOutput) SetReplicationSet(v *ReplicationSet) *GetReplicationSetOutput {
4671	s.ReplicationSet = v
4672	return s
4673}
4674
4675type GetResourcePoliciesInput struct {
4676	_ struct{} `type:"structure"`
4677
4678	// The maximum number of resource policies to display per page of results.
4679	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4680
4681	// The pagination token to continue to the next page of results.
4682	NextToken *string `locationName:"nextToken" type:"string"`
4683
4684	// The Amazon Resource Name (ARN) of the response plan with the attached resource
4685	// policy.
4686	//
4687	// ResourceArn is a required field
4688	ResourceArn *string `location:"querystring" locationName:"resourceArn" type:"string" required:"true"`
4689}
4690
4691// String returns the string representation.
4692//
4693// API parameter values that are decorated as "sensitive" in the API will not
4694// be included in the string output. The member name will be present, but the
4695// value will be replaced with "sensitive".
4696func (s GetResourcePoliciesInput) String() string {
4697	return awsutil.Prettify(s)
4698}
4699
4700// GoString returns the string representation.
4701//
4702// API parameter values that are decorated as "sensitive" in the API will not
4703// be included in the string output. The member name will be present, but the
4704// value will be replaced with "sensitive".
4705func (s GetResourcePoliciesInput) GoString() string {
4706	return s.String()
4707}
4708
4709// Validate inspects the fields of the type to determine if they are valid.
4710func (s *GetResourcePoliciesInput) Validate() error {
4711	invalidParams := request.ErrInvalidParams{Context: "GetResourcePoliciesInput"}
4712	if s.MaxResults != nil && *s.MaxResults < 1 {
4713		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4714	}
4715	if s.ResourceArn == nil {
4716		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4717	}
4718
4719	if invalidParams.Len() > 0 {
4720		return invalidParams
4721	}
4722	return nil
4723}
4724
4725// SetMaxResults sets the MaxResults field's value.
4726func (s *GetResourcePoliciesInput) SetMaxResults(v int64) *GetResourcePoliciesInput {
4727	s.MaxResults = &v
4728	return s
4729}
4730
4731// SetNextToken sets the NextToken field's value.
4732func (s *GetResourcePoliciesInput) SetNextToken(v string) *GetResourcePoliciesInput {
4733	s.NextToken = &v
4734	return s
4735}
4736
4737// SetResourceArn sets the ResourceArn field's value.
4738func (s *GetResourcePoliciesInput) SetResourceArn(v string) *GetResourcePoliciesInput {
4739	s.ResourceArn = &v
4740	return s
4741}
4742
4743type GetResourcePoliciesOutput struct {
4744	_ struct{} `type:"structure"`
4745
4746	// The pagination token to continue to the next page of results.
4747	NextToken *string `locationName:"nextToken" type:"string"`
4748
4749	// Details about the resource policy attached to the response plan.
4750	//
4751	// ResourcePolicies is a required field
4752	ResourcePolicies []*ResourcePolicy `locationName:"resourcePolicies" type:"list" required:"true"`
4753}
4754
4755// String returns the string representation.
4756//
4757// API parameter values that are decorated as "sensitive" in the API will not
4758// be included in the string output. The member name will be present, but the
4759// value will be replaced with "sensitive".
4760func (s GetResourcePoliciesOutput) String() string {
4761	return awsutil.Prettify(s)
4762}
4763
4764// GoString returns the string representation.
4765//
4766// API parameter values that are decorated as "sensitive" in the API will not
4767// be included in the string output. The member name will be present, but the
4768// value will be replaced with "sensitive".
4769func (s GetResourcePoliciesOutput) GoString() string {
4770	return s.String()
4771}
4772
4773// SetNextToken sets the NextToken field's value.
4774func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesOutput {
4775	s.NextToken = &v
4776	return s
4777}
4778
4779// SetResourcePolicies sets the ResourcePolicies field's value.
4780func (s *GetResourcePoliciesOutput) SetResourcePolicies(v []*ResourcePolicy) *GetResourcePoliciesOutput {
4781	s.ResourcePolicies = v
4782	return s
4783}
4784
4785type GetResponsePlanInput struct {
4786	_ struct{} `type:"structure" nopayload:"true"`
4787
4788	// The Amazon Resource Name (ARN) of the response plan.
4789	//
4790	// Arn is a required field
4791	Arn *string `location:"querystring" locationName:"arn" type:"string" required:"true"`
4792}
4793
4794// String returns the string representation.
4795//
4796// API parameter values that are decorated as "sensitive" in the API will not
4797// be included in the string output. The member name will be present, but the
4798// value will be replaced with "sensitive".
4799func (s GetResponsePlanInput) String() string {
4800	return awsutil.Prettify(s)
4801}
4802
4803// GoString returns the string representation.
4804//
4805// API parameter values that are decorated as "sensitive" in the API will not
4806// be included in the string output. The member name will be present, but the
4807// value will be replaced with "sensitive".
4808func (s GetResponsePlanInput) GoString() string {
4809	return s.String()
4810}
4811
4812// Validate inspects the fields of the type to determine if they are valid.
4813func (s *GetResponsePlanInput) Validate() error {
4814	invalidParams := request.ErrInvalidParams{Context: "GetResponsePlanInput"}
4815	if s.Arn == nil {
4816		invalidParams.Add(request.NewErrParamRequired("Arn"))
4817	}
4818
4819	if invalidParams.Len() > 0 {
4820		return invalidParams
4821	}
4822	return nil
4823}
4824
4825// SetArn sets the Arn field's value.
4826func (s *GetResponsePlanInput) SetArn(v string) *GetResponsePlanInput {
4827	s.Arn = &v
4828	return s
4829}
4830
4831type GetResponsePlanOutput struct {
4832	_ struct{} `type:"structure"`
4833
4834	// The actions that this response plan takes at the beginning of the incident.
4835	Actions []*Action `locationName:"actions" type:"list"`
4836
4837	// The ARN of the response plan.
4838	//
4839	// Arn is a required field
4840	Arn *string `locationName:"arn" type:"string" required:"true"`
4841
4842	// The Chatbot chat channel used for collaboration during an incident.
4843	ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"`
4844
4845	// The long format name of the response plan. Can contain spaces.
4846	DisplayName *string `locationName:"displayName" type:"string"`
4847
4848	// The contacts and escalation plans that the response plan engages during an
4849	// incident.
4850	Engagements []*string `locationName:"engagements" type:"list"`
4851
4852	// Details used to create the incident when using this response plan.
4853	//
4854	// IncidentTemplate is a required field
4855	IncidentTemplate *IncidentTemplate `locationName:"incidentTemplate" type:"structure" required:"true"`
4856
4857	// The short format name of the response plan. The name can't contain spaces.
4858	//
4859	// Name is a required field
4860	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4861}
4862
4863// String returns the string representation.
4864//
4865// API parameter values that are decorated as "sensitive" in the API will not
4866// be included in the string output. The member name will be present, but the
4867// value will be replaced with "sensitive".
4868func (s GetResponsePlanOutput) String() string {
4869	return awsutil.Prettify(s)
4870}
4871
4872// GoString returns the string representation.
4873//
4874// API parameter values that are decorated as "sensitive" in the API will not
4875// be included in the string output. The member name will be present, but the
4876// value will be replaced with "sensitive".
4877func (s GetResponsePlanOutput) GoString() string {
4878	return s.String()
4879}
4880
4881// SetActions sets the Actions field's value.
4882func (s *GetResponsePlanOutput) SetActions(v []*Action) *GetResponsePlanOutput {
4883	s.Actions = v
4884	return s
4885}
4886
4887// SetArn sets the Arn field's value.
4888func (s *GetResponsePlanOutput) SetArn(v string) *GetResponsePlanOutput {
4889	s.Arn = &v
4890	return s
4891}
4892
4893// SetChatChannel sets the ChatChannel field's value.
4894func (s *GetResponsePlanOutput) SetChatChannel(v *ChatChannel) *GetResponsePlanOutput {
4895	s.ChatChannel = v
4896	return s
4897}
4898
4899// SetDisplayName sets the DisplayName field's value.
4900func (s *GetResponsePlanOutput) SetDisplayName(v string) *GetResponsePlanOutput {
4901	s.DisplayName = &v
4902	return s
4903}
4904
4905// SetEngagements sets the Engagements field's value.
4906func (s *GetResponsePlanOutput) SetEngagements(v []*string) *GetResponsePlanOutput {
4907	s.Engagements = v
4908	return s
4909}
4910
4911// SetIncidentTemplate sets the IncidentTemplate field's value.
4912func (s *GetResponsePlanOutput) SetIncidentTemplate(v *IncidentTemplate) *GetResponsePlanOutput {
4913	s.IncidentTemplate = v
4914	return s
4915}
4916
4917// SetName sets the Name field's value.
4918func (s *GetResponsePlanOutput) SetName(v string) *GetResponsePlanOutput {
4919	s.Name = &v
4920	return s
4921}
4922
4923type GetTimelineEventInput struct {
4924	_ struct{} `type:"structure" nopayload:"true"`
4925
4926	// The ID of the event. You can get an event's ID when you create it, or by
4927	// using ListTimelineEvents.
4928	//
4929	// EventId is a required field
4930	EventId *string `location:"querystring" locationName:"eventId" type:"string" required:"true"`
4931
4932	// The Amazon Resource Name (ARN) of the incident that includes the timeline
4933	// event.
4934	//
4935	// IncidentRecordArn is a required field
4936	IncidentRecordArn *string `location:"querystring" locationName:"incidentRecordArn" type:"string" required:"true"`
4937}
4938
4939// String returns the string representation.
4940//
4941// API parameter values that are decorated as "sensitive" in the API will not
4942// be included in the string output. The member name will be present, but the
4943// value will be replaced with "sensitive".
4944func (s GetTimelineEventInput) String() string {
4945	return awsutil.Prettify(s)
4946}
4947
4948// GoString returns the string representation.
4949//
4950// API parameter values that are decorated as "sensitive" in the API will not
4951// be included in the string output. The member name will be present, but the
4952// value will be replaced with "sensitive".
4953func (s GetTimelineEventInput) GoString() string {
4954	return s.String()
4955}
4956
4957// Validate inspects the fields of the type to determine if they are valid.
4958func (s *GetTimelineEventInput) Validate() error {
4959	invalidParams := request.ErrInvalidParams{Context: "GetTimelineEventInput"}
4960	if s.EventId == nil {
4961		invalidParams.Add(request.NewErrParamRequired("EventId"))
4962	}
4963	if s.IncidentRecordArn == nil {
4964		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
4965	}
4966
4967	if invalidParams.Len() > 0 {
4968		return invalidParams
4969	}
4970	return nil
4971}
4972
4973// SetEventId sets the EventId field's value.
4974func (s *GetTimelineEventInput) SetEventId(v string) *GetTimelineEventInput {
4975	s.EventId = &v
4976	return s
4977}
4978
4979// SetIncidentRecordArn sets the IncidentRecordArn field's value.
4980func (s *GetTimelineEventInput) SetIncidentRecordArn(v string) *GetTimelineEventInput {
4981	s.IncidentRecordArn = &v
4982	return s
4983}
4984
4985type GetTimelineEventOutput struct {
4986	_ struct{} `type:"structure"`
4987
4988	// Details about the timeline event.
4989	//
4990	// Event is a required field
4991	Event *TimelineEvent `locationName:"event" type:"structure" required:"true"`
4992}
4993
4994// String returns the string representation.
4995//
4996// API parameter values that are decorated as "sensitive" in the API will not
4997// be included in the string output. The member name will be present, but the
4998// value will be replaced with "sensitive".
4999func (s GetTimelineEventOutput) String() string {
5000	return awsutil.Prettify(s)
5001}
5002
5003// GoString returns the string representation.
5004//
5005// API parameter values that are decorated as "sensitive" in the API will not
5006// be included in the string output. The member name will be present, but the
5007// value will be replaced with "sensitive".
5008func (s GetTimelineEventOutput) GoString() string {
5009	return s.String()
5010}
5011
5012// SetEvent sets the Event field's value.
5013func (s *GetTimelineEventOutput) SetEvent(v *TimelineEvent) *GetTimelineEventOutput {
5014	s.Event = v
5015	return s
5016}
5017
5018// The record of the incident that's created when an incident occurs.
5019type IncidentRecord struct {
5020	_ struct{} `type:"structure"`
5021
5022	// The Amazon Resource Name (ARN) of the incident record.
5023	//
5024	// Arn is a required field
5025	Arn *string `locationName:"arn" type:"string" required:"true"`
5026
5027	// The runbook, or automation document, that's run at the beginning of the incident.
5028	AutomationExecutions []*AutomationExecution `locationName:"automationExecutions" type:"list"`
5029
5030	// The chat channel used for collaboration during an incident.
5031	ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"`
5032
5033	// The time that Incident Manager created the incident record.
5034	//
5035	// CreationTime is a required field
5036	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"`
5037
5038	// The string Incident Manager uses to prevent duplicate incidents from being
5039	// created by the same incident in the same account.
5040	//
5041	// DedupeString is a required field
5042	DedupeString *string `locationName:"dedupeString" type:"string" required:"true"`
5043
5044	// The impact of the incident on customers and applications.
5045	//
5046	// Impact is a required field
5047	Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"`
5048
5049	// Details about the action that started the incident.
5050	//
5051	// IncidentRecordSource is a required field
5052	IncidentRecordSource *IncidentRecordSource `locationName:"incidentRecordSource" type:"structure" required:"true"`
5053
5054	// Who modified the incident most recently.
5055	//
5056	// LastModifiedBy is a required field
5057	LastModifiedBy *string `locationName:"lastModifiedBy" type:"string" required:"true"`
5058
5059	// The time at which the incident was most recently modified.
5060	//
5061	// LastModifiedTime is a required field
5062	LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" required:"true"`
5063
5064	// The Amazon SNS targets that are notified when updates are made to an incident.
5065	NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"`
5066
5067	// The time at which the incident was resolved. This appears as a timeline event.
5068	ResolvedTime *time.Time `locationName:"resolvedTime" type:"timestamp"`
5069
5070	// The current status of the incident.
5071	//
5072	// Status is a required field
5073	Status *string `locationName:"status" type:"string" required:"true" enum:"IncidentRecordStatus"`
5074
5075	// The summary of the incident. The summary is a brief synopsis of what occurred,
5076	// what's currently happening, and context of the incident.
5077	Summary *string `locationName:"summary" type:"string"`
5078
5079	// The title of the incident.
5080	//
5081	// Title is a required field
5082	Title *string `locationName:"title" type:"string" required:"true"`
5083}
5084
5085// String returns the string representation.
5086//
5087// API parameter values that are decorated as "sensitive" in the API will not
5088// be included in the string output. The member name will be present, but the
5089// value will be replaced with "sensitive".
5090func (s IncidentRecord) String() string {
5091	return awsutil.Prettify(s)
5092}
5093
5094// GoString returns the string representation.
5095//
5096// API parameter values that are decorated as "sensitive" in the API will not
5097// be included in the string output. The member name will be present, but the
5098// value will be replaced with "sensitive".
5099func (s IncidentRecord) GoString() string {
5100	return s.String()
5101}
5102
5103// SetArn sets the Arn field's value.
5104func (s *IncidentRecord) SetArn(v string) *IncidentRecord {
5105	s.Arn = &v
5106	return s
5107}
5108
5109// SetAutomationExecutions sets the AutomationExecutions field's value.
5110func (s *IncidentRecord) SetAutomationExecutions(v []*AutomationExecution) *IncidentRecord {
5111	s.AutomationExecutions = v
5112	return s
5113}
5114
5115// SetChatChannel sets the ChatChannel field's value.
5116func (s *IncidentRecord) SetChatChannel(v *ChatChannel) *IncidentRecord {
5117	s.ChatChannel = v
5118	return s
5119}
5120
5121// SetCreationTime sets the CreationTime field's value.
5122func (s *IncidentRecord) SetCreationTime(v time.Time) *IncidentRecord {
5123	s.CreationTime = &v
5124	return s
5125}
5126
5127// SetDedupeString sets the DedupeString field's value.
5128func (s *IncidentRecord) SetDedupeString(v string) *IncidentRecord {
5129	s.DedupeString = &v
5130	return s
5131}
5132
5133// SetImpact sets the Impact field's value.
5134func (s *IncidentRecord) SetImpact(v int64) *IncidentRecord {
5135	s.Impact = &v
5136	return s
5137}
5138
5139// SetIncidentRecordSource sets the IncidentRecordSource field's value.
5140func (s *IncidentRecord) SetIncidentRecordSource(v *IncidentRecordSource) *IncidentRecord {
5141	s.IncidentRecordSource = v
5142	return s
5143}
5144
5145// SetLastModifiedBy sets the LastModifiedBy field's value.
5146func (s *IncidentRecord) SetLastModifiedBy(v string) *IncidentRecord {
5147	s.LastModifiedBy = &v
5148	return s
5149}
5150
5151// SetLastModifiedTime sets the LastModifiedTime field's value.
5152func (s *IncidentRecord) SetLastModifiedTime(v time.Time) *IncidentRecord {
5153	s.LastModifiedTime = &v
5154	return s
5155}
5156
5157// SetNotificationTargets sets the NotificationTargets field's value.
5158func (s *IncidentRecord) SetNotificationTargets(v []*NotificationTargetItem) *IncidentRecord {
5159	s.NotificationTargets = v
5160	return s
5161}
5162
5163// SetResolvedTime sets the ResolvedTime field's value.
5164func (s *IncidentRecord) SetResolvedTime(v time.Time) *IncidentRecord {
5165	s.ResolvedTime = &v
5166	return s
5167}
5168
5169// SetStatus sets the Status field's value.
5170func (s *IncidentRecord) SetStatus(v string) *IncidentRecord {
5171	s.Status = &v
5172	return s
5173}
5174
5175// SetSummary sets the Summary field's value.
5176func (s *IncidentRecord) SetSummary(v string) *IncidentRecord {
5177	s.Summary = &v
5178	return s
5179}
5180
5181// SetTitle sets the Title field's value.
5182func (s *IncidentRecord) SetTitle(v string) *IncidentRecord {
5183	s.Title = &v
5184	return s
5185}
5186
5187// Details about what created the incident record and when it was created.
5188type IncidentRecordSource struct {
5189	_ struct{} `type:"structure"`
5190
5191	// The principal that started the incident.
5192	//
5193	// CreatedBy is a required field
5194	CreatedBy *string `locationName:"createdBy" type:"string" required:"true"`
5195
5196	// The principal the assumed the role specified of the createdBy.
5197	InvokedBy *string `locationName:"invokedBy" type:"string"`
5198
5199	// The resource that caused the incident to be created.
5200	ResourceArn *string `locationName:"resourceArn" type:"string"`
5201
5202	// The service that started the incident. This can be manually created from
5203	// Incident Manager, automatically created using an Amazon CloudWatch alarm,
5204	// or Amazon EventBridge event.
5205	//
5206	// Source is a required field
5207	Source *string `locationName:"source" type:"string" required:"true"`
5208}
5209
5210// String returns the string representation.
5211//
5212// API parameter values that are decorated as "sensitive" in the API will not
5213// be included in the string output. The member name will be present, but the
5214// value will be replaced with "sensitive".
5215func (s IncidentRecordSource) String() string {
5216	return awsutil.Prettify(s)
5217}
5218
5219// GoString returns the string representation.
5220//
5221// API parameter values that are decorated as "sensitive" in the API will not
5222// be included in the string output. The member name will be present, but the
5223// value will be replaced with "sensitive".
5224func (s IncidentRecordSource) GoString() string {
5225	return s.String()
5226}
5227
5228// SetCreatedBy sets the CreatedBy field's value.
5229func (s *IncidentRecordSource) SetCreatedBy(v string) *IncidentRecordSource {
5230	s.CreatedBy = &v
5231	return s
5232}
5233
5234// SetInvokedBy sets the InvokedBy field's value.
5235func (s *IncidentRecordSource) SetInvokedBy(v string) *IncidentRecordSource {
5236	s.InvokedBy = &v
5237	return s
5238}
5239
5240// SetResourceArn sets the ResourceArn field's value.
5241func (s *IncidentRecordSource) SetResourceArn(v string) *IncidentRecordSource {
5242	s.ResourceArn = &v
5243	return s
5244}
5245
5246// SetSource sets the Source field's value.
5247func (s *IncidentRecordSource) SetSource(v string) *IncidentRecordSource {
5248	s.Source = &v
5249	return s
5250}
5251
5252// Details describing an incident record.
5253type IncidentRecordSummary struct {
5254	_ struct{} `type:"structure"`
5255
5256	// The Amazon Resource Name (ARN) of the incident.
5257	//
5258	// Arn is a required field
5259	Arn *string `locationName:"arn" type:"string" required:"true"`
5260
5261	// The time the incident was created.
5262	//
5263	// CreationTime is a required field
5264	CreationTime *time.Time `locationName:"creationTime" type:"timestamp" required:"true"`
5265
5266	// Defines the impact to customers and applications.
5267	//
5268	// Impact is a required field
5269	Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"`
5270
5271	// What caused Incident Manager to create the incident.
5272	//
5273	// IncidentRecordSource is a required field
5274	IncidentRecordSource *IncidentRecordSource `locationName:"incidentRecordSource" type:"structure" required:"true"`
5275
5276	// The time the incident was resolved.
5277	ResolvedTime *time.Time `locationName:"resolvedTime" type:"timestamp"`
5278
5279	// The current status of the incident.
5280	//
5281	// Status is a required field
5282	Status *string `locationName:"status" type:"string" required:"true" enum:"IncidentRecordStatus"`
5283
5284	// The title of the incident. This value is either provided by the response
5285	// plan or overwritten on creation.
5286	//
5287	// Title is a required field
5288	Title *string `locationName:"title" type:"string" required:"true"`
5289}
5290
5291// String returns the string representation.
5292//
5293// API parameter values that are decorated as "sensitive" in the API will not
5294// be included in the string output. The member name will be present, but the
5295// value will be replaced with "sensitive".
5296func (s IncidentRecordSummary) String() string {
5297	return awsutil.Prettify(s)
5298}
5299
5300// GoString returns the string representation.
5301//
5302// API parameter values that are decorated as "sensitive" in the API will not
5303// be included in the string output. The member name will be present, but the
5304// value will be replaced with "sensitive".
5305func (s IncidentRecordSummary) GoString() string {
5306	return s.String()
5307}
5308
5309// SetArn sets the Arn field's value.
5310func (s *IncidentRecordSummary) SetArn(v string) *IncidentRecordSummary {
5311	s.Arn = &v
5312	return s
5313}
5314
5315// SetCreationTime sets the CreationTime field's value.
5316func (s *IncidentRecordSummary) SetCreationTime(v time.Time) *IncidentRecordSummary {
5317	s.CreationTime = &v
5318	return s
5319}
5320
5321// SetImpact sets the Impact field's value.
5322func (s *IncidentRecordSummary) SetImpact(v int64) *IncidentRecordSummary {
5323	s.Impact = &v
5324	return s
5325}
5326
5327// SetIncidentRecordSource sets the IncidentRecordSource field's value.
5328func (s *IncidentRecordSummary) SetIncidentRecordSource(v *IncidentRecordSource) *IncidentRecordSummary {
5329	s.IncidentRecordSource = v
5330	return s
5331}
5332
5333// SetResolvedTime sets the ResolvedTime field's value.
5334func (s *IncidentRecordSummary) SetResolvedTime(v time.Time) *IncidentRecordSummary {
5335	s.ResolvedTime = &v
5336	return s
5337}
5338
5339// SetStatus sets the Status field's value.
5340func (s *IncidentRecordSummary) SetStatus(v string) *IncidentRecordSummary {
5341	s.Status = &v
5342	return s
5343}
5344
5345// SetTitle sets the Title field's value.
5346func (s *IncidentRecordSummary) SetTitle(v string) *IncidentRecordSummary {
5347	s.Title = &v
5348	return s
5349}
5350
5351// Basic details used in creating a response plan. The response plan is then
5352// used to create an incident record.
5353type IncidentTemplate struct {
5354	_ struct{} `type:"structure"`
5355
5356	// Used to stop Incident Manager from creating multiple incident records for
5357	// the same incident.
5358	DedupeString *string `locationName:"dedupeString" type:"string"`
5359
5360	// The impact of the incident on your customers and applications.
5361	//
5362	// Impact is a required field
5363	Impact *int64 `locationName:"impact" min:"1" type:"integer" required:"true"`
5364
5365	// The Amazon SNS targets that are notified when updates are made to an incident.
5366	NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"`
5367
5368	// The summary of the incident. The summary is a brief synopsis of what occurred,
5369	// what's currently happening, and context.
5370	Summary *string `locationName:"summary" type:"string"`
5371
5372	// The title of the incident.
5373	//
5374	// Title is a required field
5375	Title *string `locationName:"title" type:"string" required:"true"`
5376}
5377
5378// String returns the string representation.
5379//
5380// API parameter values that are decorated as "sensitive" in the API will not
5381// be included in the string output. The member name will be present, but the
5382// value will be replaced with "sensitive".
5383func (s IncidentTemplate) String() string {
5384	return awsutil.Prettify(s)
5385}
5386
5387// GoString returns the string representation.
5388//
5389// API parameter values that are decorated as "sensitive" in the API will not
5390// be included in the string output. The member name will be present, but the
5391// value will be replaced with "sensitive".
5392func (s IncidentTemplate) GoString() string {
5393	return s.String()
5394}
5395
5396// Validate inspects the fields of the type to determine if they are valid.
5397func (s *IncidentTemplate) Validate() error {
5398	invalidParams := request.ErrInvalidParams{Context: "IncidentTemplate"}
5399	if s.Impact == nil {
5400		invalidParams.Add(request.NewErrParamRequired("Impact"))
5401	}
5402	if s.Impact != nil && *s.Impact < 1 {
5403		invalidParams.Add(request.NewErrParamMinValue("Impact", 1))
5404	}
5405	if s.Title == nil {
5406		invalidParams.Add(request.NewErrParamRequired("Title"))
5407	}
5408
5409	if invalidParams.Len() > 0 {
5410		return invalidParams
5411	}
5412	return nil
5413}
5414
5415// SetDedupeString sets the DedupeString field's value.
5416func (s *IncidentTemplate) SetDedupeString(v string) *IncidentTemplate {
5417	s.DedupeString = &v
5418	return s
5419}
5420
5421// SetImpact sets the Impact field's value.
5422func (s *IncidentTemplate) SetImpact(v int64) *IncidentTemplate {
5423	s.Impact = &v
5424	return s
5425}
5426
5427// SetNotificationTargets sets the NotificationTargets field's value.
5428func (s *IncidentTemplate) SetNotificationTargets(v []*NotificationTargetItem) *IncidentTemplate {
5429	s.NotificationTargets = v
5430	return s
5431}
5432
5433// SetSummary sets the Summary field's value.
5434func (s *IncidentTemplate) SetSummary(v string) *IncidentTemplate {
5435	s.Summary = &v
5436	return s
5437}
5438
5439// SetTitle sets the Title field's value.
5440func (s *IncidentTemplate) SetTitle(v string) *IncidentTemplate {
5441	s.Title = &v
5442	return s
5443}
5444
5445// The request processing has failed because of an unknown error, exception
5446// or failure.
5447type InternalServerException struct {
5448	_            struct{}                  `type:"structure"`
5449	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5450
5451	Message_ *string `locationName:"message" type:"string"`
5452}
5453
5454// String returns the string representation.
5455//
5456// API parameter values that are decorated as "sensitive" in the API will not
5457// be included in the string output. The member name will be present, but the
5458// value will be replaced with "sensitive".
5459func (s InternalServerException) String() string {
5460	return awsutil.Prettify(s)
5461}
5462
5463// GoString returns the string representation.
5464//
5465// API parameter values that are decorated as "sensitive" in the API will not
5466// be included in the string output. The member name will be present, but the
5467// value will be replaced with "sensitive".
5468func (s InternalServerException) GoString() string {
5469	return s.String()
5470}
5471
5472func newErrorInternalServerException(v protocol.ResponseMetadata) error {
5473	return &InternalServerException{
5474		RespMetadata: v,
5475	}
5476}
5477
5478// Code returns the exception type name.
5479func (s *InternalServerException) Code() string {
5480	return "InternalServerException"
5481}
5482
5483// Message returns the exception's message.
5484func (s *InternalServerException) Message() string {
5485	if s.Message_ != nil {
5486		return *s.Message_
5487	}
5488	return ""
5489}
5490
5491// OrigErr always returns nil, satisfies awserr.Error interface.
5492func (s *InternalServerException) OrigErr() error {
5493	return nil
5494}
5495
5496func (s *InternalServerException) Error() string {
5497	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5498}
5499
5500// Status code returns the HTTP status code for the request's response error.
5501func (s *InternalServerException) StatusCode() int {
5502	return s.RespMetadata.StatusCode
5503}
5504
5505// RequestID returns the service's response RequestID for request.
5506func (s *InternalServerException) RequestID() string {
5507	return s.RespMetadata.RequestID
5508}
5509
5510// Details and type of a related item.
5511type ItemIdentifier struct {
5512	_ struct{} `type:"structure"`
5513
5514	// The type of related item. Incident Manager supports the following types:
5515	//
5516	//    * ANALYSIS
5517	//
5518	//    * INCIDENT
5519	//
5520	//    * METRIC
5521	//
5522	//    * PARENT
5523	//
5524	//    * ATTACHMENT
5525	//
5526	//    * OTHER
5527	//
5528	// Type is a required field
5529	Type *string `locationName:"type" type:"string" required:"true" enum:"ItemType"`
5530
5531	// Details about the related item.
5532	//
5533	// Value is a required field
5534	Value *ItemValue `locationName:"value" type:"structure" required:"true"`
5535}
5536
5537// String returns the string representation.
5538//
5539// API parameter values that are decorated as "sensitive" in the API will not
5540// be included in the string output. The member name will be present, but the
5541// value will be replaced with "sensitive".
5542func (s ItemIdentifier) String() string {
5543	return awsutil.Prettify(s)
5544}
5545
5546// GoString returns the string representation.
5547//
5548// API parameter values that are decorated as "sensitive" in the API will not
5549// be included in the string output. The member name will be present, but the
5550// value will be replaced with "sensitive".
5551func (s ItemIdentifier) GoString() string {
5552	return s.String()
5553}
5554
5555// Validate inspects the fields of the type to determine if they are valid.
5556func (s *ItemIdentifier) Validate() error {
5557	invalidParams := request.ErrInvalidParams{Context: "ItemIdentifier"}
5558	if s.Type == nil {
5559		invalidParams.Add(request.NewErrParamRequired("Type"))
5560	}
5561	if s.Value == nil {
5562		invalidParams.Add(request.NewErrParamRequired("Value"))
5563	}
5564
5565	if invalidParams.Len() > 0 {
5566		return invalidParams
5567	}
5568	return nil
5569}
5570
5571// SetType sets the Type field's value.
5572func (s *ItemIdentifier) SetType(v string) *ItemIdentifier {
5573	s.Type = &v
5574	return s
5575}
5576
5577// SetValue sets the Value field's value.
5578func (s *ItemIdentifier) SetValue(v *ItemValue) *ItemIdentifier {
5579	s.Value = v
5580	return s
5581}
5582
5583// Describes a related item.
5584type ItemValue struct {
5585	_ struct{} `type:"structure"`
5586
5587	// The Amazon Resource Name (ARN) of the related item, if the related item is
5588	// an Amazon resource.
5589	Arn *string `locationName:"arn" type:"string"`
5590
5591	// The metric definition, if the related item is a metric in Amazon CloudWatch.
5592	MetricDefinition *string `locationName:"metricDefinition" type:"string"`
5593
5594	// The URL, if the related item is a non-Amazon Web Services resource.
5595	Url *string `locationName:"url" type:"string"`
5596}
5597
5598// String returns the string representation.
5599//
5600// API parameter values that are decorated as "sensitive" in the API will not
5601// be included in the string output. The member name will be present, but the
5602// value will be replaced with "sensitive".
5603func (s ItemValue) String() string {
5604	return awsutil.Prettify(s)
5605}
5606
5607// GoString returns the string representation.
5608//
5609// API parameter values that are decorated as "sensitive" in the API will not
5610// be included in the string output. The member name will be present, but the
5611// value will be replaced with "sensitive".
5612func (s ItemValue) GoString() string {
5613	return s.String()
5614}
5615
5616// SetArn sets the Arn field's value.
5617func (s *ItemValue) SetArn(v string) *ItemValue {
5618	s.Arn = &v
5619	return s
5620}
5621
5622// SetMetricDefinition sets the MetricDefinition field's value.
5623func (s *ItemValue) SetMetricDefinition(v string) *ItemValue {
5624	s.MetricDefinition = &v
5625	return s
5626}
5627
5628// SetUrl sets the Url field's value.
5629func (s *ItemValue) SetUrl(v string) *ItemValue {
5630	s.Url = &v
5631	return s
5632}
5633
5634type ListIncidentRecordsInput struct {
5635	_ struct{} `type:"structure"`
5636
5637	// Filters the list of incident records through which you are searching. You
5638	// can filter on the following keys:
5639	//
5640	//    * creationTime
5641	//
5642	//    * impact
5643	//
5644	//    * status
5645	//
5646	//    * createdBy
5647	//
5648	// Note the following when deciding how to use Filters:
5649	//
5650	//    * If you don't specify a Filter, the response includes all incident records.
5651	//
5652	//    * If you specify more than one filter in a single request, the response
5653	//    returns incident records that match all filters.
5654	//
5655	//    * If you specify a filter with more than one value, the response returns
5656	//    incident records that match any of the values provided.
5657	Filters []*Filter `locationName:"filters" type:"list"`
5658
5659	// The maximum number of results per page.
5660	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5661
5662	// The pagination token to continue to the next page of results.
5663	NextToken *string `locationName:"nextToken" type:"string"`
5664}
5665
5666// String returns the string representation.
5667//
5668// API parameter values that are decorated as "sensitive" in the API will not
5669// be included in the string output. The member name will be present, but the
5670// value will be replaced with "sensitive".
5671func (s ListIncidentRecordsInput) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation.
5676//
5677// API parameter values that are decorated as "sensitive" in the API will not
5678// be included in the string output. The member name will be present, but the
5679// value will be replaced with "sensitive".
5680func (s ListIncidentRecordsInput) GoString() string {
5681	return s.String()
5682}
5683
5684// Validate inspects the fields of the type to determine if they are valid.
5685func (s *ListIncidentRecordsInput) Validate() error {
5686	invalidParams := request.ErrInvalidParams{Context: "ListIncidentRecordsInput"}
5687	if s.MaxResults != nil && *s.MaxResults < 1 {
5688		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5689	}
5690	if s.Filters != nil {
5691		for i, v := range s.Filters {
5692			if v == nil {
5693				continue
5694			}
5695			if err := v.Validate(); err != nil {
5696				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
5697			}
5698		}
5699	}
5700
5701	if invalidParams.Len() > 0 {
5702		return invalidParams
5703	}
5704	return nil
5705}
5706
5707// SetFilters sets the Filters field's value.
5708func (s *ListIncidentRecordsInput) SetFilters(v []*Filter) *ListIncidentRecordsInput {
5709	s.Filters = v
5710	return s
5711}
5712
5713// SetMaxResults sets the MaxResults field's value.
5714func (s *ListIncidentRecordsInput) SetMaxResults(v int64) *ListIncidentRecordsInput {
5715	s.MaxResults = &v
5716	return s
5717}
5718
5719// SetNextToken sets the NextToken field's value.
5720func (s *ListIncidentRecordsInput) SetNextToken(v string) *ListIncidentRecordsInput {
5721	s.NextToken = &v
5722	return s
5723}
5724
5725type ListIncidentRecordsOutput struct {
5726	_ struct{} `type:"structure"`
5727
5728	// The details of each listed incident record.
5729	//
5730	// IncidentRecordSummaries is a required field
5731	IncidentRecordSummaries []*IncidentRecordSummary `locationName:"incidentRecordSummaries" type:"list" required:"true"`
5732
5733	// The pagination token to continue to the next page of results.
5734	NextToken *string `locationName:"nextToken" type:"string"`
5735}
5736
5737// String returns the string representation.
5738//
5739// API parameter values that are decorated as "sensitive" in the API will not
5740// be included in the string output. The member name will be present, but the
5741// value will be replaced with "sensitive".
5742func (s ListIncidentRecordsOutput) String() string {
5743	return awsutil.Prettify(s)
5744}
5745
5746// GoString returns the string representation.
5747//
5748// API parameter values that are decorated as "sensitive" in the API will not
5749// be included in the string output. The member name will be present, but the
5750// value will be replaced with "sensitive".
5751func (s ListIncidentRecordsOutput) GoString() string {
5752	return s.String()
5753}
5754
5755// SetIncidentRecordSummaries sets the IncidentRecordSummaries field's value.
5756func (s *ListIncidentRecordsOutput) SetIncidentRecordSummaries(v []*IncidentRecordSummary) *ListIncidentRecordsOutput {
5757	s.IncidentRecordSummaries = v
5758	return s
5759}
5760
5761// SetNextToken sets the NextToken field's value.
5762func (s *ListIncidentRecordsOutput) SetNextToken(v string) *ListIncidentRecordsOutput {
5763	s.NextToken = &v
5764	return s
5765}
5766
5767type ListRelatedItemsInput struct {
5768	_ struct{} `type:"structure"`
5769
5770	// The Amazon Resource Name (ARN) of the incident record containing the listed
5771	// related items.
5772	//
5773	// IncidentRecordArn is a required field
5774	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
5775
5776	// The maximum number of related items per page.
5777	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5778
5779	// The pagination token to continue to the next page of results.
5780	NextToken *string `locationName:"nextToken" type:"string"`
5781}
5782
5783// String returns the string representation.
5784//
5785// API parameter values that are decorated as "sensitive" in the API will not
5786// be included in the string output. The member name will be present, but the
5787// value will be replaced with "sensitive".
5788func (s ListRelatedItemsInput) String() string {
5789	return awsutil.Prettify(s)
5790}
5791
5792// GoString returns the string representation.
5793//
5794// API parameter values that are decorated as "sensitive" in the API will not
5795// be included in the string output. The member name will be present, but the
5796// value will be replaced with "sensitive".
5797func (s ListRelatedItemsInput) GoString() string {
5798	return s.String()
5799}
5800
5801// Validate inspects the fields of the type to determine if they are valid.
5802func (s *ListRelatedItemsInput) Validate() error {
5803	invalidParams := request.ErrInvalidParams{Context: "ListRelatedItemsInput"}
5804	if s.IncidentRecordArn == nil {
5805		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
5806	}
5807	if s.MaxResults != nil && *s.MaxResults < 1 {
5808		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5809	}
5810
5811	if invalidParams.Len() > 0 {
5812		return invalidParams
5813	}
5814	return nil
5815}
5816
5817// SetIncidentRecordArn sets the IncidentRecordArn field's value.
5818func (s *ListRelatedItemsInput) SetIncidentRecordArn(v string) *ListRelatedItemsInput {
5819	s.IncidentRecordArn = &v
5820	return s
5821}
5822
5823// SetMaxResults sets the MaxResults field's value.
5824func (s *ListRelatedItemsInput) SetMaxResults(v int64) *ListRelatedItemsInput {
5825	s.MaxResults = &v
5826	return s
5827}
5828
5829// SetNextToken sets the NextToken field's value.
5830func (s *ListRelatedItemsInput) SetNextToken(v string) *ListRelatedItemsInput {
5831	s.NextToken = &v
5832	return s
5833}
5834
5835type ListRelatedItemsOutput struct {
5836	_ struct{} `type:"structure"`
5837
5838	// The pagination token to continue to the next page of results.
5839	NextToken *string `locationName:"nextToken" type:"string"`
5840
5841	// Details about each related item.
5842	//
5843	// RelatedItems is a required field
5844	RelatedItems []*RelatedItem `locationName:"relatedItems" type:"list" required:"true"`
5845}
5846
5847// String returns the string representation.
5848//
5849// API parameter values that are decorated as "sensitive" in the API will not
5850// be included in the string output. The member name will be present, but the
5851// value will be replaced with "sensitive".
5852func (s ListRelatedItemsOutput) String() string {
5853	return awsutil.Prettify(s)
5854}
5855
5856// GoString returns the string representation.
5857//
5858// API parameter values that are decorated as "sensitive" in the API will not
5859// be included in the string output. The member name will be present, but the
5860// value will be replaced with "sensitive".
5861func (s ListRelatedItemsOutput) GoString() string {
5862	return s.String()
5863}
5864
5865// SetNextToken sets the NextToken field's value.
5866func (s *ListRelatedItemsOutput) SetNextToken(v string) *ListRelatedItemsOutput {
5867	s.NextToken = &v
5868	return s
5869}
5870
5871// SetRelatedItems sets the RelatedItems field's value.
5872func (s *ListRelatedItemsOutput) SetRelatedItems(v []*RelatedItem) *ListRelatedItemsOutput {
5873	s.RelatedItems = v
5874	return s
5875}
5876
5877type ListReplicationSetsInput struct {
5878	_ struct{} `type:"structure"`
5879
5880	// The maximum number of results per page.
5881	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5882
5883	// The pagination token to continue to the next page of results.
5884	NextToken *string `locationName:"nextToken" type:"string"`
5885}
5886
5887// String returns the string representation.
5888//
5889// API parameter values that are decorated as "sensitive" in the API will not
5890// be included in the string output. The member name will be present, but the
5891// value will be replaced with "sensitive".
5892func (s ListReplicationSetsInput) String() string {
5893	return awsutil.Prettify(s)
5894}
5895
5896// GoString returns the string representation.
5897//
5898// API parameter values that are decorated as "sensitive" in the API will not
5899// be included in the string output. The member name will be present, but the
5900// value will be replaced with "sensitive".
5901func (s ListReplicationSetsInput) GoString() string {
5902	return s.String()
5903}
5904
5905// Validate inspects the fields of the type to determine if they are valid.
5906func (s *ListReplicationSetsInput) Validate() error {
5907	invalidParams := request.ErrInvalidParams{Context: "ListReplicationSetsInput"}
5908	if s.MaxResults != nil && *s.MaxResults < 1 {
5909		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5910	}
5911
5912	if invalidParams.Len() > 0 {
5913		return invalidParams
5914	}
5915	return nil
5916}
5917
5918// SetMaxResults sets the MaxResults field's value.
5919func (s *ListReplicationSetsInput) SetMaxResults(v int64) *ListReplicationSetsInput {
5920	s.MaxResults = &v
5921	return s
5922}
5923
5924// SetNextToken sets the NextToken field's value.
5925func (s *ListReplicationSetsInput) SetNextToken(v string) *ListReplicationSetsInput {
5926	s.NextToken = &v
5927	return s
5928}
5929
5930type ListReplicationSetsOutput struct {
5931	_ struct{} `type:"structure"`
5932
5933	// The pagination token to continue to the next page of results.
5934	NextToken *string `locationName:"nextToken" type:"string"`
5935
5936	// The Amazon Resource Name (ARN) of the list replication set.
5937	//
5938	// ReplicationSetArns is a required field
5939	ReplicationSetArns []*string `locationName:"replicationSetArns" type:"list" required:"true"`
5940}
5941
5942// String returns the string representation.
5943//
5944// API parameter values that are decorated as "sensitive" in the API will not
5945// be included in the string output. The member name will be present, but the
5946// value will be replaced with "sensitive".
5947func (s ListReplicationSetsOutput) String() string {
5948	return awsutil.Prettify(s)
5949}
5950
5951// GoString returns the string representation.
5952//
5953// API parameter values that are decorated as "sensitive" in the API will not
5954// be included in the string output. The member name will be present, but the
5955// value will be replaced with "sensitive".
5956func (s ListReplicationSetsOutput) GoString() string {
5957	return s.String()
5958}
5959
5960// SetNextToken sets the NextToken field's value.
5961func (s *ListReplicationSetsOutput) SetNextToken(v string) *ListReplicationSetsOutput {
5962	s.NextToken = &v
5963	return s
5964}
5965
5966// SetReplicationSetArns sets the ReplicationSetArns field's value.
5967func (s *ListReplicationSetsOutput) SetReplicationSetArns(v []*string) *ListReplicationSetsOutput {
5968	s.ReplicationSetArns = v
5969	return s
5970}
5971
5972type ListResponsePlansInput struct {
5973	_ struct{} `type:"structure"`
5974
5975	// The maximum number of response plans per page.
5976	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5977
5978	// The pagination token to continue to the next page of results.
5979	NextToken *string `locationName:"nextToken" type:"string"`
5980}
5981
5982// String returns the string representation.
5983//
5984// API parameter values that are decorated as "sensitive" in the API will not
5985// be included in the string output. The member name will be present, but the
5986// value will be replaced with "sensitive".
5987func (s ListResponsePlansInput) String() string {
5988	return awsutil.Prettify(s)
5989}
5990
5991// GoString returns the string representation.
5992//
5993// API parameter values that are decorated as "sensitive" in the API will not
5994// be included in the string output. The member name will be present, but the
5995// value will be replaced with "sensitive".
5996func (s ListResponsePlansInput) GoString() string {
5997	return s.String()
5998}
5999
6000// Validate inspects the fields of the type to determine if they are valid.
6001func (s *ListResponsePlansInput) Validate() error {
6002	invalidParams := request.ErrInvalidParams{Context: "ListResponsePlansInput"}
6003	if s.MaxResults != nil && *s.MaxResults < 1 {
6004		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6005	}
6006
6007	if invalidParams.Len() > 0 {
6008		return invalidParams
6009	}
6010	return nil
6011}
6012
6013// SetMaxResults sets the MaxResults field's value.
6014func (s *ListResponsePlansInput) SetMaxResults(v int64) *ListResponsePlansInput {
6015	s.MaxResults = &v
6016	return s
6017}
6018
6019// SetNextToken sets the NextToken field's value.
6020func (s *ListResponsePlansInput) SetNextToken(v string) *ListResponsePlansInput {
6021	s.NextToken = &v
6022	return s
6023}
6024
6025type ListResponsePlansOutput struct {
6026	_ struct{} `type:"structure"`
6027
6028	// The pagination token to continue to the next page of results.
6029	NextToken *string `locationName:"nextToken" type:"string"`
6030
6031	// Details of each response plan.
6032	//
6033	// ResponsePlanSummaries is a required field
6034	ResponsePlanSummaries []*ResponsePlanSummary `locationName:"responsePlanSummaries" type:"list" required:"true"`
6035}
6036
6037// String returns the string representation.
6038//
6039// API parameter values that are decorated as "sensitive" in the API will not
6040// be included in the string output. The member name will be present, but the
6041// value will be replaced with "sensitive".
6042func (s ListResponsePlansOutput) String() string {
6043	return awsutil.Prettify(s)
6044}
6045
6046// GoString returns the string representation.
6047//
6048// API parameter values that are decorated as "sensitive" in the API will not
6049// be included in the string output. The member name will be present, but the
6050// value will be replaced with "sensitive".
6051func (s ListResponsePlansOutput) GoString() string {
6052	return s.String()
6053}
6054
6055// SetNextToken sets the NextToken field's value.
6056func (s *ListResponsePlansOutput) SetNextToken(v string) *ListResponsePlansOutput {
6057	s.NextToken = &v
6058	return s
6059}
6060
6061// SetResponsePlanSummaries sets the ResponsePlanSummaries field's value.
6062func (s *ListResponsePlansOutput) SetResponsePlanSummaries(v []*ResponsePlanSummary) *ListResponsePlansOutput {
6063	s.ResponsePlanSummaries = v
6064	return s
6065}
6066
6067type ListTagsForResourceInput struct {
6068	_ struct{} `type:"structure" nopayload:"true"`
6069
6070	// The Amazon Resource Name (ARN) of the response plan.
6071	//
6072	// ResourceArn is a required field
6073	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
6074}
6075
6076// String returns the string representation.
6077//
6078// API parameter values that are decorated as "sensitive" in the API will not
6079// be included in the string output. The member name will be present, but the
6080// value will be replaced with "sensitive".
6081func (s ListTagsForResourceInput) String() string {
6082	return awsutil.Prettify(s)
6083}
6084
6085// GoString returns the string representation.
6086//
6087// API parameter values that are decorated as "sensitive" in the API will not
6088// be included in the string output. The member name will be present, but the
6089// value will be replaced with "sensitive".
6090func (s ListTagsForResourceInput) GoString() string {
6091	return s.String()
6092}
6093
6094// Validate inspects the fields of the type to determine if they are valid.
6095func (s *ListTagsForResourceInput) Validate() error {
6096	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6097	if s.ResourceArn == nil {
6098		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6099	}
6100	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6101		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6102	}
6103
6104	if invalidParams.Len() > 0 {
6105		return invalidParams
6106	}
6107	return nil
6108}
6109
6110// SetResourceArn sets the ResourceArn field's value.
6111func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6112	s.ResourceArn = &v
6113	return s
6114}
6115
6116type ListTagsForResourceOutput struct {
6117	_ struct{} `type:"structure"`
6118
6119	// A list of tags for the response plan.
6120	//
6121	// Tags is a required field
6122	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
6123}
6124
6125// String returns the string representation.
6126//
6127// API parameter values that are decorated as "sensitive" in the API will not
6128// be included in the string output. The member name will be present, but the
6129// value will be replaced with "sensitive".
6130func (s ListTagsForResourceOutput) String() string {
6131	return awsutil.Prettify(s)
6132}
6133
6134// GoString returns the string representation.
6135//
6136// API parameter values that are decorated as "sensitive" in the API will not
6137// be included in the string output. The member name will be present, but the
6138// value will be replaced with "sensitive".
6139func (s ListTagsForResourceOutput) GoString() string {
6140	return s.String()
6141}
6142
6143// SetTags sets the Tags field's value.
6144func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6145	s.Tags = v
6146	return s
6147}
6148
6149type ListTimelineEventsInput struct {
6150	_ struct{} `type:"structure"`
6151
6152	// Filters the timeline events based on the provided conditional values. You
6153	// can filter timeline events using the following keys:
6154	//
6155	//    * eventTime
6156	//
6157	//    * eventType
6158	//
6159	// Note the following when deciding how to use Filters:
6160	//
6161	//    * If you don't specify a Filter, the response includes all timeline events.
6162	//
6163	//    * If you specify more than one filter in a single request, the response
6164	//    returns timeline events that match all filters.
6165	//
6166	//    * If you specify a filter with more than one value, the response returns
6167	//    timeline events that match any of the values provided.
6168	Filters []*Filter `locationName:"filters" type:"list"`
6169
6170	// The Amazon Resource Name (ARN) of the incident that includes the timeline
6171	// event.
6172	//
6173	// IncidentRecordArn is a required field
6174	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
6175
6176	// The maximum number of results per page.
6177	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6178
6179	// The pagination token to continue to the next page of results.
6180	NextToken *string `locationName:"nextToken" type:"string"`
6181
6182	// Sort by the specified key value pair.
6183	SortBy *string `locationName:"sortBy" type:"string" enum:"TimelineEventSort"`
6184
6185	// Sorts the order of timeline events by the value specified in the sortBy field.
6186	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"`
6187}
6188
6189// String returns the string representation.
6190//
6191// API parameter values that are decorated as "sensitive" in the API will not
6192// be included in the string output. The member name will be present, but the
6193// value will be replaced with "sensitive".
6194func (s ListTimelineEventsInput) String() string {
6195	return awsutil.Prettify(s)
6196}
6197
6198// GoString returns the string representation.
6199//
6200// API parameter values that are decorated as "sensitive" in the API will not
6201// be included in the string output. The member name will be present, but the
6202// value will be replaced with "sensitive".
6203func (s ListTimelineEventsInput) GoString() string {
6204	return s.String()
6205}
6206
6207// Validate inspects the fields of the type to determine if they are valid.
6208func (s *ListTimelineEventsInput) Validate() error {
6209	invalidParams := request.ErrInvalidParams{Context: "ListTimelineEventsInput"}
6210	if s.IncidentRecordArn == nil {
6211		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
6212	}
6213	if s.MaxResults != nil && *s.MaxResults < 1 {
6214		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6215	}
6216	if s.Filters != nil {
6217		for i, v := range s.Filters {
6218			if v == nil {
6219				continue
6220			}
6221			if err := v.Validate(); err != nil {
6222				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
6223			}
6224		}
6225	}
6226
6227	if invalidParams.Len() > 0 {
6228		return invalidParams
6229	}
6230	return nil
6231}
6232
6233// SetFilters sets the Filters field's value.
6234func (s *ListTimelineEventsInput) SetFilters(v []*Filter) *ListTimelineEventsInput {
6235	s.Filters = v
6236	return s
6237}
6238
6239// SetIncidentRecordArn sets the IncidentRecordArn field's value.
6240func (s *ListTimelineEventsInput) SetIncidentRecordArn(v string) *ListTimelineEventsInput {
6241	s.IncidentRecordArn = &v
6242	return s
6243}
6244
6245// SetMaxResults sets the MaxResults field's value.
6246func (s *ListTimelineEventsInput) SetMaxResults(v int64) *ListTimelineEventsInput {
6247	s.MaxResults = &v
6248	return s
6249}
6250
6251// SetNextToken sets the NextToken field's value.
6252func (s *ListTimelineEventsInput) SetNextToken(v string) *ListTimelineEventsInput {
6253	s.NextToken = &v
6254	return s
6255}
6256
6257// SetSortBy sets the SortBy field's value.
6258func (s *ListTimelineEventsInput) SetSortBy(v string) *ListTimelineEventsInput {
6259	s.SortBy = &v
6260	return s
6261}
6262
6263// SetSortOrder sets the SortOrder field's value.
6264func (s *ListTimelineEventsInput) SetSortOrder(v string) *ListTimelineEventsInput {
6265	s.SortOrder = &v
6266	return s
6267}
6268
6269type ListTimelineEventsOutput struct {
6270	_ struct{} `type:"structure"`
6271
6272	// Details about each event that occurred during the incident.
6273	//
6274	// EventSummaries is a required field
6275	EventSummaries []*EventSummary `locationName:"eventSummaries" type:"list" required:"true"`
6276
6277	// The pagination token to continue to the next page of results.
6278	NextToken *string `locationName:"nextToken" type:"string"`
6279}
6280
6281// String returns the string representation.
6282//
6283// API parameter values that are decorated as "sensitive" in the API will not
6284// be included in the string output. The member name will be present, but the
6285// value will be replaced with "sensitive".
6286func (s ListTimelineEventsOutput) String() string {
6287	return awsutil.Prettify(s)
6288}
6289
6290// GoString returns the string representation.
6291//
6292// API parameter values that are decorated as "sensitive" in the API will not
6293// be included in the string output. The member name will be present, but the
6294// value will be replaced with "sensitive".
6295func (s ListTimelineEventsOutput) GoString() string {
6296	return s.String()
6297}
6298
6299// SetEventSummaries sets the EventSummaries field's value.
6300func (s *ListTimelineEventsOutput) SetEventSummaries(v []*EventSummary) *ListTimelineEventsOutput {
6301	s.EventSummaries = v
6302	return s
6303}
6304
6305// SetNextToken sets the NextToken field's value.
6306func (s *ListTimelineEventsOutput) SetNextToken(v string) *ListTimelineEventsOutput {
6307	s.NextToken = &v
6308	return s
6309}
6310
6311// The SNS targets that are notified when updates are made to an incident.
6312type NotificationTargetItem struct {
6313	_ struct{} `type:"structure"`
6314
6315	// The Amazon Resource Name (ARN) of the SNS topic.
6316	SnsTopicArn *string `locationName:"snsTopicArn" type:"string"`
6317}
6318
6319// String returns the string representation.
6320//
6321// API parameter values that are decorated as "sensitive" in the API will not
6322// be included in the string output. The member name will be present, but the
6323// value will be replaced with "sensitive".
6324func (s NotificationTargetItem) String() string {
6325	return awsutil.Prettify(s)
6326}
6327
6328// GoString returns the string representation.
6329//
6330// API parameter values that are decorated as "sensitive" in the API will not
6331// be included in the string output. The member name will be present, but the
6332// value will be replaced with "sensitive".
6333func (s NotificationTargetItem) GoString() string {
6334	return s.String()
6335}
6336
6337// SetSnsTopicArn sets the SnsTopicArn field's value.
6338func (s *NotificationTargetItem) SetSnsTopicArn(v string) *NotificationTargetItem {
6339	s.SnsTopicArn = &v
6340	return s
6341}
6342
6343type PutResourcePolicyInput struct {
6344	_ struct{} `type:"structure"`
6345
6346	// Details of the resource policy.
6347	//
6348	// Policy is a required field
6349	Policy *string `locationName:"policy" type:"string" required:"true"`
6350
6351	// The Amazon Resource Name (ARN) of the response plan you're adding the resource
6352	// policy to.
6353	//
6354	// ResourceArn is a required field
6355	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
6356}
6357
6358// String returns the string representation.
6359//
6360// API parameter values that are decorated as "sensitive" in the API will not
6361// be included in the string output. The member name will be present, but the
6362// value will be replaced with "sensitive".
6363func (s PutResourcePolicyInput) String() string {
6364	return awsutil.Prettify(s)
6365}
6366
6367// GoString returns the string representation.
6368//
6369// API parameter values that are decorated as "sensitive" in the API will not
6370// be included in the string output. The member name will be present, but the
6371// value will be replaced with "sensitive".
6372func (s PutResourcePolicyInput) GoString() string {
6373	return s.String()
6374}
6375
6376// Validate inspects the fields of the type to determine if they are valid.
6377func (s *PutResourcePolicyInput) Validate() error {
6378	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
6379	if s.Policy == nil {
6380		invalidParams.Add(request.NewErrParamRequired("Policy"))
6381	}
6382	if s.ResourceArn == nil {
6383		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6384	}
6385
6386	if invalidParams.Len() > 0 {
6387		return invalidParams
6388	}
6389	return nil
6390}
6391
6392// SetPolicy sets the Policy field's value.
6393func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput {
6394	s.Policy = &v
6395	return s
6396}
6397
6398// SetResourceArn sets the ResourceArn field's value.
6399func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput {
6400	s.ResourceArn = &v
6401	return s
6402}
6403
6404type PutResourcePolicyOutput struct {
6405	_ struct{} `type:"structure"`
6406
6407	// The ID of the resource policy.
6408	//
6409	// PolicyId is a required field
6410	PolicyId *string `locationName:"policyId" type:"string" required:"true"`
6411}
6412
6413// String returns the string representation.
6414//
6415// API parameter values that are decorated as "sensitive" in the API will not
6416// be included in the string output. The member name will be present, but the
6417// value will be replaced with "sensitive".
6418func (s PutResourcePolicyOutput) String() string {
6419	return awsutil.Prettify(s)
6420}
6421
6422// GoString returns the string representation.
6423//
6424// API parameter values that are decorated as "sensitive" in the API will not
6425// be included in the string output. The member name will be present, but the
6426// value will be replaced with "sensitive".
6427func (s PutResourcePolicyOutput) GoString() string {
6428	return s.String()
6429}
6430
6431// SetPolicyId sets the PolicyId field's value.
6432func (s *PutResourcePolicyOutput) SetPolicyId(v string) *PutResourcePolicyOutput {
6433	s.PolicyId = &v
6434	return s
6435}
6436
6437// Information about a Amazon Web Services Region in your replication set.
6438type RegionInfo struct {
6439	_ struct{} `type:"structure"`
6440
6441	// The ID of the KMS key used to encrypt the data in this Amazon Web Services
6442	// Region.
6443	SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"`
6444
6445	// The status of the Amazon Web Services Region in the replication set.
6446	//
6447	// Status is a required field
6448	Status *string `locationName:"status" type:"string" required:"true" enum:"RegionStatus"`
6449
6450	// Information displayed about the status of the Amazon Web Services Region.
6451	StatusMessage *string `locationName:"statusMessage" type:"string"`
6452
6453	// The most recent date and time that Incident Manager updated the Amazon Web
6454	// Services Region's status.
6455	//
6456	// StatusUpdateDateTime is a required field
6457	StatusUpdateDateTime *time.Time `locationName:"statusUpdateDateTime" type:"timestamp" required:"true"`
6458}
6459
6460// String returns the string representation.
6461//
6462// API parameter values that are decorated as "sensitive" in the API will not
6463// be included in the string output. The member name will be present, but the
6464// value will be replaced with "sensitive".
6465func (s RegionInfo) String() string {
6466	return awsutil.Prettify(s)
6467}
6468
6469// GoString returns the string representation.
6470//
6471// API parameter values that are decorated as "sensitive" in the API will not
6472// be included in the string output. The member name will be present, but the
6473// value will be replaced with "sensitive".
6474func (s RegionInfo) GoString() string {
6475	return s.String()
6476}
6477
6478// SetSseKmsKeyId sets the SseKmsKeyId field's value.
6479func (s *RegionInfo) SetSseKmsKeyId(v string) *RegionInfo {
6480	s.SseKmsKeyId = &v
6481	return s
6482}
6483
6484// SetStatus sets the Status field's value.
6485func (s *RegionInfo) SetStatus(v string) *RegionInfo {
6486	s.Status = &v
6487	return s
6488}
6489
6490// SetStatusMessage sets the StatusMessage field's value.
6491func (s *RegionInfo) SetStatusMessage(v string) *RegionInfo {
6492	s.StatusMessage = &v
6493	return s
6494}
6495
6496// SetStatusUpdateDateTime sets the StatusUpdateDateTime field's value.
6497func (s *RegionInfo) SetStatusUpdateDateTime(v time.Time) *RegionInfo {
6498	s.StatusUpdateDateTime = &v
6499	return s
6500}
6501
6502// The mapping between a Amazon Web Services Region and the key that's used
6503// to encrypt the data.
6504type RegionMapInputValue struct {
6505	_ struct{} `type:"structure"`
6506
6507	// The KMS key used to encrypt the data in your replication set.
6508	SseKmsKeyId *string `locationName:"sseKmsKeyId" type:"string"`
6509}
6510
6511// String returns the string representation.
6512//
6513// API parameter values that are decorated as "sensitive" in the API will not
6514// be included in the string output. The member name will be present, but the
6515// value will be replaced with "sensitive".
6516func (s RegionMapInputValue) String() string {
6517	return awsutil.Prettify(s)
6518}
6519
6520// GoString returns the string representation.
6521//
6522// API parameter values that are decorated as "sensitive" in the API will not
6523// be included in the string output. The member name will be present, but the
6524// value will be replaced with "sensitive".
6525func (s RegionMapInputValue) GoString() string {
6526	return s.String()
6527}
6528
6529// SetSseKmsKeyId sets the SseKmsKeyId field's value.
6530func (s *RegionMapInputValue) SetSseKmsKeyId(v string) *RegionMapInputValue {
6531	s.SseKmsKeyId = &v
6532	return s
6533}
6534
6535// Resources that responders use to triage and mitigate the incident.
6536type RelatedItem struct {
6537	_ struct{} `type:"structure"`
6538
6539	// Details about the related item.
6540	//
6541	// Identifier is a required field
6542	Identifier *ItemIdentifier `locationName:"identifier" type:"structure" required:"true"`
6543
6544	// The title of the related item.
6545	Title *string `locationName:"title" type:"string"`
6546}
6547
6548// String returns the string representation.
6549//
6550// API parameter values that are decorated as "sensitive" in the API will not
6551// be included in the string output. The member name will be present, but the
6552// value will be replaced with "sensitive".
6553func (s RelatedItem) String() string {
6554	return awsutil.Prettify(s)
6555}
6556
6557// GoString returns the string representation.
6558//
6559// API parameter values that are decorated as "sensitive" in the API will not
6560// be included in the string output. The member name will be present, but the
6561// value will be replaced with "sensitive".
6562func (s RelatedItem) GoString() string {
6563	return s.String()
6564}
6565
6566// Validate inspects the fields of the type to determine if they are valid.
6567func (s *RelatedItem) Validate() error {
6568	invalidParams := request.ErrInvalidParams{Context: "RelatedItem"}
6569	if s.Identifier == nil {
6570		invalidParams.Add(request.NewErrParamRequired("Identifier"))
6571	}
6572	if s.Identifier != nil {
6573		if err := s.Identifier.Validate(); err != nil {
6574			invalidParams.AddNested("Identifier", err.(request.ErrInvalidParams))
6575		}
6576	}
6577
6578	if invalidParams.Len() > 0 {
6579		return invalidParams
6580	}
6581	return nil
6582}
6583
6584// SetIdentifier sets the Identifier field's value.
6585func (s *RelatedItem) SetIdentifier(v *ItemIdentifier) *RelatedItem {
6586	s.Identifier = v
6587	return s
6588}
6589
6590// SetTitle sets the Title field's value.
6591func (s *RelatedItem) SetTitle(v string) *RelatedItem {
6592	s.Title = &v
6593	return s
6594}
6595
6596// Details about the related item you're adding.
6597type RelatedItemsUpdate struct {
6598	_ struct{} `type:"structure"`
6599
6600	// Details about the related item you're adding.
6601	ItemToAdd *RelatedItem `locationName:"itemToAdd" type:"structure"`
6602
6603	// Details about the related item you're deleting.
6604	ItemToRemove *ItemIdentifier `locationName:"itemToRemove" type:"structure"`
6605}
6606
6607// String returns the string representation.
6608//
6609// API parameter values that are decorated as "sensitive" in the API will not
6610// be included in the string output. The member name will be present, but the
6611// value will be replaced with "sensitive".
6612func (s RelatedItemsUpdate) String() string {
6613	return awsutil.Prettify(s)
6614}
6615
6616// GoString returns the string representation.
6617//
6618// API parameter values that are decorated as "sensitive" in the API will not
6619// be included in the string output. The member name will be present, but the
6620// value will be replaced with "sensitive".
6621func (s RelatedItemsUpdate) GoString() string {
6622	return s.String()
6623}
6624
6625// Validate inspects the fields of the type to determine if they are valid.
6626func (s *RelatedItemsUpdate) Validate() error {
6627	invalidParams := request.ErrInvalidParams{Context: "RelatedItemsUpdate"}
6628	if s.ItemToAdd != nil {
6629		if err := s.ItemToAdd.Validate(); err != nil {
6630			invalidParams.AddNested("ItemToAdd", err.(request.ErrInvalidParams))
6631		}
6632	}
6633	if s.ItemToRemove != nil {
6634		if err := s.ItemToRemove.Validate(); err != nil {
6635			invalidParams.AddNested("ItemToRemove", err.(request.ErrInvalidParams))
6636		}
6637	}
6638
6639	if invalidParams.Len() > 0 {
6640		return invalidParams
6641	}
6642	return nil
6643}
6644
6645// SetItemToAdd sets the ItemToAdd field's value.
6646func (s *RelatedItemsUpdate) SetItemToAdd(v *RelatedItem) *RelatedItemsUpdate {
6647	s.ItemToAdd = v
6648	return s
6649}
6650
6651// SetItemToRemove sets the ItemToRemove field's value.
6652func (s *RelatedItemsUpdate) SetItemToRemove(v *ItemIdentifier) *RelatedItemsUpdate {
6653	s.ItemToRemove = v
6654	return s
6655}
6656
6657// The set of Amazon Web Services Region that your Incident Manager data will
6658// be replicated to and the KMS key used to encrypt the data.
6659type ReplicationSet struct {
6660	_ struct{} `type:"structure"`
6661
6662	// The Amazon Resource Name (ARN) of the replication set.
6663	Arn *string `locationName:"arn" type:"string"`
6664
6665	// Details about who created the replication set.
6666	//
6667	// CreatedBy is a required field
6668	CreatedBy *string `locationName:"createdBy" type:"string" required:"true"`
6669
6670	// When the replication set was created.
6671	//
6672	// CreatedTime is a required field
6673	CreatedTime *time.Time `locationName:"createdTime" type:"timestamp" required:"true"`
6674
6675	// Determines if the replication set deletion protection is enabled or not.
6676	// If deletion protection is enabled, you can't delete the last Amazon Web Services
6677	// Region in the replication set.
6678	//
6679	// DeletionProtected is a required field
6680	DeletionProtected *bool `locationName:"deletionProtected" type:"boolean" required:"true"`
6681
6682	// Who last modified the replication set.
6683	//
6684	// LastModifiedBy is a required field
6685	LastModifiedBy *string `locationName:"lastModifiedBy" type:"string" required:"true"`
6686
6687	// When the replication set was last updated.
6688	//
6689	// LastModifiedTime is a required field
6690	LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" required:"true"`
6691
6692	// The map between each Amazon Web Services Region in your replication set and
6693	// the KMS key that's used to encrypt the data in that Region.
6694	//
6695	// RegionMap is a required field
6696	RegionMap map[string]*RegionInfo `locationName:"regionMap" type:"map" required:"true"`
6697
6698	// The status of the replication set. If the replication set is still pending,
6699	// you can't use Incident Manager functionality.
6700	//
6701	// Status is a required field
6702	Status *string `locationName:"status" type:"string" required:"true" enum:"ReplicationSetStatus"`
6703}
6704
6705// String returns the string representation.
6706//
6707// API parameter values that are decorated as "sensitive" in the API will not
6708// be included in the string output. The member name will be present, but the
6709// value will be replaced with "sensitive".
6710func (s ReplicationSet) String() string {
6711	return awsutil.Prettify(s)
6712}
6713
6714// GoString returns the string representation.
6715//
6716// API parameter values that are decorated as "sensitive" in the API will not
6717// be included in the string output. The member name will be present, but the
6718// value will be replaced with "sensitive".
6719func (s ReplicationSet) GoString() string {
6720	return s.String()
6721}
6722
6723// SetArn sets the Arn field's value.
6724func (s *ReplicationSet) SetArn(v string) *ReplicationSet {
6725	s.Arn = &v
6726	return s
6727}
6728
6729// SetCreatedBy sets the CreatedBy field's value.
6730func (s *ReplicationSet) SetCreatedBy(v string) *ReplicationSet {
6731	s.CreatedBy = &v
6732	return s
6733}
6734
6735// SetCreatedTime sets the CreatedTime field's value.
6736func (s *ReplicationSet) SetCreatedTime(v time.Time) *ReplicationSet {
6737	s.CreatedTime = &v
6738	return s
6739}
6740
6741// SetDeletionProtected sets the DeletionProtected field's value.
6742func (s *ReplicationSet) SetDeletionProtected(v bool) *ReplicationSet {
6743	s.DeletionProtected = &v
6744	return s
6745}
6746
6747// SetLastModifiedBy sets the LastModifiedBy field's value.
6748func (s *ReplicationSet) SetLastModifiedBy(v string) *ReplicationSet {
6749	s.LastModifiedBy = &v
6750	return s
6751}
6752
6753// SetLastModifiedTime sets the LastModifiedTime field's value.
6754func (s *ReplicationSet) SetLastModifiedTime(v time.Time) *ReplicationSet {
6755	s.LastModifiedTime = &v
6756	return s
6757}
6758
6759// SetRegionMap sets the RegionMap field's value.
6760func (s *ReplicationSet) SetRegionMap(v map[string]*RegionInfo) *ReplicationSet {
6761	s.RegionMap = v
6762	return s
6763}
6764
6765// SetStatus sets the Status field's value.
6766func (s *ReplicationSet) SetStatus(v string) *ReplicationSet {
6767	s.Status = &v
6768	return s
6769}
6770
6771// Request references a resource which doesn't exist.
6772type ResourceNotFoundException struct {
6773	_            struct{}                  `type:"structure"`
6774	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6775
6776	Message_ *string `locationName:"message" type:"string"`
6777
6778	// The identifier for the requested resource
6779	ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"`
6780
6781	// The resource type
6782	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
6783}
6784
6785// String returns the string representation.
6786//
6787// API parameter values that are decorated as "sensitive" in the API will not
6788// be included in the string output. The member name will be present, but the
6789// value will be replaced with "sensitive".
6790func (s ResourceNotFoundException) String() string {
6791	return awsutil.Prettify(s)
6792}
6793
6794// GoString returns the string representation.
6795//
6796// API parameter values that are decorated as "sensitive" in the API will not
6797// be included in the string output. The member name will be present, but the
6798// value will be replaced with "sensitive".
6799func (s ResourceNotFoundException) GoString() string {
6800	return s.String()
6801}
6802
6803func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6804	return &ResourceNotFoundException{
6805		RespMetadata: v,
6806	}
6807}
6808
6809// Code returns the exception type name.
6810func (s *ResourceNotFoundException) Code() string {
6811	return "ResourceNotFoundException"
6812}
6813
6814// Message returns the exception's message.
6815func (s *ResourceNotFoundException) Message() string {
6816	if s.Message_ != nil {
6817		return *s.Message_
6818	}
6819	return ""
6820}
6821
6822// OrigErr always returns nil, satisfies awserr.Error interface.
6823func (s *ResourceNotFoundException) OrigErr() error {
6824	return nil
6825}
6826
6827func (s *ResourceNotFoundException) Error() string {
6828	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6829}
6830
6831// Status code returns the HTTP status code for the request's response error.
6832func (s *ResourceNotFoundException) StatusCode() int {
6833	return s.RespMetadata.StatusCode
6834}
6835
6836// RequestID returns the service's response RequestID for request.
6837func (s *ResourceNotFoundException) RequestID() string {
6838	return s.RespMetadata.RequestID
6839}
6840
6841// The resource policy that allows Incident Manager to perform actions on resources
6842// on your behalf.
6843type ResourcePolicy struct {
6844	_ struct{} `type:"structure"`
6845
6846	// The JSON blob that describes the policy.
6847	//
6848	// PolicyDocument is a required field
6849	PolicyDocument *string `locationName:"policyDocument" type:"string" required:"true"`
6850
6851	// The ID of the resource policy.
6852	//
6853	// PolicyId is a required field
6854	PolicyId *string `locationName:"policyId" type:"string" required:"true"`
6855
6856	// The Amazon Web Services Region that policy allows resources to be used in.
6857	//
6858	// RamResourceShareRegion is a required field
6859	RamResourceShareRegion *string `locationName:"ramResourceShareRegion" type:"string" required:"true"`
6860}
6861
6862// String returns the string representation.
6863//
6864// API parameter values that are decorated as "sensitive" in the API will not
6865// be included in the string output. The member name will be present, but the
6866// value will be replaced with "sensitive".
6867func (s ResourcePolicy) String() string {
6868	return awsutil.Prettify(s)
6869}
6870
6871// GoString returns the string representation.
6872//
6873// API parameter values that are decorated as "sensitive" in the API will not
6874// be included in the string output. The member name will be present, but the
6875// value will be replaced with "sensitive".
6876func (s ResourcePolicy) GoString() string {
6877	return s.String()
6878}
6879
6880// SetPolicyDocument sets the PolicyDocument field's value.
6881func (s *ResourcePolicy) SetPolicyDocument(v string) *ResourcePolicy {
6882	s.PolicyDocument = &v
6883	return s
6884}
6885
6886// SetPolicyId sets the PolicyId field's value.
6887func (s *ResourcePolicy) SetPolicyId(v string) *ResourcePolicy {
6888	s.PolicyId = &v
6889	return s
6890}
6891
6892// SetRamResourceShareRegion sets the RamResourceShareRegion field's value.
6893func (s *ResourcePolicy) SetRamResourceShareRegion(v string) *ResourcePolicy {
6894	s.RamResourceShareRegion = &v
6895	return s
6896}
6897
6898// Details of the response plan that are used when creating an incident.
6899type ResponsePlanSummary struct {
6900	_ struct{} `type:"structure"`
6901
6902	// The Amazon Resource Name (ARN) of the response plan.
6903	//
6904	// Arn is a required field
6905	Arn *string `locationName:"arn" type:"string" required:"true"`
6906
6907	// The human readable name of the response plan. This can include spaces.
6908	DisplayName *string `locationName:"displayName" type:"string"`
6909
6910	// The name of the response plan. This can't include spaces.
6911	//
6912	// Name is a required field
6913	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6914}
6915
6916// String returns the string representation.
6917//
6918// API parameter values that are decorated as "sensitive" in the API will not
6919// be included in the string output. The member name will be present, but the
6920// value will be replaced with "sensitive".
6921func (s ResponsePlanSummary) String() string {
6922	return awsutil.Prettify(s)
6923}
6924
6925// GoString returns the string representation.
6926//
6927// API parameter values that are decorated as "sensitive" in the API will not
6928// be included in the string output. The member name will be present, but the
6929// value will be replaced with "sensitive".
6930func (s ResponsePlanSummary) GoString() string {
6931	return s.String()
6932}
6933
6934// SetArn sets the Arn field's value.
6935func (s *ResponsePlanSummary) SetArn(v string) *ResponsePlanSummary {
6936	s.Arn = &v
6937	return s
6938}
6939
6940// SetDisplayName sets the DisplayName field's value.
6941func (s *ResponsePlanSummary) SetDisplayName(v string) *ResponsePlanSummary {
6942	s.DisplayName = &v
6943	return s
6944}
6945
6946// SetName sets the Name field's value.
6947func (s *ResponsePlanSummary) SetName(v string) *ResponsePlanSummary {
6948	s.Name = &v
6949	return s
6950}
6951
6952// Request would cause a service quota to be exceeded.
6953type ServiceQuotaExceededException struct {
6954	_            struct{}                  `type:"structure"`
6955	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6956
6957	Message_ *string `locationName:"message" type:"string"`
6958
6959	// Originating quota code
6960	//
6961	// QuotaCode is a required field
6962	QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"`
6963
6964	// The identifier for the requested resource
6965	ResourceIdentifier *string `locationName:"resourceIdentifier" type:"string"`
6966
6967	// The resource type
6968	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
6969
6970	// Originating service code
6971	//
6972	// ServiceCode is a required field
6973	ServiceCode *string `locationName:"serviceCode" type:"string" required:"true" enum:"ServiceCode"`
6974}
6975
6976// String returns the string representation.
6977//
6978// API parameter values that are decorated as "sensitive" in the API will not
6979// be included in the string output. The member name will be present, but the
6980// value will be replaced with "sensitive".
6981func (s ServiceQuotaExceededException) String() string {
6982	return awsutil.Prettify(s)
6983}
6984
6985// GoString returns the string representation.
6986//
6987// API parameter values that are decorated as "sensitive" in the API will not
6988// be included in the string output. The member name will be present, but the
6989// value will be replaced with "sensitive".
6990func (s ServiceQuotaExceededException) GoString() string {
6991	return s.String()
6992}
6993
6994func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
6995	return &ServiceQuotaExceededException{
6996		RespMetadata: v,
6997	}
6998}
6999
7000// Code returns the exception type name.
7001func (s *ServiceQuotaExceededException) Code() string {
7002	return "ServiceQuotaExceededException"
7003}
7004
7005// Message returns the exception's message.
7006func (s *ServiceQuotaExceededException) Message() string {
7007	if s.Message_ != nil {
7008		return *s.Message_
7009	}
7010	return ""
7011}
7012
7013// OrigErr always returns nil, satisfies awserr.Error interface.
7014func (s *ServiceQuotaExceededException) OrigErr() error {
7015	return nil
7016}
7017
7018func (s *ServiceQuotaExceededException) Error() string {
7019	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7020}
7021
7022// Status code returns the HTTP status code for the request's response error.
7023func (s *ServiceQuotaExceededException) StatusCode() int {
7024	return s.RespMetadata.StatusCode
7025}
7026
7027// RequestID returns the service's response RequestID for request.
7028func (s *ServiceQuotaExceededException) RequestID() string {
7029	return s.RespMetadata.RequestID
7030}
7031
7032// Details about the Systems Manager automation document that will be used as
7033// a runbook during an incident.
7034type SsmAutomation struct {
7035	_ struct{} `type:"structure"`
7036
7037	// The automation document's name.
7038	//
7039	// DocumentName is a required field
7040	DocumentName *string `locationName:"documentName" type:"string" required:"true"`
7041
7042	// The automation document's version to use when running.
7043	DocumentVersion *string `locationName:"documentVersion" type:"string"`
7044
7045	// The key-value pair parameters to use when running the automation document.
7046	Parameters map[string][]*string `locationName:"parameters" min:"1" type:"map"`
7047
7048	// The Amazon Resource Name (ARN) of the role that the automation document will
7049	// assume when running commands.
7050	//
7051	// RoleArn is a required field
7052	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`
7053
7054	// The account that the automation document will be run in. This can be in either
7055	// the management account or an application account.
7056	TargetAccount *string `locationName:"targetAccount" type:"string" enum:"SsmTargetAccount"`
7057}
7058
7059// String returns the string representation.
7060//
7061// API parameter values that are decorated as "sensitive" in the API will not
7062// be included in the string output. The member name will be present, but the
7063// value will be replaced with "sensitive".
7064func (s SsmAutomation) String() string {
7065	return awsutil.Prettify(s)
7066}
7067
7068// GoString returns the string representation.
7069//
7070// API parameter values that are decorated as "sensitive" in the API will not
7071// be included in the string output. The member name will be present, but the
7072// value will be replaced with "sensitive".
7073func (s SsmAutomation) GoString() string {
7074	return s.String()
7075}
7076
7077// Validate inspects the fields of the type to determine if they are valid.
7078func (s *SsmAutomation) Validate() error {
7079	invalidParams := request.ErrInvalidParams{Context: "SsmAutomation"}
7080	if s.DocumentName == nil {
7081		invalidParams.Add(request.NewErrParamRequired("DocumentName"))
7082	}
7083	if s.Parameters != nil && len(s.Parameters) < 1 {
7084		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
7085	}
7086	if s.RoleArn == nil {
7087		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7088	}
7089
7090	if invalidParams.Len() > 0 {
7091		return invalidParams
7092	}
7093	return nil
7094}
7095
7096// SetDocumentName sets the DocumentName field's value.
7097func (s *SsmAutomation) SetDocumentName(v string) *SsmAutomation {
7098	s.DocumentName = &v
7099	return s
7100}
7101
7102// SetDocumentVersion sets the DocumentVersion field's value.
7103func (s *SsmAutomation) SetDocumentVersion(v string) *SsmAutomation {
7104	s.DocumentVersion = &v
7105	return s
7106}
7107
7108// SetParameters sets the Parameters field's value.
7109func (s *SsmAutomation) SetParameters(v map[string][]*string) *SsmAutomation {
7110	s.Parameters = v
7111	return s
7112}
7113
7114// SetRoleArn sets the RoleArn field's value.
7115func (s *SsmAutomation) SetRoleArn(v string) *SsmAutomation {
7116	s.RoleArn = &v
7117	return s
7118}
7119
7120// SetTargetAccount sets the TargetAccount field's value.
7121func (s *SsmAutomation) SetTargetAccount(v string) *SsmAutomation {
7122	s.TargetAccount = &v
7123	return s
7124}
7125
7126type StartIncidentInput struct {
7127	_ struct{} `type:"structure"`
7128
7129	// A token ensuring that the operation is called only once with the specified
7130	// details.
7131	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7132
7133	// Defines the impact to the customers. Providing an impact overwrites the impact
7134	// provided by a response plan.
7135	//
7136	// Possible impacts:
7137	//
7138	//    * 1 - Critical impact, this typically relates to full application failure
7139	//    that impacts many to all customers.
7140	//
7141	//    * 2 - High impact, partial application failure with impact to many customers.
7142	//
7143	//    * 3 - Medium impact, the application is providing reduced service to customers.
7144	//
7145	//    * 4 - Low impact, customer might aren't impacted by the problem yet.
7146	//
7147	//    * 5 - No impact, customers aren't currently impacted but urgent action
7148	//    is needed to avoid impact.
7149	Impact *int64 `locationName:"impact" min:"1" type:"integer"`
7150
7151	// Add related items to the incident for other responders to use. Related items
7152	// are AWS resources, external links, or files uploaded to an Amazon S3 bucket.
7153	RelatedItems []*RelatedItem `locationName:"relatedItems" type:"list"`
7154
7155	// The Amazon Resource Name (ARN) of the response plan that pre-defines summary,
7156	// chat channels, Amazon SNS topics, runbooks, title, and impact of the incident.
7157	//
7158	// ResponsePlanArn is a required field
7159	ResponsePlanArn *string `locationName:"responsePlanArn" type:"string" required:"true"`
7160
7161	// Provide a title for the incident. Providing a title overwrites the title
7162	// provided by the response plan.
7163	Title *string `locationName:"title" type:"string"`
7164
7165	// Details of what created the incident record in Incident Manager.
7166	TriggerDetails *TriggerDetails `locationName:"triggerDetails" type:"structure"`
7167}
7168
7169// String returns the string representation.
7170//
7171// API parameter values that are decorated as "sensitive" in the API will not
7172// be included in the string output. The member name will be present, but the
7173// value will be replaced with "sensitive".
7174func (s StartIncidentInput) String() string {
7175	return awsutil.Prettify(s)
7176}
7177
7178// GoString returns the string representation.
7179//
7180// API parameter values that are decorated as "sensitive" in the API will not
7181// be included in the string output. The member name will be present, but the
7182// value will be replaced with "sensitive".
7183func (s StartIncidentInput) GoString() string {
7184	return s.String()
7185}
7186
7187// Validate inspects the fields of the type to determine if they are valid.
7188func (s *StartIncidentInput) Validate() error {
7189	invalidParams := request.ErrInvalidParams{Context: "StartIncidentInput"}
7190	if s.Impact != nil && *s.Impact < 1 {
7191		invalidParams.Add(request.NewErrParamMinValue("Impact", 1))
7192	}
7193	if s.ResponsePlanArn == nil {
7194		invalidParams.Add(request.NewErrParamRequired("ResponsePlanArn"))
7195	}
7196	if s.RelatedItems != nil {
7197		for i, v := range s.RelatedItems {
7198			if v == nil {
7199				continue
7200			}
7201			if err := v.Validate(); err != nil {
7202				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedItems", i), err.(request.ErrInvalidParams))
7203			}
7204		}
7205	}
7206	if s.TriggerDetails != nil {
7207		if err := s.TriggerDetails.Validate(); err != nil {
7208			invalidParams.AddNested("TriggerDetails", err.(request.ErrInvalidParams))
7209		}
7210	}
7211
7212	if invalidParams.Len() > 0 {
7213		return invalidParams
7214	}
7215	return nil
7216}
7217
7218// SetClientToken sets the ClientToken field's value.
7219func (s *StartIncidentInput) SetClientToken(v string) *StartIncidentInput {
7220	s.ClientToken = &v
7221	return s
7222}
7223
7224// SetImpact sets the Impact field's value.
7225func (s *StartIncidentInput) SetImpact(v int64) *StartIncidentInput {
7226	s.Impact = &v
7227	return s
7228}
7229
7230// SetRelatedItems sets the RelatedItems field's value.
7231func (s *StartIncidentInput) SetRelatedItems(v []*RelatedItem) *StartIncidentInput {
7232	s.RelatedItems = v
7233	return s
7234}
7235
7236// SetResponsePlanArn sets the ResponsePlanArn field's value.
7237func (s *StartIncidentInput) SetResponsePlanArn(v string) *StartIncidentInput {
7238	s.ResponsePlanArn = &v
7239	return s
7240}
7241
7242// SetTitle sets the Title field's value.
7243func (s *StartIncidentInput) SetTitle(v string) *StartIncidentInput {
7244	s.Title = &v
7245	return s
7246}
7247
7248// SetTriggerDetails sets the TriggerDetails field's value.
7249func (s *StartIncidentInput) SetTriggerDetails(v *TriggerDetails) *StartIncidentInput {
7250	s.TriggerDetails = v
7251	return s
7252}
7253
7254type StartIncidentOutput struct {
7255	_ struct{} `type:"structure"`
7256
7257	// The ARN of the newly created incident record.
7258	//
7259	// IncidentRecordArn is a required field
7260	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
7261}
7262
7263// String returns the string representation.
7264//
7265// API parameter values that are decorated as "sensitive" in the API will not
7266// be included in the string output. The member name will be present, but the
7267// value will be replaced with "sensitive".
7268func (s StartIncidentOutput) String() string {
7269	return awsutil.Prettify(s)
7270}
7271
7272// GoString returns the string representation.
7273//
7274// API parameter values that are decorated as "sensitive" in the API will not
7275// be included in the string output. The member name will be present, but the
7276// value will be replaced with "sensitive".
7277func (s StartIncidentOutput) GoString() string {
7278	return s.String()
7279}
7280
7281// SetIncidentRecordArn sets the IncidentRecordArn field's value.
7282func (s *StartIncidentOutput) SetIncidentRecordArn(v string) *StartIncidentOutput {
7283	s.IncidentRecordArn = &v
7284	return s
7285}
7286
7287type TagResourceInput struct {
7288	_ struct{} `type:"structure"`
7289
7290	// The Amazon Resource Name (ARN) of the response plan you're adding the tags
7291	// to.
7292	//
7293	// ResourceArn is a required field
7294	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7295
7296	// A list of tags that you are adding to the response plan.
7297	//
7298	// Tags is a required field
7299	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
7300}
7301
7302// String returns the string representation.
7303//
7304// API parameter values that are decorated as "sensitive" in the API will not
7305// be included in the string output. The member name will be present, but the
7306// value will be replaced with "sensitive".
7307func (s TagResourceInput) String() string {
7308	return awsutil.Prettify(s)
7309}
7310
7311// GoString returns the string representation.
7312//
7313// API parameter values that are decorated as "sensitive" in the API will not
7314// be included in the string output. The member name will be present, but the
7315// value will be replaced with "sensitive".
7316func (s TagResourceInput) GoString() string {
7317	return s.String()
7318}
7319
7320// Validate inspects the fields of the type to determine if they are valid.
7321func (s *TagResourceInput) Validate() error {
7322	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7323	if s.ResourceArn == nil {
7324		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7325	}
7326	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7327		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7328	}
7329	if s.Tags == nil {
7330		invalidParams.Add(request.NewErrParamRequired("Tags"))
7331	}
7332	if s.Tags != nil && len(s.Tags) < 1 {
7333		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7334	}
7335
7336	if invalidParams.Len() > 0 {
7337		return invalidParams
7338	}
7339	return nil
7340}
7341
7342// SetResourceArn sets the ResourceArn field's value.
7343func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7344	s.ResourceArn = &v
7345	return s
7346}
7347
7348// SetTags sets the Tags field's value.
7349func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7350	s.Tags = v
7351	return s
7352}
7353
7354type TagResourceOutput struct {
7355	_ struct{} `type:"structure"`
7356}
7357
7358// String returns the string representation.
7359//
7360// API parameter values that are decorated as "sensitive" in the API will not
7361// be included in the string output. The member name will be present, but the
7362// value will be replaced with "sensitive".
7363func (s TagResourceOutput) String() string {
7364	return awsutil.Prettify(s)
7365}
7366
7367// GoString returns the string representation.
7368//
7369// API parameter values that are decorated as "sensitive" in the API will not
7370// be included in the string output. The member name will be present, but the
7371// value will be replaced with "sensitive".
7372func (s TagResourceOutput) GoString() string {
7373	return s.String()
7374}
7375
7376// The request was denied due to request throttling.
7377type ThrottlingException struct {
7378	_            struct{}                  `type:"structure"`
7379	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7380
7381	Message_ *string `locationName:"message" type:"string"`
7382
7383	// Originating quota code
7384	//
7385	// QuotaCode is a required field
7386	QuotaCode *string `locationName:"quotaCode" type:"string" required:"true"`
7387
7388	// Originating service code
7389	//
7390	// ServiceCode is a required field
7391	ServiceCode *string `locationName:"serviceCode" type:"string" required:"true" enum:"ServiceCode"`
7392}
7393
7394// String returns the string representation.
7395//
7396// API parameter values that are decorated as "sensitive" in the API will not
7397// be included in the string output. The member name will be present, but the
7398// value will be replaced with "sensitive".
7399func (s ThrottlingException) String() string {
7400	return awsutil.Prettify(s)
7401}
7402
7403// GoString returns the string representation.
7404//
7405// API parameter values that are decorated as "sensitive" in the API will not
7406// be included in the string output. The member name will be present, but the
7407// value will be replaced with "sensitive".
7408func (s ThrottlingException) GoString() string {
7409	return s.String()
7410}
7411
7412func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7413	return &ThrottlingException{
7414		RespMetadata: v,
7415	}
7416}
7417
7418// Code returns the exception type name.
7419func (s *ThrottlingException) Code() string {
7420	return "ThrottlingException"
7421}
7422
7423// Message returns the exception's message.
7424func (s *ThrottlingException) Message() string {
7425	if s.Message_ != nil {
7426		return *s.Message_
7427	}
7428	return ""
7429}
7430
7431// OrigErr always returns nil, satisfies awserr.Error interface.
7432func (s *ThrottlingException) OrigErr() error {
7433	return nil
7434}
7435
7436func (s *ThrottlingException) Error() string {
7437	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
7438}
7439
7440// Status code returns the HTTP status code for the request's response error.
7441func (s *ThrottlingException) StatusCode() int {
7442	return s.RespMetadata.StatusCode
7443}
7444
7445// RequestID returns the service's response RequestID for request.
7446func (s *ThrottlingException) RequestID() string {
7447	return s.RespMetadata.RequestID
7448}
7449
7450// A significant event that happened during the incident.
7451type TimelineEvent struct {
7452	_ struct{} `type:"structure"`
7453
7454	// A short description of the event.
7455	//
7456	// EventData is a required field
7457	EventData *string `locationName:"eventData" type:"string" required:"true"`
7458
7459	// The ID of the timeline event.
7460	//
7461	// EventId is a required field
7462	EventId *string `locationName:"eventId" type:"string" required:"true"`
7463
7464	// The time that the event occurred.
7465	//
7466	// EventTime is a required field
7467	EventTime *time.Time `locationName:"eventTime" type:"timestamp" required:"true"`
7468
7469	// The type of event that occurred. Currently Incident Manager supports only
7470	// the Custom Event type.
7471	//
7472	// EventType is a required field
7473	EventType *string `locationName:"eventType" type:"string" required:"true"`
7474
7475	// The time that the timeline event was last updated.
7476	//
7477	// EventUpdatedTime is a required field
7478	EventUpdatedTime *time.Time `locationName:"eventUpdatedTime" type:"timestamp" required:"true"`
7479
7480	// The Amazon Resource Name (ARN) of the incident that the event occurred during.
7481	//
7482	// IncidentRecordArn is a required field
7483	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
7484}
7485
7486// String returns the string representation.
7487//
7488// API parameter values that are decorated as "sensitive" in the API will not
7489// be included in the string output. The member name will be present, but the
7490// value will be replaced with "sensitive".
7491func (s TimelineEvent) String() string {
7492	return awsutil.Prettify(s)
7493}
7494
7495// GoString returns the string representation.
7496//
7497// API parameter values that are decorated as "sensitive" in the API will not
7498// be included in the string output. The member name will be present, but the
7499// value will be replaced with "sensitive".
7500func (s TimelineEvent) GoString() string {
7501	return s.String()
7502}
7503
7504// SetEventData sets the EventData field's value.
7505func (s *TimelineEvent) SetEventData(v string) *TimelineEvent {
7506	s.EventData = &v
7507	return s
7508}
7509
7510// SetEventId sets the EventId field's value.
7511func (s *TimelineEvent) SetEventId(v string) *TimelineEvent {
7512	s.EventId = &v
7513	return s
7514}
7515
7516// SetEventTime sets the EventTime field's value.
7517func (s *TimelineEvent) SetEventTime(v time.Time) *TimelineEvent {
7518	s.EventTime = &v
7519	return s
7520}
7521
7522// SetEventType sets the EventType field's value.
7523func (s *TimelineEvent) SetEventType(v string) *TimelineEvent {
7524	s.EventType = &v
7525	return s
7526}
7527
7528// SetEventUpdatedTime sets the EventUpdatedTime field's value.
7529func (s *TimelineEvent) SetEventUpdatedTime(v time.Time) *TimelineEvent {
7530	s.EventUpdatedTime = &v
7531	return s
7532}
7533
7534// SetIncidentRecordArn sets the IncidentRecordArn field's value.
7535func (s *TimelineEvent) SetIncidentRecordArn(v string) *TimelineEvent {
7536	s.IncidentRecordArn = &v
7537	return s
7538}
7539
7540// Details about what caused the incident to be created in Incident Manager.
7541type TriggerDetails struct {
7542	_ struct{} `type:"structure"`
7543
7544	// Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident
7545	// Manager when an incident is created.
7546	RawData *string `locationName:"rawData" type:"string"`
7547
7548	// Identifies the service that sourced the event. All events sourced from within
7549	// Amazon Web Services begin with "aws." Customer-generated events can have
7550	// any value here, as long as it doesn't begin with "aws." We recommend the
7551	// use of Java package-name style reverse domain-name strings.
7552	//
7553	// Source is a required field
7554	Source *string `locationName:"source" type:"string" required:"true"`
7555
7556	// The time that the incident was detected.
7557	//
7558	// Timestamp is a required field
7559	Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"`
7560
7561	// The Amazon Resource Name (ARN) of the source that detected the incident.
7562	TriggerArn *string `locationName:"triggerArn" type:"string"`
7563}
7564
7565// String returns the string representation.
7566//
7567// API parameter values that are decorated as "sensitive" in the API will not
7568// be included in the string output. The member name will be present, but the
7569// value will be replaced with "sensitive".
7570func (s TriggerDetails) String() string {
7571	return awsutil.Prettify(s)
7572}
7573
7574// GoString returns the string representation.
7575//
7576// API parameter values that are decorated as "sensitive" in the API will not
7577// be included in the string output. The member name will be present, but the
7578// value will be replaced with "sensitive".
7579func (s TriggerDetails) GoString() string {
7580	return s.String()
7581}
7582
7583// Validate inspects the fields of the type to determine if they are valid.
7584func (s *TriggerDetails) Validate() error {
7585	invalidParams := request.ErrInvalidParams{Context: "TriggerDetails"}
7586	if s.Source == nil {
7587		invalidParams.Add(request.NewErrParamRequired("Source"))
7588	}
7589	if s.Timestamp == nil {
7590		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
7591	}
7592
7593	if invalidParams.Len() > 0 {
7594		return invalidParams
7595	}
7596	return nil
7597}
7598
7599// SetRawData sets the RawData field's value.
7600func (s *TriggerDetails) SetRawData(v string) *TriggerDetails {
7601	s.RawData = &v
7602	return s
7603}
7604
7605// SetSource sets the Source field's value.
7606func (s *TriggerDetails) SetSource(v string) *TriggerDetails {
7607	s.Source = &v
7608	return s
7609}
7610
7611// SetTimestamp sets the Timestamp field's value.
7612func (s *TriggerDetails) SetTimestamp(v time.Time) *TriggerDetails {
7613	s.Timestamp = &v
7614	return s
7615}
7616
7617// SetTriggerArn sets the TriggerArn field's value.
7618func (s *TriggerDetails) SetTriggerArn(v string) *TriggerDetails {
7619	s.TriggerArn = &v
7620	return s
7621}
7622
7623type UntagResourceInput struct {
7624	_ struct{} `type:"structure" nopayload:"true"`
7625
7626	// The Amazon Resource Name (ARN) of the response plan you're removing a tag
7627	// from.
7628	//
7629	// ResourceArn is a required field
7630	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7631
7632	// The name of the tag you're removing from the response plan.
7633	//
7634	// TagKeys is a required field
7635	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
7636}
7637
7638// String returns the string representation.
7639//
7640// API parameter values that are decorated as "sensitive" in the API will not
7641// be included in the string output. The member name will be present, but the
7642// value will be replaced with "sensitive".
7643func (s UntagResourceInput) String() string {
7644	return awsutil.Prettify(s)
7645}
7646
7647// GoString returns the string representation.
7648//
7649// API parameter values that are decorated as "sensitive" in the API will not
7650// be included in the string output. The member name will be present, but the
7651// value will be replaced with "sensitive".
7652func (s UntagResourceInput) GoString() string {
7653	return s.String()
7654}
7655
7656// Validate inspects the fields of the type to determine if they are valid.
7657func (s *UntagResourceInput) Validate() error {
7658	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7659	if s.ResourceArn == nil {
7660		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7661	}
7662	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7663		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7664	}
7665	if s.TagKeys == nil {
7666		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7667	}
7668	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7669		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7670	}
7671
7672	if invalidParams.Len() > 0 {
7673		return invalidParams
7674	}
7675	return nil
7676}
7677
7678// SetResourceArn sets the ResourceArn field's value.
7679func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7680	s.ResourceArn = &v
7681	return s
7682}
7683
7684// SetTagKeys sets the TagKeys field's value.
7685func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7686	s.TagKeys = v
7687	return s
7688}
7689
7690type UntagResourceOutput struct {
7691	_ struct{} `type:"structure"`
7692}
7693
7694// String returns the string representation.
7695//
7696// API parameter values that are decorated as "sensitive" in the API will not
7697// be included in the string output. The member name will be present, but the
7698// value will be replaced with "sensitive".
7699func (s UntagResourceOutput) String() string {
7700	return awsutil.Prettify(s)
7701}
7702
7703// GoString returns the string representation.
7704//
7705// API parameter values that are decorated as "sensitive" in the API will not
7706// be included in the string output. The member name will be present, but the
7707// value will be replaced with "sensitive".
7708func (s UntagResourceOutput) GoString() string {
7709	return s.String()
7710}
7711
7712type UpdateDeletionProtectionInput struct {
7713	_ struct{} `type:"structure"`
7714
7715	// The Amazon Resource Name (ARN) of the replication set you're updating.
7716	//
7717	// Arn is a required field
7718	Arn *string `locationName:"arn" type:"string" required:"true"`
7719
7720	// A token ensuring that the operation is called only once with the specified
7721	// details.
7722	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7723
7724	// Details if deletion protection is enabled or disabled in your account.
7725	//
7726	// DeletionProtected is a required field
7727	DeletionProtected *bool `locationName:"deletionProtected" type:"boolean" required:"true"`
7728}
7729
7730// String returns the string representation.
7731//
7732// API parameter values that are decorated as "sensitive" in the API will not
7733// be included in the string output. The member name will be present, but the
7734// value will be replaced with "sensitive".
7735func (s UpdateDeletionProtectionInput) String() string {
7736	return awsutil.Prettify(s)
7737}
7738
7739// GoString returns the string representation.
7740//
7741// API parameter values that are decorated as "sensitive" in the API will not
7742// be included in the string output. The member name will be present, but the
7743// value will be replaced with "sensitive".
7744func (s UpdateDeletionProtectionInput) GoString() string {
7745	return s.String()
7746}
7747
7748// Validate inspects the fields of the type to determine if they are valid.
7749func (s *UpdateDeletionProtectionInput) Validate() error {
7750	invalidParams := request.ErrInvalidParams{Context: "UpdateDeletionProtectionInput"}
7751	if s.Arn == nil {
7752		invalidParams.Add(request.NewErrParamRequired("Arn"))
7753	}
7754	if s.DeletionProtected == nil {
7755		invalidParams.Add(request.NewErrParamRequired("DeletionProtected"))
7756	}
7757
7758	if invalidParams.Len() > 0 {
7759		return invalidParams
7760	}
7761	return nil
7762}
7763
7764// SetArn sets the Arn field's value.
7765func (s *UpdateDeletionProtectionInput) SetArn(v string) *UpdateDeletionProtectionInput {
7766	s.Arn = &v
7767	return s
7768}
7769
7770// SetClientToken sets the ClientToken field's value.
7771func (s *UpdateDeletionProtectionInput) SetClientToken(v string) *UpdateDeletionProtectionInput {
7772	s.ClientToken = &v
7773	return s
7774}
7775
7776// SetDeletionProtected sets the DeletionProtected field's value.
7777func (s *UpdateDeletionProtectionInput) SetDeletionProtected(v bool) *UpdateDeletionProtectionInput {
7778	s.DeletionProtected = &v
7779	return s
7780}
7781
7782type UpdateDeletionProtectionOutput struct {
7783	_ struct{} `type:"structure"`
7784}
7785
7786// String returns the string representation.
7787//
7788// API parameter values that are decorated as "sensitive" in the API will not
7789// be included in the string output. The member name will be present, but the
7790// value will be replaced with "sensitive".
7791func (s UpdateDeletionProtectionOutput) String() string {
7792	return awsutil.Prettify(s)
7793}
7794
7795// GoString returns the string representation.
7796//
7797// API parameter values that are decorated as "sensitive" in the API will not
7798// be included in the string output. The member name will be present, but the
7799// value will be replaced with "sensitive".
7800func (s UpdateDeletionProtectionOutput) GoString() string {
7801	return s.String()
7802}
7803
7804type UpdateIncidentRecordInput struct {
7805	_ struct{} `type:"structure"`
7806
7807	// The Amazon Resource Name (ARN) of the incident record you are updating.
7808	//
7809	// Arn is a required field
7810	Arn *string `locationName:"arn" type:"string" required:"true"`
7811
7812	// The Chatbot chat channel where responders can collaborate.
7813	ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"`
7814
7815	// A token that ensures that the operation is called only once with the specified
7816	// details.
7817	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7818
7819	// Defines the impact of the incident to customers and applications. Providing
7820	// an impact overwrites the impact provided by the response plan.
7821	//
7822	// Possible impacts:
7823	//
7824	//    * 1 - Critical impact, full application failure that impacts many to all
7825	//    customers.
7826	//
7827	//    * 2 - High impact, partial application failure with impact to many customers.
7828	//
7829	//    * 3 - Medium impact, the application is providing reduced service to customers.
7830	//
7831	//    * 4 - Low impact, customer aren't impacted by the problem yet.
7832	//
7833	//    * 5 - No impact, customers aren't currently impacted but urgent action
7834	//    is needed to avoid impact.
7835	Impact *int64 `locationName:"impact" min:"1" type:"integer"`
7836
7837	// The Amazon SNS targets that are notified when updates are made to an incident.
7838	//
7839	// Using multiple SNS topics creates redundancy in the event that a Region is
7840	// down during the incident.
7841	NotificationTargets []*NotificationTargetItem `locationName:"notificationTargets" type:"list"`
7842
7843	// The status of the incident. An incident can be Open or Resolved.
7844	Status *string `locationName:"status" type:"string" enum:"IncidentRecordStatus"`
7845
7846	// A longer description of what occurred during the incident.
7847	Summary *string `locationName:"summary" type:"string"`
7848
7849	// A brief description of the incident.
7850	Title *string `locationName:"title" type:"string"`
7851}
7852
7853// String returns the string representation.
7854//
7855// API parameter values that are decorated as "sensitive" in the API will not
7856// be included in the string output. The member name will be present, but the
7857// value will be replaced with "sensitive".
7858func (s UpdateIncidentRecordInput) String() string {
7859	return awsutil.Prettify(s)
7860}
7861
7862// GoString returns the string representation.
7863//
7864// API parameter values that are decorated as "sensitive" in the API will not
7865// be included in the string output. The member name will be present, but the
7866// value will be replaced with "sensitive".
7867func (s UpdateIncidentRecordInput) GoString() string {
7868	return s.String()
7869}
7870
7871// Validate inspects the fields of the type to determine if they are valid.
7872func (s *UpdateIncidentRecordInput) Validate() error {
7873	invalidParams := request.ErrInvalidParams{Context: "UpdateIncidentRecordInput"}
7874	if s.Arn == nil {
7875		invalidParams.Add(request.NewErrParamRequired("Arn"))
7876	}
7877	if s.Impact != nil && *s.Impact < 1 {
7878		invalidParams.Add(request.NewErrParamMinValue("Impact", 1))
7879	}
7880	if s.ChatChannel != nil {
7881		if err := s.ChatChannel.Validate(); err != nil {
7882			invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams))
7883		}
7884	}
7885
7886	if invalidParams.Len() > 0 {
7887		return invalidParams
7888	}
7889	return nil
7890}
7891
7892// SetArn sets the Arn field's value.
7893func (s *UpdateIncidentRecordInput) SetArn(v string) *UpdateIncidentRecordInput {
7894	s.Arn = &v
7895	return s
7896}
7897
7898// SetChatChannel sets the ChatChannel field's value.
7899func (s *UpdateIncidentRecordInput) SetChatChannel(v *ChatChannel) *UpdateIncidentRecordInput {
7900	s.ChatChannel = v
7901	return s
7902}
7903
7904// SetClientToken sets the ClientToken field's value.
7905func (s *UpdateIncidentRecordInput) SetClientToken(v string) *UpdateIncidentRecordInput {
7906	s.ClientToken = &v
7907	return s
7908}
7909
7910// SetImpact sets the Impact field's value.
7911func (s *UpdateIncidentRecordInput) SetImpact(v int64) *UpdateIncidentRecordInput {
7912	s.Impact = &v
7913	return s
7914}
7915
7916// SetNotificationTargets sets the NotificationTargets field's value.
7917func (s *UpdateIncidentRecordInput) SetNotificationTargets(v []*NotificationTargetItem) *UpdateIncidentRecordInput {
7918	s.NotificationTargets = v
7919	return s
7920}
7921
7922// SetStatus sets the Status field's value.
7923func (s *UpdateIncidentRecordInput) SetStatus(v string) *UpdateIncidentRecordInput {
7924	s.Status = &v
7925	return s
7926}
7927
7928// SetSummary sets the Summary field's value.
7929func (s *UpdateIncidentRecordInput) SetSummary(v string) *UpdateIncidentRecordInput {
7930	s.Summary = &v
7931	return s
7932}
7933
7934// SetTitle sets the Title field's value.
7935func (s *UpdateIncidentRecordInput) SetTitle(v string) *UpdateIncidentRecordInput {
7936	s.Title = &v
7937	return s
7938}
7939
7940type UpdateIncidentRecordOutput struct {
7941	_ struct{} `type:"structure"`
7942}
7943
7944// String returns the string representation.
7945//
7946// API parameter values that are decorated as "sensitive" in the API will not
7947// be included in the string output. The member name will be present, but the
7948// value will be replaced with "sensitive".
7949func (s UpdateIncidentRecordOutput) String() string {
7950	return awsutil.Prettify(s)
7951}
7952
7953// GoString returns the string representation.
7954//
7955// API parameter values that are decorated as "sensitive" in the API will not
7956// be included in the string output. The member name will be present, but the
7957// value will be replaced with "sensitive".
7958func (s UpdateIncidentRecordOutput) GoString() string {
7959	return s.String()
7960}
7961
7962type UpdateRelatedItemsInput struct {
7963	_ struct{} `type:"structure"`
7964
7965	// A token ensuring that the operation is called only once with the specified
7966	// details.
7967	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7968
7969	// The Amazon Resource Name (ARN) of the incident record containing the related
7970	// items you are updating.
7971	//
7972	// IncidentRecordArn is a required field
7973	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
7974
7975	// Details about the item you are adding or deleting.
7976	//
7977	// RelatedItemsUpdate is a required field
7978	RelatedItemsUpdate *RelatedItemsUpdate `locationName:"relatedItemsUpdate" type:"structure" required:"true"`
7979}
7980
7981// String returns the string representation.
7982//
7983// API parameter values that are decorated as "sensitive" in the API will not
7984// be included in the string output. The member name will be present, but the
7985// value will be replaced with "sensitive".
7986func (s UpdateRelatedItemsInput) String() string {
7987	return awsutil.Prettify(s)
7988}
7989
7990// GoString returns the string representation.
7991//
7992// API parameter values that are decorated as "sensitive" in the API will not
7993// be included in the string output. The member name will be present, but the
7994// value will be replaced with "sensitive".
7995func (s UpdateRelatedItemsInput) GoString() string {
7996	return s.String()
7997}
7998
7999// Validate inspects the fields of the type to determine if they are valid.
8000func (s *UpdateRelatedItemsInput) Validate() error {
8001	invalidParams := request.ErrInvalidParams{Context: "UpdateRelatedItemsInput"}
8002	if s.IncidentRecordArn == nil {
8003		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
8004	}
8005	if s.RelatedItemsUpdate == nil {
8006		invalidParams.Add(request.NewErrParamRequired("RelatedItemsUpdate"))
8007	}
8008	if s.RelatedItemsUpdate != nil {
8009		if err := s.RelatedItemsUpdate.Validate(); err != nil {
8010			invalidParams.AddNested("RelatedItemsUpdate", err.(request.ErrInvalidParams))
8011		}
8012	}
8013
8014	if invalidParams.Len() > 0 {
8015		return invalidParams
8016	}
8017	return nil
8018}
8019
8020// SetClientToken sets the ClientToken field's value.
8021func (s *UpdateRelatedItemsInput) SetClientToken(v string) *UpdateRelatedItemsInput {
8022	s.ClientToken = &v
8023	return s
8024}
8025
8026// SetIncidentRecordArn sets the IncidentRecordArn field's value.
8027func (s *UpdateRelatedItemsInput) SetIncidentRecordArn(v string) *UpdateRelatedItemsInput {
8028	s.IncidentRecordArn = &v
8029	return s
8030}
8031
8032// SetRelatedItemsUpdate sets the RelatedItemsUpdate field's value.
8033func (s *UpdateRelatedItemsInput) SetRelatedItemsUpdate(v *RelatedItemsUpdate) *UpdateRelatedItemsInput {
8034	s.RelatedItemsUpdate = v
8035	return s
8036}
8037
8038type UpdateRelatedItemsOutput struct {
8039	_ struct{} `type:"structure"`
8040}
8041
8042// String returns the string representation.
8043//
8044// API parameter values that are decorated as "sensitive" in the API will not
8045// be included in the string output. The member name will be present, but the
8046// value will be replaced with "sensitive".
8047func (s UpdateRelatedItemsOutput) String() string {
8048	return awsutil.Prettify(s)
8049}
8050
8051// GoString returns the string representation.
8052//
8053// API parameter values that are decorated as "sensitive" in the API will not
8054// be included in the string output. The member name will be present, but the
8055// value will be replaced with "sensitive".
8056func (s UpdateRelatedItemsOutput) GoString() string {
8057	return s.String()
8058}
8059
8060// Details used when updating the replication set.
8061type UpdateReplicationSetAction struct {
8062	_ struct{} `type:"structure"`
8063
8064	// Details about the Amazon Web Services Region that you're adding to the replication
8065	// set.
8066	AddRegionAction *AddRegionAction `locationName:"addRegionAction" type:"structure"`
8067
8068	// Details about the Amazon Web Services Region that you're deleting to the
8069	// replication set.
8070	DeleteRegionAction *DeleteRegionAction `locationName:"deleteRegionAction" type:"structure"`
8071}
8072
8073// String returns the string representation.
8074//
8075// API parameter values that are decorated as "sensitive" in the API will not
8076// be included in the string output. The member name will be present, but the
8077// value will be replaced with "sensitive".
8078func (s UpdateReplicationSetAction) String() string {
8079	return awsutil.Prettify(s)
8080}
8081
8082// GoString returns the string representation.
8083//
8084// API parameter values that are decorated as "sensitive" in the API will not
8085// be included in the string output. The member name will be present, but the
8086// value will be replaced with "sensitive".
8087func (s UpdateReplicationSetAction) GoString() string {
8088	return s.String()
8089}
8090
8091// Validate inspects the fields of the type to determine if they are valid.
8092func (s *UpdateReplicationSetAction) Validate() error {
8093	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationSetAction"}
8094	if s.AddRegionAction != nil {
8095		if err := s.AddRegionAction.Validate(); err != nil {
8096			invalidParams.AddNested("AddRegionAction", err.(request.ErrInvalidParams))
8097		}
8098	}
8099	if s.DeleteRegionAction != nil {
8100		if err := s.DeleteRegionAction.Validate(); err != nil {
8101			invalidParams.AddNested("DeleteRegionAction", err.(request.ErrInvalidParams))
8102		}
8103	}
8104
8105	if invalidParams.Len() > 0 {
8106		return invalidParams
8107	}
8108	return nil
8109}
8110
8111// SetAddRegionAction sets the AddRegionAction field's value.
8112func (s *UpdateReplicationSetAction) SetAddRegionAction(v *AddRegionAction) *UpdateReplicationSetAction {
8113	s.AddRegionAction = v
8114	return s
8115}
8116
8117// SetDeleteRegionAction sets the DeleteRegionAction field's value.
8118func (s *UpdateReplicationSetAction) SetDeleteRegionAction(v *DeleteRegionAction) *UpdateReplicationSetAction {
8119	s.DeleteRegionAction = v
8120	return s
8121}
8122
8123type UpdateReplicationSetInput struct {
8124	_ struct{} `type:"structure"`
8125
8126	// An action to add or delete a Region.
8127	//
8128	// Actions is a required field
8129	Actions []*UpdateReplicationSetAction `locationName:"actions" min:"1" type:"list" required:"true"`
8130
8131	// The Amazon Resource Name (ARN) of the replication set you're updating.
8132	//
8133	// Arn is a required field
8134	Arn *string `locationName:"arn" type:"string" required:"true"`
8135
8136	// A token ensuring that the operation is called only once with the specified
8137	// details.
8138	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
8139}
8140
8141// String returns the string representation.
8142//
8143// API parameter values that are decorated as "sensitive" in the API will not
8144// be included in the string output. The member name will be present, but the
8145// value will be replaced with "sensitive".
8146func (s UpdateReplicationSetInput) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation.
8151//
8152// API parameter values that are decorated as "sensitive" in the API will not
8153// be included in the string output. The member name will be present, but the
8154// value will be replaced with "sensitive".
8155func (s UpdateReplicationSetInput) GoString() string {
8156	return s.String()
8157}
8158
8159// Validate inspects the fields of the type to determine if they are valid.
8160func (s *UpdateReplicationSetInput) Validate() error {
8161	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationSetInput"}
8162	if s.Actions == nil {
8163		invalidParams.Add(request.NewErrParamRequired("Actions"))
8164	}
8165	if s.Actions != nil && len(s.Actions) < 1 {
8166		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
8167	}
8168	if s.Arn == nil {
8169		invalidParams.Add(request.NewErrParamRequired("Arn"))
8170	}
8171	if s.Actions != nil {
8172		for i, v := range s.Actions {
8173			if v == nil {
8174				continue
8175			}
8176			if err := v.Validate(); err != nil {
8177				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
8178			}
8179		}
8180	}
8181
8182	if invalidParams.Len() > 0 {
8183		return invalidParams
8184	}
8185	return nil
8186}
8187
8188// SetActions sets the Actions field's value.
8189func (s *UpdateReplicationSetInput) SetActions(v []*UpdateReplicationSetAction) *UpdateReplicationSetInput {
8190	s.Actions = v
8191	return s
8192}
8193
8194// SetArn sets the Arn field's value.
8195func (s *UpdateReplicationSetInput) SetArn(v string) *UpdateReplicationSetInput {
8196	s.Arn = &v
8197	return s
8198}
8199
8200// SetClientToken sets the ClientToken field's value.
8201func (s *UpdateReplicationSetInput) SetClientToken(v string) *UpdateReplicationSetInput {
8202	s.ClientToken = &v
8203	return s
8204}
8205
8206type UpdateReplicationSetOutput struct {
8207	_ struct{} `type:"structure"`
8208}
8209
8210// String returns the string representation.
8211//
8212// API parameter values that are decorated as "sensitive" in the API will not
8213// be included in the string output. The member name will be present, but the
8214// value will be replaced with "sensitive".
8215func (s UpdateReplicationSetOutput) String() string {
8216	return awsutil.Prettify(s)
8217}
8218
8219// GoString returns the string representation.
8220//
8221// API parameter values that are decorated as "sensitive" in the API will not
8222// be included in the string output. The member name will be present, but the
8223// value will be replaced with "sensitive".
8224func (s UpdateReplicationSetOutput) GoString() string {
8225	return s.String()
8226}
8227
8228type UpdateResponsePlanInput struct {
8229	_ struct{} `type:"structure"`
8230
8231	// The actions that this response plan takes at the beginning of an incident.
8232	Actions []*Action `locationName:"actions" type:"list"`
8233
8234	// The Amazon Resource Name (ARN) of the response plan.
8235	//
8236	// Arn is a required field
8237	Arn *string `locationName:"arn" type:"string" required:"true"`
8238
8239	// The Chatbot chat channel used for collaboration during an incident.
8240	//
8241	// Use the empty structure to remove the chat channel from the response plan.
8242	ChatChannel *ChatChannel `locationName:"chatChannel" type:"structure"`
8243
8244	// A token ensuring that the operation is called only once with the specified
8245	// details.
8246	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
8247
8248	// The long format name of the response plan. The display name can't contain
8249	// spaces.
8250	DisplayName *string `locationName:"displayName" type:"string"`
8251
8252	// The contacts and escalation plans that Incident Manager engages at the start
8253	// of the incident.
8254	Engagements []*string `locationName:"engagements" type:"list"`
8255
8256	// The string Incident Manager uses to prevent duplicate incidents from being
8257	// created by the same incident in the same account.
8258	IncidentTemplateDedupeString *string `locationName:"incidentTemplateDedupeString" type:"string"`
8259
8260	// Defines the impact to the customers. Providing an impact overwrites the impact
8261	// provided by a response plan.
8262	//
8263	// Possible impacts:
8264	//
8265	//    * 5 - Severe impact
8266	//
8267	//    * 4 - High impact
8268	//
8269	//    * 3 - Medium impact
8270	//
8271	//    * 2 - Low impact
8272	//
8273	//    * 1 - No impact
8274	IncidentTemplateImpact *int64 `locationName:"incidentTemplateImpact" min:"1" type:"integer"`
8275
8276	// The Amazon SNS targets that are notified when updates are made to an incident.
8277	IncidentTemplateNotificationTargets []*NotificationTargetItem `locationName:"incidentTemplateNotificationTargets" type:"list"`
8278
8279	// A brief summary of the incident. This typically contains what has happened,
8280	// what's currently happening, and next steps.
8281	IncidentTemplateSummary *string `locationName:"incidentTemplateSummary" type:"string"`
8282
8283	// The short format name of the incident. The title can't contain spaces.
8284	IncidentTemplateTitle *string `locationName:"incidentTemplateTitle" type:"string"`
8285}
8286
8287// String returns the string representation.
8288//
8289// API parameter values that are decorated as "sensitive" in the API will not
8290// be included in the string output. The member name will be present, but the
8291// value will be replaced with "sensitive".
8292func (s UpdateResponsePlanInput) String() string {
8293	return awsutil.Prettify(s)
8294}
8295
8296// GoString returns the string representation.
8297//
8298// API parameter values that are decorated as "sensitive" in the API will not
8299// be included in the string output. The member name will be present, but the
8300// value will be replaced with "sensitive".
8301func (s UpdateResponsePlanInput) GoString() string {
8302	return s.String()
8303}
8304
8305// Validate inspects the fields of the type to determine if they are valid.
8306func (s *UpdateResponsePlanInput) Validate() error {
8307	invalidParams := request.ErrInvalidParams{Context: "UpdateResponsePlanInput"}
8308	if s.Arn == nil {
8309		invalidParams.Add(request.NewErrParamRequired("Arn"))
8310	}
8311	if s.IncidentTemplateImpact != nil && *s.IncidentTemplateImpact < 1 {
8312		invalidParams.Add(request.NewErrParamMinValue("IncidentTemplateImpact", 1))
8313	}
8314	if s.Actions != nil {
8315		for i, v := range s.Actions {
8316			if v == nil {
8317				continue
8318			}
8319			if err := v.Validate(); err != nil {
8320				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Actions", i), err.(request.ErrInvalidParams))
8321			}
8322		}
8323	}
8324	if s.ChatChannel != nil {
8325		if err := s.ChatChannel.Validate(); err != nil {
8326			invalidParams.AddNested("ChatChannel", err.(request.ErrInvalidParams))
8327		}
8328	}
8329
8330	if invalidParams.Len() > 0 {
8331		return invalidParams
8332	}
8333	return nil
8334}
8335
8336// SetActions sets the Actions field's value.
8337func (s *UpdateResponsePlanInput) SetActions(v []*Action) *UpdateResponsePlanInput {
8338	s.Actions = v
8339	return s
8340}
8341
8342// SetArn sets the Arn field's value.
8343func (s *UpdateResponsePlanInput) SetArn(v string) *UpdateResponsePlanInput {
8344	s.Arn = &v
8345	return s
8346}
8347
8348// SetChatChannel sets the ChatChannel field's value.
8349func (s *UpdateResponsePlanInput) SetChatChannel(v *ChatChannel) *UpdateResponsePlanInput {
8350	s.ChatChannel = v
8351	return s
8352}
8353
8354// SetClientToken sets the ClientToken field's value.
8355func (s *UpdateResponsePlanInput) SetClientToken(v string) *UpdateResponsePlanInput {
8356	s.ClientToken = &v
8357	return s
8358}
8359
8360// SetDisplayName sets the DisplayName field's value.
8361func (s *UpdateResponsePlanInput) SetDisplayName(v string) *UpdateResponsePlanInput {
8362	s.DisplayName = &v
8363	return s
8364}
8365
8366// SetEngagements sets the Engagements field's value.
8367func (s *UpdateResponsePlanInput) SetEngagements(v []*string) *UpdateResponsePlanInput {
8368	s.Engagements = v
8369	return s
8370}
8371
8372// SetIncidentTemplateDedupeString sets the IncidentTemplateDedupeString field's value.
8373func (s *UpdateResponsePlanInput) SetIncidentTemplateDedupeString(v string) *UpdateResponsePlanInput {
8374	s.IncidentTemplateDedupeString = &v
8375	return s
8376}
8377
8378// SetIncidentTemplateImpact sets the IncidentTemplateImpact field's value.
8379func (s *UpdateResponsePlanInput) SetIncidentTemplateImpact(v int64) *UpdateResponsePlanInput {
8380	s.IncidentTemplateImpact = &v
8381	return s
8382}
8383
8384// SetIncidentTemplateNotificationTargets sets the IncidentTemplateNotificationTargets field's value.
8385func (s *UpdateResponsePlanInput) SetIncidentTemplateNotificationTargets(v []*NotificationTargetItem) *UpdateResponsePlanInput {
8386	s.IncidentTemplateNotificationTargets = v
8387	return s
8388}
8389
8390// SetIncidentTemplateSummary sets the IncidentTemplateSummary field's value.
8391func (s *UpdateResponsePlanInput) SetIncidentTemplateSummary(v string) *UpdateResponsePlanInput {
8392	s.IncidentTemplateSummary = &v
8393	return s
8394}
8395
8396// SetIncidentTemplateTitle sets the IncidentTemplateTitle field's value.
8397func (s *UpdateResponsePlanInput) SetIncidentTemplateTitle(v string) *UpdateResponsePlanInput {
8398	s.IncidentTemplateTitle = &v
8399	return s
8400}
8401
8402type UpdateResponsePlanOutput struct {
8403	_ struct{} `type:"structure"`
8404}
8405
8406// String returns the string representation.
8407//
8408// API parameter values that are decorated as "sensitive" in the API will not
8409// be included in the string output. The member name will be present, but the
8410// value will be replaced with "sensitive".
8411func (s UpdateResponsePlanOutput) String() string {
8412	return awsutil.Prettify(s)
8413}
8414
8415// GoString returns the string representation.
8416//
8417// API parameter values that are decorated as "sensitive" in the API will not
8418// be included in the string output. The member name will be present, but the
8419// value will be replaced with "sensitive".
8420func (s UpdateResponsePlanOutput) GoString() string {
8421	return s.String()
8422}
8423
8424type UpdateTimelineEventInput struct {
8425	_ struct{} `type:"structure"`
8426
8427	// A token ensuring that the operation is called only once with the specified
8428	// details.
8429	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
8430
8431	// A short description of the event.
8432	EventData *string `locationName:"eventData" type:"string"`
8433
8434	// The ID of the event you are updating. You can find this by using ListTimelineEvents.
8435	//
8436	// EventId is a required field
8437	EventId *string `locationName:"eventId" type:"string" required:"true"`
8438
8439	// The time that the event occurred.
8440	EventTime *time.Time `locationName:"eventTime" type:"timestamp"`
8441
8442	// The type of the event. You can update events of type Custom Event.
8443	EventType *string `locationName:"eventType" type:"string"`
8444
8445	// The Amazon Resource Name (ARN) of the incident that includes the timeline
8446	// event.
8447	//
8448	// IncidentRecordArn is a required field
8449	IncidentRecordArn *string `locationName:"incidentRecordArn" type:"string" required:"true"`
8450}
8451
8452// String returns the string representation.
8453//
8454// API parameter values that are decorated as "sensitive" in the API will not
8455// be included in the string output. The member name will be present, but the
8456// value will be replaced with "sensitive".
8457func (s UpdateTimelineEventInput) String() string {
8458	return awsutil.Prettify(s)
8459}
8460
8461// GoString returns the string representation.
8462//
8463// API parameter values that are decorated as "sensitive" in the API will not
8464// be included in the string output. The member name will be present, but the
8465// value will be replaced with "sensitive".
8466func (s UpdateTimelineEventInput) GoString() string {
8467	return s.String()
8468}
8469
8470// Validate inspects the fields of the type to determine if they are valid.
8471func (s *UpdateTimelineEventInput) Validate() error {
8472	invalidParams := request.ErrInvalidParams{Context: "UpdateTimelineEventInput"}
8473	if s.EventId == nil {
8474		invalidParams.Add(request.NewErrParamRequired("EventId"))
8475	}
8476	if s.IncidentRecordArn == nil {
8477		invalidParams.Add(request.NewErrParamRequired("IncidentRecordArn"))
8478	}
8479
8480	if invalidParams.Len() > 0 {
8481		return invalidParams
8482	}
8483	return nil
8484}
8485
8486// SetClientToken sets the ClientToken field's value.
8487func (s *UpdateTimelineEventInput) SetClientToken(v string) *UpdateTimelineEventInput {
8488	s.ClientToken = &v
8489	return s
8490}
8491
8492// SetEventData sets the EventData field's value.
8493func (s *UpdateTimelineEventInput) SetEventData(v string) *UpdateTimelineEventInput {
8494	s.EventData = &v
8495	return s
8496}
8497
8498// SetEventId sets the EventId field's value.
8499func (s *UpdateTimelineEventInput) SetEventId(v string) *UpdateTimelineEventInput {
8500	s.EventId = &v
8501	return s
8502}
8503
8504// SetEventTime sets the EventTime field's value.
8505func (s *UpdateTimelineEventInput) SetEventTime(v time.Time) *UpdateTimelineEventInput {
8506	s.EventTime = &v
8507	return s
8508}
8509
8510// SetEventType sets the EventType field's value.
8511func (s *UpdateTimelineEventInput) SetEventType(v string) *UpdateTimelineEventInput {
8512	s.EventType = &v
8513	return s
8514}
8515
8516// SetIncidentRecordArn sets the IncidentRecordArn field's value.
8517func (s *UpdateTimelineEventInput) SetIncidentRecordArn(v string) *UpdateTimelineEventInput {
8518	s.IncidentRecordArn = &v
8519	return s
8520}
8521
8522type UpdateTimelineEventOutput struct {
8523	_ struct{} `type:"structure"`
8524}
8525
8526// String returns the string representation.
8527//
8528// API parameter values that are decorated as "sensitive" in the API will not
8529// be included in the string output. The member name will be present, but the
8530// value will be replaced with "sensitive".
8531func (s UpdateTimelineEventOutput) String() string {
8532	return awsutil.Prettify(s)
8533}
8534
8535// GoString returns the string representation.
8536//
8537// API parameter values that are decorated as "sensitive" in the API will not
8538// be included in the string output. The member name will be present, but the
8539// value will be replaced with "sensitive".
8540func (s UpdateTimelineEventOutput) GoString() string {
8541	return s.String()
8542}
8543
8544// The input fails to satisfy the constraints specified by an Amazon Web Services
8545// service.
8546type ValidationException struct {
8547	_            struct{}                  `type:"structure"`
8548	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8549
8550	Message_ *string `locationName:"message" type:"string"`
8551}
8552
8553// String returns the string representation.
8554//
8555// API parameter values that are decorated as "sensitive" in the API will not
8556// be included in the string output. The member name will be present, but the
8557// value will be replaced with "sensitive".
8558func (s ValidationException) String() string {
8559	return awsutil.Prettify(s)
8560}
8561
8562// GoString returns the string representation.
8563//
8564// API parameter values that are decorated as "sensitive" in the API will not
8565// be included in the string output. The member name will be present, but the
8566// value will be replaced with "sensitive".
8567func (s ValidationException) GoString() string {
8568	return s.String()
8569}
8570
8571func newErrorValidationException(v protocol.ResponseMetadata) error {
8572	return &ValidationException{
8573		RespMetadata: v,
8574	}
8575}
8576
8577// Code returns the exception type name.
8578func (s *ValidationException) Code() string {
8579	return "ValidationException"
8580}
8581
8582// Message returns the exception's message.
8583func (s *ValidationException) Message() string {
8584	if s.Message_ != nil {
8585		return *s.Message_
8586	}
8587	return ""
8588}
8589
8590// OrigErr always returns nil, satisfies awserr.Error interface.
8591func (s *ValidationException) OrigErr() error {
8592	return nil
8593}
8594
8595func (s *ValidationException) Error() string {
8596	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8597}
8598
8599// Status code returns the HTTP status code for the request's response error.
8600func (s *ValidationException) StatusCode() int {
8601	return s.RespMetadata.StatusCode
8602}
8603
8604// RequestID returns the service's response RequestID for request.
8605func (s *ValidationException) RequestID() string {
8606	return s.RespMetadata.RequestID
8607}
8608
8609const (
8610	// IncidentRecordStatusOpen is a IncidentRecordStatus enum value
8611	IncidentRecordStatusOpen = "OPEN"
8612
8613	// IncidentRecordStatusResolved is a IncidentRecordStatus enum value
8614	IncidentRecordStatusResolved = "RESOLVED"
8615)
8616
8617// IncidentRecordStatus_Values returns all elements of the IncidentRecordStatus enum
8618func IncidentRecordStatus_Values() []string {
8619	return []string{
8620		IncidentRecordStatusOpen,
8621		IncidentRecordStatusResolved,
8622	}
8623}
8624
8625const (
8626	// ItemTypeAnalysis is a ItemType enum value
8627	ItemTypeAnalysis = "ANALYSIS"
8628
8629	// ItemTypeIncident is a ItemType enum value
8630	ItemTypeIncident = "INCIDENT"
8631
8632	// ItemTypeMetric is a ItemType enum value
8633	ItemTypeMetric = "METRIC"
8634
8635	// ItemTypeParent is a ItemType enum value
8636	ItemTypeParent = "PARENT"
8637
8638	// ItemTypeAttachment is a ItemType enum value
8639	ItemTypeAttachment = "ATTACHMENT"
8640
8641	// ItemTypeOther is a ItemType enum value
8642	ItemTypeOther = "OTHER"
8643)
8644
8645// ItemType_Values returns all elements of the ItemType enum
8646func ItemType_Values() []string {
8647	return []string{
8648		ItemTypeAnalysis,
8649		ItemTypeIncident,
8650		ItemTypeMetric,
8651		ItemTypeParent,
8652		ItemTypeAttachment,
8653		ItemTypeOther,
8654	}
8655}
8656
8657const (
8658	// RegionStatusActive is a RegionStatus enum value
8659	RegionStatusActive = "ACTIVE"
8660
8661	// RegionStatusCreating is a RegionStatus enum value
8662	RegionStatusCreating = "CREATING"
8663
8664	// RegionStatusDeleting is a RegionStatus enum value
8665	RegionStatusDeleting = "DELETING"
8666
8667	// RegionStatusFailed is a RegionStatus enum value
8668	RegionStatusFailed = "FAILED"
8669)
8670
8671// RegionStatus_Values returns all elements of the RegionStatus enum
8672func RegionStatus_Values() []string {
8673	return []string{
8674		RegionStatusActive,
8675		RegionStatusCreating,
8676		RegionStatusDeleting,
8677		RegionStatusFailed,
8678	}
8679}
8680
8681const (
8682	// ReplicationSetStatusActive is a ReplicationSetStatus enum value
8683	ReplicationSetStatusActive = "ACTIVE"
8684
8685	// ReplicationSetStatusCreating is a ReplicationSetStatus enum value
8686	ReplicationSetStatusCreating = "CREATING"
8687
8688	// ReplicationSetStatusUpdating is a ReplicationSetStatus enum value
8689	ReplicationSetStatusUpdating = "UPDATING"
8690
8691	// ReplicationSetStatusDeleting is a ReplicationSetStatus enum value
8692	ReplicationSetStatusDeleting = "DELETING"
8693
8694	// ReplicationSetStatusFailed is a ReplicationSetStatus enum value
8695	ReplicationSetStatusFailed = "FAILED"
8696)
8697
8698// ReplicationSetStatus_Values returns all elements of the ReplicationSetStatus enum
8699func ReplicationSetStatus_Values() []string {
8700	return []string{
8701		ReplicationSetStatusActive,
8702		ReplicationSetStatusCreating,
8703		ReplicationSetStatusUpdating,
8704		ReplicationSetStatusDeleting,
8705		ReplicationSetStatusFailed,
8706	}
8707}
8708
8709const (
8710	// ResourceTypeResponsePlan is a ResourceType enum value
8711	ResourceTypeResponsePlan = "RESPONSE_PLAN"
8712
8713	// ResourceTypeIncidentRecord is a ResourceType enum value
8714	ResourceTypeIncidentRecord = "INCIDENT_RECORD"
8715
8716	// ResourceTypeTimelineEvent is a ResourceType enum value
8717	ResourceTypeTimelineEvent = "TIMELINE_EVENT"
8718
8719	// ResourceTypeReplicationSet is a ResourceType enum value
8720	ResourceTypeReplicationSet = "REPLICATION_SET"
8721
8722	// ResourceTypeResourcePolicy is a ResourceType enum value
8723	ResourceTypeResourcePolicy = "RESOURCE_POLICY"
8724)
8725
8726// ResourceType_Values returns all elements of the ResourceType enum
8727func ResourceType_Values() []string {
8728	return []string{
8729		ResourceTypeResponsePlan,
8730		ResourceTypeIncidentRecord,
8731		ResourceTypeTimelineEvent,
8732		ResourceTypeReplicationSet,
8733		ResourceTypeResourcePolicy,
8734	}
8735}
8736
8737const (
8738	// ServiceCodeSsmIncidents is a ServiceCode enum value
8739	ServiceCodeSsmIncidents = "ssm-incidents"
8740)
8741
8742// ServiceCode_Values returns all elements of the ServiceCode enum
8743func ServiceCode_Values() []string {
8744	return []string{
8745		ServiceCodeSsmIncidents,
8746	}
8747}
8748
8749const (
8750	// SortOrderAscending is a SortOrder enum value
8751	SortOrderAscending = "ASCENDING"
8752
8753	// SortOrderDescending is a SortOrder enum value
8754	SortOrderDescending = "DESCENDING"
8755)
8756
8757// SortOrder_Values returns all elements of the SortOrder enum
8758func SortOrder_Values() []string {
8759	return []string{
8760		SortOrderAscending,
8761		SortOrderDescending,
8762	}
8763}
8764
8765const (
8766	// SsmTargetAccountResponsePlanOwnerAccount is a SsmTargetAccount enum value
8767	SsmTargetAccountResponsePlanOwnerAccount = "RESPONSE_PLAN_OWNER_ACCOUNT"
8768
8769	// SsmTargetAccountImpactedAccount is a SsmTargetAccount enum value
8770	SsmTargetAccountImpactedAccount = "IMPACTED_ACCOUNT"
8771)
8772
8773// SsmTargetAccount_Values returns all elements of the SsmTargetAccount enum
8774func SsmTargetAccount_Values() []string {
8775	return []string{
8776		SsmTargetAccountResponsePlanOwnerAccount,
8777		SsmTargetAccountImpactedAccount,
8778	}
8779}
8780
8781const (
8782	// TimelineEventSortEventTime is a TimelineEventSort enum value
8783	TimelineEventSortEventTime = "EVENT_TIME"
8784)
8785
8786// TimelineEventSort_Values returns all elements of the TimelineEventSort enum
8787func TimelineEventSort_Values() []string {
8788	return []string{
8789		TimelineEventSortEventTime,
8790	}
8791}
8792