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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package connectparticipant
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    13  )
    14  
    15  const opCompleteAttachmentUpload = "CompleteAttachmentUpload"
    16  
    17  // CompleteAttachmentUploadRequest generates a "aws/request.Request" representing the
    18  // client's request for the CompleteAttachmentUpload operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See CompleteAttachmentUpload for more information on using the CompleteAttachmentUpload
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the CompleteAttachmentUploadRequest method.
    33  //    req, resp := client.CompleteAttachmentUploadRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CompleteAttachmentUpload
    41  func (c *ConnectParticipant) CompleteAttachmentUploadRequest(input *CompleteAttachmentUploadInput) (req *request.Request, output *CompleteAttachmentUploadOutput) {
    42  	op := &request.Operation{
    43  		Name:       opCompleteAttachmentUpload,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/participant/complete-attachment-upload",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &CompleteAttachmentUploadInput{}
    50  	}
    51  
    52  	output = &CompleteAttachmentUploadOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    55  	return
    56  }
    57  
    58  // CompleteAttachmentUpload API operation for Amazon Connect Participant Service.
    59  //
    60  // Allows you to confirm that the attachment has been uploaded using the pre-signed
    61  // URL provided in StartAttachmentUpload API.
    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 Amazon Connect Participant Service's
    68  // API operation CompleteAttachmentUpload for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * AccessDeniedException
    72  //   You do not have sufficient access to perform this action.
    73  //
    74  //   * InternalServerException
    75  //   This exception occurs when there is an internal failure in the Amazon Connect
    76  //   service.
    77  //
    78  //   * ThrottlingException
    79  //   The request was denied due to request throttling.
    80  //
    81  //   * ValidationException
    82  //   The input fails to satisfy the constraints specified by Amazon Connect.
    83  //
    84  //   * ServiceQuotaExceededException
    85  //   The number of attachments per contact exceeds the quota.
    86  //
    87  //   * ConflictException
    88  //   An attachment with that identifier is already being uploaded.
    89  //
    90  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CompleteAttachmentUpload
    91  func (c *ConnectParticipant) CompleteAttachmentUpload(input *CompleteAttachmentUploadInput) (*CompleteAttachmentUploadOutput, error) {
    92  	req, out := c.CompleteAttachmentUploadRequest(input)
    93  	return out, req.Send()
    94  }
    95  
    96  // CompleteAttachmentUploadWithContext is the same as CompleteAttachmentUpload with the addition of
    97  // the ability to pass a context and additional request options.
    98  //
    99  // See CompleteAttachmentUpload 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 *ConnectParticipant) CompleteAttachmentUploadWithContext(ctx aws.Context, input *CompleteAttachmentUploadInput, opts ...request.Option) (*CompleteAttachmentUploadOutput, error) {
   106  	req, out := c.CompleteAttachmentUploadRequest(input)
   107  	req.SetContext(ctx)
   108  	req.ApplyOptions(opts...)
   109  	return out, req.Send()
   110  }
   111  
   112  const opCreateParticipantConnection = "CreateParticipantConnection"
   113  
   114  // CreateParticipantConnectionRequest generates a "aws/request.Request" representing the
   115  // client's request for the CreateParticipantConnection 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 CreateParticipantConnection for more information on using the CreateParticipantConnection
   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 CreateParticipantConnectionRequest method.
   130  //    req, resp := client.CreateParticipantConnectionRequest(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/connectparticipant-2018-09-07/CreateParticipantConnection
   138  func (c *ConnectParticipant) CreateParticipantConnectionRequest(input *CreateParticipantConnectionInput) (req *request.Request, output *CreateParticipantConnectionOutput) {
   139  	op := &request.Operation{
   140  		Name:       opCreateParticipantConnection,
   141  		HTTPMethod: "POST",
   142  		HTTPPath:   "/participant/connection",
   143  	}
   144  
   145  	if input == nil {
   146  		input = &CreateParticipantConnectionInput{}
   147  	}
   148  
   149  	output = &CreateParticipantConnectionOutput{}
   150  	req = c.newRequest(op, input, output)
   151  	return
   152  }
   153  
   154  // CreateParticipantConnection API operation for Amazon Connect Participant Service.
   155  //
   156  // Creates the participant's connection. Note that ParticipantToken is used
   157  // for invoking this API instead of ConnectionToken.
   158  //
   159  // The participant token is valid for the lifetime of the participant – until
   160  // they are part of a contact.
   161  //
   162  // The response URL for WEBSOCKET Type has a connect expiry timeout of 100s.
   163  // Clients must manually connect to the returned websocket URL and subscribe
   164  // to the desired topic.
   165  //
   166  // For chat, you need to publish the following on the established websocket
   167  // connection:
   168  //
   169  // {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}}
   170  //
   171  // Upon websocket URL expiry, as specified in the response ConnectionExpiry
   172  // parameter, clients need to call this API again to obtain a new websocket
   173  // URL and perform the same steps as before.
   174  //
   175  // The Amazon Connect Participant Service APIs do not use Signature Version
   176  // 4 authentication (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   177  //
   178  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   179  // with awserr.Error's Code and Message methods to get detailed information about
   180  // the error.
   181  //
   182  // See the AWS API reference guide for Amazon Connect Participant Service's
   183  // API operation CreateParticipantConnection for usage and error information.
   184  //
   185  // Returned Error Types:
   186  //   * AccessDeniedException
   187  //   You do not have sufficient access to perform this action.
   188  //
   189  //   * InternalServerException
   190  //   This exception occurs when there is an internal failure in the Amazon Connect
   191  //   service.
   192  //
   193  //   * ThrottlingException
   194  //   The request was denied due to request throttling.
   195  //
   196  //   * ValidationException
   197  //   The input fails to satisfy the constraints specified by Amazon Connect.
   198  //
   199  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/CreateParticipantConnection
   200  func (c *ConnectParticipant) CreateParticipantConnection(input *CreateParticipantConnectionInput) (*CreateParticipantConnectionOutput, error) {
   201  	req, out := c.CreateParticipantConnectionRequest(input)
   202  	return out, req.Send()
   203  }
   204  
   205  // CreateParticipantConnectionWithContext is the same as CreateParticipantConnection with the addition of
   206  // the ability to pass a context and additional request options.
   207  //
   208  // See CreateParticipantConnection for details on how to use this API operation.
   209  //
   210  // The context must be non-nil and will be used for request cancellation. If
   211  // the context is nil a panic will occur. In the future the SDK may create
   212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   213  // for more information on using Contexts.
   214  func (c *ConnectParticipant) CreateParticipantConnectionWithContext(ctx aws.Context, input *CreateParticipantConnectionInput, opts ...request.Option) (*CreateParticipantConnectionOutput, error) {
   215  	req, out := c.CreateParticipantConnectionRequest(input)
   216  	req.SetContext(ctx)
   217  	req.ApplyOptions(opts...)
   218  	return out, req.Send()
   219  }
   220  
   221  const opDisconnectParticipant = "DisconnectParticipant"
   222  
   223  // DisconnectParticipantRequest generates a "aws/request.Request" representing the
   224  // client's request for the DisconnectParticipant operation. The "output" return
   225  // value will be populated with the request's response once the request completes
   226  // successfully.
   227  //
   228  // Use "Send" method on the returned Request to send the API call to the service.
   229  // the "output" return value is not valid until after Send returns without error.
   230  //
   231  // See DisconnectParticipant for more information on using the DisconnectParticipant
   232  // API call, and error handling.
   233  //
   234  // This method is useful when you want to inject custom logic or configuration
   235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   236  //
   237  //
   238  //    // Example sending a request using the DisconnectParticipantRequest method.
   239  //    req, resp := client.DisconnectParticipantRequest(params)
   240  //
   241  //    err := req.Send()
   242  //    if err == nil { // resp is now filled
   243  //        fmt.Println(resp)
   244  //    }
   245  //
   246  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/DisconnectParticipant
   247  func (c *ConnectParticipant) DisconnectParticipantRequest(input *DisconnectParticipantInput) (req *request.Request, output *DisconnectParticipantOutput) {
   248  	op := &request.Operation{
   249  		Name:       opDisconnectParticipant,
   250  		HTTPMethod: "POST",
   251  		HTTPPath:   "/participant/disconnect",
   252  	}
   253  
   254  	if input == nil {
   255  		input = &DisconnectParticipantInput{}
   256  	}
   257  
   258  	output = &DisconnectParticipantOutput{}
   259  	req = c.newRequest(op, input, output)
   260  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   261  	return
   262  }
   263  
   264  // DisconnectParticipant API operation for Amazon Connect Participant Service.
   265  //
   266  // Disconnects a participant. Note that ConnectionToken is used for invoking
   267  // this API instead of ParticipantToken.
   268  //
   269  // The Amazon Connect Participant Service APIs do not use Signature Version
   270  // 4 authentication (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   271  //
   272  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   273  // with awserr.Error's Code and Message methods to get detailed information about
   274  // the error.
   275  //
   276  // See the AWS API reference guide for Amazon Connect Participant Service's
   277  // API operation DisconnectParticipant for usage and error information.
   278  //
   279  // Returned Error Types:
   280  //   * AccessDeniedException
   281  //   You do not have sufficient access to perform this action.
   282  //
   283  //   * InternalServerException
   284  //   This exception occurs when there is an internal failure in the Amazon Connect
   285  //   service.
   286  //
   287  //   * ThrottlingException
   288  //   The request was denied due to request throttling.
   289  //
   290  //   * ValidationException
   291  //   The input fails to satisfy the constraints specified by Amazon Connect.
   292  //
   293  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/DisconnectParticipant
   294  func (c *ConnectParticipant) DisconnectParticipant(input *DisconnectParticipantInput) (*DisconnectParticipantOutput, error) {
   295  	req, out := c.DisconnectParticipantRequest(input)
   296  	return out, req.Send()
   297  }
   298  
   299  // DisconnectParticipantWithContext is the same as DisconnectParticipant with the addition of
   300  // the ability to pass a context and additional request options.
   301  //
   302  // See DisconnectParticipant for details on how to use this API operation.
   303  //
   304  // The context must be non-nil and will be used for request cancellation. If
   305  // the context is nil a panic will occur. In the future the SDK may create
   306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   307  // for more information on using Contexts.
   308  func (c *ConnectParticipant) DisconnectParticipantWithContext(ctx aws.Context, input *DisconnectParticipantInput, opts ...request.Option) (*DisconnectParticipantOutput, error) {
   309  	req, out := c.DisconnectParticipantRequest(input)
   310  	req.SetContext(ctx)
   311  	req.ApplyOptions(opts...)
   312  	return out, req.Send()
   313  }
   314  
   315  const opGetAttachment = "GetAttachment"
   316  
   317  // GetAttachmentRequest generates a "aws/request.Request" representing the
   318  // client's request for the GetAttachment operation. The "output" return
   319  // value will be populated with the request's response once the request completes
   320  // successfully.
   321  //
   322  // Use "Send" method on the returned Request to send the API call to the service.
   323  // the "output" return value is not valid until after Send returns without error.
   324  //
   325  // See GetAttachment for more information on using the GetAttachment
   326  // API call, and error handling.
   327  //
   328  // This method is useful when you want to inject custom logic or configuration
   329  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   330  //
   331  //
   332  //    // Example sending a request using the GetAttachmentRequest method.
   333  //    req, resp := client.GetAttachmentRequest(params)
   334  //
   335  //    err := req.Send()
   336  //    if err == nil { // resp is now filled
   337  //        fmt.Println(resp)
   338  //    }
   339  //
   340  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetAttachment
   341  func (c *ConnectParticipant) GetAttachmentRequest(input *GetAttachmentInput) (req *request.Request, output *GetAttachmentOutput) {
   342  	op := &request.Operation{
   343  		Name:       opGetAttachment,
   344  		HTTPMethod: "POST",
   345  		HTTPPath:   "/participant/attachment",
   346  	}
   347  
   348  	if input == nil {
   349  		input = &GetAttachmentInput{}
   350  	}
   351  
   352  	output = &GetAttachmentOutput{}
   353  	req = c.newRequest(op, input, output)
   354  	return
   355  }
   356  
   357  // GetAttachment API operation for Amazon Connect Participant Service.
   358  //
   359  // Provides a pre-signed URL for download of a completed attachment. This is
   360  // an asynchronous API for use with active contacts.
   361  //
   362  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   363  // with awserr.Error's Code and Message methods to get detailed information about
   364  // the error.
   365  //
   366  // See the AWS API reference guide for Amazon Connect Participant Service's
   367  // API operation GetAttachment for usage and error information.
   368  //
   369  // Returned Error Types:
   370  //   * AccessDeniedException
   371  //   You do not have sufficient access to perform this action.
   372  //
   373  //   * InternalServerException
   374  //   This exception occurs when there is an internal failure in the Amazon Connect
   375  //   service.
   376  //
   377  //   * ThrottlingException
   378  //   The request was denied due to request throttling.
   379  //
   380  //   * ValidationException
   381  //   The input fails to satisfy the constraints specified by Amazon Connect.
   382  //
   383  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetAttachment
   384  func (c *ConnectParticipant) GetAttachment(input *GetAttachmentInput) (*GetAttachmentOutput, error) {
   385  	req, out := c.GetAttachmentRequest(input)
   386  	return out, req.Send()
   387  }
   388  
   389  // GetAttachmentWithContext is the same as GetAttachment with the addition of
   390  // the ability to pass a context and additional request options.
   391  //
   392  // See GetAttachment for details on how to use this API operation.
   393  //
   394  // The context must be non-nil and will be used for request cancellation. If
   395  // the context is nil a panic will occur. In the future the SDK may create
   396  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   397  // for more information on using Contexts.
   398  func (c *ConnectParticipant) GetAttachmentWithContext(ctx aws.Context, input *GetAttachmentInput, opts ...request.Option) (*GetAttachmentOutput, error) {
   399  	req, out := c.GetAttachmentRequest(input)
   400  	req.SetContext(ctx)
   401  	req.ApplyOptions(opts...)
   402  	return out, req.Send()
   403  }
   404  
   405  const opGetTranscript = "GetTranscript"
   406  
   407  // GetTranscriptRequest generates a "aws/request.Request" representing the
   408  // client's request for the GetTranscript operation. The "output" return
   409  // value will be populated with the request's response once the request completes
   410  // successfully.
   411  //
   412  // Use "Send" method on the returned Request to send the API call to the service.
   413  // the "output" return value is not valid until after Send returns without error.
   414  //
   415  // See GetTranscript for more information on using the GetTranscript
   416  // API call, and error handling.
   417  //
   418  // This method is useful when you want to inject custom logic or configuration
   419  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   420  //
   421  //
   422  //    // Example sending a request using the GetTranscriptRequest method.
   423  //    req, resp := client.GetTranscriptRequest(params)
   424  //
   425  //    err := req.Send()
   426  //    if err == nil { // resp is now filled
   427  //        fmt.Println(resp)
   428  //    }
   429  //
   430  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetTranscript
   431  func (c *ConnectParticipant) GetTranscriptRequest(input *GetTranscriptInput) (req *request.Request, output *GetTranscriptOutput) {
   432  	op := &request.Operation{
   433  		Name:       opGetTranscript,
   434  		HTTPMethod: "POST",
   435  		HTTPPath:   "/participant/transcript",
   436  		Paginator: &request.Paginator{
   437  			InputTokens:     []string{"NextToken"},
   438  			OutputTokens:    []string{"NextToken"},
   439  			LimitToken:      "MaxResults",
   440  			TruncationToken: "",
   441  		},
   442  	}
   443  
   444  	if input == nil {
   445  		input = &GetTranscriptInput{}
   446  	}
   447  
   448  	output = &GetTranscriptOutput{}
   449  	req = c.newRequest(op, input, output)
   450  	return
   451  }
   452  
   453  // GetTranscript API operation for Amazon Connect Participant Service.
   454  //
   455  // Retrieves a transcript of the session, including details about any attachments.
   456  // Note that ConnectionToken is used for invoking this API instead of ParticipantToken.
   457  //
   458  // The Amazon Connect Participant Service APIs do not use Signature Version
   459  // 4 authentication (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   460  //
   461  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   462  // with awserr.Error's Code and Message methods to get detailed information about
   463  // the error.
   464  //
   465  // See the AWS API reference guide for Amazon Connect Participant Service's
   466  // API operation GetTranscript for usage and error information.
   467  //
   468  // Returned Error Types:
   469  //   * AccessDeniedException
   470  //   You do not have sufficient access to perform this action.
   471  //
   472  //   * InternalServerException
   473  //   This exception occurs when there is an internal failure in the Amazon Connect
   474  //   service.
   475  //
   476  //   * ThrottlingException
   477  //   The request was denied due to request throttling.
   478  //
   479  //   * ValidationException
   480  //   The input fails to satisfy the constraints specified by Amazon Connect.
   481  //
   482  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/GetTranscript
   483  func (c *ConnectParticipant) GetTranscript(input *GetTranscriptInput) (*GetTranscriptOutput, error) {
   484  	req, out := c.GetTranscriptRequest(input)
   485  	return out, req.Send()
   486  }
   487  
   488  // GetTranscriptWithContext is the same as GetTranscript with the addition of
   489  // the ability to pass a context and additional request options.
   490  //
   491  // See GetTranscript for details on how to use this API operation.
   492  //
   493  // The context must be non-nil and will be used for request cancellation. If
   494  // the context is nil a panic will occur. In the future the SDK may create
   495  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   496  // for more information on using Contexts.
   497  func (c *ConnectParticipant) GetTranscriptWithContext(ctx aws.Context, input *GetTranscriptInput, opts ...request.Option) (*GetTranscriptOutput, error) {
   498  	req, out := c.GetTranscriptRequest(input)
   499  	req.SetContext(ctx)
   500  	req.ApplyOptions(opts...)
   501  	return out, req.Send()
   502  }
   503  
   504  // GetTranscriptPages iterates over the pages of a GetTranscript operation,
   505  // calling the "fn" function with the response data for each page. To stop
   506  // iterating, return false from the fn function.
   507  //
   508  // See GetTranscript method for more information on how to use this operation.
   509  //
   510  // Note: This operation can generate multiple requests to a service.
   511  //
   512  //    // Example iterating over at most 3 pages of a GetTranscript operation.
   513  //    pageNum := 0
   514  //    err := client.GetTranscriptPages(params,
   515  //        func(page *connectparticipant.GetTranscriptOutput, lastPage bool) bool {
   516  //            pageNum++
   517  //            fmt.Println(page)
   518  //            return pageNum <= 3
   519  //        })
   520  //
   521  func (c *ConnectParticipant) GetTranscriptPages(input *GetTranscriptInput, fn func(*GetTranscriptOutput, bool) bool) error {
   522  	return c.GetTranscriptPagesWithContext(aws.BackgroundContext(), input, fn)
   523  }
   524  
   525  // GetTranscriptPagesWithContext same as GetTranscriptPages except
   526  // it takes a Context and allows setting request options on the pages.
   527  //
   528  // The context must be non-nil and will be used for request cancellation. If
   529  // the context is nil a panic will occur. In the future the SDK may create
   530  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   531  // for more information on using Contexts.
   532  func (c *ConnectParticipant) GetTranscriptPagesWithContext(ctx aws.Context, input *GetTranscriptInput, fn func(*GetTranscriptOutput, bool) bool, opts ...request.Option) error {
   533  	p := request.Pagination{
   534  		NewRequest: func() (*request.Request, error) {
   535  			var inCpy *GetTranscriptInput
   536  			if input != nil {
   537  				tmp := *input
   538  				inCpy = &tmp
   539  			}
   540  			req, _ := c.GetTranscriptRequest(inCpy)
   541  			req.SetContext(ctx)
   542  			req.ApplyOptions(opts...)
   543  			return req, nil
   544  		},
   545  	}
   546  
   547  	for p.Next() {
   548  		if !fn(p.Page().(*GetTranscriptOutput), !p.HasNextPage()) {
   549  			break
   550  		}
   551  	}
   552  
   553  	return p.Err()
   554  }
   555  
   556  const opSendEvent = "SendEvent"
   557  
   558  // SendEventRequest generates a "aws/request.Request" representing the
   559  // client's request for the SendEvent operation. The "output" return
   560  // value will be populated with the request's response once the request completes
   561  // successfully.
   562  //
   563  // Use "Send" method on the returned Request to send the API call to the service.
   564  // the "output" return value is not valid until after Send returns without error.
   565  //
   566  // See SendEvent for more information on using the SendEvent
   567  // API call, and error handling.
   568  //
   569  // This method is useful when you want to inject custom logic or configuration
   570  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   571  //
   572  //
   573  //    // Example sending a request using the SendEventRequest method.
   574  //    req, resp := client.SendEventRequest(params)
   575  //
   576  //    err := req.Send()
   577  //    if err == nil { // resp is now filled
   578  //        fmt.Println(resp)
   579  //    }
   580  //
   581  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent
   582  func (c *ConnectParticipant) SendEventRequest(input *SendEventInput) (req *request.Request, output *SendEventOutput) {
   583  	op := &request.Operation{
   584  		Name:       opSendEvent,
   585  		HTTPMethod: "POST",
   586  		HTTPPath:   "/participant/event",
   587  	}
   588  
   589  	if input == nil {
   590  		input = &SendEventInput{}
   591  	}
   592  
   593  	output = &SendEventOutput{}
   594  	req = c.newRequest(op, input, output)
   595  	return
   596  }
   597  
   598  // SendEvent API operation for Amazon Connect Participant Service.
   599  //
   600  // Sends an event. Note that ConnectionToken is used for invoking this API instead
   601  // of ParticipantToken.
   602  //
   603  // The Amazon Connect Participant Service APIs do not use Signature Version
   604  // 4 authentication (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   605  //
   606  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   607  // with awserr.Error's Code and Message methods to get detailed information about
   608  // the error.
   609  //
   610  // See the AWS API reference guide for Amazon Connect Participant Service's
   611  // API operation SendEvent for usage and error information.
   612  //
   613  // Returned Error Types:
   614  //   * AccessDeniedException
   615  //   You do not have sufficient access to perform this action.
   616  //
   617  //   * InternalServerException
   618  //   This exception occurs when there is an internal failure in the Amazon Connect
   619  //   service.
   620  //
   621  //   * ThrottlingException
   622  //   The request was denied due to request throttling.
   623  //
   624  //   * ValidationException
   625  //   The input fails to satisfy the constraints specified by Amazon Connect.
   626  //
   627  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent
   628  func (c *ConnectParticipant) SendEvent(input *SendEventInput) (*SendEventOutput, error) {
   629  	req, out := c.SendEventRequest(input)
   630  	return out, req.Send()
   631  }
   632  
   633  // SendEventWithContext is the same as SendEvent with the addition of
   634  // the ability to pass a context and additional request options.
   635  //
   636  // See SendEvent for details on how to use this API operation.
   637  //
   638  // The context must be non-nil and will be used for request cancellation. If
   639  // the context is nil a panic will occur. In the future the SDK may create
   640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   641  // for more information on using Contexts.
   642  func (c *ConnectParticipant) SendEventWithContext(ctx aws.Context, input *SendEventInput, opts ...request.Option) (*SendEventOutput, error) {
   643  	req, out := c.SendEventRequest(input)
   644  	req.SetContext(ctx)
   645  	req.ApplyOptions(opts...)
   646  	return out, req.Send()
   647  }
   648  
   649  const opSendMessage = "SendMessage"
   650  
   651  // SendMessageRequest generates a "aws/request.Request" representing the
   652  // client's request for the SendMessage operation. The "output" return
   653  // value will be populated with the request's response once the request completes
   654  // successfully.
   655  //
   656  // Use "Send" method on the returned Request to send the API call to the service.
   657  // the "output" return value is not valid until after Send returns without error.
   658  //
   659  // See SendMessage for more information on using the SendMessage
   660  // API call, and error handling.
   661  //
   662  // This method is useful when you want to inject custom logic or configuration
   663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   664  //
   665  //
   666  //    // Example sending a request using the SendMessageRequest method.
   667  //    req, resp := client.SendMessageRequest(params)
   668  //
   669  //    err := req.Send()
   670  //    if err == nil { // resp is now filled
   671  //        fmt.Println(resp)
   672  //    }
   673  //
   674  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendMessage
   675  func (c *ConnectParticipant) SendMessageRequest(input *SendMessageInput) (req *request.Request, output *SendMessageOutput) {
   676  	op := &request.Operation{
   677  		Name:       opSendMessage,
   678  		HTTPMethod: "POST",
   679  		HTTPPath:   "/participant/message",
   680  	}
   681  
   682  	if input == nil {
   683  		input = &SendMessageInput{}
   684  	}
   685  
   686  	output = &SendMessageOutput{}
   687  	req = c.newRequest(op, input, output)
   688  	return
   689  }
   690  
   691  // SendMessage API operation for Amazon Connect Participant Service.
   692  //
   693  // Sends a message. Note that ConnectionToken is used for invoking this API
   694  // instead of ParticipantToken.
   695  //
   696  // The Amazon Connect Participant Service APIs do not use Signature Version
   697  // 4 authentication (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   698  //
   699  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   700  // with awserr.Error's Code and Message methods to get detailed information about
   701  // the error.
   702  //
   703  // See the AWS API reference guide for Amazon Connect Participant Service's
   704  // API operation SendMessage for usage and error information.
   705  //
   706  // Returned Error Types:
   707  //   * AccessDeniedException
   708  //   You do not have sufficient access to perform this action.
   709  //
   710  //   * InternalServerException
   711  //   This exception occurs when there is an internal failure in the Amazon Connect
   712  //   service.
   713  //
   714  //   * ThrottlingException
   715  //   The request was denied due to request throttling.
   716  //
   717  //   * ValidationException
   718  //   The input fails to satisfy the constraints specified by Amazon Connect.
   719  //
   720  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendMessage
   721  func (c *ConnectParticipant) SendMessage(input *SendMessageInput) (*SendMessageOutput, error) {
   722  	req, out := c.SendMessageRequest(input)
   723  	return out, req.Send()
   724  }
   725  
   726  // SendMessageWithContext is the same as SendMessage with the addition of
   727  // the ability to pass a context and additional request options.
   728  //
   729  // See SendMessage for details on how to use this API operation.
   730  //
   731  // The context must be non-nil and will be used for request cancellation. If
   732  // the context is nil a panic will occur. In the future the SDK may create
   733  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   734  // for more information on using Contexts.
   735  func (c *ConnectParticipant) SendMessageWithContext(ctx aws.Context, input *SendMessageInput, opts ...request.Option) (*SendMessageOutput, error) {
   736  	req, out := c.SendMessageRequest(input)
   737  	req.SetContext(ctx)
   738  	req.ApplyOptions(opts...)
   739  	return out, req.Send()
   740  }
   741  
   742  const opStartAttachmentUpload = "StartAttachmentUpload"
   743  
   744  // StartAttachmentUploadRequest generates a "aws/request.Request" representing the
   745  // client's request for the StartAttachmentUpload operation. The "output" return
   746  // value will be populated with the request's response once the request completes
   747  // successfully.
   748  //
   749  // Use "Send" method on the returned Request to send the API call to the service.
   750  // the "output" return value is not valid until after Send returns without error.
   751  //
   752  // See StartAttachmentUpload for more information on using the StartAttachmentUpload
   753  // API call, and error handling.
   754  //
   755  // This method is useful when you want to inject custom logic or configuration
   756  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   757  //
   758  //
   759  //    // Example sending a request using the StartAttachmentUploadRequest method.
   760  //    req, resp := client.StartAttachmentUploadRequest(params)
   761  //
   762  //    err := req.Send()
   763  //    if err == nil { // resp is now filled
   764  //        fmt.Println(resp)
   765  //    }
   766  //
   767  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/StartAttachmentUpload
   768  func (c *ConnectParticipant) StartAttachmentUploadRequest(input *StartAttachmentUploadInput) (req *request.Request, output *StartAttachmentUploadOutput) {
   769  	op := &request.Operation{
   770  		Name:       opStartAttachmentUpload,
   771  		HTTPMethod: "POST",
   772  		HTTPPath:   "/participant/start-attachment-upload",
   773  	}
   774  
   775  	if input == nil {
   776  		input = &StartAttachmentUploadInput{}
   777  	}
   778  
   779  	output = &StartAttachmentUploadOutput{}
   780  	req = c.newRequest(op, input, output)
   781  	return
   782  }
   783  
   784  // StartAttachmentUpload API operation for Amazon Connect Participant Service.
   785  //
   786  // Provides a pre-signed Amazon S3 URL in response for uploading the file directly
   787  // to S3.
   788  //
   789  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   790  // with awserr.Error's Code and Message methods to get detailed information about
   791  // the error.
   792  //
   793  // See the AWS API reference guide for Amazon Connect Participant Service's
   794  // API operation StartAttachmentUpload for usage and error information.
   795  //
   796  // Returned Error Types:
   797  //   * AccessDeniedException
   798  //   You do not have sufficient access to perform this action.
   799  //
   800  //   * InternalServerException
   801  //   This exception occurs when there is an internal failure in the Amazon Connect
   802  //   service.
   803  //
   804  //   * ThrottlingException
   805  //   The request was denied due to request throttling.
   806  //
   807  //   * ValidationException
   808  //   The input fails to satisfy the constraints specified by Amazon Connect.
   809  //
   810  //   * ServiceQuotaExceededException
   811  //   The number of attachments per contact exceeds the quota.
   812  //
   813  // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/StartAttachmentUpload
   814  func (c *ConnectParticipant) StartAttachmentUpload(input *StartAttachmentUploadInput) (*StartAttachmentUploadOutput, error) {
   815  	req, out := c.StartAttachmentUploadRequest(input)
   816  	return out, req.Send()
   817  }
   818  
   819  // StartAttachmentUploadWithContext is the same as StartAttachmentUpload with the addition of
   820  // the ability to pass a context and additional request options.
   821  //
   822  // See StartAttachmentUpload for details on how to use this API operation.
   823  //
   824  // The context must be non-nil and will be used for request cancellation. If
   825  // the context is nil a panic will occur. In the future the SDK may create
   826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   827  // for more information on using Contexts.
   828  func (c *ConnectParticipant) StartAttachmentUploadWithContext(ctx aws.Context, input *StartAttachmentUploadInput, opts ...request.Option) (*StartAttachmentUploadOutput, error) {
   829  	req, out := c.StartAttachmentUploadRequest(input)
   830  	req.SetContext(ctx)
   831  	req.ApplyOptions(opts...)
   832  	return out, req.Send()
   833  }
   834  
   835  // You do not have sufficient access to perform this action.
   836  type AccessDeniedException struct {
   837  	_            struct{}                  `type:"structure"`
   838  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   839  
   840  	Message_ *string `locationName:"Message" type:"string"`
   841  }
   842  
   843  // String returns the string representation.
   844  //
   845  // API parameter values that are decorated as "sensitive" in the API will not
   846  // be included in the string output. The member name will be present, but the
   847  // value will be replaced with "sensitive".
   848  func (s AccessDeniedException) String() string {
   849  	return awsutil.Prettify(s)
   850  }
   851  
   852  // GoString returns the string representation.
   853  //
   854  // API parameter values that are decorated as "sensitive" in the API will not
   855  // be included in the string output. The member name will be present, but the
   856  // value will be replaced with "sensitive".
   857  func (s AccessDeniedException) GoString() string {
   858  	return s.String()
   859  }
   860  
   861  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
   862  	return &AccessDeniedException{
   863  		RespMetadata: v,
   864  	}
   865  }
   866  
   867  // Code returns the exception type name.
   868  func (s *AccessDeniedException) Code() string {
   869  	return "AccessDeniedException"
   870  }
   871  
   872  // Message returns the exception's message.
   873  func (s *AccessDeniedException) Message() string {
   874  	if s.Message_ != nil {
   875  		return *s.Message_
   876  	}
   877  	return ""
   878  }
   879  
   880  // OrigErr always returns nil, satisfies awserr.Error interface.
   881  func (s *AccessDeniedException) OrigErr() error {
   882  	return nil
   883  }
   884  
   885  func (s *AccessDeniedException) Error() string {
   886  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   887  }
   888  
   889  // Status code returns the HTTP status code for the request's response error.
   890  func (s *AccessDeniedException) StatusCode() int {
   891  	return s.RespMetadata.StatusCode
   892  }
   893  
   894  // RequestID returns the service's response RequestID for request.
   895  func (s *AccessDeniedException) RequestID() string {
   896  	return s.RespMetadata.RequestID
   897  }
   898  
   899  // The case-insensitive input to indicate standard MIME type that describes
   900  // the format of the file that will be uploaded.
   901  type AttachmentItem struct {
   902  	_ struct{} `type:"structure"`
   903  
   904  	// A unique identifier for the attachment.
   905  	AttachmentId *string `min:"1" type:"string"`
   906  
   907  	// A case-sensitive name of the attachment being uploaded.
   908  	AttachmentName *string `min:"1" type:"string"`
   909  
   910  	// Describes the MIME file type of the attachment. For a list of supported file
   911  	// types, see Feature specifications (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits)
   912  	// in the Amazon Connect Administrator Guide.
   913  	ContentType *string `min:"1" type:"string"`
   914  
   915  	// Status of the attachment.
   916  	Status *string `type:"string" enum:"ArtifactStatus"`
   917  }
   918  
   919  // String returns the string representation.
   920  //
   921  // API parameter values that are decorated as "sensitive" in the API will not
   922  // be included in the string output. The member name will be present, but the
   923  // value will be replaced with "sensitive".
   924  func (s AttachmentItem) String() string {
   925  	return awsutil.Prettify(s)
   926  }
   927  
   928  // GoString returns the string representation.
   929  //
   930  // API parameter values that are decorated as "sensitive" in the API will not
   931  // be included in the string output. The member name will be present, but the
   932  // value will be replaced with "sensitive".
   933  func (s AttachmentItem) GoString() string {
   934  	return s.String()
   935  }
   936  
   937  // SetAttachmentId sets the AttachmentId field's value.
   938  func (s *AttachmentItem) SetAttachmentId(v string) *AttachmentItem {
   939  	s.AttachmentId = &v
   940  	return s
   941  }
   942  
   943  // SetAttachmentName sets the AttachmentName field's value.
   944  func (s *AttachmentItem) SetAttachmentName(v string) *AttachmentItem {
   945  	s.AttachmentName = &v
   946  	return s
   947  }
   948  
   949  // SetContentType sets the ContentType field's value.
   950  func (s *AttachmentItem) SetContentType(v string) *AttachmentItem {
   951  	s.ContentType = &v
   952  	return s
   953  }
   954  
   955  // SetStatus sets the Status field's value.
   956  func (s *AttachmentItem) SetStatus(v string) *AttachmentItem {
   957  	s.Status = &v
   958  	return s
   959  }
   960  
   961  type CompleteAttachmentUploadInput struct {
   962  	_ struct{} `type:"structure"`
   963  
   964  	// A list of unique identifiers for the attachments.
   965  	//
   966  	// AttachmentIds is a required field
   967  	AttachmentIds []*string `min:"1" type:"list" required:"true"`
   968  
   969  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
   970  	// of the request.
   971  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
   972  
   973  	// The authentication token associated with the participant's connection.
   974  	//
   975  	// ConnectionToken is a required field
   976  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
   977  }
   978  
   979  // String returns the string representation.
   980  //
   981  // API parameter values that are decorated as "sensitive" in the API will not
   982  // be included in the string output. The member name will be present, but the
   983  // value will be replaced with "sensitive".
   984  func (s CompleteAttachmentUploadInput) String() string {
   985  	return awsutil.Prettify(s)
   986  }
   987  
   988  // GoString returns the string representation.
   989  //
   990  // API parameter values that are decorated as "sensitive" in the API will not
   991  // be included in the string output. The member name will be present, but the
   992  // value will be replaced with "sensitive".
   993  func (s CompleteAttachmentUploadInput) GoString() string {
   994  	return s.String()
   995  }
   996  
   997  // Validate inspects the fields of the type to determine if they are valid.
   998  func (s *CompleteAttachmentUploadInput) Validate() error {
   999  	invalidParams := request.ErrInvalidParams{Context: "CompleteAttachmentUploadInput"}
  1000  	if s.AttachmentIds == nil {
  1001  		invalidParams.Add(request.NewErrParamRequired("AttachmentIds"))
  1002  	}
  1003  	if s.AttachmentIds != nil && len(s.AttachmentIds) < 1 {
  1004  		invalidParams.Add(request.NewErrParamMinLen("AttachmentIds", 1))
  1005  	}
  1006  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  1007  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  1008  	}
  1009  	if s.ConnectionToken == nil {
  1010  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1011  	}
  1012  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1013  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1014  	}
  1015  
  1016  	if invalidParams.Len() > 0 {
  1017  		return invalidParams
  1018  	}
  1019  	return nil
  1020  }
  1021  
  1022  // SetAttachmentIds sets the AttachmentIds field's value.
  1023  func (s *CompleteAttachmentUploadInput) SetAttachmentIds(v []*string) *CompleteAttachmentUploadInput {
  1024  	s.AttachmentIds = v
  1025  	return s
  1026  }
  1027  
  1028  // SetClientToken sets the ClientToken field's value.
  1029  func (s *CompleteAttachmentUploadInput) SetClientToken(v string) *CompleteAttachmentUploadInput {
  1030  	s.ClientToken = &v
  1031  	return s
  1032  }
  1033  
  1034  // SetConnectionToken sets the ConnectionToken field's value.
  1035  func (s *CompleteAttachmentUploadInput) SetConnectionToken(v string) *CompleteAttachmentUploadInput {
  1036  	s.ConnectionToken = &v
  1037  	return s
  1038  }
  1039  
  1040  type CompleteAttachmentUploadOutput struct {
  1041  	_ struct{} `type:"structure" nopayload:"true"`
  1042  }
  1043  
  1044  // String returns the string representation.
  1045  //
  1046  // API parameter values that are decorated as "sensitive" in the API will not
  1047  // be included in the string output. The member name will be present, but the
  1048  // value will be replaced with "sensitive".
  1049  func (s CompleteAttachmentUploadOutput) String() string {
  1050  	return awsutil.Prettify(s)
  1051  }
  1052  
  1053  // GoString returns the string representation.
  1054  //
  1055  // API parameter values that are decorated as "sensitive" in the API will not
  1056  // be included in the string output. The member name will be present, but the
  1057  // value will be replaced with "sensitive".
  1058  func (s CompleteAttachmentUploadOutput) GoString() string {
  1059  	return s.String()
  1060  }
  1061  
  1062  // An attachment with that identifier is already being uploaded.
  1063  type ConflictException struct {
  1064  	_            struct{}                  `type:"structure"`
  1065  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1066  
  1067  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  1068  }
  1069  
  1070  // String returns the string representation.
  1071  //
  1072  // API parameter values that are decorated as "sensitive" in the API will not
  1073  // be included in the string output. The member name will be present, but the
  1074  // value will be replaced with "sensitive".
  1075  func (s ConflictException) String() string {
  1076  	return awsutil.Prettify(s)
  1077  }
  1078  
  1079  // GoString returns the string representation.
  1080  //
  1081  // API parameter values that are decorated as "sensitive" in the API will not
  1082  // be included in the string output. The member name will be present, but the
  1083  // value will be replaced with "sensitive".
  1084  func (s ConflictException) GoString() string {
  1085  	return s.String()
  1086  }
  1087  
  1088  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1089  	return &ConflictException{
  1090  		RespMetadata: v,
  1091  	}
  1092  }
  1093  
  1094  // Code returns the exception type name.
  1095  func (s *ConflictException) Code() string {
  1096  	return "ConflictException"
  1097  }
  1098  
  1099  // Message returns the exception's message.
  1100  func (s *ConflictException) Message() string {
  1101  	if s.Message_ != nil {
  1102  		return *s.Message_
  1103  	}
  1104  	return ""
  1105  }
  1106  
  1107  // OrigErr always returns nil, satisfies awserr.Error interface.
  1108  func (s *ConflictException) OrigErr() error {
  1109  	return nil
  1110  }
  1111  
  1112  func (s *ConflictException) Error() string {
  1113  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1114  }
  1115  
  1116  // Status code returns the HTTP status code for the request's response error.
  1117  func (s *ConflictException) StatusCode() int {
  1118  	return s.RespMetadata.StatusCode
  1119  }
  1120  
  1121  // RequestID returns the service's response RequestID for request.
  1122  func (s *ConflictException) RequestID() string {
  1123  	return s.RespMetadata.RequestID
  1124  }
  1125  
  1126  // Connection credentials.
  1127  type ConnectionCredentials struct {
  1128  	_ struct{} `type:"structure"`
  1129  
  1130  	// The connection token.
  1131  	ConnectionToken *string `min:"1" type:"string"`
  1132  
  1133  	// The expiration of the token.
  1134  	//
  1135  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  1136  	// 2019-11-08T02:41:28.172Z.
  1137  	Expiry *string `type:"string"`
  1138  }
  1139  
  1140  // String returns the string representation.
  1141  //
  1142  // API parameter values that are decorated as "sensitive" in the API will not
  1143  // be included in the string output. The member name will be present, but the
  1144  // value will be replaced with "sensitive".
  1145  func (s ConnectionCredentials) String() string {
  1146  	return awsutil.Prettify(s)
  1147  }
  1148  
  1149  // GoString returns the string representation.
  1150  //
  1151  // API parameter values that are decorated as "sensitive" in the API will not
  1152  // be included in the string output. The member name will be present, but the
  1153  // value will be replaced with "sensitive".
  1154  func (s ConnectionCredentials) GoString() string {
  1155  	return s.String()
  1156  }
  1157  
  1158  // SetConnectionToken sets the ConnectionToken field's value.
  1159  func (s *ConnectionCredentials) SetConnectionToken(v string) *ConnectionCredentials {
  1160  	s.ConnectionToken = &v
  1161  	return s
  1162  }
  1163  
  1164  // SetExpiry sets the Expiry field's value.
  1165  func (s *ConnectionCredentials) SetExpiry(v string) *ConnectionCredentials {
  1166  	s.Expiry = &v
  1167  	return s
  1168  }
  1169  
  1170  type CreateParticipantConnectionInput struct {
  1171  	_ struct{} `type:"structure"`
  1172  
  1173  	// This is a header parameter.
  1174  	//
  1175  	// The Participant Token as obtained from StartChatContact (https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)
  1176  	// API response.
  1177  	//
  1178  	// ParticipantToken is a required field
  1179  	ParticipantToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1180  
  1181  	// Type of connection information required.
  1182  	//
  1183  	// Type is a required field
  1184  	Type []*string `min:"1" type:"list" required:"true"`
  1185  }
  1186  
  1187  // String returns the string representation.
  1188  //
  1189  // API parameter values that are decorated as "sensitive" in the API will not
  1190  // be included in the string output. The member name will be present, but the
  1191  // value will be replaced with "sensitive".
  1192  func (s CreateParticipantConnectionInput) String() string {
  1193  	return awsutil.Prettify(s)
  1194  }
  1195  
  1196  // GoString returns the string representation.
  1197  //
  1198  // API parameter values that are decorated as "sensitive" in the API will not
  1199  // be included in the string output. The member name will be present, but the
  1200  // value will be replaced with "sensitive".
  1201  func (s CreateParticipantConnectionInput) GoString() string {
  1202  	return s.String()
  1203  }
  1204  
  1205  // Validate inspects the fields of the type to determine if they are valid.
  1206  func (s *CreateParticipantConnectionInput) Validate() error {
  1207  	invalidParams := request.ErrInvalidParams{Context: "CreateParticipantConnectionInput"}
  1208  	if s.ParticipantToken == nil {
  1209  		invalidParams.Add(request.NewErrParamRequired("ParticipantToken"))
  1210  	}
  1211  	if s.ParticipantToken != nil && len(*s.ParticipantToken) < 1 {
  1212  		invalidParams.Add(request.NewErrParamMinLen("ParticipantToken", 1))
  1213  	}
  1214  	if s.Type == nil {
  1215  		invalidParams.Add(request.NewErrParamRequired("Type"))
  1216  	}
  1217  	if s.Type != nil && len(s.Type) < 1 {
  1218  		invalidParams.Add(request.NewErrParamMinLen("Type", 1))
  1219  	}
  1220  
  1221  	if invalidParams.Len() > 0 {
  1222  		return invalidParams
  1223  	}
  1224  	return nil
  1225  }
  1226  
  1227  // SetParticipantToken sets the ParticipantToken field's value.
  1228  func (s *CreateParticipantConnectionInput) SetParticipantToken(v string) *CreateParticipantConnectionInput {
  1229  	s.ParticipantToken = &v
  1230  	return s
  1231  }
  1232  
  1233  // SetType sets the Type field's value.
  1234  func (s *CreateParticipantConnectionInput) SetType(v []*string) *CreateParticipantConnectionInput {
  1235  	s.Type = v
  1236  	return s
  1237  }
  1238  
  1239  type CreateParticipantConnectionOutput struct {
  1240  	_ struct{} `type:"structure"`
  1241  
  1242  	// Creates the participant's connection credentials. The authentication token
  1243  	// associated with the participant's connection.
  1244  	ConnectionCredentials *ConnectionCredentials `type:"structure"`
  1245  
  1246  	// Creates the participant's websocket connection.
  1247  	Websocket *Websocket `type:"structure"`
  1248  }
  1249  
  1250  // String returns the string representation.
  1251  //
  1252  // API parameter values that are decorated as "sensitive" in the API will not
  1253  // be included in the string output. The member name will be present, but the
  1254  // value will be replaced with "sensitive".
  1255  func (s CreateParticipantConnectionOutput) String() string {
  1256  	return awsutil.Prettify(s)
  1257  }
  1258  
  1259  // GoString returns the string representation.
  1260  //
  1261  // API parameter values that are decorated as "sensitive" in the API will not
  1262  // be included in the string output. The member name will be present, but the
  1263  // value will be replaced with "sensitive".
  1264  func (s CreateParticipantConnectionOutput) GoString() string {
  1265  	return s.String()
  1266  }
  1267  
  1268  // SetConnectionCredentials sets the ConnectionCredentials field's value.
  1269  func (s *CreateParticipantConnectionOutput) SetConnectionCredentials(v *ConnectionCredentials) *CreateParticipantConnectionOutput {
  1270  	s.ConnectionCredentials = v
  1271  	return s
  1272  }
  1273  
  1274  // SetWebsocket sets the Websocket field's value.
  1275  func (s *CreateParticipantConnectionOutput) SetWebsocket(v *Websocket) *CreateParticipantConnectionOutput {
  1276  	s.Websocket = v
  1277  	return s
  1278  }
  1279  
  1280  type DisconnectParticipantInput struct {
  1281  	_ struct{} `type:"structure"`
  1282  
  1283  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
  1284  	// of the request.
  1285  	ClientToken *string `type:"string" idempotencyToken:"true"`
  1286  
  1287  	// The authentication token associated with the participant's connection.
  1288  	//
  1289  	// ConnectionToken is a required field
  1290  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1291  }
  1292  
  1293  // String returns the string representation.
  1294  //
  1295  // API parameter values that are decorated as "sensitive" in the API will not
  1296  // be included in the string output. The member name will be present, but the
  1297  // value will be replaced with "sensitive".
  1298  func (s DisconnectParticipantInput) String() string {
  1299  	return awsutil.Prettify(s)
  1300  }
  1301  
  1302  // GoString returns the string representation.
  1303  //
  1304  // API parameter values that are decorated as "sensitive" in the API will not
  1305  // be included in the string output. The member name will be present, but the
  1306  // value will be replaced with "sensitive".
  1307  func (s DisconnectParticipantInput) GoString() string {
  1308  	return s.String()
  1309  }
  1310  
  1311  // Validate inspects the fields of the type to determine if they are valid.
  1312  func (s *DisconnectParticipantInput) Validate() error {
  1313  	invalidParams := request.ErrInvalidParams{Context: "DisconnectParticipantInput"}
  1314  	if s.ConnectionToken == nil {
  1315  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1316  	}
  1317  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1318  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1319  	}
  1320  
  1321  	if invalidParams.Len() > 0 {
  1322  		return invalidParams
  1323  	}
  1324  	return nil
  1325  }
  1326  
  1327  // SetClientToken sets the ClientToken field's value.
  1328  func (s *DisconnectParticipantInput) SetClientToken(v string) *DisconnectParticipantInput {
  1329  	s.ClientToken = &v
  1330  	return s
  1331  }
  1332  
  1333  // SetConnectionToken sets the ConnectionToken field's value.
  1334  func (s *DisconnectParticipantInput) SetConnectionToken(v string) *DisconnectParticipantInput {
  1335  	s.ConnectionToken = &v
  1336  	return s
  1337  }
  1338  
  1339  type DisconnectParticipantOutput struct {
  1340  	_ struct{} `type:"structure" nopayload:"true"`
  1341  }
  1342  
  1343  // String returns the string representation.
  1344  //
  1345  // API parameter values that are decorated as "sensitive" in the API will not
  1346  // be included in the string output. The member name will be present, but the
  1347  // value will be replaced with "sensitive".
  1348  func (s DisconnectParticipantOutput) String() string {
  1349  	return awsutil.Prettify(s)
  1350  }
  1351  
  1352  // GoString returns the string representation.
  1353  //
  1354  // API parameter values that are decorated as "sensitive" in the API will not
  1355  // be included in the string output. The member name will be present, but the
  1356  // value will be replaced with "sensitive".
  1357  func (s DisconnectParticipantOutput) GoString() string {
  1358  	return s.String()
  1359  }
  1360  
  1361  type GetAttachmentInput struct {
  1362  	_ struct{} `type:"structure"`
  1363  
  1364  	// A unique identifier for the attachment.
  1365  	//
  1366  	// AttachmentId is a required field
  1367  	AttachmentId *string `min:"1" type:"string" required:"true"`
  1368  
  1369  	// The authentication token associated with the participant's connection.
  1370  	//
  1371  	// ConnectionToken is a required field
  1372  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1373  }
  1374  
  1375  // String returns the string representation.
  1376  //
  1377  // API parameter values that are decorated as "sensitive" in the API will not
  1378  // be included in the string output. The member name will be present, but the
  1379  // value will be replaced with "sensitive".
  1380  func (s GetAttachmentInput) String() string {
  1381  	return awsutil.Prettify(s)
  1382  }
  1383  
  1384  // GoString returns the string representation.
  1385  //
  1386  // API parameter values that are decorated as "sensitive" in the API will not
  1387  // be included in the string output. The member name will be present, but the
  1388  // value will be replaced with "sensitive".
  1389  func (s GetAttachmentInput) GoString() string {
  1390  	return s.String()
  1391  }
  1392  
  1393  // Validate inspects the fields of the type to determine if they are valid.
  1394  func (s *GetAttachmentInput) Validate() error {
  1395  	invalidParams := request.ErrInvalidParams{Context: "GetAttachmentInput"}
  1396  	if s.AttachmentId == nil {
  1397  		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  1398  	}
  1399  	if s.AttachmentId != nil && len(*s.AttachmentId) < 1 {
  1400  		invalidParams.Add(request.NewErrParamMinLen("AttachmentId", 1))
  1401  	}
  1402  	if s.ConnectionToken == nil {
  1403  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1404  	}
  1405  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1406  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1407  	}
  1408  
  1409  	if invalidParams.Len() > 0 {
  1410  		return invalidParams
  1411  	}
  1412  	return nil
  1413  }
  1414  
  1415  // SetAttachmentId sets the AttachmentId field's value.
  1416  func (s *GetAttachmentInput) SetAttachmentId(v string) *GetAttachmentInput {
  1417  	s.AttachmentId = &v
  1418  	return s
  1419  }
  1420  
  1421  // SetConnectionToken sets the ConnectionToken field's value.
  1422  func (s *GetAttachmentInput) SetConnectionToken(v string) *GetAttachmentInput {
  1423  	s.ConnectionToken = &v
  1424  	return s
  1425  }
  1426  
  1427  type GetAttachmentOutput struct {
  1428  	_ struct{} `type:"structure"`
  1429  
  1430  	// The pre-signed URL using which file would be downloaded from Amazon S3 by
  1431  	// the API caller.
  1432  	Url *string `min:"1" type:"string"`
  1433  
  1434  	// The expiration time of the URL in ISO timestamp. It's specified in ISO 8601
  1435  	// format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.
  1436  	UrlExpiry *string `type:"string"`
  1437  }
  1438  
  1439  // String returns the string representation.
  1440  //
  1441  // API parameter values that are decorated as "sensitive" in the API will not
  1442  // be included in the string output. The member name will be present, but the
  1443  // value will be replaced with "sensitive".
  1444  func (s GetAttachmentOutput) String() string {
  1445  	return awsutil.Prettify(s)
  1446  }
  1447  
  1448  // GoString returns the string representation.
  1449  //
  1450  // API parameter values that are decorated as "sensitive" in the API will not
  1451  // be included in the string output. The member name will be present, but the
  1452  // value will be replaced with "sensitive".
  1453  func (s GetAttachmentOutput) GoString() string {
  1454  	return s.String()
  1455  }
  1456  
  1457  // SetUrl sets the Url field's value.
  1458  func (s *GetAttachmentOutput) SetUrl(v string) *GetAttachmentOutput {
  1459  	s.Url = &v
  1460  	return s
  1461  }
  1462  
  1463  // SetUrlExpiry sets the UrlExpiry field's value.
  1464  func (s *GetAttachmentOutput) SetUrlExpiry(v string) *GetAttachmentOutput {
  1465  	s.UrlExpiry = &v
  1466  	return s
  1467  }
  1468  
  1469  type GetTranscriptInput struct {
  1470  	_ struct{} `type:"structure"`
  1471  
  1472  	// The authentication token associated with the participant's connection.
  1473  	//
  1474  	// ConnectionToken is a required field
  1475  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1476  
  1477  	// The contactId from the current contact chain for which transcript is needed.
  1478  	ContactId *string `min:"1" type:"string"`
  1479  
  1480  	// The maximum number of results to return in the page. Default: 10.
  1481  	MaxResults *int64 `type:"integer"`
  1482  
  1483  	// The pagination token. Use the value returned previously in the next subsequent
  1484  	// request to retrieve the next set of results.
  1485  	NextToken *string `min:"1" type:"string"`
  1486  
  1487  	// The direction from StartPosition from which to retrieve message. Default:
  1488  	// BACKWARD when no StartPosition is provided, FORWARD with StartPosition.
  1489  	ScanDirection *string `type:"string" enum:"ScanDirection"`
  1490  
  1491  	// The sort order for the records. Default: DESCENDING.
  1492  	SortOrder *string `type:"string" enum:"SortKey"`
  1493  
  1494  	// A filtering option for where to start.
  1495  	StartPosition *StartPosition `type:"structure"`
  1496  }
  1497  
  1498  // String returns the string representation.
  1499  //
  1500  // API parameter values that are decorated as "sensitive" in the API will not
  1501  // be included in the string output. The member name will be present, but the
  1502  // value will be replaced with "sensitive".
  1503  func (s GetTranscriptInput) String() string {
  1504  	return awsutil.Prettify(s)
  1505  }
  1506  
  1507  // GoString returns the string representation.
  1508  //
  1509  // API parameter values that are decorated as "sensitive" in the API will not
  1510  // be included in the string output. The member name will be present, but the
  1511  // value will be replaced with "sensitive".
  1512  func (s GetTranscriptInput) GoString() string {
  1513  	return s.String()
  1514  }
  1515  
  1516  // Validate inspects the fields of the type to determine if they are valid.
  1517  func (s *GetTranscriptInput) Validate() error {
  1518  	invalidParams := request.ErrInvalidParams{Context: "GetTranscriptInput"}
  1519  	if s.ConnectionToken == nil {
  1520  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1521  	}
  1522  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1523  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1524  	}
  1525  	if s.ContactId != nil && len(*s.ContactId) < 1 {
  1526  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
  1527  	}
  1528  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  1529  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  1530  	}
  1531  	if s.StartPosition != nil {
  1532  		if err := s.StartPosition.Validate(); err != nil {
  1533  			invalidParams.AddNested("StartPosition", err.(request.ErrInvalidParams))
  1534  		}
  1535  	}
  1536  
  1537  	if invalidParams.Len() > 0 {
  1538  		return invalidParams
  1539  	}
  1540  	return nil
  1541  }
  1542  
  1543  // SetConnectionToken sets the ConnectionToken field's value.
  1544  func (s *GetTranscriptInput) SetConnectionToken(v string) *GetTranscriptInput {
  1545  	s.ConnectionToken = &v
  1546  	return s
  1547  }
  1548  
  1549  // SetContactId sets the ContactId field's value.
  1550  func (s *GetTranscriptInput) SetContactId(v string) *GetTranscriptInput {
  1551  	s.ContactId = &v
  1552  	return s
  1553  }
  1554  
  1555  // SetMaxResults sets the MaxResults field's value.
  1556  func (s *GetTranscriptInput) SetMaxResults(v int64) *GetTranscriptInput {
  1557  	s.MaxResults = &v
  1558  	return s
  1559  }
  1560  
  1561  // SetNextToken sets the NextToken field's value.
  1562  func (s *GetTranscriptInput) SetNextToken(v string) *GetTranscriptInput {
  1563  	s.NextToken = &v
  1564  	return s
  1565  }
  1566  
  1567  // SetScanDirection sets the ScanDirection field's value.
  1568  func (s *GetTranscriptInput) SetScanDirection(v string) *GetTranscriptInput {
  1569  	s.ScanDirection = &v
  1570  	return s
  1571  }
  1572  
  1573  // SetSortOrder sets the SortOrder field's value.
  1574  func (s *GetTranscriptInput) SetSortOrder(v string) *GetTranscriptInput {
  1575  	s.SortOrder = &v
  1576  	return s
  1577  }
  1578  
  1579  // SetStartPosition sets the StartPosition field's value.
  1580  func (s *GetTranscriptInput) SetStartPosition(v *StartPosition) *GetTranscriptInput {
  1581  	s.StartPosition = v
  1582  	return s
  1583  }
  1584  
  1585  type GetTranscriptOutput struct {
  1586  	_ struct{} `type:"structure"`
  1587  
  1588  	// The initial contact ID for the contact.
  1589  	InitialContactId *string `min:"1" type:"string"`
  1590  
  1591  	// The pagination token. Use the value returned previously in the next subsequent
  1592  	// request to retrieve the next set of results.
  1593  	NextToken *string `min:"1" type:"string"`
  1594  
  1595  	// The list of messages in the session.
  1596  	Transcript []*Item `type:"list"`
  1597  }
  1598  
  1599  // String returns the string representation.
  1600  //
  1601  // API parameter values that are decorated as "sensitive" in the API will not
  1602  // be included in the string output. The member name will be present, but the
  1603  // value will be replaced with "sensitive".
  1604  func (s GetTranscriptOutput) String() string {
  1605  	return awsutil.Prettify(s)
  1606  }
  1607  
  1608  // GoString returns the string representation.
  1609  //
  1610  // API parameter values that are decorated as "sensitive" in the API will not
  1611  // be included in the string output. The member name will be present, but the
  1612  // value will be replaced with "sensitive".
  1613  func (s GetTranscriptOutput) GoString() string {
  1614  	return s.String()
  1615  }
  1616  
  1617  // SetInitialContactId sets the InitialContactId field's value.
  1618  func (s *GetTranscriptOutput) SetInitialContactId(v string) *GetTranscriptOutput {
  1619  	s.InitialContactId = &v
  1620  	return s
  1621  }
  1622  
  1623  // SetNextToken sets the NextToken field's value.
  1624  func (s *GetTranscriptOutput) SetNextToken(v string) *GetTranscriptOutput {
  1625  	s.NextToken = &v
  1626  	return s
  1627  }
  1628  
  1629  // SetTranscript sets the Transcript field's value.
  1630  func (s *GetTranscriptOutput) SetTranscript(v []*Item) *GetTranscriptOutput {
  1631  	s.Transcript = v
  1632  	return s
  1633  }
  1634  
  1635  // This exception occurs when there is an internal failure in the Amazon Connect
  1636  // service.
  1637  type InternalServerException struct {
  1638  	_            struct{}                  `type:"structure"`
  1639  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1640  
  1641  	Message_ *string `locationName:"Message" type:"string"`
  1642  }
  1643  
  1644  // String returns the string representation.
  1645  //
  1646  // API parameter values that are decorated as "sensitive" in the API will not
  1647  // be included in the string output. The member name will be present, but the
  1648  // value will be replaced with "sensitive".
  1649  func (s InternalServerException) String() string {
  1650  	return awsutil.Prettify(s)
  1651  }
  1652  
  1653  // GoString returns the string representation.
  1654  //
  1655  // API parameter values that are decorated as "sensitive" in the API will not
  1656  // be included in the string output. The member name will be present, but the
  1657  // value will be replaced with "sensitive".
  1658  func (s InternalServerException) GoString() string {
  1659  	return s.String()
  1660  }
  1661  
  1662  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  1663  	return &InternalServerException{
  1664  		RespMetadata: v,
  1665  	}
  1666  }
  1667  
  1668  // Code returns the exception type name.
  1669  func (s *InternalServerException) Code() string {
  1670  	return "InternalServerException"
  1671  }
  1672  
  1673  // Message returns the exception's message.
  1674  func (s *InternalServerException) Message() string {
  1675  	if s.Message_ != nil {
  1676  		return *s.Message_
  1677  	}
  1678  	return ""
  1679  }
  1680  
  1681  // OrigErr always returns nil, satisfies awserr.Error interface.
  1682  func (s *InternalServerException) OrigErr() error {
  1683  	return nil
  1684  }
  1685  
  1686  func (s *InternalServerException) Error() string {
  1687  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1688  }
  1689  
  1690  // Status code returns the HTTP status code for the request's response error.
  1691  func (s *InternalServerException) StatusCode() int {
  1692  	return s.RespMetadata.StatusCode
  1693  }
  1694  
  1695  // RequestID returns the service's response RequestID for request.
  1696  func (s *InternalServerException) RequestID() string {
  1697  	return s.RespMetadata.RequestID
  1698  }
  1699  
  1700  // An item - message or event - that has been sent.
  1701  type Item struct {
  1702  	_ struct{} `type:"structure"`
  1703  
  1704  	// The time when the message or event was sent.
  1705  	//
  1706  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  1707  	// 2019-11-08T02:41:28.172Z.
  1708  	AbsoluteTime *string `min:"1" type:"string"`
  1709  
  1710  	// Provides information about the attachments.
  1711  	Attachments []*AttachmentItem `type:"list"`
  1712  
  1713  	// The content of the message or event.
  1714  	Content *string `min:"1" type:"string"`
  1715  
  1716  	// The type of content of the item.
  1717  	ContentType *string `min:"1" type:"string"`
  1718  
  1719  	// The chat display name of the sender.
  1720  	DisplayName *string `min:"1" type:"string"`
  1721  
  1722  	// The ID of the item.
  1723  	Id *string `min:"1" type:"string"`
  1724  
  1725  	// The ID of the sender in the session.
  1726  	ParticipantId *string `min:"1" type:"string"`
  1727  
  1728  	// The role of the sender. For example, is it a customer, agent, or system.
  1729  	ParticipantRole *string `type:"string" enum:"ParticipantRole"`
  1730  
  1731  	// Type of the item: message or event.
  1732  	Type *string `type:"string" enum:"ChatItemType"`
  1733  }
  1734  
  1735  // String returns the string representation.
  1736  //
  1737  // API parameter values that are decorated as "sensitive" in the API will not
  1738  // be included in the string output. The member name will be present, but the
  1739  // value will be replaced with "sensitive".
  1740  func (s Item) String() string {
  1741  	return awsutil.Prettify(s)
  1742  }
  1743  
  1744  // GoString returns the string representation.
  1745  //
  1746  // API parameter values that are decorated as "sensitive" in the API will not
  1747  // be included in the string output. The member name will be present, but the
  1748  // value will be replaced with "sensitive".
  1749  func (s Item) GoString() string {
  1750  	return s.String()
  1751  }
  1752  
  1753  // SetAbsoluteTime sets the AbsoluteTime field's value.
  1754  func (s *Item) SetAbsoluteTime(v string) *Item {
  1755  	s.AbsoluteTime = &v
  1756  	return s
  1757  }
  1758  
  1759  // SetAttachments sets the Attachments field's value.
  1760  func (s *Item) SetAttachments(v []*AttachmentItem) *Item {
  1761  	s.Attachments = v
  1762  	return s
  1763  }
  1764  
  1765  // SetContent sets the Content field's value.
  1766  func (s *Item) SetContent(v string) *Item {
  1767  	s.Content = &v
  1768  	return s
  1769  }
  1770  
  1771  // SetContentType sets the ContentType field's value.
  1772  func (s *Item) SetContentType(v string) *Item {
  1773  	s.ContentType = &v
  1774  	return s
  1775  }
  1776  
  1777  // SetDisplayName sets the DisplayName field's value.
  1778  func (s *Item) SetDisplayName(v string) *Item {
  1779  	s.DisplayName = &v
  1780  	return s
  1781  }
  1782  
  1783  // SetId sets the Id field's value.
  1784  func (s *Item) SetId(v string) *Item {
  1785  	s.Id = &v
  1786  	return s
  1787  }
  1788  
  1789  // SetParticipantId sets the ParticipantId field's value.
  1790  func (s *Item) SetParticipantId(v string) *Item {
  1791  	s.ParticipantId = &v
  1792  	return s
  1793  }
  1794  
  1795  // SetParticipantRole sets the ParticipantRole field's value.
  1796  func (s *Item) SetParticipantRole(v string) *Item {
  1797  	s.ParticipantRole = &v
  1798  	return s
  1799  }
  1800  
  1801  // SetType sets the Type field's value.
  1802  func (s *Item) SetType(v string) *Item {
  1803  	s.Type = &v
  1804  	return s
  1805  }
  1806  
  1807  type SendEventInput struct {
  1808  	_ struct{} `type:"structure"`
  1809  
  1810  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
  1811  	// of the request.
  1812  	ClientToken *string `type:"string" idempotencyToken:"true"`
  1813  
  1814  	// The authentication token associated with the participant's connection.
  1815  	//
  1816  	// ConnectionToken is a required field
  1817  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1818  
  1819  	// The content of the event to be sent (for example, message text). This is
  1820  	// not yet supported.
  1821  	Content *string `min:"1" type:"string"`
  1822  
  1823  	// The content type of the request. Supported types are:
  1824  	//
  1825  	//    * application/vnd.amazonaws.connect.event.typing
  1826  	//
  1827  	//    * application/vnd.amazonaws.connect.event.connection.acknowledged
  1828  	//
  1829  	// ContentType is a required field
  1830  	ContentType *string `min:"1" type:"string" required:"true"`
  1831  }
  1832  
  1833  // String returns the string representation.
  1834  //
  1835  // API parameter values that are decorated as "sensitive" in the API will not
  1836  // be included in the string output. The member name will be present, but the
  1837  // value will be replaced with "sensitive".
  1838  func (s SendEventInput) String() string {
  1839  	return awsutil.Prettify(s)
  1840  }
  1841  
  1842  // GoString returns the string representation.
  1843  //
  1844  // API parameter values that are decorated as "sensitive" in the API will not
  1845  // be included in the string output. The member name will be present, but the
  1846  // value will be replaced with "sensitive".
  1847  func (s SendEventInput) GoString() string {
  1848  	return s.String()
  1849  }
  1850  
  1851  // Validate inspects the fields of the type to determine if they are valid.
  1852  func (s *SendEventInput) Validate() error {
  1853  	invalidParams := request.ErrInvalidParams{Context: "SendEventInput"}
  1854  	if s.ConnectionToken == nil {
  1855  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1856  	}
  1857  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1858  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1859  	}
  1860  	if s.Content != nil && len(*s.Content) < 1 {
  1861  		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
  1862  	}
  1863  	if s.ContentType == nil {
  1864  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
  1865  	}
  1866  	if s.ContentType != nil && len(*s.ContentType) < 1 {
  1867  		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
  1868  	}
  1869  
  1870  	if invalidParams.Len() > 0 {
  1871  		return invalidParams
  1872  	}
  1873  	return nil
  1874  }
  1875  
  1876  // SetClientToken sets the ClientToken field's value.
  1877  func (s *SendEventInput) SetClientToken(v string) *SendEventInput {
  1878  	s.ClientToken = &v
  1879  	return s
  1880  }
  1881  
  1882  // SetConnectionToken sets the ConnectionToken field's value.
  1883  func (s *SendEventInput) SetConnectionToken(v string) *SendEventInput {
  1884  	s.ConnectionToken = &v
  1885  	return s
  1886  }
  1887  
  1888  // SetContent sets the Content field's value.
  1889  func (s *SendEventInput) SetContent(v string) *SendEventInput {
  1890  	s.Content = &v
  1891  	return s
  1892  }
  1893  
  1894  // SetContentType sets the ContentType field's value.
  1895  func (s *SendEventInput) SetContentType(v string) *SendEventInput {
  1896  	s.ContentType = &v
  1897  	return s
  1898  }
  1899  
  1900  type SendEventOutput struct {
  1901  	_ struct{} `type:"structure"`
  1902  
  1903  	// The time when the event was sent.
  1904  	//
  1905  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  1906  	// 2019-11-08T02:41:28.172Z.
  1907  	AbsoluteTime *string `min:"1" type:"string"`
  1908  
  1909  	// The ID of the response.
  1910  	Id *string `min:"1" type:"string"`
  1911  }
  1912  
  1913  // String returns the string representation.
  1914  //
  1915  // API parameter values that are decorated as "sensitive" in the API will not
  1916  // be included in the string output. The member name will be present, but the
  1917  // value will be replaced with "sensitive".
  1918  func (s SendEventOutput) String() string {
  1919  	return awsutil.Prettify(s)
  1920  }
  1921  
  1922  // GoString returns the string representation.
  1923  //
  1924  // API parameter values that are decorated as "sensitive" in the API will not
  1925  // be included in the string output. The member name will be present, but the
  1926  // value will be replaced with "sensitive".
  1927  func (s SendEventOutput) GoString() string {
  1928  	return s.String()
  1929  }
  1930  
  1931  // SetAbsoluteTime sets the AbsoluteTime field's value.
  1932  func (s *SendEventOutput) SetAbsoluteTime(v string) *SendEventOutput {
  1933  	s.AbsoluteTime = &v
  1934  	return s
  1935  }
  1936  
  1937  // SetId sets the Id field's value.
  1938  func (s *SendEventOutput) SetId(v string) *SendEventOutput {
  1939  	s.Id = &v
  1940  	return s
  1941  }
  1942  
  1943  type SendMessageInput struct {
  1944  	_ struct{} `type:"structure"`
  1945  
  1946  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
  1947  	// of the request.
  1948  	ClientToken *string `type:"string" idempotencyToken:"true"`
  1949  
  1950  	// The authentication token associated with the connection.
  1951  	//
  1952  	// ConnectionToken is a required field
  1953  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  1954  
  1955  	// The content of the message.
  1956  	//
  1957  	// Content is a required field
  1958  	Content *string `min:"1" type:"string" required:"true"`
  1959  
  1960  	// The type of the content. Supported types are text/plain.
  1961  	//
  1962  	// ContentType is a required field
  1963  	ContentType *string `min:"1" type:"string" required:"true"`
  1964  }
  1965  
  1966  // String returns the string representation.
  1967  //
  1968  // API parameter values that are decorated as "sensitive" in the API will not
  1969  // be included in the string output. The member name will be present, but the
  1970  // value will be replaced with "sensitive".
  1971  func (s SendMessageInput) String() string {
  1972  	return awsutil.Prettify(s)
  1973  }
  1974  
  1975  // GoString returns the string representation.
  1976  //
  1977  // API parameter values that are decorated as "sensitive" in the API will not
  1978  // be included in the string output. The member name will be present, but the
  1979  // value will be replaced with "sensitive".
  1980  func (s SendMessageInput) GoString() string {
  1981  	return s.String()
  1982  }
  1983  
  1984  // Validate inspects the fields of the type to determine if they are valid.
  1985  func (s *SendMessageInput) Validate() error {
  1986  	invalidParams := request.ErrInvalidParams{Context: "SendMessageInput"}
  1987  	if s.ConnectionToken == nil {
  1988  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  1989  	}
  1990  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  1991  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  1992  	}
  1993  	if s.Content == nil {
  1994  		invalidParams.Add(request.NewErrParamRequired("Content"))
  1995  	}
  1996  	if s.Content != nil && len(*s.Content) < 1 {
  1997  		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
  1998  	}
  1999  	if s.ContentType == nil {
  2000  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
  2001  	}
  2002  	if s.ContentType != nil && len(*s.ContentType) < 1 {
  2003  		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
  2004  	}
  2005  
  2006  	if invalidParams.Len() > 0 {
  2007  		return invalidParams
  2008  	}
  2009  	return nil
  2010  }
  2011  
  2012  // SetClientToken sets the ClientToken field's value.
  2013  func (s *SendMessageInput) SetClientToken(v string) *SendMessageInput {
  2014  	s.ClientToken = &v
  2015  	return s
  2016  }
  2017  
  2018  // SetConnectionToken sets the ConnectionToken field's value.
  2019  func (s *SendMessageInput) SetConnectionToken(v string) *SendMessageInput {
  2020  	s.ConnectionToken = &v
  2021  	return s
  2022  }
  2023  
  2024  // SetContent sets the Content field's value.
  2025  func (s *SendMessageInput) SetContent(v string) *SendMessageInput {
  2026  	s.Content = &v
  2027  	return s
  2028  }
  2029  
  2030  // SetContentType sets the ContentType field's value.
  2031  func (s *SendMessageInput) SetContentType(v string) *SendMessageInput {
  2032  	s.ContentType = &v
  2033  	return s
  2034  }
  2035  
  2036  type SendMessageOutput struct {
  2037  	_ struct{} `type:"structure"`
  2038  
  2039  	// The time when the message was sent.
  2040  	//
  2041  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  2042  	// 2019-11-08T02:41:28.172Z.
  2043  	AbsoluteTime *string `min:"1" type:"string"`
  2044  
  2045  	// The ID of the message.
  2046  	Id *string `min:"1" type:"string"`
  2047  }
  2048  
  2049  // String returns the string representation.
  2050  //
  2051  // API parameter values that are decorated as "sensitive" in the API will not
  2052  // be included in the string output. The member name will be present, but the
  2053  // value will be replaced with "sensitive".
  2054  func (s SendMessageOutput) String() string {
  2055  	return awsutil.Prettify(s)
  2056  }
  2057  
  2058  // GoString returns the string representation.
  2059  //
  2060  // API parameter values that are decorated as "sensitive" in the API will not
  2061  // be included in the string output. The member name will be present, but the
  2062  // value will be replaced with "sensitive".
  2063  func (s SendMessageOutput) GoString() string {
  2064  	return s.String()
  2065  }
  2066  
  2067  // SetAbsoluteTime sets the AbsoluteTime field's value.
  2068  func (s *SendMessageOutput) SetAbsoluteTime(v string) *SendMessageOutput {
  2069  	s.AbsoluteTime = &v
  2070  	return s
  2071  }
  2072  
  2073  // SetId sets the Id field's value.
  2074  func (s *SendMessageOutput) SetId(v string) *SendMessageOutput {
  2075  	s.Id = &v
  2076  	return s
  2077  }
  2078  
  2079  // The number of attachments per contact exceeds the quota.
  2080  type ServiceQuotaExceededException struct {
  2081  	_            struct{}                  `type:"structure"`
  2082  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2083  
  2084  	Message_ *string `locationName:"Message" type:"string"`
  2085  }
  2086  
  2087  // String returns the string representation.
  2088  //
  2089  // API parameter values that are decorated as "sensitive" in the API will not
  2090  // be included in the string output. The member name will be present, but the
  2091  // value will be replaced with "sensitive".
  2092  func (s ServiceQuotaExceededException) String() string {
  2093  	return awsutil.Prettify(s)
  2094  }
  2095  
  2096  // GoString returns the string representation.
  2097  //
  2098  // API parameter values that are decorated as "sensitive" in the API will not
  2099  // be included in the string output. The member name will be present, but the
  2100  // value will be replaced with "sensitive".
  2101  func (s ServiceQuotaExceededException) GoString() string {
  2102  	return s.String()
  2103  }
  2104  
  2105  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  2106  	return &ServiceQuotaExceededException{
  2107  		RespMetadata: v,
  2108  	}
  2109  }
  2110  
  2111  // Code returns the exception type name.
  2112  func (s *ServiceQuotaExceededException) Code() string {
  2113  	return "ServiceQuotaExceededException"
  2114  }
  2115  
  2116  // Message returns the exception's message.
  2117  func (s *ServiceQuotaExceededException) Message() string {
  2118  	if s.Message_ != nil {
  2119  		return *s.Message_
  2120  	}
  2121  	return ""
  2122  }
  2123  
  2124  // OrigErr always returns nil, satisfies awserr.Error interface.
  2125  func (s *ServiceQuotaExceededException) OrigErr() error {
  2126  	return nil
  2127  }
  2128  
  2129  func (s *ServiceQuotaExceededException) Error() string {
  2130  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2131  }
  2132  
  2133  // Status code returns the HTTP status code for the request's response error.
  2134  func (s *ServiceQuotaExceededException) StatusCode() int {
  2135  	return s.RespMetadata.StatusCode
  2136  }
  2137  
  2138  // RequestID returns the service's response RequestID for request.
  2139  func (s *ServiceQuotaExceededException) RequestID() string {
  2140  	return s.RespMetadata.RequestID
  2141  }
  2142  
  2143  type StartAttachmentUploadInput struct {
  2144  	_ struct{} `type:"structure"`
  2145  
  2146  	// A case-sensitive name of the attachment being uploaded.
  2147  	//
  2148  	// AttachmentName is a required field
  2149  	AttachmentName *string `min:"1" type:"string" required:"true"`
  2150  
  2151  	// The size of the attachment in bytes.
  2152  	//
  2153  	// AttachmentSizeInBytes is a required field
  2154  	AttachmentSizeInBytes *int64 `min:"1" type:"long" required:"true"`
  2155  
  2156  	// A unique case sensitive identifier to support idempotency of request.
  2157  	ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
  2158  
  2159  	// The authentication token associated with the participant's connection.
  2160  	//
  2161  	// ConnectionToken is a required field
  2162  	ConnectionToken *string `location:"header" locationName:"X-Amz-Bearer" min:"1" type:"string" required:"true"`
  2163  
  2164  	// Describes the MIME file type of the attachment. For a list of supported file
  2165  	// types, see Feature specifications (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits)
  2166  	// in the Amazon Connect Administrator Guide.
  2167  	//
  2168  	// ContentType is a required field
  2169  	ContentType *string `min:"1" type:"string" required:"true"`
  2170  }
  2171  
  2172  // String returns the string representation.
  2173  //
  2174  // API parameter values that are decorated as "sensitive" in the API will not
  2175  // be included in the string output. The member name will be present, but the
  2176  // value will be replaced with "sensitive".
  2177  func (s StartAttachmentUploadInput) String() string {
  2178  	return awsutil.Prettify(s)
  2179  }
  2180  
  2181  // GoString returns the string representation.
  2182  //
  2183  // API parameter values that are decorated as "sensitive" in the API will not
  2184  // be included in the string output. The member name will be present, but the
  2185  // value will be replaced with "sensitive".
  2186  func (s StartAttachmentUploadInput) GoString() string {
  2187  	return s.String()
  2188  }
  2189  
  2190  // Validate inspects the fields of the type to determine if they are valid.
  2191  func (s *StartAttachmentUploadInput) Validate() error {
  2192  	invalidParams := request.ErrInvalidParams{Context: "StartAttachmentUploadInput"}
  2193  	if s.AttachmentName == nil {
  2194  		invalidParams.Add(request.NewErrParamRequired("AttachmentName"))
  2195  	}
  2196  	if s.AttachmentName != nil && len(*s.AttachmentName) < 1 {
  2197  		invalidParams.Add(request.NewErrParamMinLen("AttachmentName", 1))
  2198  	}
  2199  	if s.AttachmentSizeInBytes == nil {
  2200  		invalidParams.Add(request.NewErrParamRequired("AttachmentSizeInBytes"))
  2201  	}
  2202  	if s.AttachmentSizeInBytes != nil && *s.AttachmentSizeInBytes < 1 {
  2203  		invalidParams.Add(request.NewErrParamMinValue("AttachmentSizeInBytes", 1))
  2204  	}
  2205  	if s.ClientToken != nil && len(*s.ClientToken) < 1 {
  2206  		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
  2207  	}
  2208  	if s.ConnectionToken == nil {
  2209  		invalidParams.Add(request.NewErrParamRequired("ConnectionToken"))
  2210  	}
  2211  	if s.ConnectionToken != nil && len(*s.ConnectionToken) < 1 {
  2212  		invalidParams.Add(request.NewErrParamMinLen("ConnectionToken", 1))
  2213  	}
  2214  	if s.ContentType == nil {
  2215  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
  2216  	}
  2217  	if s.ContentType != nil && len(*s.ContentType) < 1 {
  2218  		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
  2219  	}
  2220  
  2221  	if invalidParams.Len() > 0 {
  2222  		return invalidParams
  2223  	}
  2224  	return nil
  2225  }
  2226  
  2227  // SetAttachmentName sets the AttachmentName field's value.
  2228  func (s *StartAttachmentUploadInput) SetAttachmentName(v string) *StartAttachmentUploadInput {
  2229  	s.AttachmentName = &v
  2230  	return s
  2231  }
  2232  
  2233  // SetAttachmentSizeInBytes sets the AttachmentSizeInBytes field's value.
  2234  func (s *StartAttachmentUploadInput) SetAttachmentSizeInBytes(v int64) *StartAttachmentUploadInput {
  2235  	s.AttachmentSizeInBytes = &v
  2236  	return s
  2237  }
  2238  
  2239  // SetClientToken sets the ClientToken field's value.
  2240  func (s *StartAttachmentUploadInput) SetClientToken(v string) *StartAttachmentUploadInput {
  2241  	s.ClientToken = &v
  2242  	return s
  2243  }
  2244  
  2245  // SetConnectionToken sets the ConnectionToken field's value.
  2246  func (s *StartAttachmentUploadInput) SetConnectionToken(v string) *StartAttachmentUploadInput {
  2247  	s.ConnectionToken = &v
  2248  	return s
  2249  }
  2250  
  2251  // SetContentType sets the ContentType field's value.
  2252  func (s *StartAttachmentUploadInput) SetContentType(v string) *StartAttachmentUploadInput {
  2253  	s.ContentType = &v
  2254  	return s
  2255  }
  2256  
  2257  type StartAttachmentUploadOutput struct {
  2258  	_ struct{} `type:"structure"`
  2259  
  2260  	// A unique identifier for the attachment.
  2261  	AttachmentId *string `min:"1" type:"string"`
  2262  
  2263  	// Fields to be used while uploading the attachment.
  2264  	UploadMetadata *UploadMetadata `type:"structure"`
  2265  }
  2266  
  2267  // String returns the string representation.
  2268  //
  2269  // API parameter values that are decorated as "sensitive" in the API will not
  2270  // be included in the string output. The member name will be present, but the
  2271  // value will be replaced with "sensitive".
  2272  func (s StartAttachmentUploadOutput) String() string {
  2273  	return awsutil.Prettify(s)
  2274  }
  2275  
  2276  // GoString returns the string representation.
  2277  //
  2278  // API parameter values that are decorated as "sensitive" in the API will not
  2279  // be included in the string output. The member name will be present, but the
  2280  // value will be replaced with "sensitive".
  2281  func (s StartAttachmentUploadOutput) GoString() string {
  2282  	return s.String()
  2283  }
  2284  
  2285  // SetAttachmentId sets the AttachmentId field's value.
  2286  func (s *StartAttachmentUploadOutput) SetAttachmentId(v string) *StartAttachmentUploadOutput {
  2287  	s.AttachmentId = &v
  2288  	return s
  2289  }
  2290  
  2291  // SetUploadMetadata sets the UploadMetadata field's value.
  2292  func (s *StartAttachmentUploadOutput) SetUploadMetadata(v *UploadMetadata) *StartAttachmentUploadOutput {
  2293  	s.UploadMetadata = v
  2294  	return s
  2295  }
  2296  
  2297  // A filtering option for where to start. For example, if you sent 100 messages,
  2298  // start with message 50.
  2299  type StartPosition struct {
  2300  	_ struct{} `type:"structure"`
  2301  
  2302  	// The time in ISO format where to start.
  2303  	//
  2304  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  2305  	// 2019-11-08T02:41:28.172Z.
  2306  	AbsoluteTime *string `min:"1" type:"string"`
  2307  
  2308  	// The ID of the message or event where to start.
  2309  	Id *string `min:"1" type:"string"`
  2310  
  2311  	// The start position of the most recent message where you want to start.
  2312  	MostRecent *int64 `type:"integer"`
  2313  }
  2314  
  2315  // String returns the string representation.
  2316  //
  2317  // API parameter values that are decorated as "sensitive" in the API will not
  2318  // be included in the string output. The member name will be present, but the
  2319  // value will be replaced with "sensitive".
  2320  func (s StartPosition) String() string {
  2321  	return awsutil.Prettify(s)
  2322  }
  2323  
  2324  // GoString returns the string representation.
  2325  //
  2326  // API parameter values that are decorated as "sensitive" in the API will not
  2327  // be included in the string output. The member name will be present, but the
  2328  // value will be replaced with "sensitive".
  2329  func (s StartPosition) GoString() string {
  2330  	return s.String()
  2331  }
  2332  
  2333  // Validate inspects the fields of the type to determine if they are valid.
  2334  func (s *StartPosition) Validate() error {
  2335  	invalidParams := request.ErrInvalidParams{Context: "StartPosition"}
  2336  	if s.AbsoluteTime != nil && len(*s.AbsoluteTime) < 1 {
  2337  		invalidParams.Add(request.NewErrParamMinLen("AbsoluteTime", 1))
  2338  	}
  2339  	if s.Id != nil && len(*s.Id) < 1 {
  2340  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  2341  	}
  2342  
  2343  	if invalidParams.Len() > 0 {
  2344  		return invalidParams
  2345  	}
  2346  	return nil
  2347  }
  2348  
  2349  // SetAbsoluteTime sets the AbsoluteTime field's value.
  2350  func (s *StartPosition) SetAbsoluteTime(v string) *StartPosition {
  2351  	s.AbsoluteTime = &v
  2352  	return s
  2353  }
  2354  
  2355  // SetId sets the Id field's value.
  2356  func (s *StartPosition) SetId(v string) *StartPosition {
  2357  	s.Id = &v
  2358  	return s
  2359  }
  2360  
  2361  // SetMostRecent sets the MostRecent field's value.
  2362  func (s *StartPosition) SetMostRecent(v int64) *StartPosition {
  2363  	s.MostRecent = &v
  2364  	return s
  2365  }
  2366  
  2367  // The request was denied due to request throttling.
  2368  type ThrottlingException struct {
  2369  	_            struct{}                  `type:"structure"`
  2370  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2371  
  2372  	Message_ *string `locationName:"Message" type:"string"`
  2373  }
  2374  
  2375  // String returns the string representation.
  2376  //
  2377  // API parameter values that are decorated as "sensitive" in the API will not
  2378  // be included in the string output. The member name will be present, but the
  2379  // value will be replaced with "sensitive".
  2380  func (s ThrottlingException) String() string {
  2381  	return awsutil.Prettify(s)
  2382  }
  2383  
  2384  // GoString returns the string representation.
  2385  //
  2386  // API parameter values that are decorated as "sensitive" in the API will not
  2387  // be included in the string output. The member name will be present, but the
  2388  // value will be replaced with "sensitive".
  2389  func (s ThrottlingException) GoString() string {
  2390  	return s.String()
  2391  }
  2392  
  2393  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  2394  	return &ThrottlingException{
  2395  		RespMetadata: v,
  2396  	}
  2397  }
  2398  
  2399  // Code returns the exception type name.
  2400  func (s *ThrottlingException) Code() string {
  2401  	return "ThrottlingException"
  2402  }
  2403  
  2404  // Message returns the exception's message.
  2405  func (s *ThrottlingException) Message() string {
  2406  	if s.Message_ != nil {
  2407  		return *s.Message_
  2408  	}
  2409  	return ""
  2410  }
  2411  
  2412  // OrigErr always returns nil, satisfies awserr.Error interface.
  2413  func (s *ThrottlingException) OrigErr() error {
  2414  	return nil
  2415  }
  2416  
  2417  func (s *ThrottlingException) Error() string {
  2418  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2419  }
  2420  
  2421  // Status code returns the HTTP status code for the request's response error.
  2422  func (s *ThrottlingException) StatusCode() int {
  2423  	return s.RespMetadata.StatusCode
  2424  }
  2425  
  2426  // RequestID returns the service's response RequestID for request.
  2427  func (s *ThrottlingException) RequestID() string {
  2428  	return s.RespMetadata.RequestID
  2429  }
  2430  
  2431  // Fields to be used while uploading the attachment.
  2432  type UploadMetadata struct {
  2433  	_ struct{} `type:"structure"`
  2434  
  2435  	// The headers to be provided while uploading the file to the URL.
  2436  	HeadersToInclude map[string]*string `type:"map"`
  2437  
  2438  	// The pre-signed URL using which file would be downloaded from Amazon S3 by
  2439  	// the API caller.
  2440  	Url *string `min:"1" type:"string"`
  2441  
  2442  	// The expiration time of the URL in ISO timestamp. It's specified in ISO 8601
  2443  	// format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.
  2444  	UrlExpiry *string `type:"string"`
  2445  }
  2446  
  2447  // String returns the string representation.
  2448  //
  2449  // API parameter values that are decorated as "sensitive" in the API will not
  2450  // be included in the string output. The member name will be present, but the
  2451  // value will be replaced with "sensitive".
  2452  func (s UploadMetadata) String() string {
  2453  	return awsutil.Prettify(s)
  2454  }
  2455  
  2456  // GoString returns the string representation.
  2457  //
  2458  // API parameter values that are decorated as "sensitive" in the API will not
  2459  // be included in the string output. The member name will be present, but the
  2460  // value will be replaced with "sensitive".
  2461  func (s UploadMetadata) GoString() string {
  2462  	return s.String()
  2463  }
  2464  
  2465  // SetHeadersToInclude sets the HeadersToInclude field's value.
  2466  func (s *UploadMetadata) SetHeadersToInclude(v map[string]*string) *UploadMetadata {
  2467  	s.HeadersToInclude = v
  2468  	return s
  2469  }
  2470  
  2471  // SetUrl sets the Url field's value.
  2472  func (s *UploadMetadata) SetUrl(v string) *UploadMetadata {
  2473  	s.Url = &v
  2474  	return s
  2475  }
  2476  
  2477  // SetUrlExpiry sets the UrlExpiry field's value.
  2478  func (s *UploadMetadata) SetUrlExpiry(v string) *UploadMetadata {
  2479  	s.UrlExpiry = &v
  2480  	return s
  2481  }
  2482  
  2483  // The input fails to satisfy the constraints specified by Amazon Connect.
  2484  type ValidationException struct {
  2485  	_            struct{}                  `type:"structure"`
  2486  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2487  
  2488  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2489  }
  2490  
  2491  // String returns the string representation.
  2492  //
  2493  // API parameter values that are decorated as "sensitive" in the API will not
  2494  // be included in the string output. The member name will be present, but the
  2495  // value will be replaced with "sensitive".
  2496  func (s ValidationException) String() string {
  2497  	return awsutil.Prettify(s)
  2498  }
  2499  
  2500  // GoString returns the string representation.
  2501  //
  2502  // API parameter values that are decorated as "sensitive" in the API will not
  2503  // be included in the string output. The member name will be present, but the
  2504  // value will be replaced with "sensitive".
  2505  func (s ValidationException) GoString() string {
  2506  	return s.String()
  2507  }
  2508  
  2509  func newErrorValidationException(v protocol.ResponseMetadata) error {
  2510  	return &ValidationException{
  2511  		RespMetadata: v,
  2512  	}
  2513  }
  2514  
  2515  // Code returns the exception type name.
  2516  func (s *ValidationException) Code() string {
  2517  	return "ValidationException"
  2518  }
  2519  
  2520  // Message returns the exception's message.
  2521  func (s *ValidationException) Message() string {
  2522  	if s.Message_ != nil {
  2523  		return *s.Message_
  2524  	}
  2525  	return ""
  2526  }
  2527  
  2528  // OrigErr always returns nil, satisfies awserr.Error interface.
  2529  func (s *ValidationException) OrigErr() error {
  2530  	return nil
  2531  }
  2532  
  2533  func (s *ValidationException) Error() string {
  2534  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2535  }
  2536  
  2537  // Status code returns the HTTP status code for the request's response error.
  2538  func (s *ValidationException) StatusCode() int {
  2539  	return s.RespMetadata.StatusCode
  2540  }
  2541  
  2542  // RequestID returns the service's response RequestID for request.
  2543  func (s *ValidationException) RequestID() string {
  2544  	return s.RespMetadata.RequestID
  2545  }
  2546  
  2547  // The websocket for the participant's connection.
  2548  type Websocket struct {
  2549  	_ struct{} `type:"structure"`
  2550  
  2551  	// The URL expiration timestamp in ISO date format.
  2552  	//
  2553  	// It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example,
  2554  	// 2019-11-08T02:41:28.172Z.
  2555  	ConnectionExpiry *string `type:"string"`
  2556  
  2557  	// The URL of the websocket.
  2558  	Url *string `min:"1" type:"string"`
  2559  }
  2560  
  2561  // String returns the string representation.
  2562  //
  2563  // API parameter values that are decorated as "sensitive" in the API will not
  2564  // be included in the string output. The member name will be present, but the
  2565  // value will be replaced with "sensitive".
  2566  func (s Websocket) String() string {
  2567  	return awsutil.Prettify(s)
  2568  }
  2569  
  2570  // GoString returns the string representation.
  2571  //
  2572  // API parameter values that are decorated as "sensitive" in the API will not
  2573  // be included in the string output. The member name will be present, but the
  2574  // value will be replaced with "sensitive".
  2575  func (s Websocket) GoString() string {
  2576  	return s.String()
  2577  }
  2578  
  2579  // SetConnectionExpiry sets the ConnectionExpiry field's value.
  2580  func (s *Websocket) SetConnectionExpiry(v string) *Websocket {
  2581  	s.ConnectionExpiry = &v
  2582  	return s
  2583  }
  2584  
  2585  // SetUrl sets the Url field's value.
  2586  func (s *Websocket) SetUrl(v string) *Websocket {
  2587  	s.Url = &v
  2588  	return s
  2589  }
  2590  
  2591  const (
  2592  	// ArtifactStatusApproved is a ArtifactStatus enum value
  2593  	ArtifactStatusApproved = "APPROVED"
  2594  
  2595  	// ArtifactStatusRejected is a ArtifactStatus enum value
  2596  	ArtifactStatusRejected = "REJECTED"
  2597  
  2598  	// ArtifactStatusInProgress is a ArtifactStatus enum value
  2599  	ArtifactStatusInProgress = "IN_PROGRESS"
  2600  )
  2601  
  2602  // ArtifactStatus_Values returns all elements of the ArtifactStatus enum
  2603  func ArtifactStatus_Values() []string {
  2604  	return []string{
  2605  		ArtifactStatusApproved,
  2606  		ArtifactStatusRejected,
  2607  		ArtifactStatusInProgress,
  2608  	}
  2609  }
  2610  
  2611  const (
  2612  	// ChatItemTypeTyping is a ChatItemType enum value
  2613  	ChatItemTypeTyping = "TYPING"
  2614  
  2615  	// ChatItemTypeParticipantJoined is a ChatItemType enum value
  2616  	ChatItemTypeParticipantJoined = "PARTICIPANT_JOINED"
  2617  
  2618  	// ChatItemTypeParticipantLeft is a ChatItemType enum value
  2619  	ChatItemTypeParticipantLeft = "PARTICIPANT_LEFT"
  2620  
  2621  	// ChatItemTypeChatEnded is a ChatItemType enum value
  2622  	ChatItemTypeChatEnded = "CHAT_ENDED"
  2623  
  2624  	// ChatItemTypeTransferSucceeded is a ChatItemType enum value
  2625  	ChatItemTypeTransferSucceeded = "TRANSFER_SUCCEEDED"
  2626  
  2627  	// ChatItemTypeTransferFailed is a ChatItemType enum value
  2628  	ChatItemTypeTransferFailed = "TRANSFER_FAILED"
  2629  
  2630  	// ChatItemTypeMessage is a ChatItemType enum value
  2631  	ChatItemTypeMessage = "MESSAGE"
  2632  
  2633  	// ChatItemTypeEvent is a ChatItemType enum value
  2634  	ChatItemTypeEvent = "EVENT"
  2635  
  2636  	// ChatItemTypeAttachment is a ChatItemType enum value
  2637  	ChatItemTypeAttachment = "ATTACHMENT"
  2638  
  2639  	// ChatItemTypeConnectionAck is a ChatItemType enum value
  2640  	ChatItemTypeConnectionAck = "CONNECTION_ACK"
  2641  )
  2642  
  2643  // ChatItemType_Values returns all elements of the ChatItemType enum
  2644  func ChatItemType_Values() []string {
  2645  	return []string{
  2646  		ChatItemTypeTyping,
  2647  		ChatItemTypeParticipantJoined,
  2648  		ChatItemTypeParticipantLeft,
  2649  		ChatItemTypeChatEnded,
  2650  		ChatItemTypeTransferSucceeded,
  2651  		ChatItemTypeTransferFailed,
  2652  		ChatItemTypeMessage,
  2653  		ChatItemTypeEvent,
  2654  		ChatItemTypeAttachment,
  2655  		ChatItemTypeConnectionAck,
  2656  	}
  2657  }
  2658  
  2659  const (
  2660  	// ConnectionTypeWebsocket is a ConnectionType enum value
  2661  	ConnectionTypeWebsocket = "WEBSOCKET"
  2662  
  2663  	// ConnectionTypeConnectionCredentials is a ConnectionType enum value
  2664  	ConnectionTypeConnectionCredentials = "CONNECTION_CREDENTIALS"
  2665  )
  2666  
  2667  // ConnectionType_Values returns all elements of the ConnectionType enum
  2668  func ConnectionType_Values() []string {
  2669  	return []string{
  2670  		ConnectionTypeWebsocket,
  2671  		ConnectionTypeConnectionCredentials,
  2672  	}
  2673  }
  2674  
  2675  const (
  2676  	// ParticipantRoleAgent is a ParticipantRole enum value
  2677  	ParticipantRoleAgent = "AGENT"
  2678  
  2679  	// ParticipantRoleCustomer is a ParticipantRole enum value
  2680  	ParticipantRoleCustomer = "CUSTOMER"
  2681  
  2682  	// ParticipantRoleSystem is a ParticipantRole enum value
  2683  	ParticipantRoleSystem = "SYSTEM"
  2684  )
  2685  
  2686  // ParticipantRole_Values returns all elements of the ParticipantRole enum
  2687  func ParticipantRole_Values() []string {
  2688  	return []string{
  2689  		ParticipantRoleAgent,
  2690  		ParticipantRoleCustomer,
  2691  		ParticipantRoleSystem,
  2692  	}
  2693  }
  2694  
  2695  const (
  2696  	// ScanDirectionForward is a ScanDirection enum value
  2697  	ScanDirectionForward = "FORWARD"
  2698  
  2699  	// ScanDirectionBackward is a ScanDirection enum value
  2700  	ScanDirectionBackward = "BACKWARD"
  2701  )
  2702  
  2703  // ScanDirection_Values returns all elements of the ScanDirection enum
  2704  func ScanDirection_Values() []string {
  2705  	return []string{
  2706  		ScanDirectionForward,
  2707  		ScanDirectionBackward,
  2708  	}
  2709  }
  2710  
  2711  const (
  2712  	// SortKeyDescending is a SortKey enum value
  2713  	SortKeyDescending = "DESCENDING"
  2714  
  2715  	// SortKeyAscending is a SortKey enum value
  2716  	SortKeyAscending = "ASCENDING"
  2717  )
  2718  
  2719  // SortKey_Values returns all elements of the SortKey enum
  2720  func SortKey_Values() []string {
  2721  	return []string{
  2722  		SortKeyDescending,
  2723  		SortKeyAscending,
  2724  	}
  2725  }