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

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