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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package connectcontactlens
     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  )
    13  
    14  const opListRealtimeContactAnalysisSegments = "ListRealtimeContactAnalysisSegments"
    15  
    16  // ListRealtimeContactAnalysisSegmentsRequest generates a "aws/request.Request" representing the
    17  // client's request for the ListRealtimeContactAnalysisSegments operation. The "output" return
    18  // value will be populated with the request's response once the request completes
    19  // successfully.
    20  //
    21  // Use "Send" method on the returned Request to send the API call to the service.
    22  // the "output" return value is not valid until after Send returns without error.
    23  //
    24  // See ListRealtimeContactAnalysisSegments for more information on using the ListRealtimeContactAnalysisSegments
    25  // API call, and error handling.
    26  //
    27  // This method is useful when you want to inject custom logic or configuration
    28  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    29  //
    30  //
    31  //    // Example sending a request using the ListRealtimeContactAnalysisSegmentsRequest method.
    32  //    req, resp := client.ListRealtimeContactAnalysisSegmentsRequest(params)
    33  //
    34  //    err := req.Send()
    35  //    if err == nil { // resp is now filled
    36  //        fmt.Println(resp)
    37  //    }
    38  //
    39  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-contact-lens-2020-08-21/ListRealtimeContactAnalysisSegments
    40  func (c *ConnectContactLens) ListRealtimeContactAnalysisSegmentsRequest(input *ListRealtimeContactAnalysisSegmentsInput) (req *request.Request, output *ListRealtimeContactAnalysisSegmentsOutput) {
    41  	op := &request.Operation{
    42  		Name:       opListRealtimeContactAnalysisSegments,
    43  		HTTPMethod: "POST",
    44  		HTTPPath:   "/realtime-contact-analysis/analysis-segments",
    45  		Paginator: &request.Paginator{
    46  			InputTokens:     []string{"NextToken"},
    47  			OutputTokens:    []string{"NextToken"},
    48  			LimitToken:      "MaxResults",
    49  			TruncationToken: "",
    50  		},
    51  	}
    52  
    53  	if input == nil {
    54  		input = &ListRealtimeContactAnalysisSegmentsInput{}
    55  	}
    56  
    57  	output = &ListRealtimeContactAnalysisSegmentsOutput{}
    58  	req = c.newRequest(op, input, output)
    59  	return
    60  }
    61  
    62  // ListRealtimeContactAnalysisSegments API operation for Amazon Connect Contact Lens.
    63  //
    64  // Provides a list of analysis segments for a real-time analysis session.
    65  //
    66  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    67  // with awserr.Error's Code and Message methods to get detailed information about
    68  // the error.
    69  //
    70  // See the AWS API reference guide for Amazon Connect Contact Lens's
    71  // API operation ListRealtimeContactAnalysisSegments for usage and error information.
    72  //
    73  // Returned Error Types:
    74  //   * InvalidRequestException
    75  //   The request is not valid.
    76  //
    77  //   * AccessDeniedException
    78  //   You do not have sufficient access to perform this action.
    79  //
    80  //   * ResourceNotFoundException
    81  //   The specified resource was not found.
    82  //
    83  //   * InternalServiceException
    84  //   Request processing failed due to an error or failure with the service.
    85  //
    86  //   * ThrottlingException
    87  //   The throttling limit has been exceeded.
    88  //
    89  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-contact-lens-2020-08-21/ListRealtimeContactAnalysisSegments
    90  func (c *ConnectContactLens) ListRealtimeContactAnalysisSegments(input *ListRealtimeContactAnalysisSegmentsInput) (*ListRealtimeContactAnalysisSegmentsOutput, error) {
    91  	req, out := c.ListRealtimeContactAnalysisSegmentsRequest(input)
    92  	return out, req.Send()
    93  }
    94  
    95  // ListRealtimeContactAnalysisSegmentsWithContext is the same as ListRealtimeContactAnalysisSegments with the addition of
    96  // the ability to pass a context and additional request options.
    97  //
    98  // See ListRealtimeContactAnalysisSegments for details on how to use this API operation.
    99  //
   100  // The context must be non-nil and will be used for request cancellation. If
   101  // the context is nil a panic will occur. In the future the SDK may create
   102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   103  // for more information on using Contexts.
   104  func (c *ConnectContactLens) ListRealtimeContactAnalysisSegmentsWithContext(ctx aws.Context, input *ListRealtimeContactAnalysisSegmentsInput, opts ...request.Option) (*ListRealtimeContactAnalysisSegmentsOutput, error) {
   105  	req, out := c.ListRealtimeContactAnalysisSegmentsRequest(input)
   106  	req.SetContext(ctx)
   107  	req.ApplyOptions(opts...)
   108  	return out, req.Send()
   109  }
   110  
   111  // ListRealtimeContactAnalysisSegmentsPages iterates over the pages of a ListRealtimeContactAnalysisSegments operation,
   112  // calling the "fn" function with the response data for each page. To stop
   113  // iterating, return false from the fn function.
   114  //
   115  // See ListRealtimeContactAnalysisSegments method for more information on how to use this operation.
   116  //
   117  // Note: This operation can generate multiple requests to a service.
   118  //
   119  //    // Example iterating over at most 3 pages of a ListRealtimeContactAnalysisSegments operation.
   120  //    pageNum := 0
   121  //    err := client.ListRealtimeContactAnalysisSegmentsPages(params,
   122  //        func(page *connectcontactlens.ListRealtimeContactAnalysisSegmentsOutput, lastPage bool) bool {
   123  //            pageNum++
   124  //            fmt.Println(page)
   125  //            return pageNum <= 3
   126  //        })
   127  //
   128  func (c *ConnectContactLens) ListRealtimeContactAnalysisSegmentsPages(input *ListRealtimeContactAnalysisSegmentsInput, fn func(*ListRealtimeContactAnalysisSegmentsOutput, bool) bool) error {
   129  	return c.ListRealtimeContactAnalysisSegmentsPagesWithContext(aws.BackgroundContext(), input, fn)
   130  }
   131  
   132  // ListRealtimeContactAnalysisSegmentsPagesWithContext same as ListRealtimeContactAnalysisSegmentsPages except
   133  // it takes a Context and allows setting request options on the pages.
   134  //
   135  // The context must be non-nil and will be used for request cancellation. If
   136  // the context is nil a panic will occur. In the future the SDK may create
   137  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   138  // for more information on using Contexts.
   139  func (c *ConnectContactLens) ListRealtimeContactAnalysisSegmentsPagesWithContext(ctx aws.Context, input *ListRealtimeContactAnalysisSegmentsInput, fn func(*ListRealtimeContactAnalysisSegmentsOutput, bool) bool, opts ...request.Option) error {
   140  	p := request.Pagination{
   141  		NewRequest: func() (*request.Request, error) {
   142  			var inCpy *ListRealtimeContactAnalysisSegmentsInput
   143  			if input != nil {
   144  				tmp := *input
   145  				inCpy = &tmp
   146  			}
   147  			req, _ := c.ListRealtimeContactAnalysisSegmentsRequest(inCpy)
   148  			req.SetContext(ctx)
   149  			req.ApplyOptions(opts...)
   150  			return req, nil
   151  		},
   152  	}
   153  
   154  	for p.Next() {
   155  		if !fn(p.Page().(*ListRealtimeContactAnalysisSegmentsOutput), !p.HasNextPage()) {
   156  			break
   157  		}
   158  	}
   159  
   160  	return p.Err()
   161  }
   162  
   163  // You do not have sufficient access to perform this action.
   164  type AccessDeniedException struct {
   165  	_            struct{}                  `type:"structure"`
   166  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   167  
   168  	Message_ *string `locationName:"Message" type:"string"`
   169  }
   170  
   171  // String returns the string representation.
   172  //
   173  // API parameter values that are decorated as "sensitive" in the API will not
   174  // be included in the string output. The member name will be present, but the
   175  // value will be replaced with "sensitive".
   176  func (s AccessDeniedException) String() string {
   177  	return awsutil.Prettify(s)
   178  }
   179  
   180  // GoString returns the string representation.
   181  //
   182  // API parameter values that are decorated as "sensitive" in the API will not
   183  // be included in the string output. The member name will be present, but the
   184  // value will be replaced with "sensitive".
   185  func (s AccessDeniedException) GoString() string {
   186  	return s.String()
   187  }
   188  
   189  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
   190  	return &AccessDeniedException{
   191  		RespMetadata: v,
   192  	}
   193  }
   194  
   195  // Code returns the exception type name.
   196  func (s *AccessDeniedException) Code() string {
   197  	return "AccessDeniedException"
   198  }
   199  
   200  // Message returns the exception's message.
   201  func (s *AccessDeniedException) Message() string {
   202  	if s.Message_ != nil {
   203  		return *s.Message_
   204  	}
   205  	return ""
   206  }
   207  
   208  // OrigErr always returns nil, satisfies awserr.Error interface.
   209  func (s *AccessDeniedException) OrigErr() error {
   210  	return nil
   211  }
   212  
   213  func (s *AccessDeniedException) Error() string {
   214  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   215  }
   216  
   217  // Status code returns the HTTP status code for the request's response error.
   218  func (s *AccessDeniedException) StatusCode() int {
   219  	return s.RespMetadata.StatusCode
   220  }
   221  
   222  // RequestID returns the service's response RequestID for request.
   223  func (s *AccessDeniedException) RequestID() string {
   224  	return s.RespMetadata.RequestID
   225  }
   226  
   227  // Provides the category rules that are used to automatically categorize contacts
   228  // based on uttered keywords and phrases.
   229  type Categories struct {
   230  	_ struct{} `type:"structure"`
   231  
   232  	// The category rules that have been matched in the analyzed segment.
   233  	//
   234  	// MatchedCategories is a required field
   235  	MatchedCategories []*string `type:"list" required:"true"`
   236  
   237  	// The category rule that was matched and when it occurred in the transcript.
   238  	//
   239  	// MatchedDetails is a required field
   240  	MatchedDetails map[string]*CategoryDetails `type:"map" required:"true"`
   241  }
   242  
   243  // String returns the string representation.
   244  //
   245  // API parameter values that are decorated as "sensitive" in the API will not
   246  // be included in the string output. The member name will be present, but the
   247  // value will be replaced with "sensitive".
   248  func (s Categories) String() string {
   249  	return awsutil.Prettify(s)
   250  }
   251  
   252  // GoString returns the string representation.
   253  //
   254  // API parameter values that are decorated as "sensitive" in the API will not
   255  // be included in the string output. The member name will be present, but the
   256  // value will be replaced with "sensitive".
   257  func (s Categories) GoString() string {
   258  	return s.String()
   259  }
   260  
   261  // SetMatchedCategories sets the MatchedCategories field's value.
   262  func (s *Categories) SetMatchedCategories(v []*string) *Categories {
   263  	s.MatchedCategories = v
   264  	return s
   265  }
   266  
   267  // SetMatchedDetails sets the MatchedDetails field's value.
   268  func (s *Categories) SetMatchedDetails(v map[string]*CategoryDetails) *Categories {
   269  	s.MatchedDetails = v
   270  	return s
   271  }
   272  
   273  // Provides information about the category rule that was matched.
   274  type CategoryDetails struct {
   275  	_ struct{} `type:"structure"`
   276  
   277  	// The section of audio where the category rule was detected.
   278  	//
   279  	// PointsOfInterest is a required field
   280  	PointsOfInterest []*PointOfInterest `type:"list" required:"true"`
   281  }
   282  
   283  // String returns the string representation.
   284  //
   285  // API parameter values that are decorated as "sensitive" in the API will not
   286  // be included in the string output. The member name will be present, but the
   287  // value will be replaced with "sensitive".
   288  func (s CategoryDetails) String() string {
   289  	return awsutil.Prettify(s)
   290  }
   291  
   292  // GoString returns the string representation.
   293  //
   294  // API parameter values that are decorated as "sensitive" in the API will not
   295  // be included in the string output. The member name will be present, but the
   296  // value will be replaced with "sensitive".
   297  func (s CategoryDetails) GoString() string {
   298  	return s.String()
   299  }
   300  
   301  // SetPointsOfInterest sets the PointsOfInterest field's value.
   302  func (s *CategoryDetails) SetPointsOfInterest(v []*PointOfInterest) *CategoryDetails {
   303  	s.PointsOfInterest = v
   304  	return s
   305  }
   306  
   307  // For characters that were detected as issues, where they occur in the transcript.
   308  type CharacterOffsets struct {
   309  	_ struct{} `type:"structure"`
   310  
   311  	// The beginning of the issue.
   312  	//
   313  	// BeginOffsetChar is a required field
   314  	BeginOffsetChar *int64 `type:"integer" required:"true"`
   315  
   316  	// The end of the issue.
   317  	//
   318  	// EndOffsetChar is a required field
   319  	EndOffsetChar *int64 `type:"integer" required:"true"`
   320  }
   321  
   322  // String returns the string representation.
   323  //
   324  // API parameter values that are decorated as "sensitive" in the API will not
   325  // be included in the string output. The member name will be present, but the
   326  // value will be replaced with "sensitive".
   327  func (s CharacterOffsets) String() string {
   328  	return awsutil.Prettify(s)
   329  }
   330  
   331  // GoString returns the string representation.
   332  //
   333  // API parameter values that are decorated as "sensitive" in the API will not
   334  // be included in the string output. The member name will be present, but the
   335  // value will be replaced with "sensitive".
   336  func (s CharacterOffsets) GoString() string {
   337  	return s.String()
   338  }
   339  
   340  // SetBeginOffsetChar sets the BeginOffsetChar field's value.
   341  func (s *CharacterOffsets) SetBeginOffsetChar(v int64) *CharacterOffsets {
   342  	s.BeginOffsetChar = &v
   343  	return s
   344  }
   345  
   346  // SetEndOffsetChar sets the EndOffsetChar field's value.
   347  func (s *CharacterOffsets) SetEndOffsetChar(v int64) *CharacterOffsets {
   348  	s.EndOffsetChar = &v
   349  	return s
   350  }
   351  
   352  // Request processing failed due to an error or failure with the service.
   353  type InternalServiceException struct {
   354  	_            struct{}                  `type:"structure"`
   355  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   356  
   357  	Message_ *string `locationName:"Message" type:"string"`
   358  }
   359  
   360  // String returns the string representation.
   361  //
   362  // API parameter values that are decorated as "sensitive" in the API will not
   363  // be included in the string output. The member name will be present, but the
   364  // value will be replaced with "sensitive".
   365  func (s InternalServiceException) String() string {
   366  	return awsutil.Prettify(s)
   367  }
   368  
   369  // GoString returns the string representation.
   370  //
   371  // API parameter values that are decorated as "sensitive" in the API will not
   372  // be included in the string output. The member name will be present, but the
   373  // value will be replaced with "sensitive".
   374  func (s InternalServiceException) GoString() string {
   375  	return s.String()
   376  }
   377  
   378  func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
   379  	return &InternalServiceException{
   380  		RespMetadata: v,
   381  	}
   382  }
   383  
   384  // Code returns the exception type name.
   385  func (s *InternalServiceException) Code() string {
   386  	return "InternalServiceException"
   387  }
   388  
   389  // Message returns the exception's message.
   390  func (s *InternalServiceException) Message() string {
   391  	if s.Message_ != nil {
   392  		return *s.Message_
   393  	}
   394  	return ""
   395  }
   396  
   397  // OrigErr always returns nil, satisfies awserr.Error interface.
   398  func (s *InternalServiceException) OrigErr() error {
   399  	return nil
   400  }
   401  
   402  func (s *InternalServiceException) Error() string {
   403  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   404  }
   405  
   406  // Status code returns the HTTP status code for the request's response error.
   407  func (s *InternalServiceException) StatusCode() int {
   408  	return s.RespMetadata.StatusCode
   409  }
   410  
   411  // RequestID returns the service's response RequestID for request.
   412  func (s *InternalServiceException) RequestID() string {
   413  	return s.RespMetadata.RequestID
   414  }
   415  
   416  // The request is not valid.
   417  type InvalidRequestException struct {
   418  	_            struct{}                  `type:"structure"`
   419  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   420  
   421  	Message_ *string `locationName:"Message" type:"string"`
   422  }
   423  
   424  // String returns the string representation.
   425  //
   426  // API parameter values that are decorated as "sensitive" in the API will not
   427  // be included in the string output. The member name will be present, but the
   428  // value will be replaced with "sensitive".
   429  func (s InvalidRequestException) String() string {
   430  	return awsutil.Prettify(s)
   431  }
   432  
   433  // GoString returns the string representation.
   434  //
   435  // API parameter values that are decorated as "sensitive" in the API will not
   436  // be included in the string output. The member name will be present, but the
   437  // value will be replaced with "sensitive".
   438  func (s InvalidRequestException) GoString() string {
   439  	return s.String()
   440  }
   441  
   442  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
   443  	return &InvalidRequestException{
   444  		RespMetadata: v,
   445  	}
   446  }
   447  
   448  // Code returns the exception type name.
   449  func (s *InvalidRequestException) Code() string {
   450  	return "InvalidRequestException"
   451  }
   452  
   453  // Message returns the exception's message.
   454  func (s *InvalidRequestException) Message() string {
   455  	if s.Message_ != nil {
   456  		return *s.Message_
   457  	}
   458  	return ""
   459  }
   460  
   461  // OrigErr always returns nil, satisfies awserr.Error interface.
   462  func (s *InvalidRequestException) OrigErr() error {
   463  	return nil
   464  }
   465  
   466  func (s *InvalidRequestException) Error() string {
   467  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   468  }
   469  
   470  // Status code returns the HTTP status code for the request's response error.
   471  func (s *InvalidRequestException) StatusCode() int {
   472  	return s.RespMetadata.StatusCode
   473  }
   474  
   475  // RequestID returns the service's response RequestID for request.
   476  func (s *InvalidRequestException) RequestID() string {
   477  	return s.RespMetadata.RequestID
   478  }
   479  
   480  // Potential issues that are detected based on an artificial intelligence analysis
   481  // of each turn in the conversation.
   482  type IssueDetected struct {
   483  	_ struct{} `type:"structure"`
   484  
   485  	// The offset for when the issue was detected in the segment.
   486  	//
   487  	// CharacterOffsets is a required field
   488  	CharacterOffsets *CharacterOffsets `type:"structure" required:"true"`
   489  }
   490  
   491  // String returns the string representation.
   492  //
   493  // API parameter values that are decorated as "sensitive" in the API will not
   494  // be included in the string output. The member name will be present, but the
   495  // value will be replaced with "sensitive".
   496  func (s IssueDetected) String() string {
   497  	return awsutil.Prettify(s)
   498  }
   499  
   500  // GoString returns the string representation.
   501  //
   502  // API parameter values that are decorated as "sensitive" in the API will not
   503  // be included in the string output. The member name will be present, but the
   504  // value will be replaced with "sensitive".
   505  func (s IssueDetected) GoString() string {
   506  	return s.String()
   507  }
   508  
   509  // SetCharacterOffsets sets the CharacterOffsets field's value.
   510  func (s *IssueDetected) SetCharacterOffsets(v *CharacterOffsets) *IssueDetected {
   511  	s.CharacterOffsets = v
   512  	return s
   513  }
   514  
   515  type ListRealtimeContactAnalysisSegmentsInput struct {
   516  	_ struct{} `type:"structure"`
   517  
   518  	// The identifier of the contact.
   519  	//
   520  	// ContactId is a required field
   521  	ContactId *string `min:"1" type:"string" required:"true"`
   522  
   523  	// The identifier of the Amazon Connect instance.
   524  	//
   525  	// InstanceId is a required field
   526  	InstanceId *string `min:"1" type:"string" required:"true"`
   527  
   528  	// The maximimum number of results to return per page.
   529  	MaxResults *int64 `min:"1" type:"integer"`
   530  
   531  	// The token for the next set of results. Use the value returned in the previous
   532  	// response in the next request to retrieve the next set of results.
   533  	NextToken *string `min:"1" type:"string"`
   534  }
   535  
   536  // String returns the string representation.
   537  //
   538  // API parameter values that are decorated as "sensitive" in the API will not
   539  // be included in the string output. The member name will be present, but the
   540  // value will be replaced with "sensitive".
   541  func (s ListRealtimeContactAnalysisSegmentsInput) String() string {
   542  	return awsutil.Prettify(s)
   543  }
   544  
   545  // GoString returns the string representation.
   546  //
   547  // API parameter values that are decorated as "sensitive" in the API will not
   548  // be included in the string output. The member name will be present, but the
   549  // value will be replaced with "sensitive".
   550  func (s ListRealtimeContactAnalysisSegmentsInput) GoString() string {
   551  	return s.String()
   552  }
   553  
   554  // Validate inspects the fields of the type to determine if they are valid.
   555  func (s *ListRealtimeContactAnalysisSegmentsInput) Validate() error {
   556  	invalidParams := request.ErrInvalidParams{Context: "ListRealtimeContactAnalysisSegmentsInput"}
   557  	if s.ContactId == nil {
   558  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
   559  	}
   560  	if s.ContactId != nil && len(*s.ContactId) < 1 {
   561  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
   562  	}
   563  	if s.InstanceId == nil {
   564  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
   565  	}
   566  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
   567  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
   568  	}
   569  	if s.MaxResults != nil && *s.MaxResults < 1 {
   570  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
   571  	}
   572  	if s.NextToken != nil && len(*s.NextToken) < 1 {
   573  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
   574  	}
   575  
   576  	if invalidParams.Len() > 0 {
   577  		return invalidParams
   578  	}
   579  	return nil
   580  }
   581  
   582  // SetContactId sets the ContactId field's value.
   583  func (s *ListRealtimeContactAnalysisSegmentsInput) SetContactId(v string) *ListRealtimeContactAnalysisSegmentsInput {
   584  	s.ContactId = &v
   585  	return s
   586  }
   587  
   588  // SetInstanceId sets the InstanceId field's value.
   589  func (s *ListRealtimeContactAnalysisSegmentsInput) SetInstanceId(v string) *ListRealtimeContactAnalysisSegmentsInput {
   590  	s.InstanceId = &v
   591  	return s
   592  }
   593  
   594  // SetMaxResults sets the MaxResults field's value.
   595  func (s *ListRealtimeContactAnalysisSegmentsInput) SetMaxResults(v int64) *ListRealtimeContactAnalysisSegmentsInput {
   596  	s.MaxResults = &v
   597  	return s
   598  }
   599  
   600  // SetNextToken sets the NextToken field's value.
   601  func (s *ListRealtimeContactAnalysisSegmentsInput) SetNextToken(v string) *ListRealtimeContactAnalysisSegmentsInput {
   602  	s.NextToken = &v
   603  	return s
   604  }
   605  
   606  type ListRealtimeContactAnalysisSegmentsOutput struct {
   607  	_ struct{} `type:"structure"`
   608  
   609  	// If there are additional results, this is the token for the next set of results.
   610  	// If response includes nextToken there are two possible scenarios:
   611  	//
   612  	//    * There are more segments so another call is required to get them.
   613  	//
   614  	//    * There are no more segments at this time, but more may be available later
   615  	//    (real-time analysis is in progress) so the client should call the operation
   616  	//    again to get new segments.
   617  	//
   618  	// If response does not include nextToken, the analysis is completed (successfully
   619  	// or failed) and there are no more segments to retrieve.
   620  	NextToken *string `min:"1" type:"string"`
   621  
   622  	// An analyzed transcript or category.
   623  	//
   624  	// Segments is a required field
   625  	Segments []*RealtimeContactAnalysisSegment `type:"list" required:"true"`
   626  }
   627  
   628  // String returns the string representation.
   629  //
   630  // API parameter values that are decorated as "sensitive" in the API will not
   631  // be included in the string output. The member name will be present, but the
   632  // value will be replaced with "sensitive".
   633  func (s ListRealtimeContactAnalysisSegmentsOutput) String() string {
   634  	return awsutil.Prettify(s)
   635  }
   636  
   637  // GoString returns the string representation.
   638  //
   639  // API parameter values that are decorated as "sensitive" in the API will not
   640  // be included in the string output. The member name will be present, but the
   641  // value will be replaced with "sensitive".
   642  func (s ListRealtimeContactAnalysisSegmentsOutput) GoString() string {
   643  	return s.String()
   644  }
   645  
   646  // SetNextToken sets the NextToken field's value.
   647  func (s *ListRealtimeContactAnalysisSegmentsOutput) SetNextToken(v string) *ListRealtimeContactAnalysisSegmentsOutput {
   648  	s.NextToken = &v
   649  	return s
   650  }
   651  
   652  // SetSegments sets the Segments field's value.
   653  func (s *ListRealtimeContactAnalysisSegmentsOutput) SetSegments(v []*RealtimeContactAnalysisSegment) *ListRealtimeContactAnalysisSegmentsOutput {
   654  	s.Segments = v
   655  	return s
   656  }
   657  
   658  // The section of the contact audio where that category rule was detected.
   659  type PointOfInterest struct {
   660  	_ struct{} `type:"structure"`
   661  
   662  	// The beginning offset in milliseconds where the category rule was detected.
   663  	//
   664  	// BeginOffsetMillis is a required field
   665  	BeginOffsetMillis *int64 `type:"integer" required:"true"`
   666  
   667  	// The ending offset in milliseconds where the category rule was detected.
   668  	//
   669  	// EndOffsetMillis is a required field
   670  	EndOffsetMillis *int64 `type:"integer" required:"true"`
   671  }
   672  
   673  // String returns the string representation.
   674  //
   675  // API parameter values that are decorated as "sensitive" in the API will not
   676  // be included in the string output. The member name will be present, but the
   677  // value will be replaced with "sensitive".
   678  func (s PointOfInterest) String() string {
   679  	return awsutil.Prettify(s)
   680  }
   681  
   682  // GoString returns the string representation.
   683  //
   684  // API parameter values that are decorated as "sensitive" in the API will not
   685  // be included in the string output. The member name will be present, but the
   686  // value will be replaced with "sensitive".
   687  func (s PointOfInterest) GoString() string {
   688  	return s.String()
   689  }
   690  
   691  // SetBeginOffsetMillis sets the BeginOffsetMillis field's value.
   692  func (s *PointOfInterest) SetBeginOffsetMillis(v int64) *PointOfInterest {
   693  	s.BeginOffsetMillis = &v
   694  	return s
   695  }
   696  
   697  // SetEndOffsetMillis sets the EndOffsetMillis field's value.
   698  func (s *PointOfInterest) SetEndOffsetMillis(v int64) *PointOfInterest {
   699  	s.EndOffsetMillis = &v
   700  	return s
   701  }
   702  
   703  // An analyzed segment for a real-time analysis session.
   704  type RealtimeContactAnalysisSegment struct {
   705  	_ struct{} `type:"structure"`
   706  
   707  	// The matched category rules.
   708  	Categories *Categories `type:"structure"`
   709  
   710  	// The analyzed transcript.
   711  	Transcript *Transcript `type:"structure"`
   712  }
   713  
   714  // String returns the string representation.
   715  //
   716  // API parameter values that are decorated as "sensitive" in the API will not
   717  // be included in the string output. The member name will be present, but the
   718  // value will be replaced with "sensitive".
   719  func (s RealtimeContactAnalysisSegment) String() string {
   720  	return awsutil.Prettify(s)
   721  }
   722  
   723  // GoString returns the string representation.
   724  //
   725  // API parameter values that are decorated as "sensitive" in the API will not
   726  // be included in the string output. The member name will be present, but the
   727  // value will be replaced with "sensitive".
   728  func (s RealtimeContactAnalysisSegment) GoString() string {
   729  	return s.String()
   730  }
   731  
   732  // SetCategories sets the Categories field's value.
   733  func (s *RealtimeContactAnalysisSegment) SetCategories(v *Categories) *RealtimeContactAnalysisSegment {
   734  	s.Categories = v
   735  	return s
   736  }
   737  
   738  // SetTranscript sets the Transcript field's value.
   739  func (s *RealtimeContactAnalysisSegment) SetTranscript(v *Transcript) *RealtimeContactAnalysisSegment {
   740  	s.Transcript = v
   741  	return s
   742  }
   743  
   744  // The specified resource was not found.
   745  type ResourceNotFoundException struct {
   746  	_            struct{}                  `type:"structure"`
   747  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   748  
   749  	Message_ *string `locationName:"Message" type:"string"`
   750  }
   751  
   752  // String returns the string representation.
   753  //
   754  // API parameter values that are decorated as "sensitive" in the API will not
   755  // be included in the string output. The member name will be present, but the
   756  // value will be replaced with "sensitive".
   757  func (s ResourceNotFoundException) String() string {
   758  	return awsutil.Prettify(s)
   759  }
   760  
   761  // GoString returns the string representation.
   762  //
   763  // API parameter values that are decorated as "sensitive" in the API will not
   764  // be included in the string output. The member name will be present, but the
   765  // value will be replaced with "sensitive".
   766  func (s ResourceNotFoundException) GoString() string {
   767  	return s.String()
   768  }
   769  
   770  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
   771  	return &ResourceNotFoundException{
   772  		RespMetadata: v,
   773  	}
   774  }
   775  
   776  // Code returns the exception type name.
   777  func (s *ResourceNotFoundException) Code() string {
   778  	return "ResourceNotFoundException"
   779  }
   780  
   781  // Message returns the exception's message.
   782  func (s *ResourceNotFoundException) Message() string {
   783  	if s.Message_ != nil {
   784  		return *s.Message_
   785  	}
   786  	return ""
   787  }
   788  
   789  // OrigErr always returns nil, satisfies awserr.Error interface.
   790  func (s *ResourceNotFoundException) OrigErr() error {
   791  	return nil
   792  }
   793  
   794  func (s *ResourceNotFoundException) Error() string {
   795  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   796  }
   797  
   798  // Status code returns the HTTP status code for the request's response error.
   799  func (s *ResourceNotFoundException) StatusCode() int {
   800  	return s.RespMetadata.StatusCode
   801  }
   802  
   803  // RequestID returns the service's response RequestID for request.
   804  func (s *ResourceNotFoundException) RequestID() string {
   805  	return s.RespMetadata.RequestID
   806  }
   807  
   808  // The throttling limit has been exceeded.
   809  type ThrottlingException struct {
   810  	_            struct{}                  `type:"structure"`
   811  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   812  
   813  	Message_ *string `locationName:"Message" type:"string"`
   814  }
   815  
   816  // String returns the string representation.
   817  //
   818  // API parameter values that are decorated as "sensitive" in the API will not
   819  // be included in the string output. The member name will be present, but the
   820  // value will be replaced with "sensitive".
   821  func (s ThrottlingException) String() string {
   822  	return awsutil.Prettify(s)
   823  }
   824  
   825  // GoString returns the string representation.
   826  //
   827  // API parameter values that are decorated as "sensitive" in the API will not
   828  // be included in the string output. The member name will be present, but the
   829  // value will be replaced with "sensitive".
   830  func (s ThrottlingException) GoString() string {
   831  	return s.String()
   832  }
   833  
   834  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
   835  	return &ThrottlingException{
   836  		RespMetadata: v,
   837  	}
   838  }
   839  
   840  // Code returns the exception type name.
   841  func (s *ThrottlingException) Code() string {
   842  	return "ThrottlingException"
   843  }
   844  
   845  // Message returns the exception's message.
   846  func (s *ThrottlingException) Message() string {
   847  	if s.Message_ != nil {
   848  		return *s.Message_
   849  	}
   850  	return ""
   851  }
   852  
   853  // OrigErr always returns nil, satisfies awserr.Error interface.
   854  func (s *ThrottlingException) OrigErr() error {
   855  	return nil
   856  }
   857  
   858  func (s *ThrottlingException) Error() string {
   859  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   860  }
   861  
   862  // Status code returns the HTTP status code for the request's response error.
   863  func (s *ThrottlingException) StatusCode() int {
   864  	return s.RespMetadata.StatusCode
   865  }
   866  
   867  // RequestID returns the service's response RequestID for request.
   868  func (s *ThrottlingException) RequestID() string {
   869  	return s.RespMetadata.RequestID
   870  }
   871  
   872  // A list of messages in the session.
   873  type Transcript struct {
   874  	_ struct{} `type:"structure"`
   875  
   876  	// The beginning offset in the contact for this transcript.
   877  	//
   878  	// BeginOffsetMillis is a required field
   879  	BeginOffsetMillis *int64 `type:"integer" required:"true"`
   880  
   881  	// The content of the transcript.
   882  	//
   883  	// Content is a required field
   884  	Content *string `min:"1" type:"string" required:"true"`
   885  
   886  	// The end offset in the contact for this transcript.
   887  	//
   888  	// EndOffsetMillis is a required field
   889  	EndOffsetMillis *int64 `type:"integer" required:"true"`
   890  
   891  	// The identifier of the transcript.
   892  	//
   893  	// Id is a required field
   894  	Id *string `min:"1" type:"string" required:"true"`
   895  
   896  	// List of positions where issues were detected on the transcript.
   897  	IssuesDetected []*IssueDetected `type:"list"`
   898  
   899  	// The identifier of the participant.
   900  	//
   901  	// ParticipantId is a required field
   902  	ParticipantId *string `min:"1" type:"string" required:"true"`
   903  
   904  	// The role of participant. For example, is it a customer, agent, or system.
   905  	//
   906  	// ParticipantRole is a required field
   907  	ParticipantRole *string `min:"1" type:"string" required:"true"`
   908  
   909  	// The sentiment of the detected for this piece of transcript.
   910  	//
   911  	// Sentiment is a required field
   912  	Sentiment *string `type:"string" required:"true" enum:"SentimentValue"`
   913  }
   914  
   915  // String returns the string representation.
   916  //
   917  // API parameter values that are decorated as "sensitive" in the API will not
   918  // be included in the string output. The member name will be present, but the
   919  // value will be replaced with "sensitive".
   920  func (s Transcript) String() string {
   921  	return awsutil.Prettify(s)
   922  }
   923  
   924  // GoString returns the string representation.
   925  //
   926  // API parameter values that are decorated as "sensitive" in the API will not
   927  // be included in the string output. The member name will be present, but the
   928  // value will be replaced with "sensitive".
   929  func (s Transcript) GoString() string {
   930  	return s.String()
   931  }
   932  
   933  // SetBeginOffsetMillis sets the BeginOffsetMillis field's value.
   934  func (s *Transcript) SetBeginOffsetMillis(v int64) *Transcript {
   935  	s.BeginOffsetMillis = &v
   936  	return s
   937  }
   938  
   939  // SetContent sets the Content field's value.
   940  func (s *Transcript) SetContent(v string) *Transcript {
   941  	s.Content = &v
   942  	return s
   943  }
   944  
   945  // SetEndOffsetMillis sets the EndOffsetMillis field's value.
   946  func (s *Transcript) SetEndOffsetMillis(v int64) *Transcript {
   947  	s.EndOffsetMillis = &v
   948  	return s
   949  }
   950  
   951  // SetId sets the Id field's value.
   952  func (s *Transcript) SetId(v string) *Transcript {
   953  	s.Id = &v
   954  	return s
   955  }
   956  
   957  // SetIssuesDetected sets the IssuesDetected field's value.
   958  func (s *Transcript) SetIssuesDetected(v []*IssueDetected) *Transcript {
   959  	s.IssuesDetected = v
   960  	return s
   961  }
   962  
   963  // SetParticipantId sets the ParticipantId field's value.
   964  func (s *Transcript) SetParticipantId(v string) *Transcript {
   965  	s.ParticipantId = &v
   966  	return s
   967  }
   968  
   969  // SetParticipantRole sets the ParticipantRole field's value.
   970  func (s *Transcript) SetParticipantRole(v string) *Transcript {
   971  	s.ParticipantRole = &v
   972  	return s
   973  }
   974  
   975  // SetSentiment sets the Sentiment field's value.
   976  func (s *Transcript) SetSentiment(v string) *Transcript {
   977  	s.Sentiment = &v
   978  	return s
   979  }
   980  
   981  const (
   982  	// SentimentValuePositive is a SentimentValue enum value
   983  	SentimentValuePositive = "POSITIVE"
   984  
   985  	// SentimentValueNeutral is a SentimentValue enum value
   986  	SentimentValueNeutral = "NEUTRAL"
   987  
   988  	// SentimentValueNegative is a SentimentValue enum value
   989  	SentimentValueNegative = "NEGATIVE"
   990  )
   991  
   992  // SentimentValue_Values returns all elements of the SentimentValue enum
   993  func SentimentValue_Values() []string {
   994  	return []string{
   995  		SentimentValuePositive,
   996  		SentimentValueNeutral,
   997  		SentimentValueNegative,
   998  	}
   999  }