github.com/aavshr/aws-sdk-go@v1.41.3/service/ssmcontacts/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package ssmcontacts
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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
    42  func (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
    88  func (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.
   102  func (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  
   109  const 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
   135  func (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
   182  func (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.
   196  func (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  
   203  const 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
   229  func (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
   282  func (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.
   296  func (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  
   303  const 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
   329  func (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
   378  func (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.
   392  func (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  
   399  const 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
   425  func (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
   472  func (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.
   486  func (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  
   493  const 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
   519  func (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
   569  func (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.
   583  func (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  
   590  const 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
   616  func (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
   665  func (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.
   679  func (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  
   686  const 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
   712  func (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
   762  func (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.
   776  func (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  
   783  const 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
   809  func (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
   857  func (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.
   871  func (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  
   878  const 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
   904  func (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
   952  func (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.
   966  func (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  
   973  const 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
   999  func (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
  1047  func (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.
  1061  func (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  
  1068  const 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
  1094  func (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
  1140  func (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.
  1154  func (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  
  1161  const 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
  1187  func (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
  1241  func (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.
  1255  func (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  //
  1279  func (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.
  1290  func (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  
  1314  const 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
  1340  func (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
  1388  func (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.
  1402  func (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  //
  1426  func (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.
  1437  func (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  
  1461  const 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
  1487  func (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
  1535  func (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.
  1549  func (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  //
  1573  func (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.
  1584  func (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  
  1608  const 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
  1634  func (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
  1685  func (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.
  1699  func (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  //
  1723  func (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.
  1734  func (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  
  1758  const 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
  1784  func (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
  1835  func (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.
  1849  func (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  //
  1873  func (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.
  1884  func (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  
  1908  const 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
  1934  func (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
  1985  func (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.
  1999  func (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  //
  2023  func (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.
  2034  func (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  
  2058  const 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
  2084  func (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
  2129  func (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.
  2143  func (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  
  2150  const 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
  2176  func (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
  2225  func (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.
  2239  func (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  
  2246  const 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
  2272  func (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
  2327  func (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.
  2341  func (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  
  2348  const 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
  2374  func (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
  2423  func (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.
  2437  func (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  
  2444  const 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
  2470  func (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
  2517  func (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.
  2531  func (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  
  2538  const 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
  2564  func (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
  2614  func (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.
  2628  func (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  
  2635  const 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
  2661  func (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
  2707  func (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.
  2721  func (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  
  2728  const 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
  2754  func (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
  2806  func (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.
  2820  func (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  
  2827  const 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
  2853  func (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
  2905  func (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.
  2919  func (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  
  2926  type 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".
  2966  func (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".
  2975  func (s AcceptPageInput) GoString() string {
  2976  	return s.String()
  2977  }
  2978  
  2979  // Validate inspects the fields of the type to determine if they are valid.
  2980  func (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.
  3011  func (s *AcceptPageInput) SetAcceptCode(v string) *AcceptPageInput {
  3012  	s.AcceptCode = &v
  3013  	return s
  3014  }
  3015  
  3016  // SetAcceptCodeValidation sets the AcceptCodeValidation field's value.
  3017  func (s *AcceptPageInput) SetAcceptCodeValidation(v string) *AcceptPageInput {
  3018  	s.AcceptCodeValidation = &v
  3019  	return s
  3020  }
  3021  
  3022  // SetAcceptType sets the AcceptType field's value.
  3023  func (s *AcceptPageInput) SetAcceptType(v string) *AcceptPageInput {
  3024  	s.AcceptType = &v
  3025  	return s
  3026  }
  3027  
  3028  // SetContactChannelId sets the ContactChannelId field's value.
  3029  func (s *AcceptPageInput) SetContactChannelId(v string) *AcceptPageInput {
  3030  	s.ContactChannelId = &v
  3031  	return s
  3032  }
  3033  
  3034  // SetNote sets the Note field's value.
  3035  func (s *AcceptPageInput) SetNote(v string) *AcceptPageInput {
  3036  	s.Note = &v
  3037  	return s
  3038  }
  3039  
  3040  // SetPageId sets the PageId field's value.
  3041  func (s *AcceptPageInput) SetPageId(v string) *AcceptPageInput {
  3042  	s.PageId = &v
  3043  	return s
  3044  }
  3045  
  3046  type 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".
  3055  func (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".
  3064  func (s AcceptPageOutput) GoString() string {
  3065  	return s.String()
  3066  }
  3067  
  3068  // You don't have sufficient access to perform this operation.
  3069  type 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".
  3081  func (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".
  3090  func (s AccessDeniedException) GoString() string {
  3091  	return s.String()
  3092  }
  3093  
  3094  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  3095  	return &AccessDeniedException{
  3096  		RespMetadata: v,
  3097  	}
  3098  }
  3099  
  3100  // Code returns the exception type name.
  3101  func (s *AccessDeniedException) Code() string {
  3102  	return "AccessDeniedException"
  3103  }
  3104  
  3105  // Message returns the exception's message.
  3106  func (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.
  3114  func (s *AccessDeniedException) OrigErr() error {
  3115  	return nil
  3116  }
  3117  
  3118  func (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.
  3123  func (s *AccessDeniedException) StatusCode() int {
  3124  	return s.RespMetadata.StatusCode
  3125  }
  3126  
  3127  // RequestID returns the service's response RequestID for request.
  3128  func (s *AccessDeniedException) RequestID() string {
  3129  	return s.RespMetadata.RequestID
  3130  }
  3131  
  3132  type 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".
  3151  func (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".
  3160  func (s ActivateContactChannelInput) GoString() string {
  3161  	return s.String()
  3162  }
  3163  
  3164  // Validate inspects the fields of the type to determine if they are valid.
  3165  func (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.
  3187  func (s *ActivateContactChannelInput) SetActivationCode(v string) *ActivateContactChannelInput {
  3188  	s.ActivationCode = &v
  3189  	return s
  3190  }
  3191  
  3192  // SetContactChannelId sets the ContactChannelId field's value.
  3193  func (s *ActivateContactChannelInput) SetContactChannelId(v string) *ActivateContactChannelInput {
  3194  	s.ContactChannelId = &v
  3195  	return s
  3196  }
  3197  
  3198  type 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".
  3207  func (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".
  3216  func (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.
  3222  type 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".
  3240  func (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".
  3249  func (s ChannelTargetInfo) GoString() string {
  3250  	return s.String()
  3251  }
  3252  
  3253  // Validate inspects the fields of the type to determine if they are valid.
  3254  func (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.
  3270  func (s *ChannelTargetInfo) SetContactChannelId(v string) *ChannelTargetInfo {
  3271  	s.ContactChannelId = &v
  3272  	return s
  3273  }
  3274  
  3275  // SetRetryIntervalInMinutes sets the RetryIntervalInMinutes field's value.
  3276  func (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.
  3282  type 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".
  3304  func (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".
  3313  func (s ConflictException) GoString() string {
  3314  	return s.String()
  3315  }
  3316  
  3317  func newErrorConflictException(v protocol.ResponseMetadata) error {
  3318  	return &ConflictException{
  3319  		RespMetadata: v,
  3320  	}
  3321  }
  3322  
  3323  // Code returns the exception type name.
  3324  func (s *ConflictException) Code() string {
  3325  	return "ConflictException"
  3326  }
  3327  
  3328  // Message returns the exception's message.
  3329  func (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.
  3337  func (s *ConflictException) OrigErr() error {
  3338  	return nil
  3339  }
  3340  
  3341  func (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.
  3346  func (s *ConflictException) StatusCode() int {
  3347  	return s.RespMetadata.StatusCode
  3348  }
  3349  
  3350  // RequestID returns the service's response RequestID for request.
  3351  func (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.
  3357  type 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".
  3385  func (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".
  3394  func (s Contact) GoString() string {
  3395  	return s.String()
  3396  }
  3397  
  3398  // SetAlias sets the Alias field's value.
  3399  func (s *Contact) SetAlias(v string) *Contact {
  3400  	s.Alias = &v
  3401  	return s
  3402  }
  3403  
  3404  // SetContactArn sets the ContactArn field's value.
  3405  func (s *Contact) SetContactArn(v string) *Contact {
  3406  	s.ContactArn = &v
  3407  	return s
  3408  }
  3409  
  3410  // SetDisplayName sets the DisplayName field's value.
  3411  func (s *Contact) SetDisplayName(v string) *Contact {
  3412  	s.DisplayName = &v
  3413  	return s
  3414  }
  3415  
  3416  // SetType sets the Type field's value.
  3417  func (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.
  3423  type 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".
  3470  func (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".
  3479  func (s ContactChannel) GoString() string {
  3480  	return s.String()
  3481  }
  3482  
  3483  // SetActivationStatus sets the ActivationStatus field's value.
  3484  func (s *ContactChannel) SetActivationStatus(v string) *ContactChannel {
  3485  	s.ActivationStatus = &v
  3486  	return s
  3487  }
  3488  
  3489  // SetContactArn sets the ContactArn field's value.
  3490  func (s *ContactChannel) SetContactArn(v string) *ContactChannel {
  3491  	s.ContactArn = &v
  3492  	return s
  3493  }
  3494  
  3495  // SetContactChannelArn sets the ContactChannelArn field's value.
  3496  func (s *ContactChannel) SetContactChannelArn(v string) *ContactChannel {
  3497  	s.ContactChannelArn = &v
  3498  	return s
  3499  }
  3500  
  3501  // SetDeliveryAddress sets the DeliveryAddress field's value.
  3502  func (s *ContactChannel) SetDeliveryAddress(v *ContactChannelAddress) *ContactChannel {
  3503  	s.DeliveryAddress = v
  3504  	return s
  3505  }
  3506  
  3507  // SetName sets the Name field's value.
  3508  func (s *ContactChannel) SetName(v string) *ContactChannel {
  3509  	s.Name = &v
  3510  	return s
  3511  }
  3512  
  3513  // SetType sets the Type field's value.
  3514  func (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.
  3521  type 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".
  3540  func (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".
  3549  func (s ContactChannelAddress) GoString() string {
  3550  	return s.String()
  3551  }
  3552  
  3553  // Validate inspects the fields of the type to determine if they are valid.
  3554  func (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.
  3567  func (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.
  3573  type 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".
  3591  func (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".
  3600  func (s ContactTargetInfo) GoString() string {
  3601  	return s.String()
  3602  }
  3603  
  3604  // Validate inspects the fields of the type to determine if they are valid.
  3605  func (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.
  3621  func (s *ContactTargetInfo) SetContactId(v string) *ContactTargetInfo {
  3622  	s.ContactId = &v
  3623  	return s
  3624  }
  3625  
  3626  // SetIsEssential sets the IsEssential field's value.
  3627  func (s *ContactTargetInfo) SetIsEssential(v bool) *ContactTargetInfo {
  3628  	s.IsEssential = &v
  3629  	return s
  3630  }
  3631  
  3632  type 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".
  3685  func (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".
  3694  func (s CreateContactChannelInput) GoString() string {
  3695  	return s.String()
  3696  }
  3697  
  3698  // Validate inspects the fields of the type to determine if they are valid.
  3699  func (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.
  3732  func (s *CreateContactChannelInput) SetContactId(v string) *CreateContactChannelInput {
  3733  	s.ContactId = &v
  3734  	return s
  3735  }
  3736  
  3737  // SetDeferActivation sets the DeferActivation field's value.
  3738  func (s *CreateContactChannelInput) SetDeferActivation(v bool) *CreateContactChannelInput {
  3739  	s.DeferActivation = &v
  3740  	return s
  3741  }
  3742  
  3743  // SetDeliveryAddress sets the DeliveryAddress field's value.
  3744  func (s *CreateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *CreateContactChannelInput {
  3745  	s.DeliveryAddress = v
  3746  	return s
  3747  }
  3748  
  3749  // SetIdempotencyToken sets the IdempotencyToken field's value.
  3750  func (s *CreateContactChannelInput) SetIdempotencyToken(v string) *CreateContactChannelInput {
  3751  	s.IdempotencyToken = &v
  3752  	return s
  3753  }
  3754  
  3755  // SetName sets the Name field's value.
  3756  func (s *CreateContactChannelInput) SetName(v string) *CreateContactChannelInput {
  3757  	s.Name = &v
  3758  	return s
  3759  }
  3760  
  3761  // SetType sets the Type field's value.
  3762  func (s *CreateContactChannelInput) SetType(v string) *CreateContactChannelInput {
  3763  	s.Type = &v
  3764  	return s
  3765  }
  3766  
  3767  type 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".
  3781  func (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".
  3790  func (s CreateContactChannelOutput) GoString() string {
  3791  	return s.String()
  3792  }
  3793  
  3794  // SetContactChannelArn sets the ContactChannelArn field's value.
  3795  func (s *CreateContactChannelOutput) SetContactChannelArn(v string) *CreateContactChannelOutput {
  3796  	s.ContactChannelArn = &v
  3797  	return s
  3798  }
  3799  
  3800  type 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".
  3838  func (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".
  3847  func (s CreateContactInput) GoString() string {
  3848  	return s.String()
  3849  }
  3850  
  3851  // Validate inspects the fields of the type to determine if they are valid.
  3852  func (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.
  3889  func (s *CreateContactInput) SetAlias(v string) *CreateContactInput {
  3890  	s.Alias = &v
  3891  	return s
  3892  }
  3893  
  3894  // SetDisplayName sets the DisplayName field's value.
  3895  func (s *CreateContactInput) SetDisplayName(v string) *CreateContactInput {
  3896  	s.DisplayName = &v
  3897  	return s
  3898  }
  3899  
  3900  // SetIdempotencyToken sets the IdempotencyToken field's value.
  3901  func (s *CreateContactInput) SetIdempotencyToken(v string) *CreateContactInput {
  3902  	s.IdempotencyToken = &v
  3903  	return s
  3904  }
  3905  
  3906  // SetPlan sets the Plan field's value.
  3907  func (s *CreateContactInput) SetPlan(v *Plan) *CreateContactInput {
  3908  	s.Plan = v
  3909  	return s
  3910  }
  3911  
  3912  // SetTags sets the Tags field's value.
  3913  func (s *CreateContactInput) SetTags(v []*Tag) *CreateContactInput {
  3914  	s.Tags = v
  3915  	return s
  3916  }
  3917  
  3918  // SetType sets the Type field's value.
  3919  func (s *CreateContactInput) SetType(v string) *CreateContactInput {
  3920  	s.Type = &v
  3921  	return s
  3922  }
  3923  
  3924  type 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".
  3938  func (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".
  3947  func (s CreateContactOutput) GoString() string {
  3948  	return s.String()
  3949  }
  3950  
  3951  // SetContactArn sets the ContactArn field's value.
  3952  func (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.
  3958  type 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".
  3970  func (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".
  3979  func (s DataEncryptionException) GoString() string {
  3980  	return s.String()
  3981  }
  3982  
  3983  func newErrorDataEncryptionException(v protocol.ResponseMetadata) error {
  3984  	return &DataEncryptionException{
  3985  		RespMetadata: v,
  3986  	}
  3987  }
  3988  
  3989  // Code returns the exception type name.
  3990  func (s *DataEncryptionException) Code() string {
  3991  	return "DataEncryptionException"
  3992  }
  3993  
  3994  // Message returns the exception's message.
  3995  func (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.
  4003  func (s *DataEncryptionException) OrigErr() error {
  4004  	return nil
  4005  }
  4006  
  4007  func (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.
  4012  func (s *DataEncryptionException) StatusCode() int {
  4013  	return s.RespMetadata.StatusCode
  4014  }
  4015  
  4016  // RequestID returns the service's response RequestID for request.
  4017  func (s *DataEncryptionException) RequestID() string {
  4018  	return s.RespMetadata.RequestID
  4019  }
  4020  
  4021  type 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".
  4035  func (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".
  4044  func (s DeactivateContactChannelInput) GoString() string {
  4045  	return s.String()
  4046  }
  4047  
  4048  // Validate inspects the fields of the type to determine if they are valid.
  4049  func (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.
  4065  func (s *DeactivateContactChannelInput) SetContactChannelId(v string) *DeactivateContactChannelInput {
  4066  	s.ContactChannelId = &v
  4067  	return s
  4068  }
  4069  
  4070  type 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".
  4079  func (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".
  4088  func (s DeactivateContactChannelOutput) GoString() string {
  4089  	return s.String()
  4090  }
  4091  
  4092  type 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".
  4106  func (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".
  4115  func (s DeleteContactChannelInput) GoString() string {
  4116  	return s.String()
  4117  }
  4118  
  4119  // Validate inspects the fields of the type to determine if they are valid.
  4120  func (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.
  4136  func (s *DeleteContactChannelInput) SetContactChannelId(v string) *DeleteContactChannelInput {
  4137  	s.ContactChannelId = &v
  4138  	return s
  4139  }
  4140  
  4141  type 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".
  4150  func (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".
  4159  func (s DeleteContactChannelOutput) GoString() string {
  4160  	return s.String()
  4161  }
  4162  
  4163  type 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".
  4177  func (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".
  4186  func (s DeleteContactInput) GoString() string {
  4187  	return s.String()
  4188  }
  4189  
  4190  // Validate inspects the fields of the type to determine if they are valid.
  4191  func (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.
  4207  func (s *DeleteContactInput) SetContactId(v string) *DeleteContactInput {
  4208  	s.ContactId = &v
  4209  	return s
  4210  }
  4211  
  4212  type 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".
  4221  func (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".
  4230  func (s DeleteContactOutput) GoString() string {
  4231  	return s.String()
  4232  }
  4233  
  4234  type 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".
  4248  func (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".
  4257  func (s DescribeEngagementInput) GoString() string {
  4258  	return s.String()
  4259  }
  4260  
  4261  // Validate inspects the fields of the type to determine if they are valid.
  4262  func (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.
  4278  func (s *DescribeEngagementInput) SetEngagementId(v string) *DescribeEngagementInput {
  4279  	s.EngagementId = &v
  4280  	return s
  4281  }
  4282  
  4283  type 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".
  4336  func (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".
  4345  func (s DescribeEngagementOutput) GoString() string {
  4346  	return s.String()
  4347  }
  4348  
  4349  // SetContactArn sets the ContactArn field's value.
  4350  func (s *DescribeEngagementOutput) SetContactArn(v string) *DescribeEngagementOutput {
  4351  	s.ContactArn = &v
  4352  	return s
  4353  }
  4354  
  4355  // SetContent sets the Content field's value.
  4356  func (s *DescribeEngagementOutput) SetContent(v string) *DescribeEngagementOutput {
  4357  	s.Content = &v
  4358  	return s
  4359  }
  4360  
  4361  // SetEngagementArn sets the EngagementArn field's value.
  4362  func (s *DescribeEngagementOutput) SetEngagementArn(v string) *DescribeEngagementOutput {
  4363  	s.EngagementArn = &v
  4364  	return s
  4365  }
  4366  
  4367  // SetIncidentId sets the IncidentId field's value.
  4368  func (s *DescribeEngagementOutput) SetIncidentId(v string) *DescribeEngagementOutput {
  4369  	s.IncidentId = &v
  4370  	return s
  4371  }
  4372  
  4373  // SetPublicContent sets the PublicContent field's value.
  4374  func (s *DescribeEngagementOutput) SetPublicContent(v string) *DescribeEngagementOutput {
  4375  	s.PublicContent = &v
  4376  	return s
  4377  }
  4378  
  4379  // SetPublicSubject sets the PublicSubject field's value.
  4380  func (s *DescribeEngagementOutput) SetPublicSubject(v string) *DescribeEngagementOutput {
  4381  	s.PublicSubject = &v
  4382  	return s
  4383  }
  4384  
  4385  // SetSender sets the Sender field's value.
  4386  func (s *DescribeEngagementOutput) SetSender(v string) *DescribeEngagementOutput {
  4387  	s.Sender = &v
  4388  	return s
  4389  }
  4390  
  4391  // SetStartTime sets the StartTime field's value.
  4392  func (s *DescribeEngagementOutput) SetStartTime(v time.Time) *DescribeEngagementOutput {
  4393  	s.StartTime = &v
  4394  	return s
  4395  }
  4396  
  4397  // SetStopTime sets the StopTime field's value.
  4398  func (s *DescribeEngagementOutput) SetStopTime(v time.Time) *DescribeEngagementOutput {
  4399  	s.StopTime = &v
  4400  	return s
  4401  }
  4402  
  4403  // SetSubject sets the Subject field's value.
  4404  func (s *DescribeEngagementOutput) SetSubject(v string) *DescribeEngagementOutput {
  4405  	s.Subject = &v
  4406  	return s
  4407  }
  4408  
  4409  type 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".
  4423  func (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".
  4432  func (s DescribePageInput) GoString() string {
  4433  	return s.String()
  4434  }
  4435  
  4436  // Validate inspects the fields of the type to determine if they are valid.
  4437  func (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.
  4453  func (s *DescribePageInput) SetPageId(v string) *DescribePageInput {
  4454  	s.PageId = &v
  4455  	return s
  4456  }
  4457  
  4458  type 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".
  4519  func (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".
  4528  func (s DescribePageOutput) GoString() string {
  4529  	return s.String()
  4530  }
  4531  
  4532  // SetContactArn sets the ContactArn field's value.
  4533  func (s *DescribePageOutput) SetContactArn(v string) *DescribePageOutput {
  4534  	s.ContactArn = &v
  4535  	return s
  4536  }
  4537  
  4538  // SetContent sets the Content field's value.
  4539  func (s *DescribePageOutput) SetContent(v string) *DescribePageOutput {
  4540  	s.Content = &v
  4541  	return s
  4542  }
  4543  
  4544  // SetDeliveryTime sets the DeliveryTime field's value.
  4545  func (s *DescribePageOutput) SetDeliveryTime(v time.Time) *DescribePageOutput {
  4546  	s.DeliveryTime = &v
  4547  	return s
  4548  }
  4549  
  4550  // SetEngagementArn sets the EngagementArn field's value.
  4551  func (s *DescribePageOutput) SetEngagementArn(v string) *DescribePageOutput {
  4552  	s.EngagementArn = &v
  4553  	return s
  4554  }
  4555  
  4556  // SetIncidentId sets the IncidentId field's value.
  4557  func (s *DescribePageOutput) SetIncidentId(v string) *DescribePageOutput {
  4558  	s.IncidentId = &v
  4559  	return s
  4560  }
  4561  
  4562  // SetPageArn sets the PageArn field's value.
  4563  func (s *DescribePageOutput) SetPageArn(v string) *DescribePageOutput {
  4564  	s.PageArn = &v
  4565  	return s
  4566  }
  4567  
  4568  // SetPublicContent sets the PublicContent field's value.
  4569  func (s *DescribePageOutput) SetPublicContent(v string) *DescribePageOutput {
  4570  	s.PublicContent = &v
  4571  	return s
  4572  }
  4573  
  4574  // SetPublicSubject sets the PublicSubject field's value.
  4575  func (s *DescribePageOutput) SetPublicSubject(v string) *DescribePageOutput {
  4576  	s.PublicSubject = &v
  4577  	return s
  4578  }
  4579  
  4580  // SetReadTime sets the ReadTime field's value.
  4581  func (s *DescribePageOutput) SetReadTime(v time.Time) *DescribePageOutput {
  4582  	s.ReadTime = &v
  4583  	return s
  4584  }
  4585  
  4586  // SetSender sets the Sender field's value.
  4587  func (s *DescribePageOutput) SetSender(v string) *DescribePageOutput {
  4588  	s.Sender = &v
  4589  	return s
  4590  }
  4591  
  4592  // SetSentTime sets the SentTime field's value.
  4593  func (s *DescribePageOutput) SetSentTime(v time.Time) *DescribePageOutput {
  4594  	s.SentTime = &v
  4595  	return s
  4596  }
  4597  
  4598  // SetSubject sets the Subject field's value.
  4599  func (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.
  4606  type 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".
  4639  func (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".
  4648  func (s Engagement) GoString() string {
  4649  	return s.String()
  4650  }
  4651  
  4652  // SetContactArn sets the ContactArn field's value.
  4653  func (s *Engagement) SetContactArn(v string) *Engagement {
  4654  	s.ContactArn = &v
  4655  	return s
  4656  }
  4657  
  4658  // SetEngagementArn sets the EngagementArn field's value.
  4659  func (s *Engagement) SetEngagementArn(v string) *Engagement {
  4660  	s.EngagementArn = &v
  4661  	return s
  4662  }
  4663  
  4664  // SetIncidentId sets the IncidentId field's value.
  4665  func (s *Engagement) SetIncidentId(v string) *Engagement {
  4666  	s.IncidentId = &v
  4667  	return s
  4668  }
  4669  
  4670  // SetSender sets the Sender field's value.
  4671  func (s *Engagement) SetSender(v string) *Engagement {
  4672  	s.Sender = &v
  4673  	return s
  4674  }
  4675  
  4676  // SetStartTime sets the StartTime field's value.
  4677  func (s *Engagement) SetStartTime(v time.Time) *Engagement {
  4678  	s.StartTime = &v
  4679  	return s
  4680  }
  4681  
  4682  // SetStopTime sets the StopTime field's value.
  4683  func (s *Engagement) SetStopTime(v time.Time) *Engagement {
  4684  	s.StopTime = &v
  4685  	return s
  4686  }
  4687  
  4688  type 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".
  4703  func (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".
  4712  func (s GetContactChannelInput) GoString() string {
  4713  	return s.String()
  4714  }
  4715  
  4716  // Validate inspects the fields of the type to determine if they are valid.
  4717  func (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.
  4733  func (s *GetContactChannelInput) SetContactChannelId(v string) *GetContactChannelInput {
  4734  	s.ContactChannelId = &v
  4735  	return s
  4736  }
  4737  
  4738  type 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".
  4776  func (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".
  4785  func (s GetContactChannelOutput) GoString() string {
  4786  	return s.String()
  4787  }
  4788  
  4789  // SetActivationStatus sets the ActivationStatus field's value.
  4790  func (s *GetContactChannelOutput) SetActivationStatus(v string) *GetContactChannelOutput {
  4791  	s.ActivationStatus = &v
  4792  	return s
  4793  }
  4794  
  4795  // SetContactArn sets the ContactArn field's value.
  4796  func (s *GetContactChannelOutput) SetContactArn(v string) *GetContactChannelOutput {
  4797  	s.ContactArn = &v
  4798  	return s
  4799  }
  4800  
  4801  // SetContactChannelArn sets the ContactChannelArn field's value.
  4802  func (s *GetContactChannelOutput) SetContactChannelArn(v string) *GetContactChannelOutput {
  4803  	s.ContactChannelArn = &v
  4804  	return s
  4805  }
  4806  
  4807  // SetDeliveryAddress sets the DeliveryAddress field's value.
  4808  func (s *GetContactChannelOutput) SetDeliveryAddress(v *ContactChannelAddress) *GetContactChannelOutput {
  4809  	s.DeliveryAddress = v
  4810  	return s
  4811  }
  4812  
  4813  // SetName sets the Name field's value.
  4814  func (s *GetContactChannelOutput) SetName(v string) *GetContactChannelOutput {
  4815  	s.Name = &v
  4816  	return s
  4817  }
  4818  
  4819  // SetType sets the Type field's value.
  4820  func (s *GetContactChannelOutput) SetType(v string) *GetContactChannelOutput {
  4821  	s.Type = &v
  4822  	return s
  4823  }
  4824  
  4825  type 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".
  4839  func (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".
  4848  func (s GetContactInput) GoString() string {
  4849  	return s.String()
  4850  }
  4851  
  4852  // Validate inspects the fields of the type to determine if they are valid.
  4853  func (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.
  4869  func (s *GetContactInput) SetContactId(v string) *GetContactInput {
  4870  	s.ContactId = &v
  4871  	return s
  4872  }
  4873  
  4874  type 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".
  4907  func (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".
  4916  func (s GetContactOutput) GoString() string {
  4917  	return s.String()
  4918  }
  4919  
  4920  // SetAlias sets the Alias field's value.
  4921  func (s *GetContactOutput) SetAlias(v string) *GetContactOutput {
  4922  	s.Alias = &v
  4923  	return s
  4924  }
  4925  
  4926  // SetContactArn sets the ContactArn field's value.
  4927  func (s *GetContactOutput) SetContactArn(v string) *GetContactOutput {
  4928  	s.ContactArn = &v
  4929  	return s
  4930  }
  4931  
  4932  // SetDisplayName sets the DisplayName field's value.
  4933  func (s *GetContactOutput) SetDisplayName(v string) *GetContactOutput {
  4934  	s.DisplayName = &v
  4935  	return s
  4936  }
  4937  
  4938  // SetPlan sets the Plan field's value.
  4939  func (s *GetContactOutput) SetPlan(v *Plan) *GetContactOutput {
  4940  	s.Plan = v
  4941  	return s
  4942  }
  4943  
  4944  // SetType sets the Type field's value.
  4945  func (s *GetContactOutput) SetType(v string) *GetContactOutput {
  4946  	s.Type = &v
  4947  	return s
  4948  }
  4949  
  4950  type 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".
  4964  func (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".
  4973  func (s GetContactPolicyInput) GoString() string {
  4974  	return s.String()
  4975  }
  4976  
  4977  // Validate inspects the fields of the type to determine if they are valid.
  4978  func (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.
  4994  func (s *GetContactPolicyInput) SetContactArn(v string) *GetContactPolicyInput {
  4995  	s.ContactArn = &v
  4996  	return s
  4997  }
  4998  
  4999  type 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".
  5014  func (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".
  5023  func (s GetContactPolicyOutput) GoString() string {
  5024  	return s.String()
  5025  }
  5026  
  5027  // SetContactArn sets the ContactArn field's value.
  5028  func (s *GetContactPolicyOutput) SetContactArn(v string) *GetContactPolicyOutput {
  5029  	s.ContactArn = &v
  5030  	return s
  5031  }
  5032  
  5033  // SetPolicy sets the Policy field's value.
  5034  func (s *GetContactPolicyOutput) SetPolicy(v string) *GetContactPolicyOutput {
  5035  	s.Policy = &v
  5036  	return s
  5037  }
  5038  
  5039  // Unexpected error occurred while processing the request.
  5040  type 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".
  5055  func (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".
  5064  func (s InternalServerException) GoString() string {
  5065  	return s.String()
  5066  }
  5067  
  5068  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  5069  	return &InternalServerException{
  5070  		RespMetadata: v,
  5071  	}
  5072  }
  5073  
  5074  // Code returns the exception type name.
  5075  func (s *InternalServerException) Code() string {
  5076  	return "InternalServerException"
  5077  }
  5078  
  5079  // Message returns the exception's message.
  5080  func (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.
  5088  func (s *InternalServerException) OrigErr() error {
  5089  	return nil
  5090  }
  5091  
  5092  func (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.
  5097  func (s *InternalServerException) StatusCode() int {
  5098  	return s.RespMetadata.StatusCode
  5099  }
  5100  
  5101  // RequestID returns the service's response RequestID for request.
  5102  func (s *InternalServerException) RequestID() string {
  5103  	return s.RespMetadata.RequestID
  5104  }
  5105  
  5106  type 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".
  5126  func (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".
  5135  func (s ListContactChannelsInput) GoString() string {
  5136  	return s.String()
  5137  }
  5138  
  5139  // Validate inspects the fields of the type to determine if they are valid.
  5140  func (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.
  5156  func (s *ListContactChannelsInput) SetContactId(v string) *ListContactChannelsInput {
  5157  	s.ContactId = &v
  5158  	return s
  5159  }
  5160  
  5161  // SetMaxResults sets the MaxResults field's value.
  5162  func (s *ListContactChannelsInput) SetMaxResults(v int64) *ListContactChannelsInput {
  5163  	s.MaxResults = &v
  5164  	return s
  5165  }
  5166  
  5167  // SetNextToken sets the NextToken field's value.
  5168  func (s *ListContactChannelsInput) SetNextToken(v string) *ListContactChannelsInput {
  5169  	s.NextToken = &v
  5170  	return s
  5171  }
  5172  
  5173  type 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".
  5190  func (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".
  5199  func (s ListContactChannelsOutput) GoString() string {
  5200  	return s.String()
  5201  }
  5202  
  5203  // SetContactChannels sets the ContactChannels field's value.
  5204  func (s *ListContactChannelsOutput) SetContactChannels(v []*ContactChannel) *ListContactChannelsOutput {
  5205  	s.ContactChannels = v
  5206  	return s
  5207  }
  5208  
  5209  // SetNextToken sets the NextToken field's value.
  5210  func (s *ListContactChannelsOutput) SetNextToken(v string) *ListContactChannelsOutput {
  5211  	s.NextToken = &v
  5212  	return s
  5213  }
  5214  
  5215  type 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".
  5237  func (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".
  5246  func (s ListContactsInput) GoString() string {
  5247  	return s.String()
  5248  }
  5249  
  5250  // Validate inspects the fields of the type to determine if they are valid.
  5251  func (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.
  5264  func (s *ListContactsInput) SetAliasPrefix(v string) *ListContactsInput {
  5265  	s.AliasPrefix = &v
  5266  	return s
  5267  }
  5268  
  5269  // SetMaxResults sets the MaxResults field's value.
  5270  func (s *ListContactsInput) SetMaxResults(v int64) *ListContactsInput {
  5271  	s.MaxResults = &v
  5272  	return s
  5273  }
  5274  
  5275  // SetNextToken sets the NextToken field's value.
  5276  func (s *ListContactsInput) SetNextToken(v string) *ListContactsInput {
  5277  	s.NextToken = &v
  5278  	return s
  5279  }
  5280  
  5281  // SetType sets the Type field's value.
  5282  func (s *ListContactsInput) SetType(v string) *ListContactsInput {
  5283  	s.Type = &v
  5284  	return s
  5285  }
  5286  
  5287  type 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".
  5302  func (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".
  5311  func (s ListContactsOutput) GoString() string {
  5312  	return s.String()
  5313  }
  5314  
  5315  // SetContacts sets the Contacts field's value.
  5316  func (s *ListContactsOutput) SetContacts(v []*Contact) *ListContactsOutput {
  5317  	s.Contacts = v
  5318  	return s
  5319  }
  5320  
  5321  // SetNextToken sets the NextToken field's value.
  5322  func (s *ListContactsOutput) SetNextToken(v string) *ListContactsOutput {
  5323  	s.NextToken = &v
  5324  	return s
  5325  }
  5326  
  5327  type 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".
  5349  func (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".
  5358  func (s ListEngagementsInput) GoString() string {
  5359  	return s.String()
  5360  }
  5361  
  5362  // SetIncidentId sets the IncidentId field's value.
  5363  func (s *ListEngagementsInput) SetIncidentId(v string) *ListEngagementsInput {
  5364  	s.IncidentId = &v
  5365  	return s
  5366  }
  5367  
  5368  // SetMaxResults sets the MaxResults field's value.
  5369  func (s *ListEngagementsInput) SetMaxResults(v int64) *ListEngagementsInput {
  5370  	s.MaxResults = &v
  5371  	return s
  5372  }
  5373  
  5374  // SetNextToken sets the NextToken field's value.
  5375  func (s *ListEngagementsInput) SetNextToken(v string) *ListEngagementsInput {
  5376  	s.NextToken = &v
  5377  	return s
  5378  }
  5379  
  5380  // SetTimeRangeValue sets the TimeRangeValue field's value.
  5381  func (s *ListEngagementsInput) SetTimeRangeValue(v *TimeRange) *ListEngagementsInput {
  5382  	s.TimeRangeValue = v
  5383  	return s
  5384  }
  5385  
  5386  type 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".
  5404  func (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".
  5413  func (s ListEngagementsOutput) GoString() string {
  5414  	return s.String()
  5415  }
  5416  
  5417  // SetEngagements sets the Engagements field's value.
  5418  func (s *ListEngagementsOutput) SetEngagements(v []*Engagement) *ListEngagementsOutput {
  5419  	s.Engagements = v
  5420  	return s
  5421  }
  5422  
  5423  // SetNextToken sets the NextToken field's value.
  5424  func (s *ListEngagementsOutput) SetNextToken(v string) *ListEngagementsOutput {
  5425  	s.NextToken = &v
  5426  	return s
  5427  }
  5428  
  5429  type 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".
  5449  func (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".
  5458  func (s ListPageReceiptsInput) GoString() string {
  5459  	return s.String()
  5460  }
  5461  
  5462  // Validate inspects the fields of the type to determine if they are valid.
  5463  func (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.
  5479  func (s *ListPageReceiptsInput) SetMaxResults(v int64) *ListPageReceiptsInput {
  5480  	s.MaxResults = &v
  5481  	return s
  5482  }
  5483  
  5484  // SetNextToken sets the NextToken field's value.
  5485  func (s *ListPageReceiptsInput) SetNextToken(v string) *ListPageReceiptsInput {
  5486  	s.NextToken = &v
  5487  	return s
  5488  }
  5489  
  5490  // SetPageId sets the PageId field's value.
  5491  func (s *ListPageReceiptsInput) SetPageId(v string) *ListPageReceiptsInput {
  5492  	s.PageId = &v
  5493  	return s
  5494  }
  5495  
  5496  type 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".
  5511  func (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".
  5520  func (s ListPageReceiptsOutput) GoString() string {
  5521  	return s.String()
  5522  }
  5523  
  5524  // SetNextToken sets the NextToken field's value.
  5525  func (s *ListPageReceiptsOutput) SetNextToken(v string) *ListPageReceiptsOutput {
  5526  	s.NextToken = &v
  5527  	return s
  5528  }
  5529  
  5530  // SetReceipts sets the Receipts field's value.
  5531  func (s *ListPageReceiptsOutput) SetReceipts(v []*Receipt) *ListPageReceiptsOutput {
  5532  	s.Receipts = v
  5533  	return s
  5534  }
  5535  
  5536  type 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".
  5558  func (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".
  5567  func (s ListPagesByContactInput) GoString() string {
  5568  	return s.String()
  5569  }
  5570  
  5571  // Validate inspects the fields of the type to determine if they are valid.
  5572  func (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.
  5588  func (s *ListPagesByContactInput) SetContactId(v string) *ListPagesByContactInput {
  5589  	s.ContactId = &v
  5590  	return s
  5591  }
  5592  
  5593  // SetMaxResults sets the MaxResults field's value.
  5594  func (s *ListPagesByContactInput) SetMaxResults(v int64) *ListPagesByContactInput {
  5595  	s.MaxResults = &v
  5596  	return s
  5597  }
  5598  
  5599  // SetNextToken sets the NextToken field's value.
  5600  func (s *ListPagesByContactInput) SetNextToken(v string) *ListPagesByContactInput {
  5601  	s.NextToken = &v
  5602  	return s
  5603  }
  5604  
  5605  type 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".
  5622  func (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".
  5631  func (s ListPagesByContactOutput) GoString() string {
  5632  	return s.String()
  5633  }
  5634  
  5635  // SetNextToken sets the NextToken field's value.
  5636  func (s *ListPagesByContactOutput) SetNextToken(v string) *ListPagesByContactOutput {
  5637  	s.NextToken = &v
  5638  	return s
  5639  }
  5640  
  5641  // SetPages sets the Pages field's value.
  5642  func (s *ListPagesByContactOutput) SetPages(v []*Page) *ListPagesByContactOutput {
  5643  	s.Pages = v
  5644  	return s
  5645  }
  5646  
  5647  type 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".
  5668  func (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".
  5677  func (s ListPagesByEngagementInput) GoString() string {
  5678  	return s.String()
  5679  }
  5680  
  5681  // Validate inspects the fields of the type to determine if they are valid.
  5682  func (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.
  5698  func (s *ListPagesByEngagementInput) SetEngagementId(v string) *ListPagesByEngagementInput {
  5699  	s.EngagementId = &v
  5700  	return s
  5701  }
  5702  
  5703  // SetMaxResults sets the MaxResults field's value.
  5704  func (s *ListPagesByEngagementInput) SetMaxResults(v int64) *ListPagesByEngagementInput {
  5705  	s.MaxResults = &v
  5706  	return s
  5707  }
  5708  
  5709  // SetNextToken sets the NextToken field's value.
  5710  func (s *ListPagesByEngagementInput) SetNextToken(v string) *ListPagesByEngagementInput {
  5711  	s.NextToken = &v
  5712  	return s
  5713  }
  5714  
  5715  type 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".
  5732  func (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".
  5741  func (s ListPagesByEngagementOutput) GoString() string {
  5742  	return s.String()
  5743  }
  5744  
  5745  // SetNextToken sets the NextToken field's value.
  5746  func (s *ListPagesByEngagementOutput) SetNextToken(v string) *ListPagesByEngagementOutput {
  5747  	s.NextToken = &v
  5748  	return s
  5749  }
  5750  
  5751  // SetPages sets the Pages field's value.
  5752  func (s *ListPagesByEngagementOutput) SetPages(v []*Page) *ListPagesByEngagementOutput {
  5753  	s.Pages = v
  5754  	return s
  5755  }
  5756  
  5757  type 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".
  5771  func (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".
  5780  func (s ListTagsForResourceInput) GoString() string {
  5781  	return s.String()
  5782  }
  5783  
  5784  // Validate inspects the fields of the type to determine if they are valid.
  5785  func (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.
  5801  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
  5802  	s.ResourceARN = &v
  5803  	return s
  5804  }
  5805  
  5806  type 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".
  5818  func (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".
  5827  func (s ListTagsForResourceOutput) GoString() string {
  5828  	return s.String()
  5829  }
  5830  
  5831  // SetTags sets the Tags field's value.
  5832  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  5833  	s.Tags = v
  5834  	return s
  5835  }
  5836  
  5837  // Incident Manager engaging a contact's contact channel.
  5838  type 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".
  5879  func (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".
  5888  func (s Page) GoString() string {
  5889  	return s.String()
  5890  }
  5891  
  5892  // SetContactArn sets the ContactArn field's value.
  5893  func (s *Page) SetContactArn(v string) *Page {
  5894  	s.ContactArn = &v
  5895  	return s
  5896  }
  5897  
  5898  // SetDeliveryTime sets the DeliveryTime field's value.
  5899  func (s *Page) SetDeliveryTime(v time.Time) *Page {
  5900  	s.DeliveryTime = &v
  5901  	return s
  5902  }
  5903  
  5904  // SetEngagementArn sets the EngagementArn field's value.
  5905  func (s *Page) SetEngagementArn(v string) *Page {
  5906  	s.EngagementArn = &v
  5907  	return s
  5908  }
  5909  
  5910  // SetIncidentId sets the IncidentId field's value.
  5911  func (s *Page) SetIncidentId(v string) *Page {
  5912  	s.IncidentId = &v
  5913  	return s
  5914  }
  5915  
  5916  // SetPageArn sets the PageArn field's value.
  5917  func (s *Page) SetPageArn(v string) *Page {
  5918  	s.PageArn = &v
  5919  	return s
  5920  }
  5921  
  5922  // SetReadTime sets the ReadTime field's value.
  5923  func (s *Page) SetReadTime(v time.Time) *Page {
  5924  	s.ReadTime = &v
  5925  	return s
  5926  }
  5927  
  5928  // SetSender sets the Sender field's value.
  5929  func (s *Page) SetSender(v string) *Page {
  5930  	s.Sender = &v
  5931  	return s
  5932  }
  5933  
  5934  // SetSentTime sets the SentTime field's value.
  5935  func (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.
  5942  type 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".
  5957  func (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".
  5966  func (s Plan) GoString() string {
  5967  	return s.String()
  5968  }
  5969  
  5970  // Validate inspects the fields of the type to determine if they are valid.
  5971  func (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.
  5994  func (s *Plan) SetStages(v []*Stage) *Plan {
  5995  	s.Stages = v
  5996  	return s
  5997  }
  5998  
  5999  type 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".
  6018  func (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".
  6027  func (s PutContactPolicyInput) GoString() string {
  6028  	return s.String()
  6029  }
  6030  
  6031  // Validate inspects the fields of the type to determine if they are valid.
  6032  func (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.
  6054  func (s *PutContactPolicyInput) SetContactArn(v string) *PutContactPolicyInput {
  6055  	s.ContactArn = &v
  6056  	return s
  6057  }
  6058  
  6059  // SetPolicy sets the Policy field's value.
  6060  func (s *PutContactPolicyInput) SetPolicy(v string) *PutContactPolicyInput {
  6061  	s.Policy = &v
  6062  	return s
  6063  }
  6064  
  6065  type 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".
  6074  func (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".
  6083  func (s PutContactPolicyOutput) GoString() string {
  6084  	return s.String()
  6085  }
  6086  
  6087  // Records events during an engagement.
  6088  type 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".
  6113  func (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".
  6122  func (s Receipt) GoString() string {
  6123  	return s.String()
  6124  }
  6125  
  6126  // SetContactChannelArn sets the ContactChannelArn field's value.
  6127  func (s *Receipt) SetContactChannelArn(v string) *Receipt {
  6128  	s.ContactChannelArn = &v
  6129  	return s
  6130  }
  6131  
  6132  // SetReceiptInfo sets the ReceiptInfo field's value.
  6133  func (s *Receipt) SetReceiptInfo(v string) *Receipt {
  6134  	s.ReceiptInfo = &v
  6135  	return s
  6136  }
  6137  
  6138  // SetReceiptTime sets the ReceiptTime field's value.
  6139  func (s *Receipt) SetReceiptTime(v time.Time) *Receipt {
  6140  	s.ReceiptTime = &v
  6141  	return s
  6142  }
  6143  
  6144  // SetReceiptType sets the ReceiptType field's value.
  6145  func (s *Receipt) SetReceiptType(v string) *Receipt {
  6146  	s.ReceiptType = &v
  6147  	return s
  6148  }
  6149  
  6150  // Request references a resource that doesn't exist.
  6151  type 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".
  6173  func (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".
  6182  func (s ResourceNotFoundException) GoString() string {
  6183  	return s.String()
  6184  }
  6185  
  6186  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  6187  	return &ResourceNotFoundException{
  6188  		RespMetadata: v,
  6189  	}
  6190  }
  6191  
  6192  // Code returns the exception type name.
  6193  func (s *ResourceNotFoundException) Code() string {
  6194  	return "ResourceNotFoundException"
  6195  }
  6196  
  6197  // Message returns the exception's message.
  6198  func (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.
  6206  func (s *ResourceNotFoundException) OrigErr() error {
  6207  	return nil
  6208  }
  6209  
  6210  func (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.
  6215  func (s *ResourceNotFoundException) StatusCode() int {
  6216  	return s.RespMetadata.StatusCode
  6217  }
  6218  
  6219  // RequestID returns the service's response RequestID for request.
  6220  func (s *ResourceNotFoundException) RequestID() string {
  6221  	return s.RespMetadata.RequestID
  6222  }
  6223  
  6224  type 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".
  6238  func (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".
  6247  func (s SendActivationCodeInput) GoString() string {
  6248  	return s.String()
  6249  }
  6250  
  6251  // Validate inspects the fields of the type to determine if they are valid.
  6252  func (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.
  6268  func (s *SendActivationCodeInput) SetContactChannelId(v string) *SendActivationCodeInput {
  6269  	s.ContactChannelId = &v
  6270  	return s
  6271  }
  6272  
  6273  type 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".
  6282  func (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".
  6291  func (s SendActivationCodeOutput) GoString() string {
  6292  	return s.String()
  6293  }
  6294  
  6295  // Request would cause a service quota to be exceeded.
  6296  type 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".
  6324  func (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".
  6333  func (s ServiceQuotaExceededException) GoString() string {
  6334  	return s.String()
  6335  }
  6336  
  6337  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  6338  	return &ServiceQuotaExceededException{
  6339  		RespMetadata: v,
  6340  	}
  6341  }
  6342  
  6343  // Code returns the exception type name.
  6344  func (s *ServiceQuotaExceededException) Code() string {
  6345  	return "ServiceQuotaExceededException"
  6346  }
  6347  
  6348  // Message returns the exception's message.
  6349  func (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.
  6357  func (s *ServiceQuotaExceededException) OrigErr() error {
  6358  	return nil
  6359  }
  6360  
  6361  func (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.
  6366  func (s *ServiceQuotaExceededException) StatusCode() int {
  6367  	return s.RespMetadata.StatusCode
  6368  }
  6369  
  6370  // RequestID returns the service's response RequestID for request.
  6371  func (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.
  6377  type 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".
  6398  func (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".
  6407  func (s Stage) GoString() string {
  6408  	return s.String()
  6409  }
  6410  
  6411  // Validate inspects the fields of the type to determine if they are valid.
  6412  func (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.
  6438  func (s *Stage) SetDurationInMinutes(v int64) *Stage {
  6439  	s.DurationInMinutes = &v
  6440  	return s
  6441  }
  6442  
  6443  // SetTargets sets the Targets field's value.
  6444  func (s *Stage) SetTargets(v []*Target) *Stage {
  6445  	s.Targets = v
  6446  	return s
  6447  }
  6448  
  6449  type 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".
  6495  func (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".
  6504  func (s StartEngagementInput) GoString() string {
  6505  	return s.String()
  6506  }
  6507  
  6508  // Validate inspects the fields of the type to determine if they are valid.
  6509  func (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.
  6546  func (s *StartEngagementInput) SetContactId(v string) *StartEngagementInput {
  6547  	s.ContactId = &v
  6548  	return s
  6549  }
  6550  
  6551  // SetContent sets the Content field's value.
  6552  func (s *StartEngagementInput) SetContent(v string) *StartEngagementInput {
  6553  	s.Content = &v
  6554  	return s
  6555  }
  6556  
  6557  // SetIdempotencyToken sets the IdempotencyToken field's value.
  6558  func (s *StartEngagementInput) SetIdempotencyToken(v string) *StartEngagementInput {
  6559  	s.IdempotencyToken = &v
  6560  	return s
  6561  }
  6562  
  6563  // SetIncidentId sets the IncidentId field's value.
  6564  func (s *StartEngagementInput) SetIncidentId(v string) *StartEngagementInput {
  6565  	s.IncidentId = &v
  6566  	return s
  6567  }
  6568  
  6569  // SetPublicContent sets the PublicContent field's value.
  6570  func (s *StartEngagementInput) SetPublicContent(v string) *StartEngagementInput {
  6571  	s.PublicContent = &v
  6572  	return s
  6573  }
  6574  
  6575  // SetPublicSubject sets the PublicSubject field's value.
  6576  func (s *StartEngagementInput) SetPublicSubject(v string) *StartEngagementInput {
  6577  	s.PublicSubject = &v
  6578  	return s
  6579  }
  6580  
  6581  // SetSender sets the Sender field's value.
  6582  func (s *StartEngagementInput) SetSender(v string) *StartEngagementInput {
  6583  	s.Sender = &v
  6584  	return s
  6585  }
  6586  
  6587  // SetSubject sets the Subject field's value.
  6588  func (s *StartEngagementInput) SetSubject(v string) *StartEngagementInput {
  6589  	s.Subject = &v
  6590  	return s
  6591  }
  6592  
  6593  type 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".
  6607  func (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".
  6616  func (s StartEngagementOutput) GoString() string {
  6617  	return s.String()
  6618  }
  6619  
  6620  // SetEngagementArn sets the EngagementArn field's value.
  6621  func (s *StartEngagementOutput) SetEngagementArn(v string) *StartEngagementOutput {
  6622  	s.EngagementArn = &v
  6623  	return s
  6624  }
  6625  
  6626  type 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".
  6643  func (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".
  6652  func (s StopEngagementInput) GoString() string {
  6653  	return s.String()
  6654  }
  6655  
  6656  // Validate inspects the fields of the type to determine if they are valid.
  6657  func (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.
  6673  func (s *StopEngagementInput) SetEngagementId(v string) *StopEngagementInput {
  6674  	s.EngagementId = &v
  6675  	return s
  6676  }
  6677  
  6678  // SetReason sets the Reason field's value.
  6679  func (s *StopEngagementInput) SetReason(v string) *StopEngagementInput {
  6680  	s.Reason = &v
  6681  	return s
  6682  }
  6683  
  6684  type 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".
  6693  func (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".
  6702  func (s StopEngagementOutput) GoString() string {
  6703  	return s.String()
  6704  }
  6705  
  6706  // A container of a key-value name pair.
  6707  type 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".
  6722  func (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".
  6731  func (s Tag) GoString() string {
  6732  	return s.String()
  6733  }
  6734  
  6735  // Validate inspects the fields of the type to determine if they are valid.
  6736  func (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.
  6752  func (s *Tag) SetKey(v string) *Tag {
  6753  	s.Key = &v
  6754  	return s
  6755  }
  6756  
  6757  // SetValue sets the Value field's value.
  6758  func (s *Tag) SetValue(v string) *Tag {
  6759  	s.Value = &v
  6760  	return s
  6761  }
  6762  
  6763  type 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".
  6782  func (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".
  6791  func (s TagResourceInput) GoString() string {
  6792  	return s.String()
  6793  }
  6794  
  6795  // Validate inspects the fields of the type to determine if they are valid.
  6796  func (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.
  6825  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
  6826  	s.ResourceARN = &v
  6827  	return s
  6828  }
  6829  
  6830  // SetTags sets the Tags field's value.
  6831  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  6832  	s.Tags = v
  6833  	return s
  6834  }
  6835  
  6836  type 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".
  6845  func (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".
  6854  func (s TagResourceOutput) GoString() string {
  6855  	return s.String()
  6856  }
  6857  
  6858  // The contact or contact channel that's being engaged.
  6859  type 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".
  6874  func (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".
  6883  func (s Target) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // Validate inspects the fields of the type to determine if they are valid.
  6888  func (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.
  6908  func (s *Target) SetChannelTargetInfo(v *ChannelTargetInfo) *Target {
  6909  	s.ChannelTargetInfo = v
  6910  	return s
  6911  }
  6912  
  6913  // SetContactTargetInfo sets the ContactTargetInfo field's value.
  6914  func (s *Target) SetContactTargetInfo(v *ContactTargetInfo) *Target {
  6915  	s.ContactTargetInfo = v
  6916  	return s
  6917  }
  6918  
  6919  // The request was denied due to request throttling.
  6920  type 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".
  6941  func (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".
  6950  func (s ThrottlingException) GoString() string {
  6951  	return s.String()
  6952  }
  6953  
  6954  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  6955  	return &ThrottlingException{
  6956  		RespMetadata: v,
  6957  	}
  6958  }
  6959  
  6960  // Code returns the exception type name.
  6961  func (s *ThrottlingException) Code() string {
  6962  	return "ThrottlingException"
  6963  }
  6964  
  6965  // Message returns the exception's message.
  6966  func (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.
  6974  func (s *ThrottlingException) OrigErr() error {
  6975  	return nil
  6976  }
  6977  
  6978  func (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.
  6983  func (s *ThrottlingException) StatusCode() int {
  6984  	return s.RespMetadata.StatusCode
  6985  }
  6986  
  6987  // RequestID returns the service's response RequestID for request.
  6988  func (s *ThrottlingException) RequestID() string {
  6989  	return s.RespMetadata.RequestID
  6990  }
  6991  
  6992  // A range of between two set times
  6993  type 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".
  7008  func (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".
  7017  func (s TimeRange) GoString() string {
  7018  	return s.String()
  7019  }
  7020  
  7021  // SetEndTime sets the EndTime field's value.
  7022  func (s *TimeRange) SetEndTime(v time.Time) *TimeRange {
  7023  	s.EndTime = &v
  7024  	return s
  7025  }
  7026  
  7027  // SetStartTime sets the StartTime field's value.
  7028  func (s *TimeRange) SetStartTime(v time.Time) *TimeRange {
  7029  	s.StartTime = &v
  7030  	return s
  7031  }
  7032  
  7033  type 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".
  7052  func (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".
  7061  func (s UntagResourceInput) GoString() string {
  7062  	return s.String()
  7063  }
  7064  
  7065  // Validate inspects the fields of the type to determine if they are valid.
  7066  func (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.
  7085  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
  7086  	s.ResourceARN = &v
  7087  	return s
  7088  }
  7089  
  7090  // SetTagKeys sets the TagKeys field's value.
  7091  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  7092  	s.TagKeys = v
  7093  	return s
  7094  }
  7095  
  7096  type 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".
  7105  func (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".
  7114  func (s UntagResourceOutput) GoString() string {
  7115  	return s.String()
  7116  }
  7117  
  7118  type 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".
  7139  func (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".
  7148  func (s UpdateContactChannelInput) GoString() string {
  7149  	return s.String()
  7150  }
  7151  
  7152  // Validate inspects the fields of the type to determine if they are valid.
  7153  func (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.
  7177  func (s *UpdateContactChannelInput) SetContactChannelId(v string) *UpdateContactChannelInput {
  7178  	s.ContactChannelId = &v
  7179  	return s
  7180  }
  7181  
  7182  // SetDeliveryAddress sets the DeliveryAddress field's value.
  7183  func (s *UpdateContactChannelInput) SetDeliveryAddress(v *ContactChannelAddress) *UpdateContactChannelInput {
  7184  	s.DeliveryAddress = v
  7185  	return s
  7186  }
  7187  
  7188  // SetName sets the Name field's value.
  7189  func (s *UpdateContactChannelInput) SetName(v string) *UpdateContactChannelInput {
  7190  	s.Name = &v
  7191  	return s
  7192  }
  7193  
  7194  type 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".
  7203  func (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".
  7212  func (s UpdateContactChannelOutput) GoString() string {
  7213  	return s.String()
  7214  }
  7215  
  7216  type 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".
  7238  func (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".
  7247  func (s UpdateContactInput) GoString() string {
  7248  	return s.String()
  7249  }
  7250  
  7251  // Validate inspects the fields of the type to determine if they are valid.
  7252  func (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.
  7273  func (s *UpdateContactInput) SetContactId(v string) *UpdateContactInput {
  7274  	s.ContactId = &v
  7275  	return s
  7276  }
  7277  
  7278  // SetDisplayName sets the DisplayName field's value.
  7279  func (s *UpdateContactInput) SetDisplayName(v string) *UpdateContactInput {
  7280  	s.DisplayName = &v
  7281  	return s
  7282  }
  7283  
  7284  // SetPlan sets the Plan field's value.
  7285  func (s *UpdateContactInput) SetPlan(v *Plan) *UpdateContactInput {
  7286  	s.Plan = v
  7287  	return s
  7288  }
  7289  
  7290  type 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".
  7299  func (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".
  7308  func (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.
  7314  type 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".
  7332  func (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".
  7341  func (s ValidationException) GoString() string {
  7342  	return s.String()
  7343  }
  7344  
  7345  func newErrorValidationException(v protocol.ResponseMetadata) error {
  7346  	return &ValidationException{
  7347  		RespMetadata: v,
  7348  	}
  7349  }
  7350  
  7351  // Code returns the exception type name.
  7352  func (s *ValidationException) Code() string {
  7353  	return "ValidationException"
  7354  }
  7355  
  7356  // Message returns the exception's message.
  7357  func (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.
  7365  func (s *ValidationException) OrigErr() error {
  7366  	return nil
  7367  }
  7368  
  7369  func (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.
  7374  func (s *ValidationException) StatusCode() int {
  7375  	return s.RespMetadata.StatusCode
  7376  }
  7377  
  7378  // RequestID returns the service's response RequestID for request.
  7379  func (s *ValidationException) RequestID() string {
  7380  	return s.RespMetadata.RequestID
  7381  }
  7382  
  7383  // Provides information about which field caused the exception.
  7384  type 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".
  7403  func (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".
  7412  func (s ValidationExceptionField) GoString() string {
  7413  	return s.String()
  7414  }
  7415  
  7416  // SetMessage sets the Message field's value.
  7417  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  7418  	s.Message = &v
  7419  	return s
  7420  }
  7421  
  7422  // SetName sets the Name field's value.
  7423  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  7424  	s.Name = &v
  7425  	return s
  7426  }
  7427  
  7428  const (
  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
  7437  func AcceptCodeValidation_Values() []string {
  7438  	return []string{
  7439  		AcceptCodeValidationIgnore,
  7440  		AcceptCodeValidationEnforce,
  7441  	}
  7442  }
  7443  
  7444  const (
  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
  7453  func AcceptType_Values() []string {
  7454  	return []string{
  7455  		AcceptTypeDelivered,
  7456  		AcceptTypeRead,
  7457  	}
  7458  }
  7459  
  7460  const (
  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
  7469  func ActivationStatus_Values() []string {
  7470  	return []string{
  7471  		ActivationStatusActivated,
  7472  		ActivationStatusNotActivated,
  7473  	}
  7474  }
  7475  
  7476  const (
  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
  7488  func ChannelType_Values() []string {
  7489  	return []string{
  7490  		ChannelTypeSms,
  7491  		ChannelTypeVoice,
  7492  		ChannelTypeEmail,
  7493  	}
  7494  }
  7495  
  7496  const (
  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
  7505  func ContactType_Values() []string {
  7506  	return []string{
  7507  		ContactTypePersonal,
  7508  		ContactTypeEscalation,
  7509  	}
  7510  }
  7511  
  7512  const (
  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
  7530  func ReceiptType_Values() []string {
  7531  	return []string{
  7532  		ReceiptTypeDelivered,
  7533  		ReceiptTypeError,
  7534  		ReceiptTypeRead,
  7535  		ReceiptTypeSent,
  7536  		ReceiptTypeStop,
  7537  	}
  7538  }
  7539  
  7540  const (
  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
  7555  func ValidationExceptionReason_Values() []string {
  7556  	return []string{
  7557  		ValidationExceptionReasonUnknownOperation,
  7558  		ValidationExceptionReasonCannotParse,
  7559  		ValidationExceptionReasonFieldValidationFailed,
  7560  		ValidationExceptionReasonOther,
  7561  	}
  7562  }