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