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