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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package xray
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opBatchGetTraces = "BatchGetTraces"
    17  
    18  // BatchGetTracesRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchGetTraces operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchGetTraces for more information on using the BatchGetTraces
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchGetTracesRequest method.
    34  //    req, resp := client.BatchGetTracesRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
    42  func (c *XRay) BatchGetTracesRequest(input *BatchGetTracesInput) (req *request.Request, output *BatchGetTracesOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchGetTraces,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/Traces",
    47  		Paginator: &request.Paginator{
    48  			InputTokens:     []string{"NextToken"},
    49  			OutputTokens:    []string{"NextToken"},
    50  			LimitToken:      "",
    51  			TruncationToken: "",
    52  		},
    53  	}
    54  
    55  	if input == nil {
    56  		input = &BatchGetTracesInput{}
    57  	}
    58  
    59  	output = &BatchGetTracesOutput{}
    60  	req = c.newRequest(op, input, output)
    61  	return
    62  }
    63  
    64  // BatchGetTraces API operation for AWS X-Ray.
    65  //
    66  // Retrieves a list of traces specified by ID. Each trace is a collection of
    67  // segment documents that originates from a single request. Use GetTraceSummaries
    68  // to get a list of trace IDs.
    69  //
    70  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    71  // with awserr.Error's Code and Message methods to get detailed information about
    72  // the error.
    73  //
    74  // See the AWS API reference guide for AWS X-Ray's
    75  // API operation BatchGetTraces for usage and error information.
    76  //
    77  // Returned Error Types:
    78  //   * InvalidRequestException
    79  //   The request is missing required parameters or has invalid parameters.
    80  //
    81  //   * ThrottledException
    82  //   The request exceeds the maximum number of requests per second.
    83  //
    84  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/BatchGetTraces
    85  func (c *XRay) BatchGetTraces(input *BatchGetTracesInput) (*BatchGetTracesOutput, error) {
    86  	req, out := c.BatchGetTracesRequest(input)
    87  	return out, req.Send()
    88  }
    89  
    90  // BatchGetTracesWithContext is the same as BatchGetTraces with the addition of
    91  // the ability to pass a context and additional request options.
    92  //
    93  // See BatchGetTraces for details on how to use this API operation.
    94  //
    95  // The context must be non-nil and will be used for request cancellation. If
    96  // the context is nil a panic will occur. In the future the SDK may create
    97  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    98  // for more information on using Contexts.
    99  func (c *XRay) BatchGetTracesWithContext(ctx aws.Context, input *BatchGetTracesInput, opts ...request.Option) (*BatchGetTracesOutput, error) {
   100  	req, out := c.BatchGetTracesRequest(input)
   101  	req.SetContext(ctx)
   102  	req.ApplyOptions(opts...)
   103  	return out, req.Send()
   104  }
   105  
   106  // BatchGetTracesPages iterates over the pages of a BatchGetTraces operation,
   107  // calling the "fn" function with the response data for each page. To stop
   108  // iterating, return false from the fn function.
   109  //
   110  // See BatchGetTraces method for more information on how to use this operation.
   111  //
   112  // Note: This operation can generate multiple requests to a service.
   113  //
   114  //    // Example iterating over at most 3 pages of a BatchGetTraces operation.
   115  //    pageNum := 0
   116  //    err := client.BatchGetTracesPages(params,
   117  //        func(page *xray.BatchGetTracesOutput, lastPage bool) bool {
   118  //            pageNum++
   119  //            fmt.Println(page)
   120  //            return pageNum <= 3
   121  //        })
   122  //
   123  func (c *XRay) BatchGetTracesPages(input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool) error {
   124  	return c.BatchGetTracesPagesWithContext(aws.BackgroundContext(), input, fn)
   125  }
   126  
   127  // BatchGetTracesPagesWithContext same as BatchGetTracesPages except
   128  // it takes a Context and allows setting request options on the pages.
   129  //
   130  // The context must be non-nil and will be used for request cancellation. If
   131  // the context is nil a panic will occur. In the future the SDK may create
   132  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   133  // for more information on using Contexts.
   134  func (c *XRay) BatchGetTracesPagesWithContext(ctx aws.Context, input *BatchGetTracesInput, fn func(*BatchGetTracesOutput, bool) bool, opts ...request.Option) error {
   135  	p := request.Pagination{
   136  		NewRequest: func() (*request.Request, error) {
   137  			var inCpy *BatchGetTracesInput
   138  			if input != nil {
   139  				tmp := *input
   140  				inCpy = &tmp
   141  			}
   142  			req, _ := c.BatchGetTracesRequest(inCpy)
   143  			req.SetContext(ctx)
   144  			req.ApplyOptions(opts...)
   145  			return req, nil
   146  		},
   147  	}
   148  
   149  	for p.Next() {
   150  		if !fn(p.Page().(*BatchGetTracesOutput), !p.HasNextPage()) {
   151  			break
   152  		}
   153  	}
   154  
   155  	return p.Err()
   156  }
   157  
   158  const opCreateGroup = "CreateGroup"
   159  
   160  // CreateGroupRequest generates a "aws/request.Request" representing the
   161  // client's request for the CreateGroup operation. The "output" return
   162  // value will be populated with the request's response once the request completes
   163  // successfully.
   164  //
   165  // Use "Send" method on the returned Request to send the API call to the service.
   166  // the "output" return value is not valid until after Send returns without error.
   167  //
   168  // See CreateGroup for more information on using the CreateGroup
   169  // API call, and error handling.
   170  //
   171  // This method is useful when you want to inject custom logic or configuration
   172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   173  //
   174  //
   175  //    // Example sending a request using the CreateGroupRequest method.
   176  //    req, resp := client.CreateGroupRequest(params)
   177  //
   178  //    err := req.Send()
   179  //    if err == nil { // resp is now filled
   180  //        fmt.Println(resp)
   181  //    }
   182  //
   183  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateGroup
   184  func (c *XRay) CreateGroupRequest(input *CreateGroupInput) (req *request.Request, output *CreateGroupOutput) {
   185  	op := &request.Operation{
   186  		Name:       opCreateGroup,
   187  		HTTPMethod: "POST",
   188  		HTTPPath:   "/CreateGroup",
   189  	}
   190  
   191  	if input == nil {
   192  		input = &CreateGroupInput{}
   193  	}
   194  
   195  	output = &CreateGroupOutput{}
   196  	req = c.newRequest(op, input, output)
   197  	return
   198  }
   199  
   200  // CreateGroup API operation for AWS X-Ray.
   201  //
   202  // Creates a group resource with a name and a filter expression.
   203  //
   204  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   205  // with awserr.Error's Code and Message methods to get detailed information about
   206  // the error.
   207  //
   208  // See the AWS API reference guide for AWS X-Ray's
   209  // API operation CreateGroup for usage and error information.
   210  //
   211  // Returned Error Types:
   212  //   * InvalidRequestException
   213  //   The request is missing required parameters or has invalid parameters.
   214  //
   215  //   * ThrottledException
   216  //   The request exceeds the maximum number of requests per second.
   217  //
   218  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateGroup
   219  func (c *XRay) CreateGroup(input *CreateGroupInput) (*CreateGroupOutput, error) {
   220  	req, out := c.CreateGroupRequest(input)
   221  	return out, req.Send()
   222  }
   223  
   224  // CreateGroupWithContext is the same as CreateGroup with the addition of
   225  // the ability to pass a context and additional request options.
   226  //
   227  // See CreateGroup for details on how to use this API operation.
   228  //
   229  // The context must be non-nil and will be used for request cancellation. If
   230  // the context is nil a panic will occur. In the future the SDK may create
   231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   232  // for more information on using Contexts.
   233  func (c *XRay) CreateGroupWithContext(ctx aws.Context, input *CreateGroupInput, opts ...request.Option) (*CreateGroupOutput, error) {
   234  	req, out := c.CreateGroupRequest(input)
   235  	req.SetContext(ctx)
   236  	req.ApplyOptions(opts...)
   237  	return out, req.Send()
   238  }
   239  
   240  const opCreateSamplingRule = "CreateSamplingRule"
   241  
   242  // CreateSamplingRuleRequest generates a "aws/request.Request" representing the
   243  // client's request for the CreateSamplingRule operation. The "output" return
   244  // value will be populated with the request's response once the request completes
   245  // successfully.
   246  //
   247  // Use "Send" method on the returned Request to send the API call to the service.
   248  // the "output" return value is not valid until after Send returns without error.
   249  //
   250  // See CreateSamplingRule for more information on using the CreateSamplingRule
   251  // API call, and error handling.
   252  //
   253  // This method is useful when you want to inject custom logic or configuration
   254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   255  //
   256  //
   257  //    // Example sending a request using the CreateSamplingRuleRequest method.
   258  //    req, resp := client.CreateSamplingRuleRequest(params)
   259  //
   260  //    err := req.Send()
   261  //    if err == nil { // resp is now filled
   262  //        fmt.Println(resp)
   263  //    }
   264  //
   265  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateSamplingRule
   266  func (c *XRay) CreateSamplingRuleRequest(input *CreateSamplingRuleInput) (req *request.Request, output *CreateSamplingRuleOutput) {
   267  	op := &request.Operation{
   268  		Name:       opCreateSamplingRule,
   269  		HTTPMethod: "POST",
   270  		HTTPPath:   "/CreateSamplingRule",
   271  	}
   272  
   273  	if input == nil {
   274  		input = &CreateSamplingRuleInput{}
   275  	}
   276  
   277  	output = &CreateSamplingRuleOutput{}
   278  	req = c.newRequest(op, input, output)
   279  	return
   280  }
   281  
   282  // CreateSamplingRule API operation for AWS X-Ray.
   283  //
   284  // Creates a rule to control sampling behavior for instrumented applications.
   285  // Services retrieve rules with GetSamplingRules (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html),
   286  // and evaluate each rule in ascending order of priority for each request. If
   287  // a rule matches, the service records a trace, borrowing it from the reservoir
   288  // size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets
   289  // (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html)
   290  // to get updated versions of each in-use rule. The updated rule contains a
   291  // trace quota that the service can use instead of borrowing from the reservoir.
   292  //
   293  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   294  // with awserr.Error's Code and Message methods to get detailed information about
   295  // the error.
   296  //
   297  // See the AWS API reference guide for AWS X-Ray's
   298  // API operation CreateSamplingRule for usage and error information.
   299  //
   300  // Returned Error Types:
   301  //   * InvalidRequestException
   302  //   The request is missing required parameters or has invalid parameters.
   303  //
   304  //   * ThrottledException
   305  //   The request exceeds the maximum number of requests per second.
   306  //
   307  //   * RuleLimitExceededException
   308  //   You have reached the maximum number of sampling rules.
   309  //
   310  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/CreateSamplingRule
   311  func (c *XRay) CreateSamplingRule(input *CreateSamplingRuleInput) (*CreateSamplingRuleOutput, error) {
   312  	req, out := c.CreateSamplingRuleRequest(input)
   313  	return out, req.Send()
   314  }
   315  
   316  // CreateSamplingRuleWithContext is the same as CreateSamplingRule with the addition of
   317  // the ability to pass a context and additional request options.
   318  //
   319  // See CreateSamplingRule for details on how to use this API operation.
   320  //
   321  // The context must be non-nil and will be used for request cancellation. If
   322  // the context is nil a panic will occur. In the future the SDK may create
   323  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   324  // for more information on using Contexts.
   325  func (c *XRay) CreateSamplingRuleWithContext(ctx aws.Context, input *CreateSamplingRuleInput, opts ...request.Option) (*CreateSamplingRuleOutput, error) {
   326  	req, out := c.CreateSamplingRuleRequest(input)
   327  	req.SetContext(ctx)
   328  	req.ApplyOptions(opts...)
   329  	return out, req.Send()
   330  }
   331  
   332  const opDeleteGroup = "DeleteGroup"
   333  
   334  // DeleteGroupRequest generates a "aws/request.Request" representing the
   335  // client's request for the DeleteGroup operation. The "output" return
   336  // value will be populated with the request's response once the request completes
   337  // successfully.
   338  //
   339  // Use "Send" method on the returned Request to send the API call to the service.
   340  // the "output" return value is not valid until after Send returns without error.
   341  //
   342  // See DeleteGroup for more information on using the DeleteGroup
   343  // API call, and error handling.
   344  //
   345  // This method is useful when you want to inject custom logic or configuration
   346  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   347  //
   348  //
   349  //    // Example sending a request using the DeleteGroupRequest method.
   350  //    req, resp := client.DeleteGroupRequest(params)
   351  //
   352  //    err := req.Send()
   353  //    if err == nil { // resp is now filled
   354  //        fmt.Println(resp)
   355  //    }
   356  //
   357  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteGroup
   358  func (c *XRay) DeleteGroupRequest(input *DeleteGroupInput) (req *request.Request, output *DeleteGroupOutput) {
   359  	op := &request.Operation{
   360  		Name:       opDeleteGroup,
   361  		HTTPMethod: "POST",
   362  		HTTPPath:   "/DeleteGroup",
   363  	}
   364  
   365  	if input == nil {
   366  		input = &DeleteGroupInput{}
   367  	}
   368  
   369  	output = &DeleteGroupOutput{}
   370  	req = c.newRequest(op, input, output)
   371  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   372  	return
   373  }
   374  
   375  // DeleteGroup API operation for AWS X-Ray.
   376  //
   377  // Deletes a group resource.
   378  //
   379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   380  // with awserr.Error's Code and Message methods to get detailed information about
   381  // the error.
   382  //
   383  // See the AWS API reference guide for AWS X-Ray's
   384  // API operation DeleteGroup for usage and error information.
   385  //
   386  // Returned Error Types:
   387  //   * InvalidRequestException
   388  //   The request is missing required parameters or has invalid parameters.
   389  //
   390  //   * ThrottledException
   391  //   The request exceeds the maximum number of requests per second.
   392  //
   393  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteGroup
   394  func (c *XRay) DeleteGroup(input *DeleteGroupInput) (*DeleteGroupOutput, error) {
   395  	req, out := c.DeleteGroupRequest(input)
   396  	return out, req.Send()
   397  }
   398  
   399  // DeleteGroupWithContext is the same as DeleteGroup with the addition of
   400  // the ability to pass a context and additional request options.
   401  //
   402  // See DeleteGroup for details on how to use this API operation.
   403  //
   404  // The context must be non-nil and will be used for request cancellation. If
   405  // the context is nil a panic will occur. In the future the SDK may create
   406  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   407  // for more information on using Contexts.
   408  func (c *XRay) DeleteGroupWithContext(ctx aws.Context, input *DeleteGroupInput, opts ...request.Option) (*DeleteGroupOutput, error) {
   409  	req, out := c.DeleteGroupRequest(input)
   410  	req.SetContext(ctx)
   411  	req.ApplyOptions(opts...)
   412  	return out, req.Send()
   413  }
   414  
   415  const opDeleteSamplingRule = "DeleteSamplingRule"
   416  
   417  // DeleteSamplingRuleRequest generates a "aws/request.Request" representing the
   418  // client's request for the DeleteSamplingRule operation. The "output" return
   419  // value will be populated with the request's response once the request completes
   420  // successfully.
   421  //
   422  // Use "Send" method on the returned Request to send the API call to the service.
   423  // the "output" return value is not valid until after Send returns without error.
   424  //
   425  // See DeleteSamplingRule for more information on using the DeleteSamplingRule
   426  // API call, and error handling.
   427  //
   428  // This method is useful when you want to inject custom logic or configuration
   429  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   430  //
   431  //
   432  //    // Example sending a request using the DeleteSamplingRuleRequest method.
   433  //    req, resp := client.DeleteSamplingRuleRequest(params)
   434  //
   435  //    err := req.Send()
   436  //    if err == nil { // resp is now filled
   437  //        fmt.Println(resp)
   438  //    }
   439  //
   440  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteSamplingRule
   441  func (c *XRay) DeleteSamplingRuleRequest(input *DeleteSamplingRuleInput) (req *request.Request, output *DeleteSamplingRuleOutput) {
   442  	op := &request.Operation{
   443  		Name:       opDeleteSamplingRule,
   444  		HTTPMethod: "POST",
   445  		HTTPPath:   "/DeleteSamplingRule",
   446  	}
   447  
   448  	if input == nil {
   449  		input = &DeleteSamplingRuleInput{}
   450  	}
   451  
   452  	output = &DeleteSamplingRuleOutput{}
   453  	req = c.newRequest(op, input, output)
   454  	return
   455  }
   456  
   457  // DeleteSamplingRule API operation for AWS X-Ray.
   458  //
   459  // Deletes a sampling rule.
   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 AWS X-Ray's
   466  // API operation DeleteSamplingRule for usage and error information.
   467  //
   468  // Returned Error Types:
   469  //   * InvalidRequestException
   470  //   The request is missing required parameters or has invalid parameters.
   471  //
   472  //   * ThrottledException
   473  //   The request exceeds the maximum number of requests per second.
   474  //
   475  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/DeleteSamplingRule
   476  func (c *XRay) DeleteSamplingRule(input *DeleteSamplingRuleInput) (*DeleteSamplingRuleOutput, error) {
   477  	req, out := c.DeleteSamplingRuleRequest(input)
   478  	return out, req.Send()
   479  }
   480  
   481  // DeleteSamplingRuleWithContext is the same as DeleteSamplingRule with the addition of
   482  // the ability to pass a context and additional request options.
   483  //
   484  // See DeleteSamplingRule for details on how to use this API operation.
   485  //
   486  // The context must be non-nil and will be used for request cancellation. If
   487  // the context is nil a panic will occur. In the future the SDK may create
   488  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   489  // for more information on using Contexts.
   490  func (c *XRay) DeleteSamplingRuleWithContext(ctx aws.Context, input *DeleteSamplingRuleInput, opts ...request.Option) (*DeleteSamplingRuleOutput, error) {
   491  	req, out := c.DeleteSamplingRuleRequest(input)
   492  	req.SetContext(ctx)
   493  	req.ApplyOptions(opts...)
   494  	return out, req.Send()
   495  }
   496  
   497  const opGetEncryptionConfig = "GetEncryptionConfig"
   498  
   499  // GetEncryptionConfigRequest generates a "aws/request.Request" representing the
   500  // client's request for the GetEncryptionConfig operation. The "output" return
   501  // value will be populated with the request's response once the request completes
   502  // successfully.
   503  //
   504  // Use "Send" method on the returned Request to send the API call to the service.
   505  // the "output" return value is not valid until after Send returns without error.
   506  //
   507  // See GetEncryptionConfig for more information on using the GetEncryptionConfig
   508  // API call, and error handling.
   509  //
   510  // This method is useful when you want to inject custom logic or configuration
   511  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   512  //
   513  //
   514  //    // Example sending a request using the GetEncryptionConfigRequest method.
   515  //    req, resp := client.GetEncryptionConfigRequest(params)
   516  //
   517  //    err := req.Send()
   518  //    if err == nil { // resp is now filled
   519  //        fmt.Println(resp)
   520  //    }
   521  //
   522  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetEncryptionConfig
   523  func (c *XRay) GetEncryptionConfigRequest(input *GetEncryptionConfigInput) (req *request.Request, output *GetEncryptionConfigOutput) {
   524  	op := &request.Operation{
   525  		Name:       opGetEncryptionConfig,
   526  		HTTPMethod: "POST",
   527  		HTTPPath:   "/EncryptionConfig",
   528  	}
   529  
   530  	if input == nil {
   531  		input = &GetEncryptionConfigInput{}
   532  	}
   533  
   534  	output = &GetEncryptionConfigOutput{}
   535  	req = c.newRequest(op, input, output)
   536  	return
   537  }
   538  
   539  // GetEncryptionConfig API operation for AWS X-Ray.
   540  //
   541  // Retrieves the current encryption configuration for X-Ray data.
   542  //
   543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   544  // with awserr.Error's Code and Message methods to get detailed information about
   545  // the error.
   546  //
   547  // See the AWS API reference guide for AWS X-Ray's
   548  // API operation GetEncryptionConfig for usage and error information.
   549  //
   550  // Returned Error Types:
   551  //   * InvalidRequestException
   552  //   The request is missing required parameters or has invalid parameters.
   553  //
   554  //   * ThrottledException
   555  //   The request exceeds the maximum number of requests per second.
   556  //
   557  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetEncryptionConfig
   558  func (c *XRay) GetEncryptionConfig(input *GetEncryptionConfigInput) (*GetEncryptionConfigOutput, error) {
   559  	req, out := c.GetEncryptionConfigRequest(input)
   560  	return out, req.Send()
   561  }
   562  
   563  // GetEncryptionConfigWithContext is the same as GetEncryptionConfig with the addition of
   564  // the ability to pass a context and additional request options.
   565  //
   566  // See GetEncryptionConfig for details on how to use this API operation.
   567  //
   568  // The context must be non-nil and will be used for request cancellation. If
   569  // the context is nil a panic will occur. In the future the SDK may create
   570  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   571  // for more information on using Contexts.
   572  func (c *XRay) GetEncryptionConfigWithContext(ctx aws.Context, input *GetEncryptionConfigInput, opts ...request.Option) (*GetEncryptionConfigOutput, error) {
   573  	req, out := c.GetEncryptionConfigRequest(input)
   574  	req.SetContext(ctx)
   575  	req.ApplyOptions(opts...)
   576  	return out, req.Send()
   577  }
   578  
   579  const opGetGroup = "GetGroup"
   580  
   581  // GetGroupRequest generates a "aws/request.Request" representing the
   582  // client's request for the GetGroup operation. The "output" return
   583  // value will be populated with the request's response once the request completes
   584  // successfully.
   585  //
   586  // Use "Send" method on the returned Request to send the API call to the service.
   587  // the "output" return value is not valid until after Send returns without error.
   588  //
   589  // See GetGroup for more information on using the GetGroup
   590  // API call, and error handling.
   591  //
   592  // This method is useful when you want to inject custom logic or configuration
   593  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   594  //
   595  //
   596  //    // Example sending a request using the GetGroupRequest method.
   597  //    req, resp := client.GetGroupRequest(params)
   598  //
   599  //    err := req.Send()
   600  //    if err == nil { // resp is now filled
   601  //        fmt.Println(resp)
   602  //    }
   603  //
   604  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroup
   605  func (c *XRay) GetGroupRequest(input *GetGroupInput) (req *request.Request, output *GetGroupOutput) {
   606  	op := &request.Operation{
   607  		Name:       opGetGroup,
   608  		HTTPMethod: "POST",
   609  		HTTPPath:   "/GetGroup",
   610  	}
   611  
   612  	if input == nil {
   613  		input = &GetGroupInput{}
   614  	}
   615  
   616  	output = &GetGroupOutput{}
   617  	req = c.newRequest(op, input, output)
   618  	return
   619  }
   620  
   621  // GetGroup API operation for AWS X-Ray.
   622  //
   623  // Retrieves group resource details.
   624  //
   625  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   626  // with awserr.Error's Code and Message methods to get detailed information about
   627  // the error.
   628  //
   629  // See the AWS API reference guide for AWS X-Ray's
   630  // API operation GetGroup for usage and error information.
   631  //
   632  // Returned Error Types:
   633  //   * InvalidRequestException
   634  //   The request is missing required parameters or has invalid parameters.
   635  //
   636  //   * ThrottledException
   637  //   The request exceeds the maximum number of requests per second.
   638  //
   639  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroup
   640  func (c *XRay) GetGroup(input *GetGroupInput) (*GetGroupOutput, error) {
   641  	req, out := c.GetGroupRequest(input)
   642  	return out, req.Send()
   643  }
   644  
   645  // GetGroupWithContext is the same as GetGroup with the addition of
   646  // the ability to pass a context and additional request options.
   647  //
   648  // See GetGroup for details on how to use this API operation.
   649  //
   650  // The context must be non-nil and will be used for request cancellation. If
   651  // the context is nil a panic will occur. In the future the SDK may create
   652  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   653  // for more information on using Contexts.
   654  func (c *XRay) GetGroupWithContext(ctx aws.Context, input *GetGroupInput, opts ...request.Option) (*GetGroupOutput, error) {
   655  	req, out := c.GetGroupRequest(input)
   656  	req.SetContext(ctx)
   657  	req.ApplyOptions(opts...)
   658  	return out, req.Send()
   659  }
   660  
   661  const opGetGroups = "GetGroups"
   662  
   663  // GetGroupsRequest generates a "aws/request.Request" representing the
   664  // client's request for the GetGroups operation. The "output" return
   665  // value will be populated with the request's response once the request completes
   666  // successfully.
   667  //
   668  // Use "Send" method on the returned Request to send the API call to the service.
   669  // the "output" return value is not valid until after Send returns without error.
   670  //
   671  // See GetGroups for more information on using the GetGroups
   672  // API call, and error handling.
   673  //
   674  // This method is useful when you want to inject custom logic or configuration
   675  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   676  //
   677  //
   678  //    // Example sending a request using the GetGroupsRequest method.
   679  //    req, resp := client.GetGroupsRequest(params)
   680  //
   681  //    err := req.Send()
   682  //    if err == nil { // resp is now filled
   683  //        fmt.Println(resp)
   684  //    }
   685  //
   686  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroups
   687  func (c *XRay) GetGroupsRequest(input *GetGroupsInput) (req *request.Request, output *GetGroupsOutput) {
   688  	op := &request.Operation{
   689  		Name:       opGetGroups,
   690  		HTTPMethod: "POST",
   691  		HTTPPath:   "/Groups",
   692  		Paginator: &request.Paginator{
   693  			InputTokens:     []string{"NextToken"},
   694  			OutputTokens:    []string{"NextToken"},
   695  			LimitToken:      "",
   696  			TruncationToken: "",
   697  		},
   698  	}
   699  
   700  	if input == nil {
   701  		input = &GetGroupsInput{}
   702  	}
   703  
   704  	output = &GetGroupsOutput{}
   705  	req = c.newRequest(op, input, output)
   706  	return
   707  }
   708  
   709  // GetGroups API operation for AWS X-Ray.
   710  //
   711  // Retrieves all active group details.
   712  //
   713  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   714  // with awserr.Error's Code and Message methods to get detailed information about
   715  // the error.
   716  //
   717  // See the AWS API reference guide for AWS X-Ray's
   718  // API operation GetGroups for usage and error information.
   719  //
   720  // Returned Error Types:
   721  //   * InvalidRequestException
   722  //   The request is missing required parameters or has invalid parameters.
   723  //
   724  //   * ThrottledException
   725  //   The request exceeds the maximum number of requests per second.
   726  //
   727  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetGroups
   728  func (c *XRay) GetGroups(input *GetGroupsInput) (*GetGroupsOutput, error) {
   729  	req, out := c.GetGroupsRequest(input)
   730  	return out, req.Send()
   731  }
   732  
   733  // GetGroupsWithContext is the same as GetGroups with the addition of
   734  // the ability to pass a context and additional request options.
   735  //
   736  // See GetGroups for details on how to use this API operation.
   737  //
   738  // The context must be non-nil and will be used for request cancellation. If
   739  // the context is nil a panic will occur. In the future the SDK may create
   740  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   741  // for more information on using Contexts.
   742  func (c *XRay) GetGroupsWithContext(ctx aws.Context, input *GetGroupsInput, opts ...request.Option) (*GetGroupsOutput, error) {
   743  	req, out := c.GetGroupsRequest(input)
   744  	req.SetContext(ctx)
   745  	req.ApplyOptions(opts...)
   746  	return out, req.Send()
   747  }
   748  
   749  // GetGroupsPages iterates over the pages of a GetGroups operation,
   750  // calling the "fn" function with the response data for each page. To stop
   751  // iterating, return false from the fn function.
   752  //
   753  // See GetGroups method for more information on how to use this operation.
   754  //
   755  // Note: This operation can generate multiple requests to a service.
   756  //
   757  //    // Example iterating over at most 3 pages of a GetGroups operation.
   758  //    pageNum := 0
   759  //    err := client.GetGroupsPages(params,
   760  //        func(page *xray.GetGroupsOutput, lastPage bool) bool {
   761  //            pageNum++
   762  //            fmt.Println(page)
   763  //            return pageNum <= 3
   764  //        })
   765  //
   766  func (c *XRay) GetGroupsPages(input *GetGroupsInput, fn func(*GetGroupsOutput, bool) bool) error {
   767  	return c.GetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
   768  }
   769  
   770  // GetGroupsPagesWithContext same as GetGroupsPages except
   771  // it takes a Context and allows setting request options on the pages.
   772  //
   773  // The context must be non-nil and will be used for request cancellation. If
   774  // the context is nil a panic will occur. In the future the SDK may create
   775  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   776  // for more information on using Contexts.
   777  func (c *XRay) GetGroupsPagesWithContext(ctx aws.Context, input *GetGroupsInput, fn func(*GetGroupsOutput, bool) bool, opts ...request.Option) error {
   778  	p := request.Pagination{
   779  		NewRequest: func() (*request.Request, error) {
   780  			var inCpy *GetGroupsInput
   781  			if input != nil {
   782  				tmp := *input
   783  				inCpy = &tmp
   784  			}
   785  			req, _ := c.GetGroupsRequest(inCpy)
   786  			req.SetContext(ctx)
   787  			req.ApplyOptions(opts...)
   788  			return req, nil
   789  		},
   790  	}
   791  
   792  	for p.Next() {
   793  		if !fn(p.Page().(*GetGroupsOutput), !p.HasNextPage()) {
   794  			break
   795  		}
   796  	}
   797  
   798  	return p.Err()
   799  }
   800  
   801  const opGetInsight = "GetInsight"
   802  
   803  // GetInsightRequest generates a "aws/request.Request" representing the
   804  // client's request for the GetInsight operation. The "output" return
   805  // value will be populated with the request's response once the request completes
   806  // successfully.
   807  //
   808  // Use "Send" method on the returned Request to send the API call to the service.
   809  // the "output" return value is not valid until after Send returns without error.
   810  //
   811  // See GetInsight for more information on using the GetInsight
   812  // API call, and error handling.
   813  //
   814  // This method is useful when you want to inject custom logic or configuration
   815  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   816  //
   817  //
   818  //    // Example sending a request using the GetInsightRequest method.
   819  //    req, resp := client.GetInsightRequest(params)
   820  //
   821  //    err := req.Send()
   822  //    if err == nil { // resp is now filled
   823  //        fmt.Println(resp)
   824  //    }
   825  //
   826  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight
   827  func (c *XRay) GetInsightRequest(input *GetInsightInput) (req *request.Request, output *GetInsightOutput) {
   828  	op := &request.Operation{
   829  		Name:       opGetInsight,
   830  		HTTPMethod: "POST",
   831  		HTTPPath:   "/Insight",
   832  	}
   833  
   834  	if input == nil {
   835  		input = &GetInsightInput{}
   836  	}
   837  
   838  	output = &GetInsightOutput{}
   839  	req = c.newRequest(op, input, output)
   840  	return
   841  }
   842  
   843  // GetInsight API operation for AWS X-Ray.
   844  //
   845  // Retrieves the summary information of an insight. This includes impact to
   846  // clients and root cause services, the top anomalous services, the category,
   847  // the state of the insight, and the start and end time of the insight.
   848  //
   849  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   850  // with awserr.Error's Code and Message methods to get detailed information about
   851  // the error.
   852  //
   853  // See the AWS API reference guide for AWS X-Ray's
   854  // API operation GetInsight for usage and error information.
   855  //
   856  // Returned Error Types:
   857  //   * InvalidRequestException
   858  //   The request is missing required parameters or has invalid parameters.
   859  //
   860  //   * ThrottledException
   861  //   The request exceeds the maximum number of requests per second.
   862  //
   863  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsight
   864  func (c *XRay) GetInsight(input *GetInsightInput) (*GetInsightOutput, error) {
   865  	req, out := c.GetInsightRequest(input)
   866  	return out, req.Send()
   867  }
   868  
   869  // GetInsightWithContext is the same as GetInsight with the addition of
   870  // the ability to pass a context and additional request options.
   871  //
   872  // See GetInsight for details on how to use this API operation.
   873  //
   874  // The context must be non-nil and will be used for request cancellation. If
   875  // the context is nil a panic will occur. In the future the SDK may create
   876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   877  // for more information on using Contexts.
   878  func (c *XRay) GetInsightWithContext(ctx aws.Context, input *GetInsightInput, opts ...request.Option) (*GetInsightOutput, error) {
   879  	req, out := c.GetInsightRequest(input)
   880  	req.SetContext(ctx)
   881  	req.ApplyOptions(opts...)
   882  	return out, req.Send()
   883  }
   884  
   885  const opGetInsightEvents = "GetInsightEvents"
   886  
   887  // GetInsightEventsRequest generates a "aws/request.Request" representing the
   888  // client's request for the GetInsightEvents operation. The "output" return
   889  // value will be populated with the request's response once the request completes
   890  // successfully.
   891  //
   892  // Use "Send" method on the returned Request to send the API call to the service.
   893  // the "output" return value is not valid until after Send returns without error.
   894  //
   895  // See GetInsightEvents for more information on using the GetInsightEvents
   896  // API call, and error handling.
   897  //
   898  // This method is useful when you want to inject custom logic or configuration
   899  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   900  //
   901  //
   902  //    // Example sending a request using the GetInsightEventsRequest method.
   903  //    req, resp := client.GetInsightEventsRequest(params)
   904  //
   905  //    err := req.Send()
   906  //    if err == nil { // resp is now filled
   907  //        fmt.Println(resp)
   908  //    }
   909  //
   910  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents
   911  func (c *XRay) GetInsightEventsRequest(input *GetInsightEventsInput) (req *request.Request, output *GetInsightEventsOutput) {
   912  	op := &request.Operation{
   913  		Name:       opGetInsightEvents,
   914  		HTTPMethod: "POST",
   915  		HTTPPath:   "/InsightEvents",
   916  		Paginator: &request.Paginator{
   917  			InputTokens:     []string{"NextToken"},
   918  			OutputTokens:    []string{"NextToken"},
   919  			LimitToken:      "MaxResults",
   920  			TruncationToken: "",
   921  		},
   922  	}
   923  
   924  	if input == nil {
   925  		input = &GetInsightEventsInput{}
   926  	}
   927  
   928  	output = &GetInsightEventsOutput{}
   929  	req = c.newRequest(op, input, output)
   930  	return
   931  }
   932  
   933  // GetInsightEvents API operation for AWS X-Ray.
   934  //
   935  // X-Ray reevaluates insights periodically until they're resolved, and records
   936  // each intermediate state as an event. You can review an insight's events in
   937  // the Impact Timeline on the Inspect page in the X-Ray console.
   938  //
   939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   940  // with awserr.Error's Code and Message methods to get detailed information about
   941  // the error.
   942  //
   943  // See the AWS API reference guide for AWS X-Ray's
   944  // API operation GetInsightEvents for usage and error information.
   945  //
   946  // Returned Error Types:
   947  //   * InvalidRequestException
   948  //   The request is missing required parameters or has invalid parameters.
   949  //
   950  //   * ThrottledException
   951  //   The request exceeds the maximum number of requests per second.
   952  //
   953  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightEvents
   954  func (c *XRay) GetInsightEvents(input *GetInsightEventsInput) (*GetInsightEventsOutput, error) {
   955  	req, out := c.GetInsightEventsRequest(input)
   956  	return out, req.Send()
   957  }
   958  
   959  // GetInsightEventsWithContext is the same as GetInsightEvents with the addition of
   960  // the ability to pass a context and additional request options.
   961  //
   962  // See GetInsightEvents for details on how to use this API operation.
   963  //
   964  // The context must be non-nil and will be used for request cancellation. If
   965  // the context is nil a panic will occur. In the future the SDK may create
   966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   967  // for more information on using Contexts.
   968  func (c *XRay) GetInsightEventsWithContext(ctx aws.Context, input *GetInsightEventsInput, opts ...request.Option) (*GetInsightEventsOutput, error) {
   969  	req, out := c.GetInsightEventsRequest(input)
   970  	req.SetContext(ctx)
   971  	req.ApplyOptions(opts...)
   972  	return out, req.Send()
   973  }
   974  
   975  // GetInsightEventsPages iterates over the pages of a GetInsightEvents operation,
   976  // calling the "fn" function with the response data for each page. To stop
   977  // iterating, return false from the fn function.
   978  //
   979  // See GetInsightEvents method for more information on how to use this operation.
   980  //
   981  // Note: This operation can generate multiple requests to a service.
   982  //
   983  //    // Example iterating over at most 3 pages of a GetInsightEvents operation.
   984  //    pageNum := 0
   985  //    err := client.GetInsightEventsPages(params,
   986  //        func(page *xray.GetInsightEventsOutput, lastPage bool) bool {
   987  //            pageNum++
   988  //            fmt.Println(page)
   989  //            return pageNum <= 3
   990  //        })
   991  //
   992  func (c *XRay) GetInsightEventsPages(input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool) error {
   993  	return c.GetInsightEventsPagesWithContext(aws.BackgroundContext(), input, fn)
   994  }
   995  
   996  // GetInsightEventsPagesWithContext same as GetInsightEventsPages except
   997  // it takes a Context and allows setting request options on the pages.
   998  //
   999  // The context must be non-nil and will be used for request cancellation. If
  1000  // the context is nil a panic will occur. In the future the SDK may create
  1001  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1002  // for more information on using Contexts.
  1003  func (c *XRay) GetInsightEventsPagesWithContext(ctx aws.Context, input *GetInsightEventsInput, fn func(*GetInsightEventsOutput, bool) bool, opts ...request.Option) error {
  1004  	p := request.Pagination{
  1005  		NewRequest: func() (*request.Request, error) {
  1006  			var inCpy *GetInsightEventsInput
  1007  			if input != nil {
  1008  				tmp := *input
  1009  				inCpy = &tmp
  1010  			}
  1011  			req, _ := c.GetInsightEventsRequest(inCpy)
  1012  			req.SetContext(ctx)
  1013  			req.ApplyOptions(opts...)
  1014  			return req, nil
  1015  		},
  1016  	}
  1017  
  1018  	for p.Next() {
  1019  		if !fn(p.Page().(*GetInsightEventsOutput), !p.HasNextPage()) {
  1020  			break
  1021  		}
  1022  	}
  1023  
  1024  	return p.Err()
  1025  }
  1026  
  1027  const opGetInsightImpactGraph = "GetInsightImpactGraph"
  1028  
  1029  // GetInsightImpactGraphRequest generates a "aws/request.Request" representing the
  1030  // client's request for the GetInsightImpactGraph operation. The "output" return
  1031  // value will be populated with the request's response once the request completes
  1032  // successfully.
  1033  //
  1034  // Use "Send" method on the returned Request to send the API call to the service.
  1035  // the "output" return value is not valid until after Send returns without error.
  1036  //
  1037  // See GetInsightImpactGraph for more information on using the GetInsightImpactGraph
  1038  // API call, and error handling.
  1039  //
  1040  // This method is useful when you want to inject custom logic or configuration
  1041  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1042  //
  1043  //
  1044  //    // Example sending a request using the GetInsightImpactGraphRequest method.
  1045  //    req, resp := client.GetInsightImpactGraphRequest(params)
  1046  //
  1047  //    err := req.Send()
  1048  //    if err == nil { // resp is now filled
  1049  //        fmt.Println(resp)
  1050  //    }
  1051  //
  1052  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph
  1053  func (c *XRay) GetInsightImpactGraphRequest(input *GetInsightImpactGraphInput) (req *request.Request, output *GetInsightImpactGraphOutput) {
  1054  	op := &request.Operation{
  1055  		Name:       opGetInsightImpactGraph,
  1056  		HTTPMethod: "POST",
  1057  		HTTPPath:   "/InsightImpactGraph",
  1058  	}
  1059  
  1060  	if input == nil {
  1061  		input = &GetInsightImpactGraphInput{}
  1062  	}
  1063  
  1064  	output = &GetInsightImpactGraphOutput{}
  1065  	req = c.newRequest(op, input, output)
  1066  	return
  1067  }
  1068  
  1069  // GetInsightImpactGraph API operation for AWS X-Ray.
  1070  //
  1071  // Retrieves a service graph structure filtered by the specified insight. The
  1072  // service graph is limited to only structural information. For a complete service
  1073  // graph, use this API with the GetServiceGraph API.
  1074  //
  1075  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1076  // with awserr.Error's Code and Message methods to get detailed information about
  1077  // the error.
  1078  //
  1079  // See the AWS API reference guide for AWS X-Ray's
  1080  // API operation GetInsightImpactGraph for usage and error information.
  1081  //
  1082  // Returned Error Types:
  1083  //   * InvalidRequestException
  1084  //   The request is missing required parameters or has invalid parameters.
  1085  //
  1086  //   * ThrottledException
  1087  //   The request exceeds the maximum number of requests per second.
  1088  //
  1089  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightImpactGraph
  1090  func (c *XRay) GetInsightImpactGraph(input *GetInsightImpactGraphInput) (*GetInsightImpactGraphOutput, error) {
  1091  	req, out := c.GetInsightImpactGraphRequest(input)
  1092  	return out, req.Send()
  1093  }
  1094  
  1095  // GetInsightImpactGraphWithContext is the same as GetInsightImpactGraph with the addition of
  1096  // the ability to pass a context and additional request options.
  1097  //
  1098  // See GetInsightImpactGraph for details on how to use this API operation.
  1099  //
  1100  // The context must be non-nil and will be used for request cancellation. If
  1101  // the context is nil a panic will occur. In the future the SDK may create
  1102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1103  // for more information on using Contexts.
  1104  func (c *XRay) GetInsightImpactGraphWithContext(ctx aws.Context, input *GetInsightImpactGraphInput, opts ...request.Option) (*GetInsightImpactGraphOutput, error) {
  1105  	req, out := c.GetInsightImpactGraphRequest(input)
  1106  	req.SetContext(ctx)
  1107  	req.ApplyOptions(opts...)
  1108  	return out, req.Send()
  1109  }
  1110  
  1111  const opGetInsightSummaries = "GetInsightSummaries"
  1112  
  1113  // GetInsightSummariesRequest generates a "aws/request.Request" representing the
  1114  // client's request for the GetInsightSummaries operation. The "output" return
  1115  // value will be populated with the request's response once the request completes
  1116  // successfully.
  1117  //
  1118  // Use "Send" method on the returned Request to send the API call to the service.
  1119  // the "output" return value is not valid until after Send returns without error.
  1120  //
  1121  // See GetInsightSummaries for more information on using the GetInsightSummaries
  1122  // API call, and error handling.
  1123  //
  1124  // This method is useful when you want to inject custom logic or configuration
  1125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1126  //
  1127  //
  1128  //    // Example sending a request using the GetInsightSummariesRequest method.
  1129  //    req, resp := client.GetInsightSummariesRequest(params)
  1130  //
  1131  //    err := req.Send()
  1132  //    if err == nil { // resp is now filled
  1133  //        fmt.Println(resp)
  1134  //    }
  1135  //
  1136  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries
  1137  func (c *XRay) GetInsightSummariesRequest(input *GetInsightSummariesInput) (req *request.Request, output *GetInsightSummariesOutput) {
  1138  	op := &request.Operation{
  1139  		Name:       opGetInsightSummaries,
  1140  		HTTPMethod: "POST",
  1141  		HTTPPath:   "/InsightSummaries",
  1142  		Paginator: &request.Paginator{
  1143  			InputTokens:     []string{"NextToken"},
  1144  			OutputTokens:    []string{"NextToken"},
  1145  			LimitToken:      "MaxResults",
  1146  			TruncationToken: "",
  1147  		},
  1148  	}
  1149  
  1150  	if input == nil {
  1151  		input = &GetInsightSummariesInput{}
  1152  	}
  1153  
  1154  	output = &GetInsightSummariesOutput{}
  1155  	req = c.newRequest(op, input, output)
  1156  	return
  1157  }
  1158  
  1159  // GetInsightSummaries API operation for AWS X-Ray.
  1160  //
  1161  // Retrieves the summaries of all insights in the specified group matching the
  1162  // provided filter values.
  1163  //
  1164  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1165  // with awserr.Error's Code and Message methods to get detailed information about
  1166  // the error.
  1167  //
  1168  // See the AWS API reference guide for AWS X-Ray's
  1169  // API operation GetInsightSummaries for usage and error information.
  1170  //
  1171  // Returned Error Types:
  1172  //   * InvalidRequestException
  1173  //   The request is missing required parameters or has invalid parameters.
  1174  //
  1175  //   * ThrottledException
  1176  //   The request exceeds the maximum number of requests per second.
  1177  //
  1178  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetInsightSummaries
  1179  func (c *XRay) GetInsightSummaries(input *GetInsightSummariesInput) (*GetInsightSummariesOutput, error) {
  1180  	req, out := c.GetInsightSummariesRequest(input)
  1181  	return out, req.Send()
  1182  }
  1183  
  1184  // GetInsightSummariesWithContext is the same as GetInsightSummaries with the addition of
  1185  // the ability to pass a context and additional request options.
  1186  //
  1187  // See GetInsightSummaries for details on how to use this API operation.
  1188  //
  1189  // The context must be non-nil and will be used for request cancellation. If
  1190  // the context is nil a panic will occur. In the future the SDK may create
  1191  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1192  // for more information on using Contexts.
  1193  func (c *XRay) GetInsightSummariesWithContext(ctx aws.Context, input *GetInsightSummariesInput, opts ...request.Option) (*GetInsightSummariesOutput, error) {
  1194  	req, out := c.GetInsightSummariesRequest(input)
  1195  	req.SetContext(ctx)
  1196  	req.ApplyOptions(opts...)
  1197  	return out, req.Send()
  1198  }
  1199  
  1200  // GetInsightSummariesPages iterates over the pages of a GetInsightSummaries operation,
  1201  // calling the "fn" function with the response data for each page. To stop
  1202  // iterating, return false from the fn function.
  1203  //
  1204  // See GetInsightSummaries method for more information on how to use this operation.
  1205  //
  1206  // Note: This operation can generate multiple requests to a service.
  1207  //
  1208  //    // Example iterating over at most 3 pages of a GetInsightSummaries operation.
  1209  //    pageNum := 0
  1210  //    err := client.GetInsightSummariesPages(params,
  1211  //        func(page *xray.GetInsightSummariesOutput, lastPage bool) bool {
  1212  //            pageNum++
  1213  //            fmt.Println(page)
  1214  //            return pageNum <= 3
  1215  //        })
  1216  //
  1217  func (c *XRay) GetInsightSummariesPages(input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool) error {
  1218  	return c.GetInsightSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
  1219  }
  1220  
  1221  // GetInsightSummariesPagesWithContext same as GetInsightSummariesPages except
  1222  // it takes a Context and allows setting request options on the pages.
  1223  //
  1224  // The context must be non-nil and will be used for request cancellation. If
  1225  // the context is nil a panic will occur. In the future the SDK may create
  1226  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1227  // for more information on using Contexts.
  1228  func (c *XRay) GetInsightSummariesPagesWithContext(ctx aws.Context, input *GetInsightSummariesInput, fn func(*GetInsightSummariesOutput, bool) bool, opts ...request.Option) error {
  1229  	p := request.Pagination{
  1230  		NewRequest: func() (*request.Request, error) {
  1231  			var inCpy *GetInsightSummariesInput
  1232  			if input != nil {
  1233  				tmp := *input
  1234  				inCpy = &tmp
  1235  			}
  1236  			req, _ := c.GetInsightSummariesRequest(inCpy)
  1237  			req.SetContext(ctx)
  1238  			req.ApplyOptions(opts...)
  1239  			return req, nil
  1240  		},
  1241  	}
  1242  
  1243  	for p.Next() {
  1244  		if !fn(p.Page().(*GetInsightSummariesOutput), !p.HasNextPage()) {
  1245  			break
  1246  		}
  1247  	}
  1248  
  1249  	return p.Err()
  1250  }
  1251  
  1252  const opGetSamplingRules = "GetSamplingRules"
  1253  
  1254  // GetSamplingRulesRequest generates a "aws/request.Request" representing the
  1255  // client's request for the GetSamplingRules operation. The "output" return
  1256  // value will be populated with the request's response once the request completes
  1257  // successfully.
  1258  //
  1259  // Use "Send" method on the returned Request to send the API call to the service.
  1260  // the "output" return value is not valid until after Send returns without error.
  1261  //
  1262  // See GetSamplingRules for more information on using the GetSamplingRules
  1263  // API call, and error handling.
  1264  //
  1265  // This method is useful when you want to inject custom logic or configuration
  1266  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1267  //
  1268  //
  1269  //    // Example sending a request using the GetSamplingRulesRequest method.
  1270  //    req, resp := client.GetSamplingRulesRequest(params)
  1271  //
  1272  //    err := req.Send()
  1273  //    if err == nil { // resp is now filled
  1274  //        fmt.Println(resp)
  1275  //    }
  1276  //
  1277  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules
  1278  func (c *XRay) GetSamplingRulesRequest(input *GetSamplingRulesInput) (req *request.Request, output *GetSamplingRulesOutput) {
  1279  	op := &request.Operation{
  1280  		Name:       opGetSamplingRules,
  1281  		HTTPMethod: "POST",
  1282  		HTTPPath:   "/GetSamplingRules",
  1283  		Paginator: &request.Paginator{
  1284  			InputTokens:     []string{"NextToken"},
  1285  			OutputTokens:    []string{"NextToken"},
  1286  			LimitToken:      "",
  1287  			TruncationToken: "",
  1288  		},
  1289  	}
  1290  
  1291  	if input == nil {
  1292  		input = &GetSamplingRulesInput{}
  1293  	}
  1294  
  1295  	output = &GetSamplingRulesOutput{}
  1296  	req = c.newRequest(op, input, output)
  1297  	return
  1298  }
  1299  
  1300  // GetSamplingRules API operation for AWS X-Ray.
  1301  //
  1302  // Retrieves all sampling rules.
  1303  //
  1304  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1305  // with awserr.Error's Code and Message methods to get detailed information about
  1306  // the error.
  1307  //
  1308  // See the AWS API reference guide for AWS X-Ray's
  1309  // API operation GetSamplingRules for usage and error information.
  1310  //
  1311  // Returned Error Types:
  1312  //   * InvalidRequestException
  1313  //   The request is missing required parameters or has invalid parameters.
  1314  //
  1315  //   * ThrottledException
  1316  //   The request exceeds the maximum number of requests per second.
  1317  //
  1318  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingRules
  1319  func (c *XRay) GetSamplingRules(input *GetSamplingRulesInput) (*GetSamplingRulesOutput, error) {
  1320  	req, out := c.GetSamplingRulesRequest(input)
  1321  	return out, req.Send()
  1322  }
  1323  
  1324  // GetSamplingRulesWithContext is the same as GetSamplingRules with the addition of
  1325  // the ability to pass a context and additional request options.
  1326  //
  1327  // See GetSamplingRules for details on how to use this API operation.
  1328  //
  1329  // The context must be non-nil and will be used for request cancellation. If
  1330  // the context is nil a panic will occur. In the future the SDK may create
  1331  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1332  // for more information on using Contexts.
  1333  func (c *XRay) GetSamplingRulesWithContext(ctx aws.Context, input *GetSamplingRulesInput, opts ...request.Option) (*GetSamplingRulesOutput, error) {
  1334  	req, out := c.GetSamplingRulesRequest(input)
  1335  	req.SetContext(ctx)
  1336  	req.ApplyOptions(opts...)
  1337  	return out, req.Send()
  1338  }
  1339  
  1340  // GetSamplingRulesPages iterates over the pages of a GetSamplingRules operation,
  1341  // calling the "fn" function with the response data for each page. To stop
  1342  // iterating, return false from the fn function.
  1343  //
  1344  // See GetSamplingRules method for more information on how to use this operation.
  1345  //
  1346  // Note: This operation can generate multiple requests to a service.
  1347  //
  1348  //    // Example iterating over at most 3 pages of a GetSamplingRules operation.
  1349  //    pageNum := 0
  1350  //    err := client.GetSamplingRulesPages(params,
  1351  //        func(page *xray.GetSamplingRulesOutput, lastPage bool) bool {
  1352  //            pageNum++
  1353  //            fmt.Println(page)
  1354  //            return pageNum <= 3
  1355  //        })
  1356  //
  1357  func (c *XRay) GetSamplingRulesPages(input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool) error {
  1358  	return c.GetSamplingRulesPagesWithContext(aws.BackgroundContext(), input, fn)
  1359  }
  1360  
  1361  // GetSamplingRulesPagesWithContext same as GetSamplingRulesPages except
  1362  // it takes a Context and allows setting request options on the pages.
  1363  //
  1364  // The context must be non-nil and will be used for request cancellation. If
  1365  // the context is nil a panic will occur. In the future the SDK may create
  1366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1367  // for more information on using Contexts.
  1368  func (c *XRay) GetSamplingRulesPagesWithContext(ctx aws.Context, input *GetSamplingRulesInput, fn func(*GetSamplingRulesOutput, bool) bool, opts ...request.Option) error {
  1369  	p := request.Pagination{
  1370  		NewRequest: func() (*request.Request, error) {
  1371  			var inCpy *GetSamplingRulesInput
  1372  			if input != nil {
  1373  				tmp := *input
  1374  				inCpy = &tmp
  1375  			}
  1376  			req, _ := c.GetSamplingRulesRequest(inCpy)
  1377  			req.SetContext(ctx)
  1378  			req.ApplyOptions(opts...)
  1379  			return req, nil
  1380  		},
  1381  	}
  1382  
  1383  	for p.Next() {
  1384  		if !fn(p.Page().(*GetSamplingRulesOutput), !p.HasNextPage()) {
  1385  			break
  1386  		}
  1387  	}
  1388  
  1389  	return p.Err()
  1390  }
  1391  
  1392  const opGetSamplingStatisticSummaries = "GetSamplingStatisticSummaries"
  1393  
  1394  // GetSamplingStatisticSummariesRequest generates a "aws/request.Request" representing the
  1395  // client's request for the GetSamplingStatisticSummaries operation. The "output" return
  1396  // value will be populated with the request's response once the request completes
  1397  // successfully.
  1398  //
  1399  // Use "Send" method on the returned Request to send the API call to the service.
  1400  // the "output" return value is not valid until after Send returns without error.
  1401  //
  1402  // See GetSamplingStatisticSummaries for more information on using the GetSamplingStatisticSummaries
  1403  // API call, and error handling.
  1404  //
  1405  // This method is useful when you want to inject custom logic or configuration
  1406  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1407  //
  1408  //
  1409  //    // Example sending a request using the GetSamplingStatisticSummariesRequest method.
  1410  //    req, resp := client.GetSamplingStatisticSummariesRequest(params)
  1411  //
  1412  //    err := req.Send()
  1413  //    if err == nil { // resp is now filled
  1414  //        fmt.Println(resp)
  1415  //    }
  1416  //
  1417  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries
  1418  func (c *XRay) GetSamplingStatisticSummariesRequest(input *GetSamplingStatisticSummariesInput) (req *request.Request, output *GetSamplingStatisticSummariesOutput) {
  1419  	op := &request.Operation{
  1420  		Name:       opGetSamplingStatisticSummaries,
  1421  		HTTPMethod: "POST",
  1422  		HTTPPath:   "/SamplingStatisticSummaries",
  1423  		Paginator: &request.Paginator{
  1424  			InputTokens:     []string{"NextToken"},
  1425  			OutputTokens:    []string{"NextToken"},
  1426  			LimitToken:      "",
  1427  			TruncationToken: "",
  1428  		},
  1429  	}
  1430  
  1431  	if input == nil {
  1432  		input = &GetSamplingStatisticSummariesInput{}
  1433  	}
  1434  
  1435  	output = &GetSamplingStatisticSummariesOutput{}
  1436  	req = c.newRequest(op, input, output)
  1437  	return
  1438  }
  1439  
  1440  // GetSamplingStatisticSummaries API operation for AWS X-Ray.
  1441  //
  1442  // Retrieves information about recent sampling results for all sampling rules.
  1443  //
  1444  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1445  // with awserr.Error's Code and Message methods to get detailed information about
  1446  // the error.
  1447  //
  1448  // See the AWS API reference guide for AWS X-Ray's
  1449  // API operation GetSamplingStatisticSummaries for usage and error information.
  1450  //
  1451  // Returned Error Types:
  1452  //   * InvalidRequestException
  1453  //   The request is missing required parameters or has invalid parameters.
  1454  //
  1455  //   * ThrottledException
  1456  //   The request exceeds the maximum number of requests per second.
  1457  //
  1458  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingStatisticSummaries
  1459  func (c *XRay) GetSamplingStatisticSummaries(input *GetSamplingStatisticSummariesInput) (*GetSamplingStatisticSummariesOutput, error) {
  1460  	req, out := c.GetSamplingStatisticSummariesRequest(input)
  1461  	return out, req.Send()
  1462  }
  1463  
  1464  // GetSamplingStatisticSummariesWithContext is the same as GetSamplingStatisticSummaries with the addition of
  1465  // the ability to pass a context and additional request options.
  1466  //
  1467  // See GetSamplingStatisticSummaries for details on how to use this API operation.
  1468  //
  1469  // The context must be non-nil and will be used for request cancellation. If
  1470  // the context is nil a panic will occur. In the future the SDK may create
  1471  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1472  // for more information on using Contexts.
  1473  func (c *XRay) GetSamplingStatisticSummariesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, opts ...request.Option) (*GetSamplingStatisticSummariesOutput, error) {
  1474  	req, out := c.GetSamplingStatisticSummariesRequest(input)
  1475  	req.SetContext(ctx)
  1476  	req.ApplyOptions(opts...)
  1477  	return out, req.Send()
  1478  }
  1479  
  1480  // GetSamplingStatisticSummariesPages iterates over the pages of a GetSamplingStatisticSummaries operation,
  1481  // calling the "fn" function with the response data for each page. To stop
  1482  // iterating, return false from the fn function.
  1483  //
  1484  // See GetSamplingStatisticSummaries method for more information on how to use this operation.
  1485  //
  1486  // Note: This operation can generate multiple requests to a service.
  1487  //
  1488  //    // Example iterating over at most 3 pages of a GetSamplingStatisticSummaries operation.
  1489  //    pageNum := 0
  1490  //    err := client.GetSamplingStatisticSummariesPages(params,
  1491  //        func(page *xray.GetSamplingStatisticSummariesOutput, lastPage bool) bool {
  1492  //            pageNum++
  1493  //            fmt.Println(page)
  1494  //            return pageNum <= 3
  1495  //        })
  1496  //
  1497  func (c *XRay) GetSamplingStatisticSummariesPages(input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool) error {
  1498  	return c.GetSamplingStatisticSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
  1499  }
  1500  
  1501  // GetSamplingStatisticSummariesPagesWithContext same as GetSamplingStatisticSummariesPages except
  1502  // it takes a Context and allows setting request options on the pages.
  1503  //
  1504  // The context must be non-nil and will be used for request cancellation. If
  1505  // the context is nil a panic will occur. In the future the SDK may create
  1506  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1507  // for more information on using Contexts.
  1508  func (c *XRay) GetSamplingStatisticSummariesPagesWithContext(ctx aws.Context, input *GetSamplingStatisticSummariesInput, fn func(*GetSamplingStatisticSummariesOutput, bool) bool, opts ...request.Option) error {
  1509  	p := request.Pagination{
  1510  		NewRequest: func() (*request.Request, error) {
  1511  			var inCpy *GetSamplingStatisticSummariesInput
  1512  			if input != nil {
  1513  				tmp := *input
  1514  				inCpy = &tmp
  1515  			}
  1516  			req, _ := c.GetSamplingStatisticSummariesRequest(inCpy)
  1517  			req.SetContext(ctx)
  1518  			req.ApplyOptions(opts...)
  1519  			return req, nil
  1520  		},
  1521  	}
  1522  
  1523  	for p.Next() {
  1524  		if !fn(p.Page().(*GetSamplingStatisticSummariesOutput), !p.HasNextPage()) {
  1525  			break
  1526  		}
  1527  	}
  1528  
  1529  	return p.Err()
  1530  }
  1531  
  1532  const opGetSamplingTargets = "GetSamplingTargets"
  1533  
  1534  // GetSamplingTargetsRequest generates a "aws/request.Request" representing the
  1535  // client's request for the GetSamplingTargets operation. The "output" return
  1536  // value will be populated with the request's response once the request completes
  1537  // successfully.
  1538  //
  1539  // Use "Send" method on the returned Request to send the API call to the service.
  1540  // the "output" return value is not valid until after Send returns without error.
  1541  //
  1542  // See GetSamplingTargets for more information on using the GetSamplingTargets
  1543  // API call, and error handling.
  1544  //
  1545  // This method is useful when you want to inject custom logic or configuration
  1546  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1547  //
  1548  //
  1549  //    // Example sending a request using the GetSamplingTargetsRequest method.
  1550  //    req, resp := client.GetSamplingTargetsRequest(params)
  1551  //
  1552  //    err := req.Send()
  1553  //    if err == nil { // resp is now filled
  1554  //        fmt.Println(resp)
  1555  //    }
  1556  //
  1557  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets
  1558  func (c *XRay) GetSamplingTargetsRequest(input *GetSamplingTargetsInput) (req *request.Request, output *GetSamplingTargetsOutput) {
  1559  	op := &request.Operation{
  1560  		Name:       opGetSamplingTargets,
  1561  		HTTPMethod: "POST",
  1562  		HTTPPath:   "/SamplingTargets",
  1563  	}
  1564  
  1565  	if input == nil {
  1566  		input = &GetSamplingTargetsInput{}
  1567  	}
  1568  
  1569  	output = &GetSamplingTargetsOutput{}
  1570  	req = c.newRequest(op, input, output)
  1571  	return
  1572  }
  1573  
  1574  // GetSamplingTargets API operation for AWS X-Ray.
  1575  //
  1576  // Requests a sampling quota for rules that the service is using to sample requests.
  1577  //
  1578  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1579  // with awserr.Error's Code and Message methods to get detailed information about
  1580  // the error.
  1581  //
  1582  // See the AWS API reference guide for AWS X-Ray's
  1583  // API operation GetSamplingTargets for usage and error information.
  1584  //
  1585  // Returned Error Types:
  1586  //   * InvalidRequestException
  1587  //   The request is missing required parameters or has invalid parameters.
  1588  //
  1589  //   * ThrottledException
  1590  //   The request exceeds the maximum number of requests per second.
  1591  //
  1592  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetSamplingTargets
  1593  func (c *XRay) GetSamplingTargets(input *GetSamplingTargetsInput) (*GetSamplingTargetsOutput, error) {
  1594  	req, out := c.GetSamplingTargetsRequest(input)
  1595  	return out, req.Send()
  1596  }
  1597  
  1598  // GetSamplingTargetsWithContext is the same as GetSamplingTargets with the addition of
  1599  // the ability to pass a context and additional request options.
  1600  //
  1601  // See GetSamplingTargets for details on how to use this API operation.
  1602  //
  1603  // The context must be non-nil and will be used for request cancellation. If
  1604  // the context is nil a panic will occur. In the future the SDK may create
  1605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1606  // for more information on using Contexts.
  1607  func (c *XRay) GetSamplingTargetsWithContext(ctx aws.Context, input *GetSamplingTargetsInput, opts ...request.Option) (*GetSamplingTargetsOutput, error) {
  1608  	req, out := c.GetSamplingTargetsRequest(input)
  1609  	req.SetContext(ctx)
  1610  	req.ApplyOptions(opts...)
  1611  	return out, req.Send()
  1612  }
  1613  
  1614  const opGetServiceGraph = "GetServiceGraph"
  1615  
  1616  // GetServiceGraphRequest generates a "aws/request.Request" representing the
  1617  // client's request for the GetServiceGraph operation. The "output" return
  1618  // value will be populated with the request's response once the request completes
  1619  // successfully.
  1620  //
  1621  // Use "Send" method on the returned Request to send the API call to the service.
  1622  // the "output" return value is not valid until after Send returns without error.
  1623  //
  1624  // See GetServiceGraph for more information on using the GetServiceGraph
  1625  // API call, and error handling.
  1626  //
  1627  // This method is useful when you want to inject custom logic or configuration
  1628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1629  //
  1630  //
  1631  //    // Example sending a request using the GetServiceGraphRequest method.
  1632  //    req, resp := client.GetServiceGraphRequest(params)
  1633  //
  1634  //    err := req.Send()
  1635  //    if err == nil { // resp is now filled
  1636  //        fmt.Println(resp)
  1637  //    }
  1638  //
  1639  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
  1640  func (c *XRay) GetServiceGraphRequest(input *GetServiceGraphInput) (req *request.Request, output *GetServiceGraphOutput) {
  1641  	op := &request.Operation{
  1642  		Name:       opGetServiceGraph,
  1643  		HTTPMethod: "POST",
  1644  		HTTPPath:   "/ServiceGraph",
  1645  		Paginator: &request.Paginator{
  1646  			InputTokens:     []string{"NextToken"},
  1647  			OutputTokens:    []string{"NextToken"},
  1648  			LimitToken:      "",
  1649  			TruncationToken: "",
  1650  		},
  1651  	}
  1652  
  1653  	if input == nil {
  1654  		input = &GetServiceGraphInput{}
  1655  	}
  1656  
  1657  	output = &GetServiceGraphOutput{}
  1658  	req = c.newRequest(op, input, output)
  1659  	return
  1660  }
  1661  
  1662  // GetServiceGraph API operation for AWS X-Ray.
  1663  //
  1664  // Retrieves a document that describes services that process incoming requests,
  1665  // and downstream services that they call as a result. Root services process
  1666  // incoming requests and make calls to downstream services. Root services are
  1667  // applications that use the Amazon Web Services X-Ray SDK (https://docs.aws.amazon.com/xray/index.html).
  1668  // Downstream services can be other applications, Amazon Web Services resources,
  1669  // HTTP web APIs, or SQL databases.
  1670  //
  1671  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1672  // with awserr.Error's Code and Message methods to get detailed information about
  1673  // the error.
  1674  //
  1675  // See the AWS API reference guide for AWS X-Ray's
  1676  // API operation GetServiceGraph for usage and error information.
  1677  //
  1678  // Returned Error Types:
  1679  //   * InvalidRequestException
  1680  //   The request is missing required parameters or has invalid parameters.
  1681  //
  1682  //   * ThrottledException
  1683  //   The request exceeds the maximum number of requests per second.
  1684  //
  1685  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetServiceGraph
  1686  func (c *XRay) GetServiceGraph(input *GetServiceGraphInput) (*GetServiceGraphOutput, error) {
  1687  	req, out := c.GetServiceGraphRequest(input)
  1688  	return out, req.Send()
  1689  }
  1690  
  1691  // GetServiceGraphWithContext is the same as GetServiceGraph with the addition of
  1692  // the ability to pass a context and additional request options.
  1693  //
  1694  // See GetServiceGraph for details on how to use this API operation.
  1695  //
  1696  // The context must be non-nil and will be used for request cancellation. If
  1697  // the context is nil a panic will occur. In the future the SDK may create
  1698  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1699  // for more information on using Contexts.
  1700  func (c *XRay) GetServiceGraphWithContext(ctx aws.Context, input *GetServiceGraphInput, opts ...request.Option) (*GetServiceGraphOutput, error) {
  1701  	req, out := c.GetServiceGraphRequest(input)
  1702  	req.SetContext(ctx)
  1703  	req.ApplyOptions(opts...)
  1704  	return out, req.Send()
  1705  }
  1706  
  1707  // GetServiceGraphPages iterates over the pages of a GetServiceGraph operation,
  1708  // calling the "fn" function with the response data for each page. To stop
  1709  // iterating, return false from the fn function.
  1710  //
  1711  // See GetServiceGraph method for more information on how to use this operation.
  1712  //
  1713  // Note: This operation can generate multiple requests to a service.
  1714  //
  1715  //    // Example iterating over at most 3 pages of a GetServiceGraph operation.
  1716  //    pageNum := 0
  1717  //    err := client.GetServiceGraphPages(params,
  1718  //        func(page *xray.GetServiceGraphOutput, lastPage bool) bool {
  1719  //            pageNum++
  1720  //            fmt.Println(page)
  1721  //            return pageNum <= 3
  1722  //        })
  1723  //
  1724  func (c *XRay) GetServiceGraphPages(input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool) error {
  1725  	return c.GetServiceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
  1726  }
  1727  
  1728  // GetServiceGraphPagesWithContext same as GetServiceGraphPages except
  1729  // it takes a Context and allows setting request options on the pages.
  1730  //
  1731  // The context must be non-nil and will be used for request cancellation. If
  1732  // the context is nil a panic will occur. In the future the SDK may create
  1733  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1734  // for more information on using Contexts.
  1735  func (c *XRay) GetServiceGraphPagesWithContext(ctx aws.Context, input *GetServiceGraphInput, fn func(*GetServiceGraphOutput, bool) bool, opts ...request.Option) error {
  1736  	p := request.Pagination{
  1737  		NewRequest: func() (*request.Request, error) {
  1738  			var inCpy *GetServiceGraphInput
  1739  			if input != nil {
  1740  				tmp := *input
  1741  				inCpy = &tmp
  1742  			}
  1743  			req, _ := c.GetServiceGraphRequest(inCpy)
  1744  			req.SetContext(ctx)
  1745  			req.ApplyOptions(opts...)
  1746  			return req, nil
  1747  		},
  1748  	}
  1749  
  1750  	for p.Next() {
  1751  		if !fn(p.Page().(*GetServiceGraphOutput), !p.HasNextPage()) {
  1752  			break
  1753  		}
  1754  	}
  1755  
  1756  	return p.Err()
  1757  }
  1758  
  1759  const opGetTimeSeriesServiceStatistics = "GetTimeSeriesServiceStatistics"
  1760  
  1761  // GetTimeSeriesServiceStatisticsRequest generates a "aws/request.Request" representing the
  1762  // client's request for the GetTimeSeriesServiceStatistics operation. The "output" return
  1763  // value will be populated with the request's response once the request completes
  1764  // successfully.
  1765  //
  1766  // Use "Send" method on the returned Request to send the API call to the service.
  1767  // the "output" return value is not valid until after Send returns without error.
  1768  //
  1769  // See GetTimeSeriesServiceStatistics for more information on using the GetTimeSeriesServiceStatistics
  1770  // API call, and error handling.
  1771  //
  1772  // This method is useful when you want to inject custom logic or configuration
  1773  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1774  //
  1775  //
  1776  //    // Example sending a request using the GetTimeSeriesServiceStatisticsRequest method.
  1777  //    req, resp := client.GetTimeSeriesServiceStatisticsRequest(params)
  1778  //
  1779  //    err := req.Send()
  1780  //    if err == nil { // resp is now filled
  1781  //        fmt.Println(resp)
  1782  //    }
  1783  //
  1784  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics
  1785  func (c *XRay) GetTimeSeriesServiceStatisticsRequest(input *GetTimeSeriesServiceStatisticsInput) (req *request.Request, output *GetTimeSeriesServiceStatisticsOutput) {
  1786  	op := &request.Operation{
  1787  		Name:       opGetTimeSeriesServiceStatistics,
  1788  		HTTPMethod: "POST",
  1789  		HTTPPath:   "/TimeSeriesServiceStatistics",
  1790  		Paginator: &request.Paginator{
  1791  			InputTokens:     []string{"NextToken"},
  1792  			OutputTokens:    []string{"NextToken"},
  1793  			LimitToken:      "",
  1794  			TruncationToken: "",
  1795  		},
  1796  	}
  1797  
  1798  	if input == nil {
  1799  		input = &GetTimeSeriesServiceStatisticsInput{}
  1800  	}
  1801  
  1802  	output = &GetTimeSeriesServiceStatisticsOutput{}
  1803  	req = c.newRequest(op, input, output)
  1804  	return
  1805  }
  1806  
  1807  // GetTimeSeriesServiceStatistics API operation for AWS X-Ray.
  1808  //
  1809  // Get an aggregation of service statistics defined by a specific time range.
  1810  //
  1811  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1812  // with awserr.Error's Code and Message methods to get detailed information about
  1813  // the error.
  1814  //
  1815  // See the AWS API reference guide for AWS X-Ray's
  1816  // API operation GetTimeSeriesServiceStatistics for usage and error information.
  1817  //
  1818  // Returned Error Types:
  1819  //   * InvalidRequestException
  1820  //   The request is missing required parameters or has invalid parameters.
  1821  //
  1822  //   * ThrottledException
  1823  //   The request exceeds the maximum number of requests per second.
  1824  //
  1825  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTimeSeriesServiceStatistics
  1826  func (c *XRay) GetTimeSeriesServiceStatistics(input *GetTimeSeriesServiceStatisticsInput) (*GetTimeSeriesServiceStatisticsOutput, error) {
  1827  	req, out := c.GetTimeSeriesServiceStatisticsRequest(input)
  1828  	return out, req.Send()
  1829  }
  1830  
  1831  // GetTimeSeriesServiceStatisticsWithContext is the same as GetTimeSeriesServiceStatistics with the addition of
  1832  // the ability to pass a context and additional request options.
  1833  //
  1834  // See GetTimeSeriesServiceStatistics for details on how to use this API operation.
  1835  //
  1836  // The context must be non-nil and will be used for request cancellation. If
  1837  // the context is nil a panic will occur. In the future the SDK may create
  1838  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1839  // for more information on using Contexts.
  1840  func (c *XRay) GetTimeSeriesServiceStatisticsWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, opts ...request.Option) (*GetTimeSeriesServiceStatisticsOutput, error) {
  1841  	req, out := c.GetTimeSeriesServiceStatisticsRequest(input)
  1842  	req.SetContext(ctx)
  1843  	req.ApplyOptions(opts...)
  1844  	return out, req.Send()
  1845  }
  1846  
  1847  // GetTimeSeriesServiceStatisticsPages iterates over the pages of a GetTimeSeriesServiceStatistics operation,
  1848  // calling the "fn" function with the response data for each page. To stop
  1849  // iterating, return false from the fn function.
  1850  //
  1851  // See GetTimeSeriesServiceStatistics method for more information on how to use this operation.
  1852  //
  1853  // Note: This operation can generate multiple requests to a service.
  1854  //
  1855  //    // Example iterating over at most 3 pages of a GetTimeSeriesServiceStatistics operation.
  1856  //    pageNum := 0
  1857  //    err := client.GetTimeSeriesServiceStatisticsPages(params,
  1858  //        func(page *xray.GetTimeSeriesServiceStatisticsOutput, lastPage bool) bool {
  1859  //            pageNum++
  1860  //            fmt.Println(page)
  1861  //            return pageNum <= 3
  1862  //        })
  1863  //
  1864  func (c *XRay) GetTimeSeriesServiceStatisticsPages(input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool) error {
  1865  	return c.GetTimeSeriesServiceStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
  1866  }
  1867  
  1868  // GetTimeSeriesServiceStatisticsPagesWithContext same as GetTimeSeriesServiceStatisticsPages except
  1869  // it takes a Context and allows setting request options on the pages.
  1870  //
  1871  // The context must be non-nil and will be used for request cancellation. If
  1872  // the context is nil a panic will occur. In the future the SDK may create
  1873  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1874  // for more information on using Contexts.
  1875  func (c *XRay) GetTimeSeriesServiceStatisticsPagesWithContext(ctx aws.Context, input *GetTimeSeriesServiceStatisticsInput, fn func(*GetTimeSeriesServiceStatisticsOutput, bool) bool, opts ...request.Option) error {
  1876  	p := request.Pagination{
  1877  		NewRequest: func() (*request.Request, error) {
  1878  			var inCpy *GetTimeSeriesServiceStatisticsInput
  1879  			if input != nil {
  1880  				tmp := *input
  1881  				inCpy = &tmp
  1882  			}
  1883  			req, _ := c.GetTimeSeriesServiceStatisticsRequest(inCpy)
  1884  			req.SetContext(ctx)
  1885  			req.ApplyOptions(opts...)
  1886  			return req, nil
  1887  		},
  1888  	}
  1889  
  1890  	for p.Next() {
  1891  		if !fn(p.Page().(*GetTimeSeriesServiceStatisticsOutput), !p.HasNextPage()) {
  1892  			break
  1893  		}
  1894  	}
  1895  
  1896  	return p.Err()
  1897  }
  1898  
  1899  const opGetTraceGraph = "GetTraceGraph"
  1900  
  1901  // GetTraceGraphRequest generates a "aws/request.Request" representing the
  1902  // client's request for the GetTraceGraph operation. The "output" return
  1903  // value will be populated with the request's response once the request completes
  1904  // successfully.
  1905  //
  1906  // Use "Send" method on the returned Request to send the API call to the service.
  1907  // the "output" return value is not valid until after Send returns without error.
  1908  //
  1909  // See GetTraceGraph for more information on using the GetTraceGraph
  1910  // API call, and error handling.
  1911  //
  1912  // This method is useful when you want to inject custom logic or configuration
  1913  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1914  //
  1915  //
  1916  //    // Example sending a request using the GetTraceGraphRequest method.
  1917  //    req, resp := client.GetTraceGraphRequest(params)
  1918  //
  1919  //    err := req.Send()
  1920  //    if err == nil { // resp is now filled
  1921  //        fmt.Println(resp)
  1922  //    }
  1923  //
  1924  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
  1925  func (c *XRay) GetTraceGraphRequest(input *GetTraceGraphInput) (req *request.Request, output *GetTraceGraphOutput) {
  1926  	op := &request.Operation{
  1927  		Name:       opGetTraceGraph,
  1928  		HTTPMethod: "POST",
  1929  		HTTPPath:   "/TraceGraph",
  1930  		Paginator: &request.Paginator{
  1931  			InputTokens:     []string{"NextToken"},
  1932  			OutputTokens:    []string{"NextToken"},
  1933  			LimitToken:      "",
  1934  			TruncationToken: "",
  1935  		},
  1936  	}
  1937  
  1938  	if input == nil {
  1939  		input = &GetTraceGraphInput{}
  1940  	}
  1941  
  1942  	output = &GetTraceGraphOutput{}
  1943  	req = c.newRequest(op, input, output)
  1944  	return
  1945  }
  1946  
  1947  // GetTraceGraph API operation for AWS X-Ray.
  1948  //
  1949  // Retrieves a service graph for one or more specific trace IDs.
  1950  //
  1951  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1952  // with awserr.Error's Code and Message methods to get detailed information about
  1953  // the error.
  1954  //
  1955  // See the AWS API reference guide for AWS X-Ray's
  1956  // API operation GetTraceGraph for usage and error information.
  1957  //
  1958  // Returned Error Types:
  1959  //   * InvalidRequestException
  1960  //   The request is missing required parameters or has invalid parameters.
  1961  //
  1962  //   * ThrottledException
  1963  //   The request exceeds the maximum number of requests per second.
  1964  //
  1965  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceGraph
  1966  func (c *XRay) GetTraceGraph(input *GetTraceGraphInput) (*GetTraceGraphOutput, error) {
  1967  	req, out := c.GetTraceGraphRequest(input)
  1968  	return out, req.Send()
  1969  }
  1970  
  1971  // GetTraceGraphWithContext is the same as GetTraceGraph with the addition of
  1972  // the ability to pass a context and additional request options.
  1973  //
  1974  // See GetTraceGraph for details on how to use this API operation.
  1975  //
  1976  // The context must be non-nil and will be used for request cancellation. If
  1977  // the context is nil a panic will occur. In the future the SDK may create
  1978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1979  // for more information on using Contexts.
  1980  func (c *XRay) GetTraceGraphWithContext(ctx aws.Context, input *GetTraceGraphInput, opts ...request.Option) (*GetTraceGraphOutput, error) {
  1981  	req, out := c.GetTraceGraphRequest(input)
  1982  	req.SetContext(ctx)
  1983  	req.ApplyOptions(opts...)
  1984  	return out, req.Send()
  1985  }
  1986  
  1987  // GetTraceGraphPages iterates over the pages of a GetTraceGraph operation,
  1988  // calling the "fn" function with the response data for each page. To stop
  1989  // iterating, return false from the fn function.
  1990  //
  1991  // See GetTraceGraph method for more information on how to use this operation.
  1992  //
  1993  // Note: This operation can generate multiple requests to a service.
  1994  //
  1995  //    // Example iterating over at most 3 pages of a GetTraceGraph operation.
  1996  //    pageNum := 0
  1997  //    err := client.GetTraceGraphPages(params,
  1998  //        func(page *xray.GetTraceGraphOutput, lastPage bool) bool {
  1999  //            pageNum++
  2000  //            fmt.Println(page)
  2001  //            return pageNum <= 3
  2002  //        })
  2003  //
  2004  func (c *XRay) GetTraceGraphPages(input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool) error {
  2005  	return c.GetTraceGraphPagesWithContext(aws.BackgroundContext(), input, fn)
  2006  }
  2007  
  2008  // GetTraceGraphPagesWithContext same as GetTraceGraphPages except
  2009  // it takes a Context and allows setting request options on the pages.
  2010  //
  2011  // The context must be non-nil and will be used for request cancellation. If
  2012  // the context is nil a panic will occur. In the future the SDK may create
  2013  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2014  // for more information on using Contexts.
  2015  func (c *XRay) GetTraceGraphPagesWithContext(ctx aws.Context, input *GetTraceGraphInput, fn func(*GetTraceGraphOutput, bool) bool, opts ...request.Option) error {
  2016  	p := request.Pagination{
  2017  		NewRequest: func() (*request.Request, error) {
  2018  			var inCpy *GetTraceGraphInput
  2019  			if input != nil {
  2020  				tmp := *input
  2021  				inCpy = &tmp
  2022  			}
  2023  			req, _ := c.GetTraceGraphRequest(inCpy)
  2024  			req.SetContext(ctx)
  2025  			req.ApplyOptions(opts...)
  2026  			return req, nil
  2027  		},
  2028  	}
  2029  
  2030  	for p.Next() {
  2031  		if !fn(p.Page().(*GetTraceGraphOutput), !p.HasNextPage()) {
  2032  			break
  2033  		}
  2034  	}
  2035  
  2036  	return p.Err()
  2037  }
  2038  
  2039  const opGetTraceSummaries = "GetTraceSummaries"
  2040  
  2041  // GetTraceSummariesRequest generates a "aws/request.Request" representing the
  2042  // client's request for the GetTraceSummaries operation. The "output" return
  2043  // value will be populated with the request's response once the request completes
  2044  // successfully.
  2045  //
  2046  // Use "Send" method on the returned Request to send the API call to the service.
  2047  // the "output" return value is not valid until after Send returns without error.
  2048  //
  2049  // See GetTraceSummaries for more information on using the GetTraceSummaries
  2050  // API call, and error handling.
  2051  //
  2052  // This method is useful when you want to inject custom logic or configuration
  2053  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2054  //
  2055  //
  2056  //    // Example sending a request using the GetTraceSummariesRequest method.
  2057  //    req, resp := client.GetTraceSummariesRequest(params)
  2058  //
  2059  //    err := req.Send()
  2060  //    if err == nil { // resp is now filled
  2061  //        fmt.Println(resp)
  2062  //    }
  2063  //
  2064  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
  2065  func (c *XRay) GetTraceSummariesRequest(input *GetTraceSummariesInput) (req *request.Request, output *GetTraceSummariesOutput) {
  2066  	op := &request.Operation{
  2067  		Name:       opGetTraceSummaries,
  2068  		HTTPMethod: "POST",
  2069  		HTTPPath:   "/TraceSummaries",
  2070  		Paginator: &request.Paginator{
  2071  			InputTokens:     []string{"NextToken"},
  2072  			OutputTokens:    []string{"NextToken"},
  2073  			LimitToken:      "",
  2074  			TruncationToken: "",
  2075  		},
  2076  	}
  2077  
  2078  	if input == nil {
  2079  		input = &GetTraceSummariesInput{}
  2080  	}
  2081  
  2082  	output = &GetTraceSummariesOutput{}
  2083  	req = c.newRequest(op, input, output)
  2084  	return
  2085  }
  2086  
  2087  // GetTraceSummaries API operation for AWS X-Ray.
  2088  //
  2089  // Retrieves IDs and annotations for traces available for a specified time frame
  2090  // using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.
  2091  //
  2092  // A filter expression can target traced requests that hit specific service
  2093  // nodes or edges, have errors, or come from a known user. For example, the
  2094  // following filter expression targets traces that pass through api.example.com:
  2095  //
  2096  // service("api.example.com")
  2097  //
  2098  // This filter expression finds traces that have an annotation named account
  2099  // with the value 12345:
  2100  //
  2101  // annotation.account = "12345"
  2102  //
  2103  // For a full list of indexed fields and keywords that you can use in filter
  2104  // expressions, see Using Filter Expressions (https://docs.aws.amazon.com/xray/latest/devguide/xray-console-filters.html)
  2105  // in the Amazon Web Services X-Ray Developer Guide.
  2106  //
  2107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2108  // with awserr.Error's Code and Message methods to get detailed information about
  2109  // the error.
  2110  //
  2111  // See the AWS API reference guide for AWS X-Ray's
  2112  // API operation GetTraceSummaries for usage and error information.
  2113  //
  2114  // Returned Error Types:
  2115  //   * InvalidRequestException
  2116  //   The request is missing required parameters or has invalid parameters.
  2117  //
  2118  //   * ThrottledException
  2119  //   The request exceeds the maximum number of requests per second.
  2120  //
  2121  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/GetTraceSummaries
  2122  func (c *XRay) GetTraceSummaries(input *GetTraceSummariesInput) (*GetTraceSummariesOutput, error) {
  2123  	req, out := c.GetTraceSummariesRequest(input)
  2124  	return out, req.Send()
  2125  }
  2126  
  2127  // GetTraceSummariesWithContext is the same as GetTraceSummaries with the addition of
  2128  // the ability to pass a context and additional request options.
  2129  //
  2130  // See GetTraceSummaries for details on how to use this API operation.
  2131  //
  2132  // The context must be non-nil and will be used for request cancellation. If
  2133  // the context is nil a panic will occur. In the future the SDK may create
  2134  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2135  // for more information on using Contexts.
  2136  func (c *XRay) GetTraceSummariesWithContext(ctx aws.Context, input *GetTraceSummariesInput, opts ...request.Option) (*GetTraceSummariesOutput, error) {
  2137  	req, out := c.GetTraceSummariesRequest(input)
  2138  	req.SetContext(ctx)
  2139  	req.ApplyOptions(opts...)
  2140  	return out, req.Send()
  2141  }
  2142  
  2143  // GetTraceSummariesPages iterates over the pages of a GetTraceSummaries operation,
  2144  // calling the "fn" function with the response data for each page. To stop
  2145  // iterating, return false from the fn function.
  2146  //
  2147  // See GetTraceSummaries method for more information on how to use this operation.
  2148  //
  2149  // Note: This operation can generate multiple requests to a service.
  2150  //
  2151  //    // Example iterating over at most 3 pages of a GetTraceSummaries operation.
  2152  //    pageNum := 0
  2153  //    err := client.GetTraceSummariesPages(params,
  2154  //        func(page *xray.GetTraceSummariesOutput, lastPage bool) bool {
  2155  //            pageNum++
  2156  //            fmt.Println(page)
  2157  //            return pageNum <= 3
  2158  //        })
  2159  //
  2160  func (c *XRay) GetTraceSummariesPages(input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool) error {
  2161  	return c.GetTraceSummariesPagesWithContext(aws.BackgroundContext(), input, fn)
  2162  }
  2163  
  2164  // GetTraceSummariesPagesWithContext same as GetTraceSummariesPages except
  2165  // it takes a Context and allows setting request options on the pages.
  2166  //
  2167  // The context must be non-nil and will be used for request cancellation. If
  2168  // the context is nil a panic will occur. In the future the SDK may create
  2169  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2170  // for more information on using Contexts.
  2171  func (c *XRay) GetTraceSummariesPagesWithContext(ctx aws.Context, input *GetTraceSummariesInput, fn func(*GetTraceSummariesOutput, bool) bool, opts ...request.Option) error {
  2172  	p := request.Pagination{
  2173  		NewRequest: func() (*request.Request, error) {
  2174  			var inCpy *GetTraceSummariesInput
  2175  			if input != nil {
  2176  				tmp := *input
  2177  				inCpy = &tmp
  2178  			}
  2179  			req, _ := c.GetTraceSummariesRequest(inCpy)
  2180  			req.SetContext(ctx)
  2181  			req.ApplyOptions(opts...)
  2182  			return req, nil
  2183  		},
  2184  	}
  2185  
  2186  	for p.Next() {
  2187  		if !fn(p.Page().(*GetTraceSummariesOutput), !p.HasNextPage()) {
  2188  			break
  2189  		}
  2190  	}
  2191  
  2192  	return p.Err()
  2193  }
  2194  
  2195  const opListTagsForResource = "ListTagsForResource"
  2196  
  2197  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  2198  // client's request for the ListTagsForResource operation. The "output" return
  2199  // value will be populated with the request's response once the request completes
  2200  // successfully.
  2201  //
  2202  // Use "Send" method on the returned Request to send the API call to the service.
  2203  // the "output" return value is not valid until after Send returns without error.
  2204  //
  2205  // See ListTagsForResource for more information on using the ListTagsForResource
  2206  // API call, and error handling.
  2207  //
  2208  // This method is useful when you want to inject custom logic or configuration
  2209  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2210  //
  2211  //
  2212  //    // Example sending a request using the ListTagsForResourceRequest method.
  2213  //    req, resp := client.ListTagsForResourceRequest(params)
  2214  //
  2215  //    err := req.Send()
  2216  //    if err == nil { // resp is now filled
  2217  //        fmt.Println(resp)
  2218  //    }
  2219  //
  2220  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource
  2221  func (c *XRay) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  2222  	op := &request.Operation{
  2223  		Name:       opListTagsForResource,
  2224  		HTTPMethod: "POST",
  2225  		HTTPPath:   "/ListTagsForResource",
  2226  	}
  2227  
  2228  	if input == nil {
  2229  		input = &ListTagsForResourceInput{}
  2230  	}
  2231  
  2232  	output = &ListTagsForResourceOutput{}
  2233  	req = c.newRequest(op, input, output)
  2234  	return
  2235  }
  2236  
  2237  // ListTagsForResource API operation for AWS X-Ray.
  2238  //
  2239  // Returns a list of tags that are applied to the specified Amazon Web Services
  2240  // X-Ray group or sampling rule.
  2241  //
  2242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2243  // with awserr.Error's Code and Message methods to get detailed information about
  2244  // the error.
  2245  //
  2246  // See the AWS API reference guide for AWS X-Ray's
  2247  // API operation ListTagsForResource for usage and error information.
  2248  //
  2249  // Returned Error Types:
  2250  //   * InvalidRequestException
  2251  //   The request is missing required parameters or has invalid parameters.
  2252  //
  2253  //   * ThrottledException
  2254  //   The request exceeds the maximum number of requests per second.
  2255  //
  2256  //   * ResourceNotFoundException
  2257  //   The resource was not found. Verify that the name or Amazon Resource Name
  2258  //   (ARN) of the resource is correct.
  2259  //
  2260  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/ListTagsForResource
  2261  func (c *XRay) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  2262  	req, out := c.ListTagsForResourceRequest(input)
  2263  	return out, req.Send()
  2264  }
  2265  
  2266  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  2267  // the ability to pass a context and additional request options.
  2268  //
  2269  // See ListTagsForResource for details on how to use this API operation.
  2270  //
  2271  // The context must be non-nil and will be used for request cancellation. If
  2272  // the context is nil a panic will occur. In the future the SDK may create
  2273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2274  // for more information on using Contexts.
  2275  func (c *XRay) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  2276  	req, out := c.ListTagsForResourceRequest(input)
  2277  	req.SetContext(ctx)
  2278  	req.ApplyOptions(opts...)
  2279  	return out, req.Send()
  2280  }
  2281  
  2282  const opPutEncryptionConfig = "PutEncryptionConfig"
  2283  
  2284  // PutEncryptionConfigRequest generates a "aws/request.Request" representing the
  2285  // client's request for the PutEncryptionConfig operation. The "output" return
  2286  // value will be populated with the request's response once the request completes
  2287  // successfully.
  2288  //
  2289  // Use "Send" method on the returned Request to send the API call to the service.
  2290  // the "output" return value is not valid until after Send returns without error.
  2291  //
  2292  // See PutEncryptionConfig for more information on using the PutEncryptionConfig
  2293  // API call, and error handling.
  2294  //
  2295  // This method is useful when you want to inject custom logic or configuration
  2296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2297  //
  2298  //
  2299  //    // Example sending a request using the PutEncryptionConfigRequest method.
  2300  //    req, resp := client.PutEncryptionConfigRequest(params)
  2301  //
  2302  //    err := req.Send()
  2303  //    if err == nil { // resp is now filled
  2304  //        fmt.Println(resp)
  2305  //    }
  2306  //
  2307  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig
  2308  func (c *XRay) PutEncryptionConfigRequest(input *PutEncryptionConfigInput) (req *request.Request, output *PutEncryptionConfigOutput) {
  2309  	op := &request.Operation{
  2310  		Name:       opPutEncryptionConfig,
  2311  		HTTPMethod: "POST",
  2312  		HTTPPath:   "/PutEncryptionConfig",
  2313  	}
  2314  
  2315  	if input == nil {
  2316  		input = &PutEncryptionConfigInput{}
  2317  	}
  2318  
  2319  	output = &PutEncryptionConfigOutput{}
  2320  	req = c.newRequest(op, input, output)
  2321  	return
  2322  }
  2323  
  2324  // PutEncryptionConfig API operation for AWS X-Ray.
  2325  //
  2326  // Updates the encryption configuration for X-Ray data.
  2327  //
  2328  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2329  // with awserr.Error's Code and Message methods to get detailed information about
  2330  // the error.
  2331  //
  2332  // See the AWS API reference guide for AWS X-Ray's
  2333  // API operation PutEncryptionConfig for usage and error information.
  2334  //
  2335  // Returned Error Types:
  2336  //   * InvalidRequestException
  2337  //   The request is missing required parameters or has invalid parameters.
  2338  //
  2339  //   * ThrottledException
  2340  //   The request exceeds the maximum number of requests per second.
  2341  //
  2342  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutEncryptionConfig
  2343  func (c *XRay) PutEncryptionConfig(input *PutEncryptionConfigInput) (*PutEncryptionConfigOutput, error) {
  2344  	req, out := c.PutEncryptionConfigRequest(input)
  2345  	return out, req.Send()
  2346  }
  2347  
  2348  // PutEncryptionConfigWithContext is the same as PutEncryptionConfig with the addition of
  2349  // the ability to pass a context and additional request options.
  2350  //
  2351  // See PutEncryptionConfig for details on how to use this API operation.
  2352  //
  2353  // The context must be non-nil and will be used for request cancellation. If
  2354  // the context is nil a panic will occur. In the future the SDK may create
  2355  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2356  // for more information on using Contexts.
  2357  func (c *XRay) PutEncryptionConfigWithContext(ctx aws.Context, input *PutEncryptionConfigInput, opts ...request.Option) (*PutEncryptionConfigOutput, error) {
  2358  	req, out := c.PutEncryptionConfigRequest(input)
  2359  	req.SetContext(ctx)
  2360  	req.ApplyOptions(opts...)
  2361  	return out, req.Send()
  2362  }
  2363  
  2364  const opPutTelemetryRecords = "PutTelemetryRecords"
  2365  
  2366  // PutTelemetryRecordsRequest generates a "aws/request.Request" representing the
  2367  // client's request for the PutTelemetryRecords operation. The "output" return
  2368  // value will be populated with the request's response once the request completes
  2369  // successfully.
  2370  //
  2371  // Use "Send" method on the returned Request to send the API call to the service.
  2372  // the "output" return value is not valid until after Send returns without error.
  2373  //
  2374  // See PutTelemetryRecords for more information on using the PutTelemetryRecords
  2375  // API call, and error handling.
  2376  //
  2377  // This method is useful when you want to inject custom logic or configuration
  2378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2379  //
  2380  //
  2381  //    // Example sending a request using the PutTelemetryRecordsRequest method.
  2382  //    req, resp := client.PutTelemetryRecordsRequest(params)
  2383  //
  2384  //    err := req.Send()
  2385  //    if err == nil { // resp is now filled
  2386  //        fmt.Println(resp)
  2387  //    }
  2388  //
  2389  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
  2390  func (c *XRay) PutTelemetryRecordsRequest(input *PutTelemetryRecordsInput) (req *request.Request, output *PutTelemetryRecordsOutput) {
  2391  	op := &request.Operation{
  2392  		Name:       opPutTelemetryRecords,
  2393  		HTTPMethod: "POST",
  2394  		HTTPPath:   "/TelemetryRecords",
  2395  	}
  2396  
  2397  	if input == nil {
  2398  		input = &PutTelemetryRecordsInput{}
  2399  	}
  2400  
  2401  	output = &PutTelemetryRecordsOutput{}
  2402  	req = c.newRequest(op, input, output)
  2403  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2404  	return
  2405  }
  2406  
  2407  // PutTelemetryRecords API operation for AWS X-Ray.
  2408  //
  2409  // Used by the Amazon Web Services X-Ray daemon to upload telemetry.
  2410  //
  2411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2412  // with awserr.Error's Code and Message methods to get detailed information about
  2413  // the error.
  2414  //
  2415  // See the AWS API reference guide for AWS X-Ray's
  2416  // API operation PutTelemetryRecords for usage and error information.
  2417  //
  2418  // Returned Error Types:
  2419  //   * InvalidRequestException
  2420  //   The request is missing required parameters or has invalid parameters.
  2421  //
  2422  //   * ThrottledException
  2423  //   The request exceeds the maximum number of requests per second.
  2424  //
  2425  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTelemetryRecords
  2426  func (c *XRay) PutTelemetryRecords(input *PutTelemetryRecordsInput) (*PutTelemetryRecordsOutput, error) {
  2427  	req, out := c.PutTelemetryRecordsRequest(input)
  2428  	return out, req.Send()
  2429  }
  2430  
  2431  // PutTelemetryRecordsWithContext is the same as PutTelemetryRecords with the addition of
  2432  // the ability to pass a context and additional request options.
  2433  //
  2434  // See PutTelemetryRecords for details on how to use this API operation.
  2435  //
  2436  // The context must be non-nil and will be used for request cancellation. If
  2437  // the context is nil a panic will occur. In the future the SDK may create
  2438  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2439  // for more information on using Contexts.
  2440  func (c *XRay) PutTelemetryRecordsWithContext(ctx aws.Context, input *PutTelemetryRecordsInput, opts ...request.Option) (*PutTelemetryRecordsOutput, error) {
  2441  	req, out := c.PutTelemetryRecordsRequest(input)
  2442  	req.SetContext(ctx)
  2443  	req.ApplyOptions(opts...)
  2444  	return out, req.Send()
  2445  }
  2446  
  2447  const opPutTraceSegments = "PutTraceSegments"
  2448  
  2449  // PutTraceSegmentsRequest generates a "aws/request.Request" representing the
  2450  // client's request for the PutTraceSegments operation. The "output" return
  2451  // value will be populated with the request's response once the request completes
  2452  // successfully.
  2453  //
  2454  // Use "Send" method on the returned Request to send the API call to the service.
  2455  // the "output" return value is not valid until after Send returns without error.
  2456  //
  2457  // See PutTraceSegments for more information on using the PutTraceSegments
  2458  // API call, and error handling.
  2459  //
  2460  // This method is useful when you want to inject custom logic or configuration
  2461  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2462  //
  2463  //
  2464  //    // Example sending a request using the PutTraceSegmentsRequest method.
  2465  //    req, resp := client.PutTraceSegmentsRequest(params)
  2466  //
  2467  //    err := req.Send()
  2468  //    if err == nil { // resp is now filled
  2469  //        fmt.Println(resp)
  2470  //    }
  2471  //
  2472  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
  2473  func (c *XRay) PutTraceSegmentsRequest(input *PutTraceSegmentsInput) (req *request.Request, output *PutTraceSegmentsOutput) {
  2474  	op := &request.Operation{
  2475  		Name:       opPutTraceSegments,
  2476  		HTTPMethod: "POST",
  2477  		HTTPPath:   "/TraceSegments",
  2478  	}
  2479  
  2480  	if input == nil {
  2481  		input = &PutTraceSegmentsInput{}
  2482  	}
  2483  
  2484  	output = &PutTraceSegmentsOutput{}
  2485  	req = c.newRequest(op, input, output)
  2486  	return
  2487  }
  2488  
  2489  // PutTraceSegments API operation for AWS X-Ray.
  2490  //
  2491  // Uploads segment documents to Amazon Web Services X-Ray. The X-Ray SDK (https://docs.aws.amazon.com/xray/index.html)
  2492  // generates segment documents and sends them to the X-Ray daemon, which uploads
  2493  // them in batches. A segment document can be a completed segment, an in-progress
  2494  // segment, or an array of subsegments.
  2495  //
  2496  // Segments must include the following fields. For the full segment document
  2497  // schema, see Amazon Web Services X-Ray Segment Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html)
  2498  // in the Amazon Web Services X-Ray Developer Guide.
  2499  //
  2500  // Required segment document fields
  2501  //
  2502  //    * name - The name of the service that handled the request.
  2503  //
  2504  //    * id - A 64-bit identifier for the segment, unique among segments in the
  2505  //    same trace, in 16 hexadecimal digits.
  2506  //
  2507  //    * trace_id - A unique identifier that connects all segments and subsegments
  2508  //    originating from a single client request.
  2509  //
  2510  //    * start_time - Time the segment or subsegment was created, in floating
  2511  //    point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010
  2512  //    or 1.480615200010E9.
  2513  //
  2514  //    * end_time - Time the segment or subsegment was closed. For example, 1480615200.090
  2515  //    or 1.480615200090E9. Specify either an end_time or in_progress.
  2516  //
  2517  //    * in_progress - Set to true instead of specifying an end_time to record
  2518  //    that a segment has been started, but is not complete. Send an in-progress
  2519  //    segment when your application receives a request that will take a long
  2520  //    time to serve, to trace that the request was received. When the response
  2521  //    is sent, send the complete segment to overwrite the in-progress segment.
  2522  //
  2523  // A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979.
  2524  // This includes:
  2525  //
  2526  // Trace ID Format
  2527  //
  2528  //    * The version number, for instance, 1.
  2529  //
  2530  //    * The time of the original request, in Unix epoch time, in 8 hexadecimal
  2531  //    digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200
  2532  //    seconds, or 58406520 in hexadecimal.
  2533  //
  2534  //    * A 96-bit identifier for the trace, globally unique, in 24 hexadecimal
  2535  //    digits.
  2536  //
  2537  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2538  // with awserr.Error's Code and Message methods to get detailed information about
  2539  // the error.
  2540  //
  2541  // See the AWS API reference guide for AWS X-Ray's
  2542  // API operation PutTraceSegments for usage and error information.
  2543  //
  2544  // Returned Error Types:
  2545  //   * InvalidRequestException
  2546  //   The request is missing required parameters or has invalid parameters.
  2547  //
  2548  //   * ThrottledException
  2549  //   The request exceeds the maximum number of requests per second.
  2550  //
  2551  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/PutTraceSegments
  2552  func (c *XRay) PutTraceSegments(input *PutTraceSegmentsInput) (*PutTraceSegmentsOutput, error) {
  2553  	req, out := c.PutTraceSegmentsRequest(input)
  2554  	return out, req.Send()
  2555  }
  2556  
  2557  // PutTraceSegmentsWithContext is the same as PutTraceSegments with the addition of
  2558  // the ability to pass a context and additional request options.
  2559  //
  2560  // See PutTraceSegments for details on how to use this API operation.
  2561  //
  2562  // The context must be non-nil and will be used for request cancellation. If
  2563  // the context is nil a panic will occur. In the future the SDK may create
  2564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2565  // for more information on using Contexts.
  2566  func (c *XRay) PutTraceSegmentsWithContext(ctx aws.Context, input *PutTraceSegmentsInput, opts ...request.Option) (*PutTraceSegmentsOutput, error) {
  2567  	req, out := c.PutTraceSegmentsRequest(input)
  2568  	req.SetContext(ctx)
  2569  	req.ApplyOptions(opts...)
  2570  	return out, req.Send()
  2571  }
  2572  
  2573  const opTagResource = "TagResource"
  2574  
  2575  // TagResourceRequest generates a "aws/request.Request" representing the
  2576  // client's request for the TagResource operation. The "output" return
  2577  // value will be populated with the request's response once the request completes
  2578  // successfully.
  2579  //
  2580  // Use "Send" method on the returned Request to send the API call to the service.
  2581  // the "output" return value is not valid until after Send returns without error.
  2582  //
  2583  // See TagResource for more information on using the TagResource
  2584  // API call, and error handling.
  2585  //
  2586  // This method is useful when you want to inject custom logic or configuration
  2587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2588  //
  2589  //
  2590  //    // Example sending a request using the TagResourceRequest method.
  2591  //    req, resp := client.TagResourceRequest(params)
  2592  //
  2593  //    err := req.Send()
  2594  //    if err == nil { // resp is now filled
  2595  //        fmt.Println(resp)
  2596  //    }
  2597  //
  2598  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource
  2599  func (c *XRay) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  2600  	op := &request.Operation{
  2601  		Name:       opTagResource,
  2602  		HTTPMethod: "POST",
  2603  		HTTPPath:   "/TagResource",
  2604  	}
  2605  
  2606  	if input == nil {
  2607  		input = &TagResourceInput{}
  2608  	}
  2609  
  2610  	output = &TagResourceOutput{}
  2611  	req = c.newRequest(op, input, output)
  2612  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2613  	return
  2614  }
  2615  
  2616  // TagResource API operation for AWS X-Ray.
  2617  //
  2618  // Applies tags to an existing Amazon Web Services X-Ray group or sampling rule.
  2619  //
  2620  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2621  // with awserr.Error's Code and Message methods to get detailed information about
  2622  // the error.
  2623  //
  2624  // See the AWS API reference guide for AWS X-Ray's
  2625  // API operation TagResource for usage and error information.
  2626  //
  2627  // Returned Error Types:
  2628  //   * InvalidRequestException
  2629  //   The request is missing required parameters or has invalid parameters.
  2630  //
  2631  //   * ThrottledException
  2632  //   The request exceeds the maximum number of requests per second.
  2633  //
  2634  //   * ResourceNotFoundException
  2635  //   The resource was not found. Verify that the name or Amazon Resource Name
  2636  //   (ARN) of the resource is correct.
  2637  //
  2638  //   * TooManyTagsException
  2639  //   You have exceeded the maximum number of tags you can apply to this resource.
  2640  //
  2641  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/TagResource
  2642  func (c *XRay) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  2643  	req, out := c.TagResourceRequest(input)
  2644  	return out, req.Send()
  2645  }
  2646  
  2647  // TagResourceWithContext is the same as TagResource with the addition of
  2648  // the ability to pass a context and additional request options.
  2649  //
  2650  // See TagResource for details on how to use this API operation.
  2651  //
  2652  // The context must be non-nil and will be used for request cancellation. If
  2653  // the context is nil a panic will occur. In the future the SDK may create
  2654  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2655  // for more information on using Contexts.
  2656  func (c *XRay) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  2657  	req, out := c.TagResourceRequest(input)
  2658  	req.SetContext(ctx)
  2659  	req.ApplyOptions(opts...)
  2660  	return out, req.Send()
  2661  }
  2662  
  2663  const opUntagResource = "UntagResource"
  2664  
  2665  // UntagResourceRequest generates a "aws/request.Request" representing the
  2666  // client's request for the UntagResource operation. The "output" return
  2667  // value will be populated with the request's response once the request completes
  2668  // successfully.
  2669  //
  2670  // Use "Send" method on the returned Request to send the API call to the service.
  2671  // the "output" return value is not valid until after Send returns without error.
  2672  //
  2673  // See UntagResource for more information on using the UntagResource
  2674  // API call, and error handling.
  2675  //
  2676  // This method is useful when you want to inject custom logic or configuration
  2677  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2678  //
  2679  //
  2680  //    // Example sending a request using the UntagResourceRequest method.
  2681  //    req, resp := client.UntagResourceRequest(params)
  2682  //
  2683  //    err := req.Send()
  2684  //    if err == nil { // resp is now filled
  2685  //        fmt.Println(resp)
  2686  //    }
  2687  //
  2688  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource
  2689  func (c *XRay) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  2690  	op := &request.Operation{
  2691  		Name:       opUntagResource,
  2692  		HTTPMethod: "POST",
  2693  		HTTPPath:   "/UntagResource",
  2694  	}
  2695  
  2696  	if input == nil {
  2697  		input = &UntagResourceInput{}
  2698  	}
  2699  
  2700  	output = &UntagResourceOutput{}
  2701  	req = c.newRequest(op, input, output)
  2702  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2703  	return
  2704  }
  2705  
  2706  // UntagResource API operation for AWS X-Ray.
  2707  //
  2708  // Removes tags from an Amazon Web Services X-Ray group or sampling rule. You
  2709  // cannot edit or delete system tags (those with an aws: prefix).
  2710  //
  2711  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2712  // with awserr.Error's Code and Message methods to get detailed information about
  2713  // the error.
  2714  //
  2715  // See the AWS API reference guide for AWS X-Ray's
  2716  // API operation UntagResource for usage and error information.
  2717  //
  2718  // Returned Error Types:
  2719  //   * InvalidRequestException
  2720  //   The request is missing required parameters or has invalid parameters.
  2721  //
  2722  //   * ThrottledException
  2723  //   The request exceeds the maximum number of requests per second.
  2724  //
  2725  //   * ResourceNotFoundException
  2726  //   The resource was not found. Verify that the name or Amazon Resource Name
  2727  //   (ARN) of the resource is correct.
  2728  //
  2729  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UntagResource
  2730  func (c *XRay) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  2731  	req, out := c.UntagResourceRequest(input)
  2732  	return out, req.Send()
  2733  }
  2734  
  2735  // UntagResourceWithContext is the same as UntagResource with the addition of
  2736  // the ability to pass a context and additional request options.
  2737  //
  2738  // See UntagResource for details on how to use this API operation.
  2739  //
  2740  // The context must be non-nil and will be used for request cancellation. If
  2741  // the context is nil a panic will occur. In the future the SDK may create
  2742  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2743  // for more information on using Contexts.
  2744  func (c *XRay) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  2745  	req, out := c.UntagResourceRequest(input)
  2746  	req.SetContext(ctx)
  2747  	req.ApplyOptions(opts...)
  2748  	return out, req.Send()
  2749  }
  2750  
  2751  const opUpdateGroup = "UpdateGroup"
  2752  
  2753  // UpdateGroupRequest generates a "aws/request.Request" representing the
  2754  // client's request for the UpdateGroup operation. The "output" return
  2755  // value will be populated with the request's response once the request completes
  2756  // successfully.
  2757  //
  2758  // Use "Send" method on the returned Request to send the API call to the service.
  2759  // the "output" return value is not valid until after Send returns without error.
  2760  //
  2761  // See UpdateGroup for more information on using the UpdateGroup
  2762  // API call, and error handling.
  2763  //
  2764  // This method is useful when you want to inject custom logic or configuration
  2765  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2766  //
  2767  //
  2768  //    // Example sending a request using the UpdateGroupRequest method.
  2769  //    req, resp := client.UpdateGroupRequest(params)
  2770  //
  2771  //    err := req.Send()
  2772  //    if err == nil { // resp is now filled
  2773  //        fmt.Println(resp)
  2774  //    }
  2775  //
  2776  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup
  2777  func (c *XRay) UpdateGroupRequest(input *UpdateGroupInput) (req *request.Request, output *UpdateGroupOutput) {
  2778  	op := &request.Operation{
  2779  		Name:       opUpdateGroup,
  2780  		HTTPMethod: "POST",
  2781  		HTTPPath:   "/UpdateGroup",
  2782  	}
  2783  
  2784  	if input == nil {
  2785  		input = &UpdateGroupInput{}
  2786  	}
  2787  
  2788  	output = &UpdateGroupOutput{}
  2789  	req = c.newRequest(op, input, output)
  2790  	return
  2791  }
  2792  
  2793  // UpdateGroup API operation for AWS X-Ray.
  2794  //
  2795  // Updates a group resource.
  2796  //
  2797  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2798  // with awserr.Error's Code and Message methods to get detailed information about
  2799  // the error.
  2800  //
  2801  // See the AWS API reference guide for AWS X-Ray's
  2802  // API operation UpdateGroup for usage and error information.
  2803  //
  2804  // Returned Error Types:
  2805  //   * InvalidRequestException
  2806  //   The request is missing required parameters or has invalid parameters.
  2807  //
  2808  //   * ThrottledException
  2809  //   The request exceeds the maximum number of requests per second.
  2810  //
  2811  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateGroup
  2812  func (c *XRay) UpdateGroup(input *UpdateGroupInput) (*UpdateGroupOutput, error) {
  2813  	req, out := c.UpdateGroupRequest(input)
  2814  	return out, req.Send()
  2815  }
  2816  
  2817  // UpdateGroupWithContext is the same as UpdateGroup with the addition of
  2818  // the ability to pass a context and additional request options.
  2819  //
  2820  // See UpdateGroup for details on how to use this API operation.
  2821  //
  2822  // The context must be non-nil and will be used for request cancellation. If
  2823  // the context is nil a panic will occur. In the future the SDK may create
  2824  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2825  // for more information on using Contexts.
  2826  func (c *XRay) UpdateGroupWithContext(ctx aws.Context, input *UpdateGroupInput, opts ...request.Option) (*UpdateGroupOutput, error) {
  2827  	req, out := c.UpdateGroupRequest(input)
  2828  	req.SetContext(ctx)
  2829  	req.ApplyOptions(opts...)
  2830  	return out, req.Send()
  2831  }
  2832  
  2833  const opUpdateSamplingRule = "UpdateSamplingRule"
  2834  
  2835  // UpdateSamplingRuleRequest generates a "aws/request.Request" representing the
  2836  // client's request for the UpdateSamplingRule operation. The "output" return
  2837  // value will be populated with the request's response once the request completes
  2838  // successfully.
  2839  //
  2840  // Use "Send" method on the returned Request to send the API call to the service.
  2841  // the "output" return value is not valid until after Send returns without error.
  2842  //
  2843  // See UpdateSamplingRule for more information on using the UpdateSamplingRule
  2844  // API call, and error handling.
  2845  //
  2846  // This method is useful when you want to inject custom logic or configuration
  2847  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2848  //
  2849  //
  2850  //    // Example sending a request using the UpdateSamplingRuleRequest method.
  2851  //    req, resp := client.UpdateSamplingRuleRequest(params)
  2852  //
  2853  //    err := req.Send()
  2854  //    if err == nil { // resp is now filled
  2855  //        fmt.Println(resp)
  2856  //    }
  2857  //
  2858  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule
  2859  func (c *XRay) UpdateSamplingRuleRequest(input *UpdateSamplingRuleInput) (req *request.Request, output *UpdateSamplingRuleOutput) {
  2860  	op := &request.Operation{
  2861  		Name:       opUpdateSamplingRule,
  2862  		HTTPMethod: "POST",
  2863  		HTTPPath:   "/UpdateSamplingRule",
  2864  	}
  2865  
  2866  	if input == nil {
  2867  		input = &UpdateSamplingRuleInput{}
  2868  	}
  2869  
  2870  	output = &UpdateSamplingRuleOutput{}
  2871  	req = c.newRequest(op, input, output)
  2872  	return
  2873  }
  2874  
  2875  // UpdateSamplingRule API operation for AWS X-Ray.
  2876  //
  2877  // Modifies a sampling rule's configuration.
  2878  //
  2879  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2880  // with awserr.Error's Code and Message methods to get detailed information about
  2881  // the error.
  2882  //
  2883  // See the AWS API reference guide for AWS X-Ray's
  2884  // API operation UpdateSamplingRule for usage and error information.
  2885  //
  2886  // Returned Error Types:
  2887  //   * InvalidRequestException
  2888  //   The request is missing required parameters or has invalid parameters.
  2889  //
  2890  //   * ThrottledException
  2891  //   The request exceeds the maximum number of requests per second.
  2892  //
  2893  // See also, https://docs.aws.amazon.com/goto/WebAPI/xray-2016-04-12/UpdateSamplingRule
  2894  func (c *XRay) UpdateSamplingRule(input *UpdateSamplingRuleInput) (*UpdateSamplingRuleOutput, error) {
  2895  	req, out := c.UpdateSamplingRuleRequest(input)
  2896  	return out, req.Send()
  2897  }
  2898  
  2899  // UpdateSamplingRuleWithContext is the same as UpdateSamplingRule with the addition of
  2900  // the ability to pass a context and additional request options.
  2901  //
  2902  // See UpdateSamplingRule for details on how to use this API operation.
  2903  //
  2904  // The context must be non-nil and will be used for request cancellation. If
  2905  // the context is nil a panic will occur. In the future the SDK may create
  2906  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2907  // for more information on using Contexts.
  2908  func (c *XRay) UpdateSamplingRuleWithContext(ctx aws.Context, input *UpdateSamplingRuleInput, opts ...request.Option) (*UpdateSamplingRuleOutput, error) {
  2909  	req, out := c.UpdateSamplingRuleRequest(input)
  2910  	req.SetContext(ctx)
  2911  	req.ApplyOptions(opts...)
  2912  	return out, req.Send()
  2913  }
  2914  
  2915  // An alias for an edge.
  2916  type Alias struct {
  2917  	_ struct{} `type:"structure"`
  2918  
  2919  	// The canonical name of the alias.
  2920  	Name *string `type:"string"`
  2921  
  2922  	// A list of names for the alias, including the canonical name.
  2923  	Names []*string `type:"list"`
  2924  
  2925  	// The type of the alias.
  2926  	Type *string `type:"string"`
  2927  }
  2928  
  2929  // String returns the string representation.
  2930  //
  2931  // API parameter values that are decorated as "sensitive" in the API will not
  2932  // be included in the string output. The member name will be present, but the
  2933  // value will be replaced with "sensitive".
  2934  func (s Alias) String() string {
  2935  	return awsutil.Prettify(s)
  2936  }
  2937  
  2938  // GoString returns the string representation.
  2939  //
  2940  // API parameter values that are decorated as "sensitive" in the API will not
  2941  // be included in the string output. The member name will be present, but the
  2942  // value will be replaced with "sensitive".
  2943  func (s Alias) GoString() string {
  2944  	return s.String()
  2945  }
  2946  
  2947  // SetName sets the Name field's value.
  2948  func (s *Alias) SetName(v string) *Alias {
  2949  	s.Name = &v
  2950  	return s
  2951  }
  2952  
  2953  // SetNames sets the Names field's value.
  2954  func (s *Alias) SetNames(v []*string) *Alias {
  2955  	s.Names = v
  2956  	return s
  2957  }
  2958  
  2959  // SetType sets the Type field's value.
  2960  func (s *Alias) SetType(v string) *Alias {
  2961  	s.Type = &v
  2962  	return s
  2963  }
  2964  
  2965  // Value of a segment annotation. Has one of three value types: Number, Boolean,
  2966  // or String.
  2967  type AnnotationValue struct {
  2968  	_ struct{} `type:"structure"`
  2969  
  2970  	// Value for a Boolean annotation.
  2971  	BooleanValue *bool `type:"boolean"`
  2972  
  2973  	// Value for a Number annotation.
  2974  	NumberValue *float64 `type:"double"`
  2975  
  2976  	// Value for a String annotation.
  2977  	StringValue *string `type:"string"`
  2978  }
  2979  
  2980  // String returns the string representation.
  2981  //
  2982  // API parameter values that are decorated as "sensitive" in the API will not
  2983  // be included in the string output. The member name will be present, but the
  2984  // value will be replaced with "sensitive".
  2985  func (s AnnotationValue) String() string {
  2986  	return awsutil.Prettify(s)
  2987  }
  2988  
  2989  // GoString returns the string representation.
  2990  //
  2991  // API parameter values that are decorated as "sensitive" in the API will not
  2992  // be included in the string output. The member name will be present, but the
  2993  // value will be replaced with "sensitive".
  2994  func (s AnnotationValue) GoString() string {
  2995  	return s.String()
  2996  }
  2997  
  2998  // SetBooleanValue sets the BooleanValue field's value.
  2999  func (s *AnnotationValue) SetBooleanValue(v bool) *AnnotationValue {
  3000  	s.BooleanValue = &v
  3001  	return s
  3002  }
  3003  
  3004  // SetNumberValue sets the NumberValue field's value.
  3005  func (s *AnnotationValue) SetNumberValue(v float64) *AnnotationValue {
  3006  	s.NumberValue = &v
  3007  	return s
  3008  }
  3009  
  3010  // SetStringValue sets the StringValue field's value.
  3011  func (s *AnnotationValue) SetStringValue(v string) *AnnotationValue {
  3012  	s.StringValue = &v
  3013  	return s
  3014  }
  3015  
  3016  // The service within the service graph that has anomalously high fault rates.
  3017  type AnomalousService struct {
  3018  	_ struct{} `type:"structure"`
  3019  
  3020  	ServiceId *ServiceId `type:"structure"`
  3021  }
  3022  
  3023  // String returns the string representation.
  3024  //
  3025  // API parameter values that are decorated as "sensitive" in the API will not
  3026  // be included in the string output. The member name will be present, but the
  3027  // value will be replaced with "sensitive".
  3028  func (s AnomalousService) String() string {
  3029  	return awsutil.Prettify(s)
  3030  }
  3031  
  3032  // GoString returns the string representation.
  3033  //
  3034  // API parameter values that are decorated as "sensitive" in the API will not
  3035  // be included in the string output. The member name will be present, but the
  3036  // value will be replaced with "sensitive".
  3037  func (s AnomalousService) GoString() string {
  3038  	return s.String()
  3039  }
  3040  
  3041  // SetServiceId sets the ServiceId field's value.
  3042  func (s *AnomalousService) SetServiceId(v *ServiceId) *AnomalousService {
  3043  	s.ServiceId = v
  3044  	return s
  3045  }
  3046  
  3047  // A list of Availability Zones corresponding to the segments in a trace.
  3048  type AvailabilityZoneDetail struct {
  3049  	_ struct{} `type:"structure"`
  3050  
  3051  	// The name of a corresponding Availability Zone.
  3052  	Name *string `type:"string"`
  3053  }
  3054  
  3055  // String returns the string representation.
  3056  //
  3057  // API parameter values that are decorated as "sensitive" in the API will not
  3058  // be included in the string output. The member name will be present, but the
  3059  // value will be replaced with "sensitive".
  3060  func (s AvailabilityZoneDetail) String() string {
  3061  	return awsutil.Prettify(s)
  3062  }
  3063  
  3064  // GoString returns the string representation.
  3065  //
  3066  // API parameter values that are decorated as "sensitive" in the API will not
  3067  // be included in the string output. The member name will be present, but the
  3068  // value will be replaced with "sensitive".
  3069  func (s AvailabilityZoneDetail) GoString() string {
  3070  	return s.String()
  3071  }
  3072  
  3073  // SetName sets the Name field's value.
  3074  func (s *AvailabilityZoneDetail) SetName(v string) *AvailabilityZoneDetail {
  3075  	s.Name = &v
  3076  	return s
  3077  }
  3078  
  3079  type BackendConnectionErrors struct {
  3080  	_ struct{} `type:"structure"`
  3081  
  3082  	ConnectionRefusedCount *int64 `type:"integer"`
  3083  
  3084  	HTTPCode4XXCount *int64 `type:"integer"`
  3085  
  3086  	HTTPCode5XXCount *int64 `type:"integer"`
  3087  
  3088  	OtherCount *int64 `type:"integer"`
  3089  
  3090  	TimeoutCount *int64 `type:"integer"`
  3091  
  3092  	UnknownHostCount *int64 `type:"integer"`
  3093  }
  3094  
  3095  // String returns the string representation.
  3096  //
  3097  // API parameter values that are decorated as "sensitive" in the API will not
  3098  // be included in the string output. The member name will be present, but the
  3099  // value will be replaced with "sensitive".
  3100  func (s BackendConnectionErrors) String() string {
  3101  	return awsutil.Prettify(s)
  3102  }
  3103  
  3104  // GoString returns the string representation.
  3105  //
  3106  // API parameter values that are decorated as "sensitive" in the API will not
  3107  // be included in the string output. The member name will be present, but the
  3108  // value will be replaced with "sensitive".
  3109  func (s BackendConnectionErrors) GoString() string {
  3110  	return s.String()
  3111  }
  3112  
  3113  // SetConnectionRefusedCount sets the ConnectionRefusedCount field's value.
  3114  func (s *BackendConnectionErrors) SetConnectionRefusedCount(v int64) *BackendConnectionErrors {
  3115  	s.ConnectionRefusedCount = &v
  3116  	return s
  3117  }
  3118  
  3119  // SetHTTPCode4XXCount sets the HTTPCode4XXCount field's value.
  3120  func (s *BackendConnectionErrors) SetHTTPCode4XXCount(v int64) *BackendConnectionErrors {
  3121  	s.HTTPCode4XXCount = &v
  3122  	return s
  3123  }
  3124  
  3125  // SetHTTPCode5XXCount sets the HTTPCode5XXCount field's value.
  3126  func (s *BackendConnectionErrors) SetHTTPCode5XXCount(v int64) *BackendConnectionErrors {
  3127  	s.HTTPCode5XXCount = &v
  3128  	return s
  3129  }
  3130  
  3131  // SetOtherCount sets the OtherCount field's value.
  3132  func (s *BackendConnectionErrors) SetOtherCount(v int64) *BackendConnectionErrors {
  3133  	s.OtherCount = &v
  3134  	return s
  3135  }
  3136  
  3137  // SetTimeoutCount sets the TimeoutCount field's value.
  3138  func (s *BackendConnectionErrors) SetTimeoutCount(v int64) *BackendConnectionErrors {
  3139  	s.TimeoutCount = &v
  3140  	return s
  3141  }
  3142  
  3143  // SetUnknownHostCount sets the UnknownHostCount field's value.
  3144  func (s *BackendConnectionErrors) SetUnknownHostCount(v int64) *BackendConnectionErrors {
  3145  	s.UnknownHostCount = &v
  3146  	return s
  3147  }
  3148  
  3149  type BatchGetTracesInput struct {
  3150  	_ struct{} `type:"structure"`
  3151  
  3152  	// Pagination token.
  3153  	NextToken *string `type:"string"`
  3154  
  3155  	// Specify the trace IDs of requests for which to retrieve segments.
  3156  	//
  3157  	// TraceIds is a required field
  3158  	TraceIds []*string `type:"list" required:"true"`
  3159  }
  3160  
  3161  // String returns the string representation.
  3162  //
  3163  // API parameter values that are decorated as "sensitive" in the API will not
  3164  // be included in the string output. The member name will be present, but the
  3165  // value will be replaced with "sensitive".
  3166  func (s BatchGetTracesInput) String() string {
  3167  	return awsutil.Prettify(s)
  3168  }
  3169  
  3170  // GoString returns the string representation.
  3171  //
  3172  // API parameter values that are decorated as "sensitive" in the API will not
  3173  // be included in the string output. The member name will be present, but the
  3174  // value will be replaced with "sensitive".
  3175  func (s BatchGetTracesInput) GoString() string {
  3176  	return s.String()
  3177  }
  3178  
  3179  // Validate inspects the fields of the type to determine if they are valid.
  3180  func (s *BatchGetTracesInput) Validate() error {
  3181  	invalidParams := request.ErrInvalidParams{Context: "BatchGetTracesInput"}
  3182  	if s.TraceIds == nil {
  3183  		invalidParams.Add(request.NewErrParamRequired("TraceIds"))
  3184  	}
  3185  
  3186  	if invalidParams.Len() > 0 {
  3187  		return invalidParams
  3188  	}
  3189  	return nil
  3190  }
  3191  
  3192  // SetNextToken sets the NextToken field's value.
  3193  func (s *BatchGetTracesInput) SetNextToken(v string) *BatchGetTracesInput {
  3194  	s.NextToken = &v
  3195  	return s
  3196  }
  3197  
  3198  // SetTraceIds sets the TraceIds field's value.
  3199  func (s *BatchGetTracesInput) SetTraceIds(v []*string) *BatchGetTracesInput {
  3200  	s.TraceIds = v
  3201  	return s
  3202  }
  3203  
  3204  type BatchGetTracesOutput struct {
  3205  	_ struct{} `type:"structure"`
  3206  
  3207  	// Pagination token.
  3208  	NextToken *string `type:"string"`
  3209  
  3210  	// Full traces for the specified requests.
  3211  	Traces []*Trace `type:"list"`
  3212  
  3213  	// Trace IDs of requests that haven't been processed.
  3214  	UnprocessedTraceIds []*string `type:"list"`
  3215  }
  3216  
  3217  // String returns the string representation.
  3218  //
  3219  // API parameter values that are decorated as "sensitive" in the API will not
  3220  // be included in the string output. The member name will be present, but the
  3221  // value will be replaced with "sensitive".
  3222  func (s BatchGetTracesOutput) String() string {
  3223  	return awsutil.Prettify(s)
  3224  }
  3225  
  3226  // GoString returns the string representation.
  3227  //
  3228  // API parameter values that are decorated as "sensitive" in the API will not
  3229  // be included in the string output. The member name will be present, but the
  3230  // value will be replaced with "sensitive".
  3231  func (s BatchGetTracesOutput) GoString() string {
  3232  	return s.String()
  3233  }
  3234  
  3235  // SetNextToken sets the NextToken field's value.
  3236  func (s *BatchGetTracesOutput) SetNextToken(v string) *BatchGetTracesOutput {
  3237  	s.NextToken = &v
  3238  	return s
  3239  }
  3240  
  3241  // SetTraces sets the Traces field's value.
  3242  func (s *BatchGetTracesOutput) SetTraces(v []*Trace) *BatchGetTracesOutput {
  3243  	s.Traces = v
  3244  	return s
  3245  }
  3246  
  3247  // SetUnprocessedTraceIds sets the UnprocessedTraceIds field's value.
  3248  func (s *BatchGetTracesOutput) SetUnprocessedTraceIds(v []*string) *BatchGetTracesOutput {
  3249  	s.UnprocessedTraceIds = v
  3250  	return s
  3251  }
  3252  
  3253  type CreateGroupInput struct {
  3254  	_ struct{} `type:"structure"`
  3255  
  3256  	// The filter expression defining criteria by which to group traces.
  3257  	FilterExpression *string `type:"string"`
  3258  
  3259  	// The case-sensitive name of the new group. Default is a reserved name and
  3260  	// names must be unique.
  3261  	//
  3262  	// GroupName is a required field
  3263  	GroupName *string `min:"1" type:"string" required:"true"`
  3264  
  3265  	// The structure containing configurations related to insights.
  3266  	//
  3267  	//    * The InsightsEnabled boolean can be set to true to enable insights for
  3268  	//    the new group or false to disable insights for the new group.
  3269  	//
  3270  	//    * The NotifcationsEnabled boolean can be set to true to enable insights
  3271  	//    notifications for the new group. Notifications may only be enabled on
  3272  	//    a group with InsightsEnabled set to true.
  3273  	InsightsConfiguration *InsightsConfiguration `type:"structure"`
  3274  
  3275  	// A map that contains one or more tag keys and tag values to attach to an X-Ray
  3276  	// group. For more information about ways to use tags, see Tagging Amazon Web
  3277  	// Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  3278  	// in the Amazon Web Services General Reference.
  3279  	//
  3280  	// The following restrictions apply to tags:
  3281  	//
  3282  	//    * Maximum number of user-applied tags per resource: 50
  3283  	//
  3284  	//    * Maximum tag key length: 128 Unicode characters
  3285  	//
  3286  	//    * Maximum tag value length: 256 Unicode characters
  3287  	//
  3288  	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
  3289  	//    characters: _ . : / = + - and @
  3290  	//
  3291  	//    * Tag keys and values are case sensitive.
  3292  	//
  3293  	//    * Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
  3294  	//    use.
  3295  	Tags []*Tag `type:"list"`
  3296  }
  3297  
  3298  // String returns the string representation.
  3299  //
  3300  // API parameter values that are decorated as "sensitive" in the API will not
  3301  // be included in the string output. The member name will be present, but the
  3302  // value will be replaced with "sensitive".
  3303  func (s CreateGroupInput) String() string {
  3304  	return awsutil.Prettify(s)
  3305  }
  3306  
  3307  // GoString returns the string representation.
  3308  //
  3309  // API parameter values that are decorated as "sensitive" in the API will not
  3310  // be included in the string output. The member name will be present, but the
  3311  // value will be replaced with "sensitive".
  3312  func (s CreateGroupInput) GoString() string {
  3313  	return s.String()
  3314  }
  3315  
  3316  // Validate inspects the fields of the type to determine if they are valid.
  3317  func (s *CreateGroupInput) Validate() error {
  3318  	invalidParams := request.ErrInvalidParams{Context: "CreateGroupInput"}
  3319  	if s.GroupName == nil {
  3320  		invalidParams.Add(request.NewErrParamRequired("GroupName"))
  3321  	}
  3322  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  3323  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  3324  	}
  3325  	if s.Tags != nil {
  3326  		for i, v := range s.Tags {
  3327  			if v == nil {
  3328  				continue
  3329  			}
  3330  			if err := v.Validate(); err != nil {
  3331  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3332  			}
  3333  		}
  3334  	}
  3335  
  3336  	if invalidParams.Len() > 0 {
  3337  		return invalidParams
  3338  	}
  3339  	return nil
  3340  }
  3341  
  3342  // SetFilterExpression sets the FilterExpression field's value.
  3343  func (s *CreateGroupInput) SetFilterExpression(v string) *CreateGroupInput {
  3344  	s.FilterExpression = &v
  3345  	return s
  3346  }
  3347  
  3348  // SetGroupName sets the GroupName field's value.
  3349  func (s *CreateGroupInput) SetGroupName(v string) *CreateGroupInput {
  3350  	s.GroupName = &v
  3351  	return s
  3352  }
  3353  
  3354  // SetInsightsConfiguration sets the InsightsConfiguration field's value.
  3355  func (s *CreateGroupInput) SetInsightsConfiguration(v *InsightsConfiguration) *CreateGroupInput {
  3356  	s.InsightsConfiguration = v
  3357  	return s
  3358  }
  3359  
  3360  // SetTags sets the Tags field's value.
  3361  func (s *CreateGroupInput) SetTags(v []*Tag) *CreateGroupInput {
  3362  	s.Tags = v
  3363  	return s
  3364  }
  3365  
  3366  type CreateGroupOutput struct {
  3367  	_ struct{} `type:"structure"`
  3368  
  3369  	// The group that was created. Contains the name of the group that was created,
  3370  	// the Amazon Resource Name (ARN) of the group that was generated based on the
  3371  	// group name, the filter expression, and the insight configuration that was
  3372  	// assigned to the group.
  3373  	Group *Group `type:"structure"`
  3374  }
  3375  
  3376  // String returns the string representation.
  3377  //
  3378  // API parameter values that are decorated as "sensitive" in the API will not
  3379  // be included in the string output. The member name will be present, but the
  3380  // value will be replaced with "sensitive".
  3381  func (s CreateGroupOutput) String() string {
  3382  	return awsutil.Prettify(s)
  3383  }
  3384  
  3385  // GoString returns the string representation.
  3386  //
  3387  // API parameter values that are decorated as "sensitive" in the API will not
  3388  // be included in the string output. The member name will be present, but the
  3389  // value will be replaced with "sensitive".
  3390  func (s CreateGroupOutput) GoString() string {
  3391  	return s.String()
  3392  }
  3393  
  3394  // SetGroup sets the Group field's value.
  3395  func (s *CreateGroupOutput) SetGroup(v *Group) *CreateGroupOutput {
  3396  	s.Group = v
  3397  	return s
  3398  }
  3399  
  3400  type CreateSamplingRuleInput struct {
  3401  	_ struct{} `type:"structure"`
  3402  
  3403  	// The rule definition.
  3404  	//
  3405  	// SamplingRule is a required field
  3406  	SamplingRule *SamplingRule `type:"structure" required:"true"`
  3407  
  3408  	// A map that contains one or more tag keys and tag values to attach to an X-Ray
  3409  	// sampling rule. For more information about ways to use tags, see Tagging Amazon
  3410  	// Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  3411  	// in the Amazon Web Services General Reference.
  3412  	//
  3413  	// The following restrictions apply to tags:
  3414  	//
  3415  	//    * Maximum number of user-applied tags per resource: 50
  3416  	//
  3417  	//    * Maximum tag key length: 128 Unicode characters
  3418  	//
  3419  	//    * Maximum tag value length: 256 Unicode characters
  3420  	//
  3421  	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
  3422  	//    characters: _ . : / = + - and @
  3423  	//
  3424  	//    * Tag keys and values are case sensitive.
  3425  	//
  3426  	//    * Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
  3427  	//    use.
  3428  	Tags []*Tag `type:"list"`
  3429  }
  3430  
  3431  // String returns the string representation.
  3432  //
  3433  // API parameter values that are decorated as "sensitive" in the API will not
  3434  // be included in the string output. The member name will be present, but the
  3435  // value will be replaced with "sensitive".
  3436  func (s CreateSamplingRuleInput) String() string {
  3437  	return awsutil.Prettify(s)
  3438  }
  3439  
  3440  // GoString returns the string representation.
  3441  //
  3442  // API parameter values that are decorated as "sensitive" in the API will not
  3443  // be included in the string output. The member name will be present, but the
  3444  // value will be replaced with "sensitive".
  3445  func (s CreateSamplingRuleInput) GoString() string {
  3446  	return s.String()
  3447  }
  3448  
  3449  // Validate inspects the fields of the type to determine if they are valid.
  3450  func (s *CreateSamplingRuleInput) Validate() error {
  3451  	invalidParams := request.ErrInvalidParams{Context: "CreateSamplingRuleInput"}
  3452  	if s.SamplingRule == nil {
  3453  		invalidParams.Add(request.NewErrParamRequired("SamplingRule"))
  3454  	}
  3455  	if s.SamplingRule != nil {
  3456  		if err := s.SamplingRule.Validate(); err != nil {
  3457  			invalidParams.AddNested("SamplingRule", err.(request.ErrInvalidParams))
  3458  		}
  3459  	}
  3460  	if s.Tags != nil {
  3461  		for i, v := range s.Tags {
  3462  			if v == nil {
  3463  				continue
  3464  			}
  3465  			if err := v.Validate(); err != nil {
  3466  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  3467  			}
  3468  		}
  3469  	}
  3470  
  3471  	if invalidParams.Len() > 0 {
  3472  		return invalidParams
  3473  	}
  3474  	return nil
  3475  }
  3476  
  3477  // SetSamplingRule sets the SamplingRule field's value.
  3478  func (s *CreateSamplingRuleInput) SetSamplingRule(v *SamplingRule) *CreateSamplingRuleInput {
  3479  	s.SamplingRule = v
  3480  	return s
  3481  }
  3482  
  3483  // SetTags sets the Tags field's value.
  3484  func (s *CreateSamplingRuleInput) SetTags(v []*Tag) *CreateSamplingRuleInput {
  3485  	s.Tags = v
  3486  	return s
  3487  }
  3488  
  3489  type CreateSamplingRuleOutput struct {
  3490  	_ struct{} `type:"structure"`
  3491  
  3492  	// The saved rule definition and metadata.
  3493  	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
  3494  }
  3495  
  3496  // String returns the string representation.
  3497  //
  3498  // API parameter values that are decorated as "sensitive" in the API will not
  3499  // be included in the string output. The member name will be present, but the
  3500  // value will be replaced with "sensitive".
  3501  func (s CreateSamplingRuleOutput) String() string {
  3502  	return awsutil.Prettify(s)
  3503  }
  3504  
  3505  // GoString returns the string representation.
  3506  //
  3507  // API parameter values that are decorated as "sensitive" in the API will not
  3508  // be included in the string output. The member name will be present, but the
  3509  // value will be replaced with "sensitive".
  3510  func (s CreateSamplingRuleOutput) GoString() string {
  3511  	return s.String()
  3512  }
  3513  
  3514  // SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
  3515  func (s *CreateSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *CreateSamplingRuleOutput {
  3516  	s.SamplingRuleRecord = v
  3517  	return s
  3518  }
  3519  
  3520  type DeleteGroupInput struct {
  3521  	_ struct{} `type:"structure"`
  3522  
  3523  	// The ARN of the group that was generated on creation.
  3524  	GroupARN *string `min:"1" type:"string"`
  3525  
  3526  	// The case-sensitive name of the group.
  3527  	GroupName *string `min:"1" type:"string"`
  3528  }
  3529  
  3530  // String returns the string representation.
  3531  //
  3532  // API parameter values that are decorated as "sensitive" in the API will not
  3533  // be included in the string output. The member name will be present, but the
  3534  // value will be replaced with "sensitive".
  3535  func (s DeleteGroupInput) String() string {
  3536  	return awsutil.Prettify(s)
  3537  }
  3538  
  3539  // GoString returns the string representation.
  3540  //
  3541  // API parameter values that are decorated as "sensitive" in the API will not
  3542  // be included in the string output. The member name will be present, but the
  3543  // value will be replaced with "sensitive".
  3544  func (s DeleteGroupInput) GoString() string {
  3545  	return s.String()
  3546  }
  3547  
  3548  // Validate inspects the fields of the type to determine if they are valid.
  3549  func (s *DeleteGroupInput) Validate() error {
  3550  	invalidParams := request.ErrInvalidParams{Context: "DeleteGroupInput"}
  3551  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  3552  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  3553  	}
  3554  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  3555  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  3556  	}
  3557  
  3558  	if invalidParams.Len() > 0 {
  3559  		return invalidParams
  3560  	}
  3561  	return nil
  3562  }
  3563  
  3564  // SetGroupARN sets the GroupARN field's value.
  3565  func (s *DeleteGroupInput) SetGroupARN(v string) *DeleteGroupInput {
  3566  	s.GroupARN = &v
  3567  	return s
  3568  }
  3569  
  3570  // SetGroupName sets the GroupName field's value.
  3571  func (s *DeleteGroupInput) SetGroupName(v string) *DeleteGroupInput {
  3572  	s.GroupName = &v
  3573  	return s
  3574  }
  3575  
  3576  type DeleteGroupOutput struct {
  3577  	_ struct{} `type:"structure" nopayload:"true"`
  3578  }
  3579  
  3580  // String returns the string representation.
  3581  //
  3582  // API parameter values that are decorated as "sensitive" in the API will not
  3583  // be included in the string output. The member name will be present, but the
  3584  // value will be replaced with "sensitive".
  3585  func (s DeleteGroupOutput) String() string {
  3586  	return awsutil.Prettify(s)
  3587  }
  3588  
  3589  // GoString returns the string representation.
  3590  //
  3591  // API parameter values that are decorated as "sensitive" in the API will not
  3592  // be included in the string output. The member name will be present, but the
  3593  // value will be replaced with "sensitive".
  3594  func (s DeleteGroupOutput) GoString() string {
  3595  	return s.String()
  3596  }
  3597  
  3598  type DeleteSamplingRuleInput struct {
  3599  	_ struct{} `type:"structure"`
  3600  
  3601  	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
  3602  	// both.
  3603  	RuleARN *string `type:"string"`
  3604  
  3605  	// The name of the sampling rule. Specify a rule by either name or ARN, but
  3606  	// not both.
  3607  	RuleName *string `type:"string"`
  3608  }
  3609  
  3610  // String returns the string representation.
  3611  //
  3612  // API parameter values that are decorated as "sensitive" in the API will not
  3613  // be included in the string output. The member name will be present, but the
  3614  // value will be replaced with "sensitive".
  3615  func (s DeleteSamplingRuleInput) String() string {
  3616  	return awsutil.Prettify(s)
  3617  }
  3618  
  3619  // GoString returns the string representation.
  3620  //
  3621  // API parameter values that are decorated as "sensitive" in the API will not
  3622  // be included in the string output. The member name will be present, but the
  3623  // value will be replaced with "sensitive".
  3624  func (s DeleteSamplingRuleInput) GoString() string {
  3625  	return s.String()
  3626  }
  3627  
  3628  // SetRuleARN sets the RuleARN field's value.
  3629  func (s *DeleteSamplingRuleInput) SetRuleARN(v string) *DeleteSamplingRuleInput {
  3630  	s.RuleARN = &v
  3631  	return s
  3632  }
  3633  
  3634  // SetRuleName sets the RuleName field's value.
  3635  func (s *DeleteSamplingRuleInput) SetRuleName(v string) *DeleteSamplingRuleInput {
  3636  	s.RuleName = &v
  3637  	return s
  3638  }
  3639  
  3640  type DeleteSamplingRuleOutput struct {
  3641  	_ struct{} `type:"structure"`
  3642  
  3643  	// The deleted rule definition and metadata.
  3644  	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
  3645  }
  3646  
  3647  // String returns the string representation.
  3648  //
  3649  // API parameter values that are decorated as "sensitive" in the API will not
  3650  // be included in the string output. The member name will be present, but the
  3651  // value will be replaced with "sensitive".
  3652  func (s DeleteSamplingRuleOutput) String() string {
  3653  	return awsutil.Prettify(s)
  3654  }
  3655  
  3656  // GoString returns the string representation.
  3657  //
  3658  // API parameter values that are decorated as "sensitive" in the API will not
  3659  // be included in the string output. The member name will be present, but the
  3660  // value will be replaced with "sensitive".
  3661  func (s DeleteSamplingRuleOutput) GoString() string {
  3662  	return s.String()
  3663  }
  3664  
  3665  // SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
  3666  func (s *DeleteSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *DeleteSamplingRuleOutput {
  3667  	s.SamplingRuleRecord = v
  3668  	return s
  3669  }
  3670  
  3671  // Information about a connection between two services.
  3672  type Edge struct {
  3673  	_ struct{} `type:"structure"`
  3674  
  3675  	// Aliases for the edge.
  3676  	Aliases []*Alias `type:"list"`
  3677  
  3678  	// The end time of the last segment on the edge.
  3679  	EndTime *time.Time `type:"timestamp"`
  3680  
  3681  	// Identifier of the edge. Unique within a service map.
  3682  	ReferenceId *int64 `type:"integer"`
  3683  
  3684  	// A histogram that maps the spread of client response times on an edge.
  3685  	ResponseTimeHistogram []*HistogramEntry `type:"list"`
  3686  
  3687  	// The start time of the first segment on the edge.
  3688  	StartTime *time.Time `type:"timestamp"`
  3689  
  3690  	// Response statistics for segments on the edge.
  3691  	SummaryStatistics *EdgeStatistics `type:"structure"`
  3692  }
  3693  
  3694  // String returns the string representation.
  3695  //
  3696  // API parameter values that are decorated as "sensitive" in the API will not
  3697  // be included in the string output. The member name will be present, but the
  3698  // value will be replaced with "sensitive".
  3699  func (s Edge) String() string {
  3700  	return awsutil.Prettify(s)
  3701  }
  3702  
  3703  // GoString returns the string representation.
  3704  //
  3705  // API parameter values that are decorated as "sensitive" in the API will not
  3706  // be included in the string output. The member name will be present, but the
  3707  // value will be replaced with "sensitive".
  3708  func (s Edge) GoString() string {
  3709  	return s.String()
  3710  }
  3711  
  3712  // SetAliases sets the Aliases field's value.
  3713  func (s *Edge) SetAliases(v []*Alias) *Edge {
  3714  	s.Aliases = v
  3715  	return s
  3716  }
  3717  
  3718  // SetEndTime sets the EndTime field's value.
  3719  func (s *Edge) SetEndTime(v time.Time) *Edge {
  3720  	s.EndTime = &v
  3721  	return s
  3722  }
  3723  
  3724  // SetReferenceId sets the ReferenceId field's value.
  3725  func (s *Edge) SetReferenceId(v int64) *Edge {
  3726  	s.ReferenceId = &v
  3727  	return s
  3728  }
  3729  
  3730  // SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
  3731  func (s *Edge) SetResponseTimeHistogram(v []*HistogramEntry) *Edge {
  3732  	s.ResponseTimeHistogram = v
  3733  	return s
  3734  }
  3735  
  3736  // SetStartTime sets the StartTime field's value.
  3737  func (s *Edge) SetStartTime(v time.Time) *Edge {
  3738  	s.StartTime = &v
  3739  	return s
  3740  }
  3741  
  3742  // SetSummaryStatistics sets the SummaryStatistics field's value.
  3743  func (s *Edge) SetSummaryStatistics(v *EdgeStatistics) *Edge {
  3744  	s.SummaryStatistics = v
  3745  	return s
  3746  }
  3747  
  3748  // Response statistics for an edge.
  3749  type EdgeStatistics struct {
  3750  	_ struct{} `type:"structure"`
  3751  
  3752  	// Information about requests that failed with a 4xx Client Error status code.
  3753  	ErrorStatistics *ErrorStatistics `type:"structure"`
  3754  
  3755  	// Information about requests that failed with a 5xx Server Error status code.
  3756  	FaultStatistics *FaultStatistics `type:"structure"`
  3757  
  3758  	// The number of requests that completed with a 2xx Success status code.
  3759  	OkCount *int64 `type:"long"`
  3760  
  3761  	// The total number of completed requests.
  3762  	TotalCount *int64 `type:"long"`
  3763  
  3764  	// The aggregate response time of completed requests.
  3765  	TotalResponseTime *float64 `type:"double"`
  3766  }
  3767  
  3768  // String returns the string representation.
  3769  //
  3770  // API parameter values that are decorated as "sensitive" in the API will not
  3771  // be included in the string output. The member name will be present, but the
  3772  // value will be replaced with "sensitive".
  3773  func (s EdgeStatistics) String() string {
  3774  	return awsutil.Prettify(s)
  3775  }
  3776  
  3777  // GoString returns the string representation.
  3778  //
  3779  // API parameter values that are decorated as "sensitive" in the API will not
  3780  // be included in the string output. The member name will be present, but the
  3781  // value will be replaced with "sensitive".
  3782  func (s EdgeStatistics) GoString() string {
  3783  	return s.String()
  3784  }
  3785  
  3786  // SetErrorStatistics sets the ErrorStatistics field's value.
  3787  func (s *EdgeStatistics) SetErrorStatistics(v *ErrorStatistics) *EdgeStatistics {
  3788  	s.ErrorStatistics = v
  3789  	return s
  3790  }
  3791  
  3792  // SetFaultStatistics sets the FaultStatistics field's value.
  3793  func (s *EdgeStatistics) SetFaultStatistics(v *FaultStatistics) *EdgeStatistics {
  3794  	s.FaultStatistics = v
  3795  	return s
  3796  }
  3797  
  3798  // SetOkCount sets the OkCount field's value.
  3799  func (s *EdgeStatistics) SetOkCount(v int64) *EdgeStatistics {
  3800  	s.OkCount = &v
  3801  	return s
  3802  }
  3803  
  3804  // SetTotalCount sets the TotalCount field's value.
  3805  func (s *EdgeStatistics) SetTotalCount(v int64) *EdgeStatistics {
  3806  	s.TotalCount = &v
  3807  	return s
  3808  }
  3809  
  3810  // SetTotalResponseTime sets the TotalResponseTime field's value.
  3811  func (s *EdgeStatistics) SetTotalResponseTime(v float64) *EdgeStatistics {
  3812  	s.TotalResponseTime = &v
  3813  	return s
  3814  }
  3815  
  3816  // A configuration document that specifies encryption configuration settings.
  3817  type EncryptionConfig struct {
  3818  	_ struct{} `type:"structure"`
  3819  
  3820  	// The ID of the KMS key used for encryption, if applicable.
  3821  	KeyId *string `type:"string"`
  3822  
  3823  	// The encryption status. While the status is UPDATING, X-Ray may encrypt data
  3824  	// with a combination of the new and old settings.
  3825  	Status *string `type:"string" enum:"EncryptionStatus"`
  3826  
  3827  	// The type of encryption. Set to KMS for encryption with KMS keys. Set to NONE
  3828  	// for default encryption.
  3829  	Type *string `type:"string" enum:"EncryptionType"`
  3830  }
  3831  
  3832  // String returns the string representation.
  3833  //
  3834  // API parameter values that are decorated as "sensitive" in the API will not
  3835  // be included in the string output. The member name will be present, but the
  3836  // value will be replaced with "sensitive".
  3837  func (s EncryptionConfig) String() string {
  3838  	return awsutil.Prettify(s)
  3839  }
  3840  
  3841  // GoString returns the string representation.
  3842  //
  3843  // API parameter values that are decorated as "sensitive" in the API will not
  3844  // be included in the string output. The member name will be present, but the
  3845  // value will be replaced with "sensitive".
  3846  func (s EncryptionConfig) GoString() string {
  3847  	return s.String()
  3848  }
  3849  
  3850  // SetKeyId sets the KeyId field's value.
  3851  func (s *EncryptionConfig) SetKeyId(v string) *EncryptionConfig {
  3852  	s.KeyId = &v
  3853  	return s
  3854  }
  3855  
  3856  // SetStatus sets the Status field's value.
  3857  func (s *EncryptionConfig) SetStatus(v string) *EncryptionConfig {
  3858  	s.Status = &v
  3859  	return s
  3860  }
  3861  
  3862  // SetType sets the Type field's value.
  3863  func (s *EncryptionConfig) SetType(v string) *EncryptionConfig {
  3864  	s.Type = &v
  3865  	return s
  3866  }
  3867  
  3868  // The root cause of a trace summary error.
  3869  type ErrorRootCause struct {
  3870  	_ struct{} `type:"structure"`
  3871  
  3872  	// A flag that denotes that the root cause impacts the trace client.
  3873  	ClientImpacting *bool `type:"boolean"`
  3874  
  3875  	// A list of services corresponding to an error. A service identifies a segment
  3876  	// and it contains a name, account ID, type, and inferred flag.
  3877  	Services []*ErrorRootCauseService `type:"list"`
  3878  }
  3879  
  3880  // String returns the string representation.
  3881  //
  3882  // API parameter values that are decorated as "sensitive" in the API will not
  3883  // be included in the string output. The member name will be present, but the
  3884  // value will be replaced with "sensitive".
  3885  func (s ErrorRootCause) String() string {
  3886  	return awsutil.Prettify(s)
  3887  }
  3888  
  3889  // GoString returns the string representation.
  3890  //
  3891  // API parameter values that are decorated as "sensitive" in the API will not
  3892  // be included in the string output. The member name will be present, but the
  3893  // value will be replaced with "sensitive".
  3894  func (s ErrorRootCause) GoString() string {
  3895  	return s.String()
  3896  }
  3897  
  3898  // SetClientImpacting sets the ClientImpacting field's value.
  3899  func (s *ErrorRootCause) SetClientImpacting(v bool) *ErrorRootCause {
  3900  	s.ClientImpacting = &v
  3901  	return s
  3902  }
  3903  
  3904  // SetServices sets the Services field's value.
  3905  func (s *ErrorRootCause) SetServices(v []*ErrorRootCauseService) *ErrorRootCause {
  3906  	s.Services = v
  3907  	return s
  3908  }
  3909  
  3910  // A collection of segments and corresponding subsegments associated to a trace
  3911  // summary error.
  3912  type ErrorRootCauseEntity struct {
  3913  	_ struct{} `type:"structure"`
  3914  
  3915  	// The types and messages of the exceptions.
  3916  	Exceptions []*RootCauseException `type:"list"`
  3917  
  3918  	// The name of the entity.
  3919  	Name *string `type:"string"`
  3920  
  3921  	// A flag that denotes a remote subsegment.
  3922  	Remote *bool `type:"boolean"`
  3923  }
  3924  
  3925  // String returns the string representation.
  3926  //
  3927  // API parameter values that are decorated as "sensitive" in the API will not
  3928  // be included in the string output. The member name will be present, but the
  3929  // value will be replaced with "sensitive".
  3930  func (s ErrorRootCauseEntity) String() string {
  3931  	return awsutil.Prettify(s)
  3932  }
  3933  
  3934  // GoString returns the string representation.
  3935  //
  3936  // API parameter values that are decorated as "sensitive" in the API will not
  3937  // be included in the string output. The member name will be present, but the
  3938  // value will be replaced with "sensitive".
  3939  func (s ErrorRootCauseEntity) GoString() string {
  3940  	return s.String()
  3941  }
  3942  
  3943  // SetExceptions sets the Exceptions field's value.
  3944  func (s *ErrorRootCauseEntity) SetExceptions(v []*RootCauseException) *ErrorRootCauseEntity {
  3945  	s.Exceptions = v
  3946  	return s
  3947  }
  3948  
  3949  // SetName sets the Name field's value.
  3950  func (s *ErrorRootCauseEntity) SetName(v string) *ErrorRootCauseEntity {
  3951  	s.Name = &v
  3952  	return s
  3953  }
  3954  
  3955  // SetRemote sets the Remote field's value.
  3956  func (s *ErrorRootCauseEntity) SetRemote(v bool) *ErrorRootCauseEntity {
  3957  	s.Remote = &v
  3958  	return s
  3959  }
  3960  
  3961  // A collection of fields identifying the services in a trace summary error.
  3962  type ErrorRootCauseService struct {
  3963  	_ struct{} `type:"structure"`
  3964  
  3965  	// The account ID associated to the service.
  3966  	AccountId *string `type:"string"`
  3967  
  3968  	// The path of root cause entities found on the service.
  3969  	EntityPath []*ErrorRootCauseEntity `type:"list"`
  3970  
  3971  	// A Boolean value indicating if the service is inferred from the trace.
  3972  	Inferred *bool `type:"boolean"`
  3973  
  3974  	// The service name.
  3975  	Name *string `type:"string"`
  3976  
  3977  	// A collection of associated service names.
  3978  	Names []*string `type:"list"`
  3979  
  3980  	// The type associated to the service.
  3981  	Type *string `type:"string"`
  3982  }
  3983  
  3984  // String returns the string representation.
  3985  //
  3986  // API parameter values that are decorated as "sensitive" in the API will not
  3987  // be included in the string output. The member name will be present, but the
  3988  // value will be replaced with "sensitive".
  3989  func (s ErrorRootCauseService) String() string {
  3990  	return awsutil.Prettify(s)
  3991  }
  3992  
  3993  // GoString returns the string representation.
  3994  //
  3995  // API parameter values that are decorated as "sensitive" in the API will not
  3996  // be included in the string output. The member name will be present, but the
  3997  // value will be replaced with "sensitive".
  3998  func (s ErrorRootCauseService) GoString() string {
  3999  	return s.String()
  4000  }
  4001  
  4002  // SetAccountId sets the AccountId field's value.
  4003  func (s *ErrorRootCauseService) SetAccountId(v string) *ErrorRootCauseService {
  4004  	s.AccountId = &v
  4005  	return s
  4006  }
  4007  
  4008  // SetEntityPath sets the EntityPath field's value.
  4009  func (s *ErrorRootCauseService) SetEntityPath(v []*ErrorRootCauseEntity) *ErrorRootCauseService {
  4010  	s.EntityPath = v
  4011  	return s
  4012  }
  4013  
  4014  // SetInferred sets the Inferred field's value.
  4015  func (s *ErrorRootCauseService) SetInferred(v bool) *ErrorRootCauseService {
  4016  	s.Inferred = &v
  4017  	return s
  4018  }
  4019  
  4020  // SetName sets the Name field's value.
  4021  func (s *ErrorRootCauseService) SetName(v string) *ErrorRootCauseService {
  4022  	s.Name = &v
  4023  	return s
  4024  }
  4025  
  4026  // SetNames sets the Names field's value.
  4027  func (s *ErrorRootCauseService) SetNames(v []*string) *ErrorRootCauseService {
  4028  	s.Names = v
  4029  	return s
  4030  }
  4031  
  4032  // SetType sets the Type field's value.
  4033  func (s *ErrorRootCauseService) SetType(v string) *ErrorRootCauseService {
  4034  	s.Type = &v
  4035  	return s
  4036  }
  4037  
  4038  // Information about requests that failed with a 4xx Client Error status code.
  4039  type ErrorStatistics struct {
  4040  	_ struct{} `type:"structure"`
  4041  
  4042  	// The number of requests that failed with untracked 4xx Client Error status
  4043  	// codes.
  4044  	OtherCount *int64 `type:"long"`
  4045  
  4046  	// The number of requests that failed with a 419 throttling status code.
  4047  	ThrottleCount *int64 `type:"long"`
  4048  
  4049  	// The total number of requests that failed with a 4xx Client Error status code.
  4050  	TotalCount *int64 `type:"long"`
  4051  }
  4052  
  4053  // String returns the string representation.
  4054  //
  4055  // API parameter values that are decorated as "sensitive" in the API will not
  4056  // be included in the string output. The member name will be present, but the
  4057  // value will be replaced with "sensitive".
  4058  func (s ErrorStatistics) String() string {
  4059  	return awsutil.Prettify(s)
  4060  }
  4061  
  4062  // GoString returns the string representation.
  4063  //
  4064  // API parameter values that are decorated as "sensitive" in the API will not
  4065  // be included in the string output. The member name will be present, but the
  4066  // value will be replaced with "sensitive".
  4067  func (s ErrorStatistics) GoString() string {
  4068  	return s.String()
  4069  }
  4070  
  4071  // SetOtherCount sets the OtherCount field's value.
  4072  func (s *ErrorStatistics) SetOtherCount(v int64) *ErrorStatistics {
  4073  	s.OtherCount = &v
  4074  	return s
  4075  }
  4076  
  4077  // SetThrottleCount sets the ThrottleCount field's value.
  4078  func (s *ErrorStatistics) SetThrottleCount(v int64) *ErrorStatistics {
  4079  	s.ThrottleCount = &v
  4080  	return s
  4081  }
  4082  
  4083  // SetTotalCount sets the TotalCount field's value.
  4084  func (s *ErrorStatistics) SetTotalCount(v int64) *ErrorStatistics {
  4085  	s.TotalCount = &v
  4086  	return s
  4087  }
  4088  
  4089  // The root cause information for a trace summary fault.
  4090  type FaultRootCause struct {
  4091  	_ struct{} `type:"structure"`
  4092  
  4093  	// A flag that denotes that the root cause impacts the trace client.
  4094  	ClientImpacting *bool `type:"boolean"`
  4095  
  4096  	// A list of corresponding services. A service identifies a segment and it contains
  4097  	// a name, account ID, type, and inferred flag.
  4098  	Services []*FaultRootCauseService `type:"list"`
  4099  }
  4100  
  4101  // String returns the string representation.
  4102  //
  4103  // API parameter values that are decorated as "sensitive" in the API will not
  4104  // be included in the string output. The member name will be present, but the
  4105  // value will be replaced with "sensitive".
  4106  func (s FaultRootCause) String() string {
  4107  	return awsutil.Prettify(s)
  4108  }
  4109  
  4110  // GoString returns the string representation.
  4111  //
  4112  // API parameter values that are decorated as "sensitive" in the API will not
  4113  // be included in the string output. The member name will be present, but the
  4114  // value will be replaced with "sensitive".
  4115  func (s FaultRootCause) GoString() string {
  4116  	return s.String()
  4117  }
  4118  
  4119  // SetClientImpacting sets the ClientImpacting field's value.
  4120  func (s *FaultRootCause) SetClientImpacting(v bool) *FaultRootCause {
  4121  	s.ClientImpacting = &v
  4122  	return s
  4123  }
  4124  
  4125  // SetServices sets the Services field's value.
  4126  func (s *FaultRootCause) SetServices(v []*FaultRootCauseService) *FaultRootCause {
  4127  	s.Services = v
  4128  	return s
  4129  }
  4130  
  4131  // A collection of segments and corresponding subsegments associated to a trace
  4132  // summary fault error.
  4133  type FaultRootCauseEntity struct {
  4134  	_ struct{} `type:"structure"`
  4135  
  4136  	// The types and messages of the exceptions.
  4137  	Exceptions []*RootCauseException `type:"list"`
  4138  
  4139  	// The name of the entity.
  4140  	Name *string `type:"string"`
  4141  
  4142  	// A flag that denotes a remote subsegment.
  4143  	Remote *bool `type:"boolean"`
  4144  }
  4145  
  4146  // String returns the string representation.
  4147  //
  4148  // API parameter values that are decorated as "sensitive" in the API will not
  4149  // be included in the string output. The member name will be present, but the
  4150  // value will be replaced with "sensitive".
  4151  func (s FaultRootCauseEntity) String() string {
  4152  	return awsutil.Prettify(s)
  4153  }
  4154  
  4155  // GoString returns the string representation.
  4156  //
  4157  // API parameter values that are decorated as "sensitive" in the API will not
  4158  // be included in the string output. The member name will be present, but the
  4159  // value will be replaced with "sensitive".
  4160  func (s FaultRootCauseEntity) GoString() string {
  4161  	return s.String()
  4162  }
  4163  
  4164  // SetExceptions sets the Exceptions field's value.
  4165  func (s *FaultRootCauseEntity) SetExceptions(v []*RootCauseException) *FaultRootCauseEntity {
  4166  	s.Exceptions = v
  4167  	return s
  4168  }
  4169  
  4170  // SetName sets the Name field's value.
  4171  func (s *FaultRootCauseEntity) SetName(v string) *FaultRootCauseEntity {
  4172  	s.Name = &v
  4173  	return s
  4174  }
  4175  
  4176  // SetRemote sets the Remote field's value.
  4177  func (s *FaultRootCauseEntity) SetRemote(v bool) *FaultRootCauseEntity {
  4178  	s.Remote = &v
  4179  	return s
  4180  }
  4181  
  4182  // A collection of fields identifying the services in a trace summary fault.
  4183  type FaultRootCauseService struct {
  4184  	_ struct{} `type:"structure"`
  4185  
  4186  	// The account ID associated to the service.
  4187  	AccountId *string `type:"string"`
  4188  
  4189  	// The path of root cause entities found on the service.
  4190  	EntityPath []*FaultRootCauseEntity `type:"list"`
  4191  
  4192  	// A Boolean value indicating if the service is inferred from the trace.
  4193  	Inferred *bool `type:"boolean"`
  4194  
  4195  	// The service name.
  4196  	Name *string `type:"string"`
  4197  
  4198  	// A collection of associated service names.
  4199  	Names []*string `type:"list"`
  4200  
  4201  	// The type associated to the service.
  4202  	Type *string `type:"string"`
  4203  }
  4204  
  4205  // String returns the string representation.
  4206  //
  4207  // API parameter values that are decorated as "sensitive" in the API will not
  4208  // be included in the string output. The member name will be present, but the
  4209  // value will be replaced with "sensitive".
  4210  func (s FaultRootCauseService) String() string {
  4211  	return awsutil.Prettify(s)
  4212  }
  4213  
  4214  // GoString returns the string representation.
  4215  //
  4216  // API parameter values that are decorated as "sensitive" in the API will not
  4217  // be included in the string output. The member name will be present, but the
  4218  // value will be replaced with "sensitive".
  4219  func (s FaultRootCauseService) GoString() string {
  4220  	return s.String()
  4221  }
  4222  
  4223  // SetAccountId sets the AccountId field's value.
  4224  func (s *FaultRootCauseService) SetAccountId(v string) *FaultRootCauseService {
  4225  	s.AccountId = &v
  4226  	return s
  4227  }
  4228  
  4229  // SetEntityPath sets the EntityPath field's value.
  4230  func (s *FaultRootCauseService) SetEntityPath(v []*FaultRootCauseEntity) *FaultRootCauseService {
  4231  	s.EntityPath = v
  4232  	return s
  4233  }
  4234  
  4235  // SetInferred sets the Inferred field's value.
  4236  func (s *FaultRootCauseService) SetInferred(v bool) *FaultRootCauseService {
  4237  	s.Inferred = &v
  4238  	return s
  4239  }
  4240  
  4241  // SetName sets the Name field's value.
  4242  func (s *FaultRootCauseService) SetName(v string) *FaultRootCauseService {
  4243  	s.Name = &v
  4244  	return s
  4245  }
  4246  
  4247  // SetNames sets the Names field's value.
  4248  func (s *FaultRootCauseService) SetNames(v []*string) *FaultRootCauseService {
  4249  	s.Names = v
  4250  	return s
  4251  }
  4252  
  4253  // SetType sets the Type field's value.
  4254  func (s *FaultRootCauseService) SetType(v string) *FaultRootCauseService {
  4255  	s.Type = &v
  4256  	return s
  4257  }
  4258  
  4259  // Information about requests that failed with a 5xx Server Error status code.
  4260  type FaultStatistics struct {
  4261  	_ struct{} `type:"structure"`
  4262  
  4263  	// The number of requests that failed with untracked 5xx Server Error status
  4264  	// codes.
  4265  	OtherCount *int64 `type:"long"`
  4266  
  4267  	// The total number of requests that failed with a 5xx Server Error status code.
  4268  	TotalCount *int64 `type:"long"`
  4269  }
  4270  
  4271  // String returns the string representation.
  4272  //
  4273  // API parameter values that are decorated as "sensitive" in the API will not
  4274  // be included in the string output. The member name will be present, but the
  4275  // value will be replaced with "sensitive".
  4276  func (s FaultStatistics) String() string {
  4277  	return awsutil.Prettify(s)
  4278  }
  4279  
  4280  // GoString returns the string representation.
  4281  //
  4282  // API parameter values that are decorated as "sensitive" in the API will not
  4283  // be included in the string output. The member name will be present, but the
  4284  // value will be replaced with "sensitive".
  4285  func (s FaultStatistics) GoString() string {
  4286  	return s.String()
  4287  }
  4288  
  4289  // SetOtherCount sets the OtherCount field's value.
  4290  func (s *FaultStatistics) SetOtherCount(v int64) *FaultStatistics {
  4291  	s.OtherCount = &v
  4292  	return s
  4293  }
  4294  
  4295  // SetTotalCount sets the TotalCount field's value.
  4296  func (s *FaultStatistics) SetTotalCount(v int64) *FaultStatistics {
  4297  	s.TotalCount = &v
  4298  	return s
  4299  }
  4300  
  4301  // The predicted high and low fault count. This is used to determine if a service
  4302  // has become anomalous and if an insight should be created.
  4303  type ForecastStatistics struct {
  4304  	_ struct{} `type:"structure"`
  4305  
  4306  	// The upper limit of fault counts for a service.
  4307  	FaultCountHigh *int64 `type:"long"`
  4308  
  4309  	// The lower limit of fault counts for a service.
  4310  	FaultCountLow *int64 `type:"long"`
  4311  }
  4312  
  4313  // String returns the string representation.
  4314  //
  4315  // API parameter values that are decorated as "sensitive" in the API will not
  4316  // be included in the string output. The member name will be present, but the
  4317  // value will be replaced with "sensitive".
  4318  func (s ForecastStatistics) String() string {
  4319  	return awsutil.Prettify(s)
  4320  }
  4321  
  4322  // GoString returns the string representation.
  4323  //
  4324  // API parameter values that are decorated as "sensitive" in the API will not
  4325  // be included in the string output. The member name will be present, but the
  4326  // value will be replaced with "sensitive".
  4327  func (s ForecastStatistics) GoString() string {
  4328  	return s.String()
  4329  }
  4330  
  4331  // SetFaultCountHigh sets the FaultCountHigh field's value.
  4332  func (s *ForecastStatistics) SetFaultCountHigh(v int64) *ForecastStatistics {
  4333  	s.FaultCountHigh = &v
  4334  	return s
  4335  }
  4336  
  4337  // SetFaultCountLow sets the FaultCountLow field's value.
  4338  func (s *ForecastStatistics) SetFaultCountLow(v int64) *ForecastStatistics {
  4339  	s.FaultCountLow = &v
  4340  	return s
  4341  }
  4342  
  4343  type GetEncryptionConfigInput struct {
  4344  	_ struct{} `type:"structure" nopayload:"true"`
  4345  }
  4346  
  4347  // String returns the string representation.
  4348  //
  4349  // API parameter values that are decorated as "sensitive" in the API will not
  4350  // be included in the string output. The member name will be present, but the
  4351  // value will be replaced with "sensitive".
  4352  func (s GetEncryptionConfigInput) String() string {
  4353  	return awsutil.Prettify(s)
  4354  }
  4355  
  4356  // GoString returns the string representation.
  4357  //
  4358  // API parameter values that are decorated as "sensitive" in the API will not
  4359  // be included in the string output. The member name will be present, but the
  4360  // value will be replaced with "sensitive".
  4361  func (s GetEncryptionConfigInput) GoString() string {
  4362  	return s.String()
  4363  }
  4364  
  4365  type GetEncryptionConfigOutput struct {
  4366  	_ struct{} `type:"structure"`
  4367  
  4368  	// The encryption configuration document.
  4369  	EncryptionConfig *EncryptionConfig `type:"structure"`
  4370  }
  4371  
  4372  // String returns the string representation.
  4373  //
  4374  // API parameter values that are decorated as "sensitive" in the API will not
  4375  // be included in the string output. The member name will be present, but the
  4376  // value will be replaced with "sensitive".
  4377  func (s GetEncryptionConfigOutput) String() string {
  4378  	return awsutil.Prettify(s)
  4379  }
  4380  
  4381  // GoString returns the string representation.
  4382  //
  4383  // API parameter values that are decorated as "sensitive" in the API will not
  4384  // be included in the string output. The member name will be present, but the
  4385  // value will be replaced with "sensitive".
  4386  func (s GetEncryptionConfigOutput) GoString() string {
  4387  	return s.String()
  4388  }
  4389  
  4390  // SetEncryptionConfig sets the EncryptionConfig field's value.
  4391  func (s *GetEncryptionConfigOutput) SetEncryptionConfig(v *EncryptionConfig) *GetEncryptionConfigOutput {
  4392  	s.EncryptionConfig = v
  4393  	return s
  4394  }
  4395  
  4396  type GetGroupInput struct {
  4397  	_ struct{} `type:"structure"`
  4398  
  4399  	// The ARN of the group that was generated on creation.
  4400  	GroupARN *string `min:"1" type:"string"`
  4401  
  4402  	// The case-sensitive name of the group.
  4403  	GroupName *string `min:"1" type:"string"`
  4404  }
  4405  
  4406  // String returns the string representation.
  4407  //
  4408  // API parameter values that are decorated as "sensitive" in the API will not
  4409  // be included in the string output. The member name will be present, but the
  4410  // value will be replaced with "sensitive".
  4411  func (s GetGroupInput) String() string {
  4412  	return awsutil.Prettify(s)
  4413  }
  4414  
  4415  // GoString returns the string representation.
  4416  //
  4417  // API parameter values that are decorated as "sensitive" in the API will not
  4418  // be included in the string output. The member name will be present, but the
  4419  // value will be replaced with "sensitive".
  4420  func (s GetGroupInput) GoString() string {
  4421  	return s.String()
  4422  }
  4423  
  4424  // Validate inspects the fields of the type to determine if they are valid.
  4425  func (s *GetGroupInput) Validate() error {
  4426  	invalidParams := request.ErrInvalidParams{Context: "GetGroupInput"}
  4427  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  4428  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  4429  	}
  4430  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  4431  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  4432  	}
  4433  
  4434  	if invalidParams.Len() > 0 {
  4435  		return invalidParams
  4436  	}
  4437  	return nil
  4438  }
  4439  
  4440  // SetGroupARN sets the GroupARN field's value.
  4441  func (s *GetGroupInput) SetGroupARN(v string) *GetGroupInput {
  4442  	s.GroupARN = &v
  4443  	return s
  4444  }
  4445  
  4446  // SetGroupName sets the GroupName field's value.
  4447  func (s *GetGroupInput) SetGroupName(v string) *GetGroupInput {
  4448  	s.GroupName = &v
  4449  	return s
  4450  }
  4451  
  4452  type GetGroupOutput struct {
  4453  	_ struct{} `type:"structure"`
  4454  
  4455  	// The group that was requested. Contains the name of the group, the ARN of
  4456  	// the group, the filter expression, and the insight configuration assigned
  4457  	// to the group.
  4458  	Group *Group `type:"structure"`
  4459  }
  4460  
  4461  // String returns the string representation.
  4462  //
  4463  // API parameter values that are decorated as "sensitive" in the API will not
  4464  // be included in the string output. The member name will be present, but the
  4465  // value will be replaced with "sensitive".
  4466  func (s GetGroupOutput) String() string {
  4467  	return awsutil.Prettify(s)
  4468  }
  4469  
  4470  // GoString returns the string representation.
  4471  //
  4472  // API parameter values that are decorated as "sensitive" in the API will not
  4473  // be included in the string output. The member name will be present, but the
  4474  // value will be replaced with "sensitive".
  4475  func (s GetGroupOutput) GoString() string {
  4476  	return s.String()
  4477  }
  4478  
  4479  // SetGroup sets the Group field's value.
  4480  func (s *GetGroupOutput) SetGroup(v *Group) *GetGroupOutput {
  4481  	s.Group = v
  4482  	return s
  4483  }
  4484  
  4485  type GetGroupsInput struct {
  4486  	_ struct{} `type:"structure"`
  4487  
  4488  	// Pagination token.
  4489  	NextToken *string `min:"1" type:"string"`
  4490  }
  4491  
  4492  // String returns the string representation.
  4493  //
  4494  // API parameter values that are decorated as "sensitive" in the API will not
  4495  // be included in the string output. The member name will be present, but the
  4496  // value will be replaced with "sensitive".
  4497  func (s GetGroupsInput) String() string {
  4498  	return awsutil.Prettify(s)
  4499  }
  4500  
  4501  // GoString returns the string representation.
  4502  //
  4503  // API parameter values that are decorated as "sensitive" in the API will not
  4504  // be included in the string output. The member name will be present, but the
  4505  // value will be replaced with "sensitive".
  4506  func (s GetGroupsInput) GoString() string {
  4507  	return s.String()
  4508  }
  4509  
  4510  // Validate inspects the fields of the type to determine if they are valid.
  4511  func (s *GetGroupsInput) Validate() error {
  4512  	invalidParams := request.ErrInvalidParams{Context: "GetGroupsInput"}
  4513  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4514  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4515  	}
  4516  
  4517  	if invalidParams.Len() > 0 {
  4518  		return invalidParams
  4519  	}
  4520  	return nil
  4521  }
  4522  
  4523  // SetNextToken sets the NextToken field's value.
  4524  func (s *GetGroupsInput) SetNextToken(v string) *GetGroupsInput {
  4525  	s.NextToken = &v
  4526  	return s
  4527  }
  4528  
  4529  type GetGroupsOutput struct {
  4530  	_ struct{} `type:"structure"`
  4531  
  4532  	// The collection of all active groups.
  4533  	Groups []*GroupSummary `type:"list"`
  4534  
  4535  	// Pagination token.
  4536  	NextToken *string `type:"string"`
  4537  }
  4538  
  4539  // String returns the string representation.
  4540  //
  4541  // API parameter values that are decorated as "sensitive" in the API will not
  4542  // be included in the string output. The member name will be present, but the
  4543  // value will be replaced with "sensitive".
  4544  func (s GetGroupsOutput) String() string {
  4545  	return awsutil.Prettify(s)
  4546  }
  4547  
  4548  // GoString returns the string representation.
  4549  //
  4550  // API parameter values that are decorated as "sensitive" in the API will not
  4551  // be included in the string output. The member name will be present, but the
  4552  // value will be replaced with "sensitive".
  4553  func (s GetGroupsOutput) GoString() string {
  4554  	return s.String()
  4555  }
  4556  
  4557  // SetGroups sets the Groups field's value.
  4558  func (s *GetGroupsOutput) SetGroups(v []*GroupSummary) *GetGroupsOutput {
  4559  	s.Groups = v
  4560  	return s
  4561  }
  4562  
  4563  // SetNextToken sets the NextToken field's value.
  4564  func (s *GetGroupsOutput) SetNextToken(v string) *GetGroupsOutput {
  4565  	s.NextToken = &v
  4566  	return s
  4567  }
  4568  
  4569  type GetInsightEventsInput struct {
  4570  	_ struct{} `type:"structure"`
  4571  
  4572  	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
  4573  	// an InsightId.
  4574  	//
  4575  	// InsightId is a required field
  4576  	InsightId *string `type:"string" required:"true"`
  4577  
  4578  	// Used to retrieve at most the specified value of events.
  4579  	MaxResults *int64 `min:"1" type:"integer"`
  4580  
  4581  	// Specify the pagination token returned by a previous request to retrieve the
  4582  	// next page of events.
  4583  	NextToken *string `min:"1" type:"string"`
  4584  }
  4585  
  4586  // String returns the string representation.
  4587  //
  4588  // API parameter values that are decorated as "sensitive" in the API will not
  4589  // be included in the string output. The member name will be present, but the
  4590  // value will be replaced with "sensitive".
  4591  func (s GetInsightEventsInput) String() string {
  4592  	return awsutil.Prettify(s)
  4593  }
  4594  
  4595  // GoString returns the string representation.
  4596  //
  4597  // API parameter values that are decorated as "sensitive" in the API will not
  4598  // be included in the string output. The member name will be present, but the
  4599  // value will be replaced with "sensitive".
  4600  func (s GetInsightEventsInput) GoString() string {
  4601  	return s.String()
  4602  }
  4603  
  4604  // Validate inspects the fields of the type to determine if they are valid.
  4605  func (s *GetInsightEventsInput) Validate() error {
  4606  	invalidParams := request.ErrInvalidParams{Context: "GetInsightEventsInput"}
  4607  	if s.InsightId == nil {
  4608  		invalidParams.Add(request.NewErrParamRequired("InsightId"))
  4609  	}
  4610  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4611  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4612  	}
  4613  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4614  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4615  	}
  4616  
  4617  	if invalidParams.Len() > 0 {
  4618  		return invalidParams
  4619  	}
  4620  	return nil
  4621  }
  4622  
  4623  // SetInsightId sets the InsightId field's value.
  4624  func (s *GetInsightEventsInput) SetInsightId(v string) *GetInsightEventsInput {
  4625  	s.InsightId = &v
  4626  	return s
  4627  }
  4628  
  4629  // SetMaxResults sets the MaxResults field's value.
  4630  func (s *GetInsightEventsInput) SetMaxResults(v int64) *GetInsightEventsInput {
  4631  	s.MaxResults = &v
  4632  	return s
  4633  }
  4634  
  4635  // SetNextToken sets the NextToken field's value.
  4636  func (s *GetInsightEventsInput) SetNextToken(v string) *GetInsightEventsInput {
  4637  	s.NextToken = &v
  4638  	return s
  4639  }
  4640  
  4641  type GetInsightEventsOutput struct {
  4642  	_ struct{} `type:"structure"`
  4643  
  4644  	// A detailed description of the event. This includes the time of the event,
  4645  	// client and root cause impact statistics, and the top anomalous service at
  4646  	// the time of the event.
  4647  	InsightEvents []*InsightEvent `type:"list"`
  4648  
  4649  	// Use this token to retrieve the next page of insight events.
  4650  	NextToken *string `min:"1" type:"string"`
  4651  }
  4652  
  4653  // String returns the string representation.
  4654  //
  4655  // API parameter values that are decorated as "sensitive" in the API will not
  4656  // be included in the string output. The member name will be present, but the
  4657  // value will be replaced with "sensitive".
  4658  func (s GetInsightEventsOutput) String() string {
  4659  	return awsutil.Prettify(s)
  4660  }
  4661  
  4662  // GoString returns the string representation.
  4663  //
  4664  // API parameter values that are decorated as "sensitive" in the API will not
  4665  // be included in the string output. The member name will be present, but the
  4666  // value will be replaced with "sensitive".
  4667  func (s GetInsightEventsOutput) GoString() string {
  4668  	return s.String()
  4669  }
  4670  
  4671  // SetInsightEvents sets the InsightEvents field's value.
  4672  func (s *GetInsightEventsOutput) SetInsightEvents(v []*InsightEvent) *GetInsightEventsOutput {
  4673  	s.InsightEvents = v
  4674  	return s
  4675  }
  4676  
  4677  // SetNextToken sets the NextToken field's value.
  4678  func (s *GetInsightEventsOutput) SetNextToken(v string) *GetInsightEventsOutput {
  4679  	s.NextToken = &v
  4680  	return s
  4681  }
  4682  
  4683  type GetInsightImpactGraphInput struct {
  4684  	_ struct{} `type:"structure"`
  4685  
  4686  	// The estimated end time of the insight, in Unix time seconds. The EndTime
  4687  	// is exclusive of the value provided. The time range between the start time
  4688  	// and end time can't be more than six hours.
  4689  	//
  4690  	// EndTime is a required field
  4691  	EndTime *time.Time `type:"timestamp" required:"true"`
  4692  
  4693  	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
  4694  	// an InsightId.
  4695  	//
  4696  	// InsightId is a required field
  4697  	InsightId *string `type:"string" required:"true"`
  4698  
  4699  	// Specify the pagination token returned by a previous request to retrieve the
  4700  	// next page of results.
  4701  	NextToken *string `min:"1" type:"string"`
  4702  
  4703  	// The estimated start time of the insight, in Unix time seconds. The StartTime
  4704  	// is inclusive of the value provided and can't be more than 30 days old.
  4705  	//
  4706  	// StartTime is a required field
  4707  	StartTime *time.Time `type:"timestamp" required:"true"`
  4708  }
  4709  
  4710  // String returns the string representation.
  4711  //
  4712  // API parameter values that are decorated as "sensitive" in the API will not
  4713  // be included in the string output. The member name will be present, but the
  4714  // value will be replaced with "sensitive".
  4715  func (s GetInsightImpactGraphInput) String() string {
  4716  	return awsutil.Prettify(s)
  4717  }
  4718  
  4719  // GoString returns the string representation.
  4720  //
  4721  // API parameter values that are decorated as "sensitive" in the API will not
  4722  // be included in the string output. The member name will be present, but the
  4723  // value will be replaced with "sensitive".
  4724  func (s GetInsightImpactGraphInput) GoString() string {
  4725  	return s.String()
  4726  }
  4727  
  4728  // Validate inspects the fields of the type to determine if they are valid.
  4729  func (s *GetInsightImpactGraphInput) Validate() error {
  4730  	invalidParams := request.ErrInvalidParams{Context: "GetInsightImpactGraphInput"}
  4731  	if s.EndTime == nil {
  4732  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  4733  	}
  4734  	if s.InsightId == nil {
  4735  		invalidParams.Add(request.NewErrParamRequired("InsightId"))
  4736  	}
  4737  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4738  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4739  	}
  4740  	if s.StartTime == nil {
  4741  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  4742  	}
  4743  
  4744  	if invalidParams.Len() > 0 {
  4745  		return invalidParams
  4746  	}
  4747  	return nil
  4748  }
  4749  
  4750  // SetEndTime sets the EndTime field's value.
  4751  func (s *GetInsightImpactGraphInput) SetEndTime(v time.Time) *GetInsightImpactGraphInput {
  4752  	s.EndTime = &v
  4753  	return s
  4754  }
  4755  
  4756  // SetInsightId sets the InsightId field's value.
  4757  func (s *GetInsightImpactGraphInput) SetInsightId(v string) *GetInsightImpactGraphInput {
  4758  	s.InsightId = &v
  4759  	return s
  4760  }
  4761  
  4762  // SetNextToken sets the NextToken field's value.
  4763  func (s *GetInsightImpactGraphInput) SetNextToken(v string) *GetInsightImpactGraphInput {
  4764  	s.NextToken = &v
  4765  	return s
  4766  }
  4767  
  4768  // SetStartTime sets the StartTime field's value.
  4769  func (s *GetInsightImpactGraphInput) SetStartTime(v time.Time) *GetInsightImpactGraphInput {
  4770  	s.StartTime = &v
  4771  	return s
  4772  }
  4773  
  4774  type GetInsightImpactGraphOutput struct {
  4775  	_ struct{} `type:"structure"`
  4776  
  4777  	// The provided end time.
  4778  	EndTime *time.Time `type:"timestamp"`
  4779  
  4780  	// The insight's unique identifier.
  4781  	InsightId *string `type:"string"`
  4782  
  4783  	// Pagination token.
  4784  	NextToken *string `min:"1" type:"string"`
  4785  
  4786  	// The time, in Unix seconds, at which the service graph ended.
  4787  	ServiceGraphEndTime *time.Time `type:"timestamp"`
  4788  
  4789  	// The time, in Unix seconds, at which the service graph started.
  4790  	ServiceGraphStartTime *time.Time `type:"timestamp"`
  4791  
  4792  	// The Amazon Web Services instrumented services related to the insight.
  4793  	Services []*InsightImpactGraphService `type:"list"`
  4794  
  4795  	// The provided start time.
  4796  	StartTime *time.Time `type:"timestamp"`
  4797  }
  4798  
  4799  // String returns the string representation.
  4800  //
  4801  // API parameter values that are decorated as "sensitive" in the API will not
  4802  // be included in the string output. The member name will be present, but the
  4803  // value will be replaced with "sensitive".
  4804  func (s GetInsightImpactGraphOutput) String() string {
  4805  	return awsutil.Prettify(s)
  4806  }
  4807  
  4808  // GoString returns the string representation.
  4809  //
  4810  // API parameter values that are decorated as "sensitive" in the API will not
  4811  // be included in the string output. The member name will be present, but the
  4812  // value will be replaced with "sensitive".
  4813  func (s GetInsightImpactGraphOutput) GoString() string {
  4814  	return s.String()
  4815  }
  4816  
  4817  // SetEndTime sets the EndTime field's value.
  4818  func (s *GetInsightImpactGraphOutput) SetEndTime(v time.Time) *GetInsightImpactGraphOutput {
  4819  	s.EndTime = &v
  4820  	return s
  4821  }
  4822  
  4823  // SetInsightId sets the InsightId field's value.
  4824  func (s *GetInsightImpactGraphOutput) SetInsightId(v string) *GetInsightImpactGraphOutput {
  4825  	s.InsightId = &v
  4826  	return s
  4827  }
  4828  
  4829  // SetNextToken sets the NextToken field's value.
  4830  func (s *GetInsightImpactGraphOutput) SetNextToken(v string) *GetInsightImpactGraphOutput {
  4831  	s.NextToken = &v
  4832  	return s
  4833  }
  4834  
  4835  // SetServiceGraphEndTime sets the ServiceGraphEndTime field's value.
  4836  func (s *GetInsightImpactGraphOutput) SetServiceGraphEndTime(v time.Time) *GetInsightImpactGraphOutput {
  4837  	s.ServiceGraphEndTime = &v
  4838  	return s
  4839  }
  4840  
  4841  // SetServiceGraphStartTime sets the ServiceGraphStartTime field's value.
  4842  func (s *GetInsightImpactGraphOutput) SetServiceGraphStartTime(v time.Time) *GetInsightImpactGraphOutput {
  4843  	s.ServiceGraphStartTime = &v
  4844  	return s
  4845  }
  4846  
  4847  // SetServices sets the Services field's value.
  4848  func (s *GetInsightImpactGraphOutput) SetServices(v []*InsightImpactGraphService) *GetInsightImpactGraphOutput {
  4849  	s.Services = v
  4850  	return s
  4851  }
  4852  
  4853  // SetStartTime sets the StartTime field's value.
  4854  func (s *GetInsightImpactGraphOutput) SetStartTime(v time.Time) *GetInsightImpactGraphOutput {
  4855  	s.StartTime = &v
  4856  	return s
  4857  }
  4858  
  4859  type GetInsightInput struct {
  4860  	_ struct{} `type:"structure"`
  4861  
  4862  	// The insight's unique identifier. Use the GetInsightSummaries action to retrieve
  4863  	// an InsightId.
  4864  	//
  4865  	// InsightId is a required field
  4866  	InsightId *string `type:"string" required:"true"`
  4867  }
  4868  
  4869  // String returns the string representation.
  4870  //
  4871  // API parameter values that are decorated as "sensitive" in the API will not
  4872  // be included in the string output. The member name will be present, but the
  4873  // value will be replaced with "sensitive".
  4874  func (s GetInsightInput) String() string {
  4875  	return awsutil.Prettify(s)
  4876  }
  4877  
  4878  // GoString returns the string representation.
  4879  //
  4880  // API parameter values that are decorated as "sensitive" in the API will not
  4881  // be included in the string output. The member name will be present, but the
  4882  // value will be replaced with "sensitive".
  4883  func (s GetInsightInput) GoString() string {
  4884  	return s.String()
  4885  }
  4886  
  4887  // Validate inspects the fields of the type to determine if they are valid.
  4888  func (s *GetInsightInput) Validate() error {
  4889  	invalidParams := request.ErrInvalidParams{Context: "GetInsightInput"}
  4890  	if s.InsightId == nil {
  4891  		invalidParams.Add(request.NewErrParamRequired("InsightId"))
  4892  	}
  4893  
  4894  	if invalidParams.Len() > 0 {
  4895  		return invalidParams
  4896  	}
  4897  	return nil
  4898  }
  4899  
  4900  // SetInsightId sets the InsightId field's value.
  4901  func (s *GetInsightInput) SetInsightId(v string) *GetInsightInput {
  4902  	s.InsightId = &v
  4903  	return s
  4904  }
  4905  
  4906  type GetInsightOutput struct {
  4907  	_ struct{} `type:"structure"`
  4908  
  4909  	// The summary information of an insight.
  4910  	Insight *Insight `type:"structure"`
  4911  }
  4912  
  4913  // String returns the string representation.
  4914  //
  4915  // API parameter values that are decorated as "sensitive" in the API will not
  4916  // be included in the string output. The member name will be present, but the
  4917  // value will be replaced with "sensitive".
  4918  func (s GetInsightOutput) String() string {
  4919  	return awsutil.Prettify(s)
  4920  }
  4921  
  4922  // GoString returns the string representation.
  4923  //
  4924  // API parameter values that are decorated as "sensitive" in the API will not
  4925  // be included in the string output. The member name will be present, but the
  4926  // value will be replaced with "sensitive".
  4927  func (s GetInsightOutput) GoString() string {
  4928  	return s.String()
  4929  }
  4930  
  4931  // SetInsight sets the Insight field's value.
  4932  func (s *GetInsightOutput) SetInsight(v *Insight) *GetInsightOutput {
  4933  	s.Insight = v
  4934  	return s
  4935  }
  4936  
  4937  type GetInsightSummariesInput struct {
  4938  	_ struct{} `type:"structure"`
  4939  
  4940  	// The end of the time frame in which the insights ended. The end time can't
  4941  	// be more than 30 days old.
  4942  	//
  4943  	// EndTime is a required field
  4944  	EndTime *time.Time `type:"timestamp" required:"true"`
  4945  
  4946  	// The Amazon Resource Name (ARN) of the group. Required if the GroupName isn't
  4947  	// provided.
  4948  	GroupARN *string `min:"1" type:"string"`
  4949  
  4950  	// The name of the group. Required if the GroupARN isn't provided.
  4951  	GroupName *string `min:"1" type:"string"`
  4952  
  4953  	// The maximum number of results to display.
  4954  	MaxResults *int64 `min:"1" type:"integer"`
  4955  
  4956  	// Pagination token.
  4957  	NextToken *string `min:"1" type:"string"`
  4958  
  4959  	// The beginning of the time frame in which the insights started. The start
  4960  	// time can't be more than 30 days old.
  4961  	//
  4962  	// StartTime is a required field
  4963  	StartTime *time.Time `type:"timestamp" required:"true"`
  4964  
  4965  	// The list of insight states.
  4966  	States []*string `type:"list"`
  4967  }
  4968  
  4969  // String returns the string representation.
  4970  //
  4971  // API parameter values that are decorated as "sensitive" in the API will not
  4972  // be included in the string output. The member name will be present, but the
  4973  // value will be replaced with "sensitive".
  4974  func (s GetInsightSummariesInput) String() string {
  4975  	return awsutil.Prettify(s)
  4976  }
  4977  
  4978  // GoString returns the string representation.
  4979  //
  4980  // API parameter values that are decorated as "sensitive" in the API will not
  4981  // be included in the string output. The member name will be present, but the
  4982  // value will be replaced with "sensitive".
  4983  func (s GetInsightSummariesInput) GoString() string {
  4984  	return s.String()
  4985  }
  4986  
  4987  // Validate inspects the fields of the type to determine if they are valid.
  4988  func (s *GetInsightSummariesInput) Validate() error {
  4989  	invalidParams := request.ErrInvalidParams{Context: "GetInsightSummariesInput"}
  4990  	if s.EndTime == nil {
  4991  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  4992  	}
  4993  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  4994  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  4995  	}
  4996  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  4997  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  4998  	}
  4999  	if s.MaxResults != nil && *s.MaxResults < 1 {
  5000  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  5001  	}
  5002  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  5003  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  5004  	}
  5005  	if s.StartTime == nil {
  5006  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  5007  	}
  5008  
  5009  	if invalidParams.Len() > 0 {
  5010  		return invalidParams
  5011  	}
  5012  	return nil
  5013  }
  5014  
  5015  // SetEndTime sets the EndTime field's value.
  5016  func (s *GetInsightSummariesInput) SetEndTime(v time.Time) *GetInsightSummariesInput {
  5017  	s.EndTime = &v
  5018  	return s
  5019  }
  5020  
  5021  // SetGroupARN sets the GroupARN field's value.
  5022  func (s *GetInsightSummariesInput) SetGroupARN(v string) *GetInsightSummariesInput {
  5023  	s.GroupARN = &v
  5024  	return s
  5025  }
  5026  
  5027  // SetGroupName sets the GroupName field's value.
  5028  func (s *GetInsightSummariesInput) SetGroupName(v string) *GetInsightSummariesInput {
  5029  	s.GroupName = &v
  5030  	return s
  5031  }
  5032  
  5033  // SetMaxResults sets the MaxResults field's value.
  5034  func (s *GetInsightSummariesInput) SetMaxResults(v int64) *GetInsightSummariesInput {
  5035  	s.MaxResults = &v
  5036  	return s
  5037  }
  5038  
  5039  // SetNextToken sets the NextToken field's value.
  5040  func (s *GetInsightSummariesInput) SetNextToken(v string) *GetInsightSummariesInput {
  5041  	s.NextToken = &v
  5042  	return s
  5043  }
  5044  
  5045  // SetStartTime sets the StartTime field's value.
  5046  func (s *GetInsightSummariesInput) SetStartTime(v time.Time) *GetInsightSummariesInput {
  5047  	s.StartTime = &v
  5048  	return s
  5049  }
  5050  
  5051  // SetStates sets the States field's value.
  5052  func (s *GetInsightSummariesInput) SetStates(v []*string) *GetInsightSummariesInput {
  5053  	s.States = v
  5054  	return s
  5055  }
  5056  
  5057  type GetInsightSummariesOutput struct {
  5058  	_ struct{} `type:"structure"`
  5059  
  5060  	// The summary of each insight within the group matching the provided filters.
  5061  	// The summary contains the InsightID, start and end time, the root cause service,
  5062  	// the root cause and client impact statistics, the top anomalous services,
  5063  	// and the status of the insight.
  5064  	InsightSummaries []*InsightSummary `type:"list"`
  5065  
  5066  	// Pagination token.
  5067  	NextToken *string `min:"1" type:"string"`
  5068  }
  5069  
  5070  // String returns the string representation.
  5071  //
  5072  // API parameter values that are decorated as "sensitive" in the API will not
  5073  // be included in the string output. The member name will be present, but the
  5074  // value will be replaced with "sensitive".
  5075  func (s GetInsightSummariesOutput) String() string {
  5076  	return awsutil.Prettify(s)
  5077  }
  5078  
  5079  // GoString returns the string representation.
  5080  //
  5081  // API parameter values that are decorated as "sensitive" in the API will not
  5082  // be included in the string output. The member name will be present, but the
  5083  // value will be replaced with "sensitive".
  5084  func (s GetInsightSummariesOutput) GoString() string {
  5085  	return s.String()
  5086  }
  5087  
  5088  // SetInsightSummaries sets the InsightSummaries field's value.
  5089  func (s *GetInsightSummariesOutput) SetInsightSummaries(v []*InsightSummary) *GetInsightSummariesOutput {
  5090  	s.InsightSummaries = v
  5091  	return s
  5092  }
  5093  
  5094  // SetNextToken sets the NextToken field's value.
  5095  func (s *GetInsightSummariesOutput) SetNextToken(v string) *GetInsightSummariesOutput {
  5096  	s.NextToken = &v
  5097  	return s
  5098  }
  5099  
  5100  type GetSamplingRulesInput struct {
  5101  	_ struct{} `type:"structure"`
  5102  
  5103  	// Pagination token.
  5104  	NextToken *string `type:"string"`
  5105  }
  5106  
  5107  // String returns the string representation.
  5108  //
  5109  // API parameter values that are decorated as "sensitive" in the API will not
  5110  // be included in the string output. The member name will be present, but the
  5111  // value will be replaced with "sensitive".
  5112  func (s GetSamplingRulesInput) String() string {
  5113  	return awsutil.Prettify(s)
  5114  }
  5115  
  5116  // GoString returns the string representation.
  5117  //
  5118  // API parameter values that are decorated as "sensitive" in the API will not
  5119  // be included in the string output. The member name will be present, but the
  5120  // value will be replaced with "sensitive".
  5121  func (s GetSamplingRulesInput) GoString() string {
  5122  	return s.String()
  5123  }
  5124  
  5125  // SetNextToken sets the NextToken field's value.
  5126  func (s *GetSamplingRulesInput) SetNextToken(v string) *GetSamplingRulesInput {
  5127  	s.NextToken = &v
  5128  	return s
  5129  }
  5130  
  5131  type GetSamplingRulesOutput struct {
  5132  	_ struct{} `type:"structure"`
  5133  
  5134  	// Pagination token.
  5135  	NextToken *string `type:"string"`
  5136  
  5137  	// Rule definitions and metadata.
  5138  	SamplingRuleRecords []*SamplingRuleRecord `type:"list"`
  5139  }
  5140  
  5141  // String returns the string representation.
  5142  //
  5143  // API parameter values that are decorated as "sensitive" in the API will not
  5144  // be included in the string output. The member name will be present, but the
  5145  // value will be replaced with "sensitive".
  5146  func (s GetSamplingRulesOutput) String() string {
  5147  	return awsutil.Prettify(s)
  5148  }
  5149  
  5150  // GoString returns the string representation.
  5151  //
  5152  // API parameter values that are decorated as "sensitive" in the API will not
  5153  // be included in the string output. The member name will be present, but the
  5154  // value will be replaced with "sensitive".
  5155  func (s GetSamplingRulesOutput) GoString() string {
  5156  	return s.String()
  5157  }
  5158  
  5159  // SetNextToken sets the NextToken field's value.
  5160  func (s *GetSamplingRulesOutput) SetNextToken(v string) *GetSamplingRulesOutput {
  5161  	s.NextToken = &v
  5162  	return s
  5163  }
  5164  
  5165  // SetSamplingRuleRecords sets the SamplingRuleRecords field's value.
  5166  func (s *GetSamplingRulesOutput) SetSamplingRuleRecords(v []*SamplingRuleRecord) *GetSamplingRulesOutput {
  5167  	s.SamplingRuleRecords = v
  5168  	return s
  5169  }
  5170  
  5171  type GetSamplingStatisticSummariesInput struct {
  5172  	_ struct{} `type:"structure"`
  5173  
  5174  	// Pagination token.
  5175  	NextToken *string `type:"string"`
  5176  }
  5177  
  5178  // String returns the string representation.
  5179  //
  5180  // API parameter values that are decorated as "sensitive" in the API will not
  5181  // be included in the string output. The member name will be present, but the
  5182  // value will be replaced with "sensitive".
  5183  func (s GetSamplingStatisticSummariesInput) String() string {
  5184  	return awsutil.Prettify(s)
  5185  }
  5186  
  5187  // GoString returns the string representation.
  5188  //
  5189  // API parameter values that are decorated as "sensitive" in the API will not
  5190  // be included in the string output. The member name will be present, but the
  5191  // value will be replaced with "sensitive".
  5192  func (s GetSamplingStatisticSummariesInput) GoString() string {
  5193  	return s.String()
  5194  }
  5195  
  5196  // SetNextToken sets the NextToken field's value.
  5197  func (s *GetSamplingStatisticSummariesInput) SetNextToken(v string) *GetSamplingStatisticSummariesInput {
  5198  	s.NextToken = &v
  5199  	return s
  5200  }
  5201  
  5202  type GetSamplingStatisticSummariesOutput struct {
  5203  	_ struct{} `type:"structure"`
  5204  
  5205  	// Pagination token.
  5206  	NextToken *string `type:"string"`
  5207  
  5208  	// Information about the number of requests instrumented for each sampling rule.
  5209  	SamplingStatisticSummaries []*SamplingStatisticSummary `type:"list"`
  5210  }
  5211  
  5212  // String returns the string representation.
  5213  //
  5214  // API parameter values that are decorated as "sensitive" in the API will not
  5215  // be included in the string output. The member name will be present, but the
  5216  // value will be replaced with "sensitive".
  5217  func (s GetSamplingStatisticSummariesOutput) String() string {
  5218  	return awsutil.Prettify(s)
  5219  }
  5220  
  5221  // GoString returns the string representation.
  5222  //
  5223  // API parameter values that are decorated as "sensitive" in the API will not
  5224  // be included in the string output. The member name will be present, but the
  5225  // value will be replaced with "sensitive".
  5226  func (s GetSamplingStatisticSummariesOutput) GoString() string {
  5227  	return s.String()
  5228  }
  5229  
  5230  // SetNextToken sets the NextToken field's value.
  5231  func (s *GetSamplingStatisticSummariesOutput) SetNextToken(v string) *GetSamplingStatisticSummariesOutput {
  5232  	s.NextToken = &v
  5233  	return s
  5234  }
  5235  
  5236  // SetSamplingStatisticSummaries sets the SamplingStatisticSummaries field's value.
  5237  func (s *GetSamplingStatisticSummariesOutput) SetSamplingStatisticSummaries(v []*SamplingStatisticSummary) *GetSamplingStatisticSummariesOutput {
  5238  	s.SamplingStatisticSummaries = v
  5239  	return s
  5240  }
  5241  
  5242  type GetSamplingTargetsInput struct {
  5243  	_ struct{} `type:"structure"`
  5244  
  5245  	// Information about rules that the service is using to sample requests.
  5246  	//
  5247  	// SamplingStatisticsDocuments is a required field
  5248  	SamplingStatisticsDocuments []*SamplingStatisticsDocument `type:"list" required:"true"`
  5249  }
  5250  
  5251  // String returns the string representation.
  5252  //
  5253  // API parameter values that are decorated as "sensitive" in the API will not
  5254  // be included in the string output. The member name will be present, but the
  5255  // value will be replaced with "sensitive".
  5256  func (s GetSamplingTargetsInput) String() string {
  5257  	return awsutil.Prettify(s)
  5258  }
  5259  
  5260  // GoString returns the string representation.
  5261  //
  5262  // API parameter values that are decorated as "sensitive" in the API will not
  5263  // be included in the string output. The member name will be present, but the
  5264  // value will be replaced with "sensitive".
  5265  func (s GetSamplingTargetsInput) GoString() string {
  5266  	return s.String()
  5267  }
  5268  
  5269  // Validate inspects the fields of the type to determine if they are valid.
  5270  func (s *GetSamplingTargetsInput) Validate() error {
  5271  	invalidParams := request.ErrInvalidParams{Context: "GetSamplingTargetsInput"}
  5272  	if s.SamplingStatisticsDocuments == nil {
  5273  		invalidParams.Add(request.NewErrParamRequired("SamplingStatisticsDocuments"))
  5274  	}
  5275  	if s.SamplingStatisticsDocuments != nil {
  5276  		for i, v := range s.SamplingStatisticsDocuments {
  5277  			if v == nil {
  5278  				continue
  5279  			}
  5280  			if err := v.Validate(); err != nil {
  5281  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SamplingStatisticsDocuments", i), err.(request.ErrInvalidParams))
  5282  			}
  5283  		}
  5284  	}
  5285  
  5286  	if invalidParams.Len() > 0 {
  5287  		return invalidParams
  5288  	}
  5289  	return nil
  5290  }
  5291  
  5292  // SetSamplingStatisticsDocuments sets the SamplingStatisticsDocuments field's value.
  5293  func (s *GetSamplingTargetsInput) SetSamplingStatisticsDocuments(v []*SamplingStatisticsDocument) *GetSamplingTargetsInput {
  5294  	s.SamplingStatisticsDocuments = v
  5295  	return s
  5296  }
  5297  
  5298  type GetSamplingTargetsOutput struct {
  5299  	_ struct{} `type:"structure"`
  5300  
  5301  	// The last time a user changed the sampling rule configuration. If the sampling
  5302  	// rule configuration changed since the service last retrieved it, the service
  5303  	// should call GetSamplingRules (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingRules.html)
  5304  	// to get the latest version.
  5305  	LastRuleModification *time.Time `type:"timestamp"`
  5306  
  5307  	// Updated rules that the service should use to sample requests.
  5308  	SamplingTargetDocuments []*SamplingTargetDocument `type:"list"`
  5309  
  5310  	// Information about SamplingStatisticsDocument (https://docs.aws.amazon.com/xray/latest/api/API_SamplingStatisticsDocument.html)
  5311  	// that X-Ray could not process.
  5312  	UnprocessedStatistics []*UnprocessedStatistics `type:"list"`
  5313  }
  5314  
  5315  // String returns the string representation.
  5316  //
  5317  // API parameter values that are decorated as "sensitive" in the API will not
  5318  // be included in the string output. The member name will be present, but the
  5319  // value will be replaced with "sensitive".
  5320  func (s GetSamplingTargetsOutput) String() string {
  5321  	return awsutil.Prettify(s)
  5322  }
  5323  
  5324  // GoString returns the string representation.
  5325  //
  5326  // API parameter values that are decorated as "sensitive" in the API will not
  5327  // be included in the string output. The member name will be present, but the
  5328  // value will be replaced with "sensitive".
  5329  func (s GetSamplingTargetsOutput) GoString() string {
  5330  	return s.String()
  5331  }
  5332  
  5333  // SetLastRuleModification sets the LastRuleModification field's value.
  5334  func (s *GetSamplingTargetsOutput) SetLastRuleModification(v time.Time) *GetSamplingTargetsOutput {
  5335  	s.LastRuleModification = &v
  5336  	return s
  5337  }
  5338  
  5339  // SetSamplingTargetDocuments sets the SamplingTargetDocuments field's value.
  5340  func (s *GetSamplingTargetsOutput) SetSamplingTargetDocuments(v []*SamplingTargetDocument) *GetSamplingTargetsOutput {
  5341  	s.SamplingTargetDocuments = v
  5342  	return s
  5343  }
  5344  
  5345  // SetUnprocessedStatistics sets the UnprocessedStatistics field's value.
  5346  func (s *GetSamplingTargetsOutput) SetUnprocessedStatistics(v []*UnprocessedStatistics) *GetSamplingTargetsOutput {
  5347  	s.UnprocessedStatistics = v
  5348  	return s
  5349  }
  5350  
  5351  type GetServiceGraphInput struct {
  5352  	_ struct{} `type:"structure"`
  5353  
  5354  	// The end of the timeframe for which to generate a graph.
  5355  	//
  5356  	// EndTime is a required field
  5357  	EndTime *time.Time `type:"timestamp" required:"true"`
  5358  
  5359  	// The Amazon Resource Name (ARN) of a group based on which you want to generate
  5360  	// a graph.
  5361  	GroupARN *string `min:"1" type:"string"`
  5362  
  5363  	// The name of a group based on which you want to generate a graph.
  5364  	GroupName *string `min:"1" type:"string"`
  5365  
  5366  	// Pagination token.
  5367  	NextToken *string `type:"string"`
  5368  
  5369  	// The start of the time frame for which to generate a graph.
  5370  	//
  5371  	// StartTime is a required field
  5372  	StartTime *time.Time `type:"timestamp" required:"true"`
  5373  }
  5374  
  5375  // String returns the string representation.
  5376  //
  5377  // API parameter values that are decorated as "sensitive" in the API will not
  5378  // be included in the string output. The member name will be present, but the
  5379  // value will be replaced with "sensitive".
  5380  func (s GetServiceGraphInput) String() string {
  5381  	return awsutil.Prettify(s)
  5382  }
  5383  
  5384  // GoString returns the string representation.
  5385  //
  5386  // API parameter values that are decorated as "sensitive" in the API will not
  5387  // be included in the string output. The member name will be present, but the
  5388  // value will be replaced with "sensitive".
  5389  func (s GetServiceGraphInput) GoString() string {
  5390  	return s.String()
  5391  }
  5392  
  5393  // Validate inspects the fields of the type to determine if they are valid.
  5394  func (s *GetServiceGraphInput) Validate() error {
  5395  	invalidParams := request.ErrInvalidParams{Context: "GetServiceGraphInput"}
  5396  	if s.EndTime == nil {
  5397  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  5398  	}
  5399  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  5400  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  5401  	}
  5402  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  5403  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  5404  	}
  5405  	if s.StartTime == nil {
  5406  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  5407  	}
  5408  
  5409  	if invalidParams.Len() > 0 {
  5410  		return invalidParams
  5411  	}
  5412  	return nil
  5413  }
  5414  
  5415  // SetEndTime sets the EndTime field's value.
  5416  func (s *GetServiceGraphInput) SetEndTime(v time.Time) *GetServiceGraphInput {
  5417  	s.EndTime = &v
  5418  	return s
  5419  }
  5420  
  5421  // SetGroupARN sets the GroupARN field's value.
  5422  func (s *GetServiceGraphInput) SetGroupARN(v string) *GetServiceGraphInput {
  5423  	s.GroupARN = &v
  5424  	return s
  5425  }
  5426  
  5427  // SetGroupName sets the GroupName field's value.
  5428  func (s *GetServiceGraphInput) SetGroupName(v string) *GetServiceGraphInput {
  5429  	s.GroupName = &v
  5430  	return s
  5431  }
  5432  
  5433  // SetNextToken sets the NextToken field's value.
  5434  func (s *GetServiceGraphInput) SetNextToken(v string) *GetServiceGraphInput {
  5435  	s.NextToken = &v
  5436  	return s
  5437  }
  5438  
  5439  // SetStartTime sets the StartTime field's value.
  5440  func (s *GetServiceGraphInput) SetStartTime(v time.Time) *GetServiceGraphInput {
  5441  	s.StartTime = &v
  5442  	return s
  5443  }
  5444  
  5445  type GetServiceGraphOutput struct {
  5446  	_ struct{} `type:"structure"`
  5447  
  5448  	// A flag indicating whether the group's filter expression has been consistent,
  5449  	// or if the returned service graph may show traces from an older version of
  5450  	// the group's filter expression.
  5451  	ContainsOldGroupVersions *bool `type:"boolean"`
  5452  
  5453  	// The end of the time frame for which the graph was generated.
  5454  	EndTime *time.Time `type:"timestamp"`
  5455  
  5456  	// Pagination token.
  5457  	NextToken *string `type:"string"`
  5458  
  5459  	// The services that have processed a traced request during the specified time
  5460  	// frame.
  5461  	Services []*Service `type:"list"`
  5462  
  5463  	// The start of the time frame for which the graph was generated.
  5464  	StartTime *time.Time `type:"timestamp"`
  5465  }
  5466  
  5467  // String returns the string representation.
  5468  //
  5469  // API parameter values that are decorated as "sensitive" in the API will not
  5470  // be included in the string output. The member name will be present, but the
  5471  // value will be replaced with "sensitive".
  5472  func (s GetServiceGraphOutput) String() string {
  5473  	return awsutil.Prettify(s)
  5474  }
  5475  
  5476  // GoString returns the string representation.
  5477  //
  5478  // API parameter values that are decorated as "sensitive" in the API will not
  5479  // be included in the string output. The member name will be present, but the
  5480  // value will be replaced with "sensitive".
  5481  func (s GetServiceGraphOutput) GoString() string {
  5482  	return s.String()
  5483  }
  5484  
  5485  // SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value.
  5486  func (s *GetServiceGraphOutput) SetContainsOldGroupVersions(v bool) *GetServiceGraphOutput {
  5487  	s.ContainsOldGroupVersions = &v
  5488  	return s
  5489  }
  5490  
  5491  // SetEndTime sets the EndTime field's value.
  5492  func (s *GetServiceGraphOutput) SetEndTime(v time.Time) *GetServiceGraphOutput {
  5493  	s.EndTime = &v
  5494  	return s
  5495  }
  5496  
  5497  // SetNextToken sets the NextToken field's value.
  5498  func (s *GetServiceGraphOutput) SetNextToken(v string) *GetServiceGraphOutput {
  5499  	s.NextToken = &v
  5500  	return s
  5501  }
  5502  
  5503  // SetServices sets the Services field's value.
  5504  func (s *GetServiceGraphOutput) SetServices(v []*Service) *GetServiceGraphOutput {
  5505  	s.Services = v
  5506  	return s
  5507  }
  5508  
  5509  // SetStartTime sets the StartTime field's value.
  5510  func (s *GetServiceGraphOutput) SetStartTime(v time.Time) *GetServiceGraphOutput {
  5511  	s.StartTime = &v
  5512  	return s
  5513  }
  5514  
  5515  type GetTimeSeriesServiceStatisticsInput struct {
  5516  	_ struct{} `type:"structure"`
  5517  
  5518  	// The end of the time frame for which to aggregate statistics.
  5519  	//
  5520  	// EndTime is a required field
  5521  	EndTime *time.Time `type:"timestamp" required:"true"`
  5522  
  5523  	// A filter expression defining entities that will be aggregated for statistics.
  5524  	// Supports ID, service, and edge functions. If no selector expression is specified,
  5525  	// edge statistics are returned.
  5526  	EntitySelectorExpression *string `min:"1" type:"string"`
  5527  
  5528  	// The forecasted high and low fault count values. Forecast enabled requests
  5529  	// require the EntitySelectorExpression ID be provided.
  5530  	ForecastStatistics *bool `type:"boolean"`
  5531  
  5532  	// The Amazon Resource Name (ARN) of the group for which to pull statistics
  5533  	// from.
  5534  	GroupARN *string `min:"1" type:"string"`
  5535  
  5536  	// The case-sensitive name of the group for which to pull statistics from.
  5537  	GroupName *string `min:"1" type:"string"`
  5538  
  5539  	// Pagination token.
  5540  	NextToken *string `type:"string"`
  5541  
  5542  	// Aggregation period in seconds.
  5543  	Period *int64 `type:"integer"`
  5544  
  5545  	// The start of the time frame for which to aggregate statistics.
  5546  	//
  5547  	// StartTime is a required field
  5548  	StartTime *time.Time `type:"timestamp" required:"true"`
  5549  }
  5550  
  5551  // String returns the string representation.
  5552  //
  5553  // API parameter values that are decorated as "sensitive" in the API will not
  5554  // be included in the string output. The member name will be present, but the
  5555  // value will be replaced with "sensitive".
  5556  func (s GetTimeSeriesServiceStatisticsInput) String() string {
  5557  	return awsutil.Prettify(s)
  5558  }
  5559  
  5560  // GoString returns the string representation.
  5561  //
  5562  // API parameter values that are decorated as "sensitive" in the API will not
  5563  // be included in the string output. The member name will be present, but the
  5564  // value will be replaced with "sensitive".
  5565  func (s GetTimeSeriesServiceStatisticsInput) GoString() string {
  5566  	return s.String()
  5567  }
  5568  
  5569  // Validate inspects the fields of the type to determine if they are valid.
  5570  func (s *GetTimeSeriesServiceStatisticsInput) Validate() error {
  5571  	invalidParams := request.ErrInvalidParams{Context: "GetTimeSeriesServiceStatisticsInput"}
  5572  	if s.EndTime == nil {
  5573  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  5574  	}
  5575  	if s.EntitySelectorExpression != nil && len(*s.EntitySelectorExpression) < 1 {
  5576  		invalidParams.Add(request.NewErrParamMinLen("EntitySelectorExpression", 1))
  5577  	}
  5578  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  5579  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  5580  	}
  5581  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  5582  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  5583  	}
  5584  	if s.StartTime == nil {
  5585  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  5586  	}
  5587  
  5588  	if invalidParams.Len() > 0 {
  5589  		return invalidParams
  5590  	}
  5591  	return nil
  5592  }
  5593  
  5594  // SetEndTime sets the EndTime field's value.
  5595  func (s *GetTimeSeriesServiceStatisticsInput) SetEndTime(v time.Time) *GetTimeSeriesServiceStatisticsInput {
  5596  	s.EndTime = &v
  5597  	return s
  5598  }
  5599  
  5600  // SetEntitySelectorExpression sets the EntitySelectorExpression field's value.
  5601  func (s *GetTimeSeriesServiceStatisticsInput) SetEntitySelectorExpression(v string) *GetTimeSeriesServiceStatisticsInput {
  5602  	s.EntitySelectorExpression = &v
  5603  	return s
  5604  }
  5605  
  5606  // SetForecastStatistics sets the ForecastStatistics field's value.
  5607  func (s *GetTimeSeriesServiceStatisticsInput) SetForecastStatistics(v bool) *GetTimeSeriesServiceStatisticsInput {
  5608  	s.ForecastStatistics = &v
  5609  	return s
  5610  }
  5611  
  5612  // SetGroupARN sets the GroupARN field's value.
  5613  func (s *GetTimeSeriesServiceStatisticsInput) SetGroupARN(v string) *GetTimeSeriesServiceStatisticsInput {
  5614  	s.GroupARN = &v
  5615  	return s
  5616  }
  5617  
  5618  // SetGroupName sets the GroupName field's value.
  5619  func (s *GetTimeSeriesServiceStatisticsInput) SetGroupName(v string) *GetTimeSeriesServiceStatisticsInput {
  5620  	s.GroupName = &v
  5621  	return s
  5622  }
  5623  
  5624  // SetNextToken sets the NextToken field's value.
  5625  func (s *GetTimeSeriesServiceStatisticsInput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsInput {
  5626  	s.NextToken = &v
  5627  	return s
  5628  }
  5629  
  5630  // SetPeriod sets the Period field's value.
  5631  func (s *GetTimeSeriesServiceStatisticsInput) SetPeriod(v int64) *GetTimeSeriesServiceStatisticsInput {
  5632  	s.Period = &v
  5633  	return s
  5634  }
  5635  
  5636  // SetStartTime sets the StartTime field's value.
  5637  func (s *GetTimeSeriesServiceStatisticsInput) SetStartTime(v time.Time) *GetTimeSeriesServiceStatisticsInput {
  5638  	s.StartTime = &v
  5639  	return s
  5640  }
  5641  
  5642  type GetTimeSeriesServiceStatisticsOutput struct {
  5643  	_ struct{} `type:"structure"`
  5644  
  5645  	// A flag indicating whether or not a group's filter expression has been consistent,
  5646  	// or if a returned aggregation might show statistics from an older version
  5647  	// of the group's filter expression.
  5648  	ContainsOldGroupVersions *bool `type:"boolean"`
  5649  
  5650  	// Pagination token.
  5651  	NextToken *string `type:"string"`
  5652  
  5653  	// The collection of statistics.
  5654  	TimeSeriesServiceStatistics []*TimeSeriesServiceStatistics `type:"list"`
  5655  }
  5656  
  5657  // String returns the string representation.
  5658  //
  5659  // API parameter values that are decorated as "sensitive" in the API will not
  5660  // be included in the string output. The member name will be present, but the
  5661  // value will be replaced with "sensitive".
  5662  func (s GetTimeSeriesServiceStatisticsOutput) String() string {
  5663  	return awsutil.Prettify(s)
  5664  }
  5665  
  5666  // GoString returns the string representation.
  5667  //
  5668  // API parameter values that are decorated as "sensitive" in the API will not
  5669  // be included in the string output. The member name will be present, but the
  5670  // value will be replaced with "sensitive".
  5671  func (s GetTimeSeriesServiceStatisticsOutput) GoString() string {
  5672  	return s.String()
  5673  }
  5674  
  5675  // SetContainsOldGroupVersions sets the ContainsOldGroupVersions field's value.
  5676  func (s *GetTimeSeriesServiceStatisticsOutput) SetContainsOldGroupVersions(v bool) *GetTimeSeriesServiceStatisticsOutput {
  5677  	s.ContainsOldGroupVersions = &v
  5678  	return s
  5679  }
  5680  
  5681  // SetNextToken sets the NextToken field's value.
  5682  func (s *GetTimeSeriesServiceStatisticsOutput) SetNextToken(v string) *GetTimeSeriesServiceStatisticsOutput {
  5683  	s.NextToken = &v
  5684  	return s
  5685  }
  5686  
  5687  // SetTimeSeriesServiceStatistics sets the TimeSeriesServiceStatistics field's value.
  5688  func (s *GetTimeSeriesServiceStatisticsOutput) SetTimeSeriesServiceStatistics(v []*TimeSeriesServiceStatistics) *GetTimeSeriesServiceStatisticsOutput {
  5689  	s.TimeSeriesServiceStatistics = v
  5690  	return s
  5691  }
  5692  
  5693  type GetTraceGraphInput struct {
  5694  	_ struct{} `type:"structure"`
  5695  
  5696  	// Pagination token.
  5697  	NextToken *string `type:"string"`
  5698  
  5699  	// Trace IDs of requests for which to generate a service graph.
  5700  	//
  5701  	// TraceIds is a required field
  5702  	TraceIds []*string `type:"list" required:"true"`
  5703  }
  5704  
  5705  // String returns the string representation.
  5706  //
  5707  // API parameter values that are decorated as "sensitive" in the API will not
  5708  // be included in the string output. The member name will be present, but the
  5709  // value will be replaced with "sensitive".
  5710  func (s GetTraceGraphInput) String() string {
  5711  	return awsutil.Prettify(s)
  5712  }
  5713  
  5714  // GoString returns the string representation.
  5715  //
  5716  // API parameter values that are decorated as "sensitive" in the API will not
  5717  // be included in the string output. The member name will be present, but the
  5718  // value will be replaced with "sensitive".
  5719  func (s GetTraceGraphInput) GoString() string {
  5720  	return s.String()
  5721  }
  5722  
  5723  // Validate inspects the fields of the type to determine if they are valid.
  5724  func (s *GetTraceGraphInput) Validate() error {
  5725  	invalidParams := request.ErrInvalidParams{Context: "GetTraceGraphInput"}
  5726  	if s.TraceIds == nil {
  5727  		invalidParams.Add(request.NewErrParamRequired("TraceIds"))
  5728  	}
  5729  
  5730  	if invalidParams.Len() > 0 {
  5731  		return invalidParams
  5732  	}
  5733  	return nil
  5734  }
  5735  
  5736  // SetNextToken sets the NextToken field's value.
  5737  func (s *GetTraceGraphInput) SetNextToken(v string) *GetTraceGraphInput {
  5738  	s.NextToken = &v
  5739  	return s
  5740  }
  5741  
  5742  // SetTraceIds sets the TraceIds field's value.
  5743  func (s *GetTraceGraphInput) SetTraceIds(v []*string) *GetTraceGraphInput {
  5744  	s.TraceIds = v
  5745  	return s
  5746  }
  5747  
  5748  type GetTraceGraphOutput struct {
  5749  	_ struct{} `type:"structure"`
  5750  
  5751  	// Pagination token.
  5752  	NextToken *string `type:"string"`
  5753  
  5754  	// The services that have processed one of the specified requests.
  5755  	Services []*Service `type:"list"`
  5756  }
  5757  
  5758  // String returns the string representation.
  5759  //
  5760  // API parameter values that are decorated as "sensitive" in the API will not
  5761  // be included in the string output. The member name will be present, but the
  5762  // value will be replaced with "sensitive".
  5763  func (s GetTraceGraphOutput) String() string {
  5764  	return awsutil.Prettify(s)
  5765  }
  5766  
  5767  // GoString returns the string representation.
  5768  //
  5769  // API parameter values that are decorated as "sensitive" in the API will not
  5770  // be included in the string output. The member name will be present, but the
  5771  // value will be replaced with "sensitive".
  5772  func (s GetTraceGraphOutput) GoString() string {
  5773  	return s.String()
  5774  }
  5775  
  5776  // SetNextToken sets the NextToken field's value.
  5777  func (s *GetTraceGraphOutput) SetNextToken(v string) *GetTraceGraphOutput {
  5778  	s.NextToken = &v
  5779  	return s
  5780  }
  5781  
  5782  // SetServices sets the Services field's value.
  5783  func (s *GetTraceGraphOutput) SetServices(v []*Service) *GetTraceGraphOutput {
  5784  	s.Services = v
  5785  	return s
  5786  }
  5787  
  5788  type GetTraceSummariesInput struct {
  5789  	_ struct{} `type:"structure"`
  5790  
  5791  	// The end of the time frame for which to retrieve traces.
  5792  	//
  5793  	// EndTime is a required field
  5794  	EndTime *time.Time `type:"timestamp" required:"true"`
  5795  
  5796  	// Specify a filter expression to retrieve trace summaries for services or requests
  5797  	// that meet certain requirements.
  5798  	FilterExpression *string `type:"string"`
  5799  
  5800  	// Specify the pagination token returned by a previous request to retrieve the
  5801  	// next page of results.
  5802  	NextToken *string `type:"string"`
  5803  
  5804  	// Set to true to get summaries for only a subset of available traces.
  5805  	Sampling *bool `type:"boolean"`
  5806  
  5807  	// A parameter to indicate whether to enable sampling on trace summaries. Input
  5808  	// parameters are Name and Value.
  5809  	SamplingStrategy *SamplingStrategy `type:"structure"`
  5810  
  5811  	// The start of the time frame for which to retrieve traces.
  5812  	//
  5813  	// StartTime is a required field
  5814  	StartTime *time.Time `type:"timestamp" required:"true"`
  5815  
  5816  	// A parameter to indicate whether to query trace summaries by TraceId or Event
  5817  	// time.
  5818  	TimeRangeType *string `type:"string" enum:"TimeRangeType"`
  5819  }
  5820  
  5821  // String returns the string representation.
  5822  //
  5823  // API parameter values that are decorated as "sensitive" in the API will not
  5824  // be included in the string output. The member name will be present, but the
  5825  // value will be replaced with "sensitive".
  5826  func (s GetTraceSummariesInput) String() string {
  5827  	return awsutil.Prettify(s)
  5828  }
  5829  
  5830  // GoString returns the string representation.
  5831  //
  5832  // API parameter values that are decorated as "sensitive" in the API will not
  5833  // be included in the string output. The member name will be present, but the
  5834  // value will be replaced with "sensitive".
  5835  func (s GetTraceSummariesInput) GoString() string {
  5836  	return s.String()
  5837  }
  5838  
  5839  // Validate inspects the fields of the type to determine if they are valid.
  5840  func (s *GetTraceSummariesInput) Validate() error {
  5841  	invalidParams := request.ErrInvalidParams{Context: "GetTraceSummariesInput"}
  5842  	if s.EndTime == nil {
  5843  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
  5844  	}
  5845  	if s.StartTime == nil {
  5846  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
  5847  	}
  5848  
  5849  	if invalidParams.Len() > 0 {
  5850  		return invalidParams
  5851  	}
  5852  	return nil
  5853  }
  5854  
  5855  // SetEndTime sets the EndTime field's value.
  5856  func (s *GetTraceSummariesInput) SetEndTime(v time.Time) *GetTraceSummariesInput {
  5857  	s.EndTime = &v
  5858  	return s
  5859  }
  5860  
  5861  // SetFilterExpression sets the FilterExpression field's value.
  5862  func (s *GetTraceSummariesInput) SetFilterExpression(v string) *GetTraceSummariesInput {
  5863  	s.FilterExpression = &v
  5864  	return s
  5865  }
  5866  
  5867  // SetNextToken sets the NextToken field's value.
  5868  func (s *GetTraceSummariesInput) SetNextToken(v string) *GetTraceSummariesInput {
  5869  	s.NextToken = &v
  5870  	return s
  5871  }
  5872  
  5873  // SetSampling sets the Sampling field's value.
  5874  func (s *GetTraceSummariesInput) SetSampling(v bool) *GetTraceSummariesInput {
  5875  	s.Sampling = &v
  5876  	return s
  5877  }
  5878  
  5879  // SetSamplingStrategy sets the SamplingStrategy field's value.
  5880  func (s *GetTraceSummariesInput) SetSamplingStrategy(v *SamplingStrategy) *GetTraceSummariesInput {
  5881  	s.SamplingStrategy = v
  5882  	return s
  5883  }
  5884  
  5885  // SetStartTime sets the StartTime field's value.
  5886  func (s *GetTraceSummariesInput) SetStartTime(v time.Time) *GetTraceSummariesInput {
  5887  	s.StartTime = &v
  5888  	return s
  5889  }
  5890  
  5891  // SetTimeRangeType sets the TimeRangeType field's value.
  5892  func (s *GetTraceSummariesInput) SetTimeRangeType(v string) *GetTraceSummariesInput {
  5893  	s.TimeRangeType = &v
  5894  	return s
  5895  }
  5896  
  5897  type GetTraceSummariesOutput struct {
  5898  	_ struct{} `type:"structure"`
  5899  
  5900  	// The start time of this page of results.
  5901  	ApproximateTime *time.Time `type:"timestamp"`
  5902  
  5903  	// If the requested time frame contained more than one page of results, you
  5904  	// can use this token to retrieve the next page. The first page contains the
  5905  	// most recent results, closest to the end of the time frame.
  5906  	NextToken *string `type:"string"`
  5907  
  5908  	// Trace IDs and annotations for traces that were found in the specified time
  5909  	// frame.
  5910  	TraceSummaries []*TraceSummary `type:"list"`
  5911  
  5912  	// The total number of traces processed, including traces that did not match
  5913  	// the specified filter expression.
  5914  	TracesProcessedCount *int64 `type:"long"`
  5915  }
  5916  
  5917  // String returns the string representation.
  5918  //
  5919  // API parameter values that are decorated as "sensitive" in the API will not
  5920  // be included in the string output. The member name will be present, but the
  5921  // value will be replaced with "sensitive".
  5922  func (s GetTraceSummariesOutput) String() string {
  5923  	return awsutil.Prettify(s)
  5924  }
  5925  
  5926  // GoString returns the string representation.
  5927  //
  5928  // API parameter values that are decorated as "sensitive" in the API will not
  5929  // be included in the string output. The member name will be present, but the
  5930  // value will be replaced with "sensitive".
  5931  func (s GetTraceSummariesOutput) GoString() string {
  5932  	return s.String()
  5933  }
  5934  
  5935  // SetApproximateTime sets the ApproximateTime field's value.
  5936  func (s *GetTraceSummariesOutput) SetApproximateTime(v time.Time) *GetTraceSummariesOutput {
  5937  	s.ApproximateTime = &v
  5938  	return s
  5939  }
  5940  
  5941  // SetNextToken sets the NextToken field's value.
  5942  func (s *GetTraceSummariesOutput) SetNextToken(v string) *GetTraceSummariesOutput {
  5943  	s.NextToken = &v
  5944  	return s
  5945  }
  5946  
  5947  // SetTraceSummaries sets the TraceSummaries field's value.
  5948  func (s *GetTraceSummariesOutput) SetTraceSummaries(v []*TraceSummary) *GetTraceSummariesOutput {
  5949  	s.TraceSummaries = v
  5950  	return s
  5951  }
  5952  
  5953  // SetTracesProcessedCount sets the TracesProcessedCount field's value.
  5954  func (s *GetTraceSummariesOutput) SetTracesProcessedCount(v int64) *GetTraceSummariesOutput {
  5955  	s.TracesProcessedCount = &v
  5956  	return s
  5957  }
  5958  
  5959  // Details and metadata for a group.
  5960  type Group struct {
  5961  	_ struct{} `type:"structure"`
  5962  
  5963  	// The filter expression defining the parameters to include traces.
  5964  	FilterExpression *string `type:"string"`
  5965  
  5966  	// The Amazon Resource Name (ARN) of the group generated based on the GroupName.
  5967  	GroupARN *string `type:"string"`
  5968  
  5969  	// The unique case-sensitive name of the group.
  5970  	GroupName *string `type:"string"`
  5971  
  5972  	// The structure containing configurations related to insights.
  5973  	//
  5974  	//    * The InsightsEnabled boolean can be set to true to enable insights for
  5975  	//    the group or false to disable insights for the group.
  5976  	//
  5977  	//    * The NotificationsEnabled boolean can be set to true to enable insights
  5978  	//    notifications through Amazon EventBridge for the group.
  5979  	InsightsConfiguration *InsightsConfiguration `type:"structure"`
  5980  }
  5981  
  5982  // String returns the string representation.
  5983  //
  5984  // API parameter values that are decorated as "sensitive" in the API will not
  5985  // be included in the string output. The member name will be present, but the
  5986  // value will be replaced with "sensitive".
  5987  func (s Group) String() string {
  5988  	return awsutil.Prettify(s)
  5989  }
  5990  
  5991  // GoString returns the string representation.
  5992  //
  5993  // API parameter values that are decorated as "sensitive" in the API will not
  5994  // be included in the string output. The member name will be present, but the
  5995  // value will be replaced with "sensitive".
  5996  func (s Group) GoString() string {
  5997  	return s.String()
  5998  }
  5999  
  6000  // SetFilterExpression sets the FilterExpression field's value.
  6001  func (s *Group) SetFilterExpression(v string) *Group {
  6002  	s.FilterExpression = &v
  6003  	return s
  6004  }
  6005  
  6006  // SetGroupARN sets the GroupARN field's value.
  6007  func (s *Group) SetGroupARN(v string) *Group {
  6008  	s.GroupARN = &v
  6009  	return s
  6010  }
  6011  
  6012  // SetGroupName sets the GroupName field's value.
  6013  func (s *Group) SetGroupName(v string) *Group {
  6014  	s.GroupName = &v
  6015  	return s
  6016  }
  6017  
  6018  // SetInsightsConfiguration sets the InsightsConfiguration field's value.
  6019  func (s *Group) SetInsightsConfiguration(v *InsightsConfiguration) *Group {
  6020  	s.InsightsConfiguration = v
  6021  	return s
  6022  }
  6023  
  6024  // Details for a group without metadata.
  6025  type GroupSummary struct {
  6026  	_ struct{} `type:"structure"`
  6027  
  6028  	// The filter expression defining the parameters to include traces.
  6029  	FilterExpression *string `type:"string"`
  6030  
  6031  	// The ARN of the group generated based on the GroupName.
  6032  	GroupARN *string `type:"string"`
  6033  
  6034  	// The unique case-sensitive name of the group.
  6035  	GroupName *string `type:"string"`
  6036  
  6037  	// The structure containing configurations related to insights.
  6038  	//
  6039  	//    * The InsightsEnabled boolean can be set to true to enable insights for
  6040  	//    the group or false to disable insights for the group.
  6041  	//
  6042  	//    * The NotificationsEnabled boolean can be set to true to enable insights
  6043  	//    notifications. Notifications can only be enabled on a group with InsightsEnabled
  6044  	//    set to true.
  6045  	InsightsConfiguration *InsightsConfiguration `type:"structure"`
  6046  }
  6047  
  6048  // String returns the string representation.
  6049  //
  6050  // API parameter values that are decorated as "sensitive" in the API will not
  6051  // be included in the string output. The member name will be present, but the
  6052  // value will be replaced with "sensitive".
  6053  func (s GroupSummary) String() string {
  6054  	return awsutil.Prettify(s)
  6055  }
  6056  
  6057  // GoString returns the string representation.
  6058  //
  6059  // API parameter values that are decorated as "sensitive" in the API will not
  6060  // be included in the string output. The member name will be present, but the
  6061  // value will be replaced with "sensitive".
  6062  func (s GroupSummary) GoString() string {
  6063  	return s.String()
  6064  }
  6065  
  6066  // SetFilterExpression sets the FilterExpression field's value.
  6067  func (s *GroupSummary) SetFilterExpression(v string) *GroupSummary {
  6068  	s.FilterExpression = &v
  6069  	return s
  6070  }
  6071  
  6072  // SetGroupARN sets the GroupARN field's value.
  6073  func (s *GroupSummary) SetGroupARN(v string) *GroupSummary {
  6074  	s.GroupARN = &v
  6075  	return s
  6076  }
  6077  
  6078  // SetGroupName sets the GroupName field's value.
  6079  func (s *GroupSummary) SetGroupName(v string) *GroupSummary {
  6080  	s.GroupName = &v
  6081  	return s
  6082  }
  6083  
  6084  // SetInsightsConfiguration sets the InsightsConfiguration field's value.
  6085  func (s *GroupSummary) SetInsightsConfiguration(v *InsightsConfiguration) *GroupSummary {
  6086  	s.InsightsConfiguration = v
  6087  	return s
  6088  }
  6089  
  6090  // An entry in a histogram for a statistic. A histogram maps the range of observed
  6091  // values on the X axis, and the prevalence of each value on the Y axis.
  6092  type HistogramEntry struct {
  6093  	_ struct{} `type:"structure"`
  6094  
  6095  	// The prevalence of the entry.
  6096  	Count *int64 `type:"integer"`
  6097  
  6098  	// The value of the entry.
  6099  	Value *float64 `type:"double"`
  6100  }
  6101  
  6102  // String returns the string representation.
  6103  //
  6104  // API parameter values that are decorated as "sensitive" in the API will not
  6105  // be included in the string output. The member name will be present, but the
  6106  // value will be replaced with "sensitive".
  6107  func (s HistogramEntry) String() string {
  6108  	return awsutil.Prettify(s)
  6109  }
  6110  
  6111  // GoString returns the string representation.
  6112  //
  6113  // API parameter values that are decorated as "sensitive" in the API will not
  6114  // be included in the string output. The member name will be present, but the
  6115  // value will be replaced with "sensitive".
  6116  func (s HistogramEntry) GoString() string {
  6117  	return s.String()
  6118  }
  6119  
  6120  // SetCount sets the Count field's value.
  6121  func (s *HistogramEntry) SetCount(v int64) *HistogramEntry {
  6122  	s.Count = &v
  6123  	return s
  6124  }
  6125  
  6126  // SetValue sets the Value field's value.
  6127  func (s *HistogramEntry) SetValue(v float64) *HistogramEntry {
  6128  	s.Value = &v
  6129  	return s
  6130  }
  6131  
  6132  // Information about an HTTP request.
  6133  type Http struct {
  6134  	_ struct{} `type:"structure"`
  6135  
  6136  	// The IP address of the requestor.
  6137  	ClientIp *string `type:"string"`
  6138  
  6139  	// The request method.
  6140  	HttpMethod *string `type:"string"`
  6141  
  6142  	// The response status.
  6143  	HttpStatus *int64 `type:"integer"`
  6144  
  6145  	// The request URL.
  6146  	HttpURL *string `type:"string"`
  6147  
  6148  	// The request's user agent string.
  6149  	UserAgent *string `type:"string"`
  6150  }
  6151  
  6152  // String returns the string representation.
  6153  //
  6154  // API parameter values that are decorated as "sensitive" in the API will not
  6155  // be included in the string output. The member name will be present, but the
  6156  // value will be replaced with "sensitive".
  6157  func (s Http) String() string {
  6158  	return awsutil.Prettify(s)
  6159  }
  6160  
  6161  // GoString returns the string representation.
  6162  //
  6163  // API parameter values that are decorated as "sensitive" in the API will not
  6164  // be included in the string output. The member name will be present, but the
  6165  // value will be replaced with "sensitive".
  6166  func (s Http) GoString() string {
  6167  	return s.String()
  6168  }
  6169  
  6170  // SetClientIp sets the ClientIp field's value.
  6171  func (s *Http) SetClientIp(v string) *Http {
  6172  	s.ClientIp = &v
  6173  	return s
  6174  }
  6175  
  6176  // SetHttpMethod sets the HttpMethod field's value.
  6177  func (s *Http) SetHttpMethod(v string) *Http {
  6178  	s.HttpMethod = &v
  6179  	return s
  6180  }
  6181  
  6182  // SetHttpStatus sets the HttpStatus field's value.
  6183  func (s *Http) SetHttpStatus(v int64) *Http {
  6184  	s.HttpStatus = &v
  6185  	return s
  6186  }
  6187  
  6188  // SetHttpURL sets the HttpURL field's value.
  6189  func (s *Http) SetHttpURL(v string) *Http {
  6190  	s.HttpURL = &v
  6191  	return s
  6192  }
  6193  
  6194  // SetUserAgent sets the UserAgent field's value.
  6195  func (s *Http) SetUserAgent(v string) *Http {
  6196  	s.UserAgent = &v
  6197  	return s
  6198  }
  6199  
  6200  // When fault rates go outside of the expected range, X-Ray creates an insight.
  6201  // Insights tracks emergent issues within your applications.
  6202  type Insight struct {
  6203  	_ struct{} `type:"structure"`
  6204  
  6205  	// The categories that label and describe the type of insight.
  6206  	Categories []*string `type:"list"`
  6207  
  6208  	// The impact statistics of the client side service. This includes the number
  6209  	// of requests to the client service and whether the requests were faults or
  6210  	// okay.
  6211  	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6212  
  6213  	// The time, in Unix seconds, at which the insight ended.
  6214  	EndTime *time.Time `type:"timestamp"`
  6215  
  6216  	// The Amazon Resource Name (ARN) of the group that the insight belongs to.
  6217  	GroupARN *string `min:"1" type:"string"`
  6218  
  6219  	// The name of the group that the insight belongs to.
  6220  	GroupName *string `min:"1" type:"string"`
  6221  
  6222  	// The insights unique identifier.
  6223  	InsightId *string `type:"string"`
  6224  
  6225  	RootCauseServiceId *ServiceId `type:"structure"`
  6226  
  6227  	// The impact statistics of the root cause service. This includes the number
  6228  	// of requests to the client service and whether the requests were faults or
  6229  	// okay.
  6230  	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6231  
  6232  	// The time, in Unix seconds, at which the insight began.
  6233  	StartTime *time.Time `type:"timestamp"`
  6234  
  6235  	// The current state of the insight.
  6236  	State *string `type:"string" enum:"InsightState"`
  6237  
  6238  	// A brief description of the insight.
  6239  	Summary *string `type:"string"`
  6240  
  6241  	// The service within the insight that is most impacted by the incident.
  6242  	TopAnomalousServices []*AnomalousService `type:"list"`
  6243  }
  6244  
  6245  // String returns the string representation.
  6246  //
  6247  // API parameter values that are decorated as "sensitive" in the API will not
  6248  // be included in the string output. The member name will be present, but the
  6249  // value will be replaced with "sensitive".
  6250  func (s Insight) String() string {
  6251  	return awsutil.Prettify(s)
  6252  }
  6253  
  6254  // GoString returns the string representation.
  6255  //
  6256  // API parameter values that are decorated as "sensitive" in the API will not
  6257  // be included in the string output. The member name will be present, but the
  6258  // value will be replaced with "sensitive".
  6259  func (s Insight) GoString() string {
  6260  	return s.String()
  6261  }
  6262  
  6263  // SetCategories sets the Categories field's value.
  6264  func (s *Insight) SetCategories(v []*string) *Insight {
  6265  	s.Categories = v
  6266  	return s
  6267  }
  6268  
  6269  // SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
  6270  func (s *Insight) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *Insight {
  6271  	s.ClientRequestImpactStatistics = v
  6272  	return s
  6273  }
  6274  
  6275  // SetEndTime sets the EndTime field's value.
  6276  func (s *Insight) SetEndTime(v time.Time) *Insight {
  6277  	s.EndTime = &v
  6278  	return s
  6279  }
  6280  
  6281  // SetGroupARN sets the GroupARN field's value.
  6282  func (s *Insight) SetGroupARN(v string) *Insight {
  6283  	s.GroupARN = &v
  6284  	return s
  6285  }
  6286  
  6287  // SetGroupName sets the GroupName field's value.
  6288  func (s *Insight) SetGroupName(v string) *Insight {
  6289  	s.GroupName = &v
  6290  	return s
  6291  }
  6292  
  6293  // SetInsightId sets the InsightId field's value.
  6294  func (s *Insight) SetInsightId(v string) *Insight {
  6295  	s.InsightId = &v
  6296  	return s
  6297  }
  6298  
  6299  // SetRootCauseServiceId sets the RootCauseServiceId field's value.
  6300  func (s *Insight) SetRootCauseServiceId(v *ServiceId) *Insight {
  6301  	s.RootCauseServiceId = v
  6302  	return s
  6303  }
  6304  
  6305  // SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
  6306  func (s *Insight) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *Insight {
  6307  	s.RootCauseServiceRequestImpactStatistics = v
  6308  	return s
  6309  }
  6310  
  6311  // SetStartTime sets the StartTime field's value.
  6312  func (s *Insight) SetStartTime(v time.Time) *Insight {
  6313  	s.StartTime = &v
  6314  	return s
  6315  }
  6316  
  6317  // SetState sets the State field's value.
  6318  func (s *Insight) SetState(v string) *Insight {
  6319  	s.State = &v
  6320  	return s
  6321  }
  6322  
  6323  // SetSummary sets the Summary field's value.
  6324  func (s *Insight) SetSummary(v string) *Insight {
  6325  	s.Summary = &v
  6326  	return s
  6327  }
  6328  
  6329  // SetTopAnomalousServices sets the TopAnomalousServices field's value.
  6330  func (s *Insight) SetTopAnomalousServices(v []*AnomalousService) *Insight {
  6331  	s.TopAnomalousServices = v
  6332  	return s
  6333  }
  6334  
  6335  // X-Ray reevaluates insights periodically until they are resolved, and records
  6336  // each intermediate state in an event. You can review incident events in the
  6337  // Impact Timeline on the Inspect page in the X-Ray console.
  6338  type InsightEvent struct {
  6339  	_ struct{} `type:"structure"`
  6340  
  6341  	// The impact statistics of the client side service. This includes the number
  6342  	// of requests to the client service and whether the requests were faults or
  6343  	// okay.
  6344  	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6345  
  6346  	// The time, in Unix seconds, at which the event was recorded.
  6347  	EventTime *time.Time `type:"timestamp"`
  6348  
  6349  	// The impact statistics of the root cause service. This includes the number
  6350  	// of requests to the client service and whether the requests were faults or
  6351  	// okay.
  6352  	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6353  
  6354  	// A brief description of the event.
  6355  	Summary *string `type:"string"`
  6356  
  6357  	// The service during the event that is most impacted by the incident.
  6358  	TopAnomalousServices []*AnomalousService `type:"list"`
  6359  }
  6360  
  6361  // String returns the string representation.
  6362  //
  6363  // API parameter values that are decorated as "sensitive" in the API will not
  6364  // be included in the string output. The member name will be present, but the
  6365  // value will be replaced with "sensitive".
  6366  func (s InsightEvent) String() string {
  6367  	return awsutil.Prettify(s)
  6368  }
  6369  
  6370  // GoString returns the string representation.
  6371  //
  6372  // API parameter values that are decorated as "sensitive" in the API will not
  6373  // be included in the string output. The member name will be present, but the
  6374  // value will be replaced with "sensitive".
  6375  func (s InsightEvent) GoString() string {
  6376  	return s.String()
  6377  }
  6378  
  6379  // SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
  6380  func (s *InsightEvent) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent {
  6381  	s.ClientRequestImpactStatistics = v
  6382  	return s
  6383  }
  6384  
  6385  // SetEventTime sets the EventTime field's value.
  6386  func (s *InsightEvent) SetEventTime(v time.Time) *InsightEvent {
  6387  	s.EventTime = &v
  6388  	return s
  6389  }
  6390  
  6391  // SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
  6392  func (s *InsightEvent) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightEvent {
  6393  	s.RootCauseServiceRequestImpactStatistics = v
  6394  	return s
  6395  }
  6396  
  6397  // SetSummary sets the Summary field's value.
  6398  func (s *InsightEvent) SetSummary(v string) *InsightEvent {
  6399  	s.Summary = &v
  6400  	return s
  6401  }
  6402  
  6403  // SetTopAnomalousServices sets the TopAnomalousServices field's value.
  6404  func (s *InsightEvent) SetTopAnomalousServices(v []*AnomalousService) *InsightEvent {
  6405  	s.TopAnomalousServices = v
  6406  	return s
  6407  }
  6408  
  6409  // The connection between two service in an insight impact graph.
  6410  type InsightImpactGraphEdge struct {
  6411  	_ struct{} `type:"structure"`
  6412  
  6413  	// Identifier of the edge. Unique within a service map.
  6414  	ReferenceId *int64 `type:"integer"`
  6415  }
  6416  
  6417  // String returns the string representation.
  6418  //
  6419  // API parameter values that are decorated as "sensitive" in the API will not
  6420  // be included in the string output. The member name will be present, but the
  6421  // value will be replaced with "sensitive".
  6422  func (s InsightImpactGraphEdge) String() string {
  6423  	return awsutil.Prettify(s)
  6424  }
  6425  
  6426  // GoString returns the string representation.
  6427  //
  6428  // API parameter values that are decorated as "sensitive" in the API will not
  6429  // be included in the string output. The member name will be present, but the
  6430  // value will be replaced with "sensitive".
  6431  func (s InsightImpactGraphEdge) GoString() string {
  6432  	return s.String()
  6433  }
  6434  
  6435  // SetReferenceId sets the ReferenceId field's value.
  6436  func (s *InsightImpactGraphEdge) SetReferenceId(v int64) *InsightImpactGraphEdge {
  6437  	s.ReferenceId = &v
  6438  	return s
  6439  }
  6440  
  6441  // Information about an application that processed requests, users that made
  6442  // requests, or downstream services, resources, and applications that an application
  6443  // used.
  6444  type InsightImpactGraphService struct {
  6445  	_ struct{} `type:"structure"`
  6446  
  6447  	// Identifier of the Amazon Web Services account in which the service runs.
  6448  	AccountId *string `type:"string"`
  6449  
  6450  	// Connections to downstream services.
  6451  	Edges []*InsightImpactGraphEdge `type:"list"`
  6452  
  6453  	// The canonical name of the service.
  6454  	Name *string `type:"string"`
  6455  
  6456  	// A list of names for the service, including the canonical name.
  6457  	Names []*string `type:"list"`
  6458  
  6459  	// Identifier for the service. Unique within the service map.
  6460  	ReferenceId *int64 `type:"integer"`
  6461  
  6462  	// Identifier for the service. Unique within the service map.
  6463  	//
  6464  	//    * Amazon Web Services Resource - The type of an Amazon Web Services resource.
  6465  	//    For example, AWS::EC2::Instance for an application running on Amazon EC2
  6466  	//    or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application
  6467  	//    used.
  6468  	//
  6469  	//    * Amazon Web Services Service - The type of an Amazon Web Services service.
  6470  	//    For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that
  6471  	//    didn't target a specific table.
  6472  	//
  6473  	//    * Amazon Web Services Service - The type of an Amazon Web Services service.
  6474  	//    For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that
  6475  	//    didn't target a specific table.
  6476  	//
  6477  	//    * remote - A downstream service of indeterminate type.
  6478  	Type *string `type:"string"`
  6479  }
  6480  
  6481  // String returns the string representation.
  6482  //
  6483  // API parameter values that are decorated as "sensitive" in the API will not
  6484  // be included in the string output. The member name will be present, but the
  6485  // value will be replaced with "sensitive".
  6486  func (s InsightImpactGraphService) String() string {
  6487  	return awsutil.Prettify(s)
  6488  }
  6489  
  6490  // GoString returns the string representation.
  6491  //
  6492  // API parameter values that are decorated as "sensitive" in the API will not
  6493  // be included in the string output. The member name will be present, but the
  6494  // value will be replaced with "sensitive".
  6495  func (s InsightImpactGraphService) GoString() string {
  6496  	return s.String()
  6497  }
  6498  
  6499  // SetAccountId sets the AccountId field's value.
  6500  func (s *InsightImpactGraphService) SetAccountId(v string) *InsightImpactGraphService {
  6501  	s.AccountId = &v
  6502  	return s
  6503  }
  6504  
  6505  // SetEdges sets the Edges field's value.
  6506  func (s *InsightImpactGraphService) SetEdges(v []*InsightImpactGraphEdge) *InsightImpactGraphService {
  6507  	s.Edges = v
  6508  	return s
  6509  }
  6510  
  6511  // SetName sets the Name field's value.
  6512  func (s *InsightImpactGraphService) SetName(v string) *InsightImpactGraphService {
  6513  	s.Name = &v
  6514  	return s
  6515  }
  6516  
  6517  // SetNames sets the Names field's value.
  6518  func (s *InsightImpactGraphService) SetNames(v []*string) *InsightImpactGraphService {
  6519  	s.Names = v
  6520  	return s
  6521  }
  6522  
  6523  // SetReferenceId sets the ReferenceId field's value.
  6524  func (s *InsightImpactGraphService) SetReferenceId(v int64) *InsightImpactGraphService {
  6525  	s.ReferenceId = &v
  6526  	return s
  6527  }
  6528  
  6529  // SetType sets the Type field's value.
  6530  func (s *InsightImpactGraphService) SetType(v string) *InsightImpactGraphService {
  6531  	s.Type = &v
  6532  	return s
  6533  }
  6534  
  6535  // Information that describes an insight.
  6536  type InsightSummary struct {
  6537  	_ struct{} `type:"structure"`
  6538  
  6539  	// Categories The categories that label and describe the type of insight.
  6540  	Categories []*string `type:"list"`
  6541  
  6542  	// The impact statistics of the client side service. This includes the number
  6543  	// of requests to the client service and whether the requests were faults or
  6544  	// okay.
  6545  	ClientRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6546  
  6547  	// The time, in Unix seconds, at which the insight ended.
  6548  	EndTime *time.Time `type:"timestamp"`
  6549  
  6550  	// The Amazon Resource Name (ARN) of the group that the insight belongs to.
  6551  	GroupARN *string `min:"1" type:"string"`
  6552  
  6553  	// The name of the group that the insight belongs to.
  6554  	GroupName *string `min:"1" type:"string"`
  6555  
  6556  	// The insights unique identifier.
  6557  	InsightId *string `type:"string"`
  6558  
  6559  	// The time, in Unix seconds, that the insight was last updated.
  6560  	LastUpdateTime *time.Time `type:"timestamp"`
  6561  
  6562  	RootCauseServiceId *ServiceId `type:"structure"`
  6563  
  6564  	// The impact statistics of the root cause service. This includes the number
  6565  	// of requests to the client service and whether the requests were faults or
  6566  	// okay.
  6567  	RootCauseServiceRequestImpactStatistics *RequestImpactStatistics `type:"structure"`
  6568  
  6569  	// The time, in Unix seconds, at which the insight began.
  6570  	StartTime *time.Time `type:"timestamp"`
  6571  
  6572  	// The current state of the insight.
  6573  	State *string `type:"string" enum:"InsightState"`
  6574  
  6575  	// A brief description of the insight.
  6576  	Summary *string `type:"string"`
  6577  
  6578  	// The service within the insight that is most impacted by the incident.
  6579  	TopAnomalousServices []*AnomalousService `type:"list"`
  6580  }
  6581  
  6582  // String returns the string representation.
  6583  //
  6584  // API parameter values that are decorated as "sensitive" in the API will not
  6585  // be included in the string output. The member name will be present, but the
  6586  // value will be replaced with "sensitive".
  6587  func (s InsightSummary) String() string {
  6588  	return awsutil.Prettify(s)
  6589  }
  6590  
  6591  // GoString returns the string representation.
  6592  //
  6593  // API parameter values that are decorated as "sensitive" in the API will not
  6594  // be included in the string output. The member name will be present, but the
  6595  // value will be replaced with "sensitive".
  6596  func (s InsightSummary) GoString() string {
  6597  	return s.String()
  6598  }
  6599  
  6600  // SetCategories sets the Categories field's value.
  6601  func (s *InsightSummary) SetCategories(v []*string) *InsightSummary {
  6602  	s.Categories = v
  6603  	return s
  6604  }
  6605  
  6606  // SetClientRequestImpactStatistics sets the ClientRequestImpactStatistics field's value.
  6607  func (s *InsightSummary) SetClientRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary {
  6608  	s.ClientRequestImpactStatistics = v
  6609  	return s
  6610  }
  6611  
  6612  // SetEndTime sets the EndTime field's value.
  6613  func (s *InsightSummary) SetEndTime(v time.Time) *InsightSummary {
  6614  	s.EndTime = &v
  6615  	return s
  6616  }
  6617  
  6618  // SetGroupARN sets the GroupARN field's value.
  6619  func (s *InsightSummary) SetGroupARN(v string) *InsightSummary {
  6620  	s.GroupARN = &v
  6621  	return s
  6622  }
  6623  
  6624  // SetGroupName sets the GroupName field's value.
  6625  func (s *InsightSummary) SetGroupName(v string) *InsightSummary {
  6626  	s.GroupName = &v
  6627  	return s
  6628  }
  6629  
  6630  // SetInsightId sets the InsightId field's value.
  6631  func (s *InsightSummary) SetInsightId(v string) *InsightSummary {
  6632  	s.InsightId = &v
  6633  	return s
  6634  }
  6635  
  6636  // SetLastUpdateTime sets the LastUpdateTime field's value.
  6637  func (s *InsightSummary) SetLastUpdateTime(v time.Time) *InsightSummary {
  6638  	s.LastUpdateTime = &v
  6639  	return s
  6640  }
  6641  
  6642  // SetRootCauseServiceId sets the RootCauseServiceId field's value.
  6643  func (s *InsightSummary) SetRootCauseServiceId(v *ServiceId) *InsightSummary {
  6644  	s.RootCauseServiceId = v
  6645  	return s
  6646  }
  6647  
  6648  // SetRootCauseServiceRequestImpactStatistics sets the RootCauseServiceRequestImpactStatistics field's value.
  6649  func (s *InsightSummary) SetRootCauseServiceRequestImpactStatistics(v *RequestImpactStatistics) *InsightSummary {
  6650  	s.RootCauseServiceRequestImpactStatistics = v
  6651  	return s
  6652  }
  6653  
  6654  // SetStartTime sets the StartTime field's value.
  6655  func (s *InsightSummary) SetStartTime(v time.Time) *InsightSummary {
  6656  	s.StartTime = &v
  6657  	return s
  6658  }
  6659  
  6660  // SetState sets the State field's value.
  6661  func (s *InsightSummary) SetState(v string) *InsightSummary {
  6662  	s.State = &v
  6663  	return s
  6664  }
  6665  
  6666  // SetSummary sets the Summary field's value.
  6667  func (s *InsightSummary) SetSummary(v string) *InsightSummary {
  6668  	s.Summary = &v
  6669  	return s
  6670  }
  6671  
  6672  // SetTopAnomalousServices sets the TopAnomalousServices field's value.
  6673  func (s *InsightSummary) SetTopAnomalousServices(v []*AnomalousService) *InsightSummary {
  6674  	s.TopAnomalousServices = v
  6675  	return s
  6676  }
  6677  
  6678  // The structure containing configurations related to insights.
  6679  type InsightsConfiguration struct {
  6680  	_ struct{} `type:"structure"`
  6681  
  6682  	// Set the InsightsEnabled value to true to enable insights or false to disable
  6683  	// insights.
  6684  	InsightsEnabled *bool `type:"boolean"`
  6685  
  6686  	// Set the NotificationsEnabled value to true to enable insights notifications.
  6687  	// Notifications can only be enabled on a group with InsightsEnabled set to
  6688  	// true.
  6689  	NotificationsEnabled *bool `type:"boolean"`
  6690  }
  6691  
  6692  // String returns the string representation.
  6693  //
  6694  // API parameter values that are decorated as "sensitive" in the API will not
  6695  // be included in the string output. The member name will be present, but the
  6696  // value will be replaced with "sensitive".
  6697  func (s InsightsConfiguration) String() string {
  6698  	return awsutil.Prettify(s)
  6699  }
  6700  
  6701  // GoString returns the string representation.
  6702  //
  6703  // API parameter values that are decorated as "sensitive" in the API will not
  6704  // be included in the string output. The member name will be present, but the
  6705  // value will be replaced with "sensitive".
  6706  func (s InsightsConfiguration) GoString() string {
  6707  	return s.String()
  6708  }
  6709  
  6710  // SetInsightsEnabled sets the InsightsEnabled field's value.
  6711  func (s *InsightsConfiguration) SetInsightsEnabled(v bool) *InsightsConfiguration {
  6712  	s.InsightsEnabled = &v
  6713  	return s
  6714  }
  6715  
  6716  // SetNotificationsEnabled sets the NotificationsEnabled field's value.
  6717  func (s *InsightsConfiguration) SetNotificationsEnabled(v bool) *InsightsConfiguration {
  6718  	s.NotificationsEnabled = &v
  6719  	return s
  6720  }
  6721  
  6722  // A list of EC2 instance IDs corresponding to the segments in a trace.
  6723  type InstanceIdDetail struct {
  6724  	_ struct{} `type:"structure"`
  6725  
  6726  	// The ID of a corresponding EC2 instance.
  6727  	Id *string `type:"string"`
  6728  }
  6729  
  6730  // String returns the string representation.
  6731  //
  6732  // API parameter values that are decorated as "sensitive" in the API will not
  6733  // be included in the string output. The member name will be present, but the
  6734  // value will be replaced with "sensitive".
  6735  func (s InstanceIdDetail) String() string {
  6736  	return awsutil.Prettify(s)
  6737  }
  6738  
  6739  // GoString returns the string representation.
  6740  //
  6741  // API parameter values that are decorated as "sensitive" in the API will not
  6742  // be included in the string output. The member name will be present, but the
  6743  // value will be replaced with "sensitive".
  6744  func (s InstanceIdDetail) GoString() string {
  6745  	return s.String()
  6746  }
  6747  
  6748  // SetId sets the Id field's value.
  6749  func (s *InstanceIdDetail) SetId(v string) *InstanceIdDetail {
  6750  	s.Id = &v
  6751  	return s
  6752  }
  6753  
  6754  // The request is missing required parameters or has invalid parameters.
  6755  type InvalidRequestException struct {
  6756  	_            struct{}                  `type:"structure"`
  6757  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6758  
  6759  	Message_ *string `locationName:"Message" type:"string"`
  6760  }
  6761  
  6762  // String returns the string representation.
  6763  //
  6764  // API parameter values that are decorated as "sensitive" in the API will not
  6765  // be included in the string output. The member name will be present, but the
  6766  // value will be replaced with "sensitive".
  6767  func (s InvalidRequestException) String() string {
  6768  	return awsutil.Prettify(s)
  6769  }
  6770  
  6771  // GoString returns the string representation.
  6772  //
  6773  // API parameter values that are decorated as "sensitive" in the API will not
  6774  // be included in the string output. The member name will be present, but the
  6775  // value will be replaced with "sensitive".
  6776  func (s InvalidRequestException) GoString() string {
  6777  	return s.String()
  6778  }
  6779  
  6780  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
  6781  	return &InvalidRequestException{
  6782  		RespMetadata: v,
  6783  	}
  6784  }
  6785  
  6786  // Code returns the exception type name.
  6787  func (s *InvalidRequestException) Code() string {
  6788  	return "InvalidRequestException"
  6789  }
  6790  
  6791  // Message returns the exception's message.
  6792  func (s *InvalidRequestException) Message() string {
  6793  	if s.Message_ != nil {
  6794  		return *s.Message_
  6795  	}
  6796  	return ""
  6797  }
  6798  
  6799  // OrigErr always returns nil, satisfies awserr.Error interface.
  6800  func (s *InvalidRequestException) OrigErr() error {
  6801  	return nil
  6802  }
  6803  
  6804  func (s *InvalidRequestException) Error() string {
  6805  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6806  }
  6807  
  6808  // Status code returns the HTTP status code for the request's response error.
  6809  func (s *InvalidRequestException) StatusCode() int {
  6810  	return s.RespMetadata.StatusCode
  6811  }
  6812  
  6813  // RequestID returns the service's response RequestID for request.
  6814  func (s *InvalidRequestException) RequestID() string {
  6815  	return s.RespMetadata.RequestID
  6816  }
  6817  
  6818  type ListTagsForResourceInput struct {
  6819  	_ struct{} `type:"structure"`
  6820  
  6821  	// A pagination token. If multiple pages of results are returned, use the NextToken
  6822  	// value returned with the current page of results as the value of this parameter
  6823  	// to get the next page of results.
  6824  	NextToken *string `type:"string"`
  6825  
  6826  	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
  6827  	//
  6828  	// ResourceARN is a required field
  6829  	ResourceARN *string `min:"1" type:"string" required:"true"`
  6830  }
  6831  
  6832  // String returns the string representation.
  6833  //
  6834  // API parameter values that are decorated as "sensitive" in the API will not
  6835  // be included in the string output. The member name will be present, but the
  6836  // value will be replaced with "sensitive".
  6837  func (s ListTagsForResourceInput) String() string {
  6838  	return awsutil.Prettify(s)
  6839  }
  6840  
  6841  // GoString returns the string representation.
  6842  //
  6843  // API parameter values that are decorated as "sensitive" in the API will not
  6844  // be included in the string output. The member name will be present, but the
  6845  // value will be replaced with "sensitive".
  6846  func (s ListTagsForResourceInput) GoString() string {
  6847  	return s.String()
  6848  }
  6849  
  6850  // Validate inspects the fields of the type to determine if they are valid.
  6851  func (s *ListTagsForResourceInput) Validate() error {
  6852  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  6853  	if s.ResourceARN == nil {
  6854  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  6855  	}
  6856  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  6857  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  6858  	}
  6859  
  6860  	if invalidParams.Len() > 0 {
  6861  		return invalidParams
  6862  	}
  6863  	return nil
  6864  }
  6865  
  6866  // SetNextToken sets the NextToken field's value.
  6867  func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
  6868  	s.NextToken = &v
  6869  	return s
  6870  }
  6871  
  6872  // SetResourceARN sets the ResourceARN field's value.
  6873  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
  6874  	s.ResourceARN = &v
  6875  	return s
  6876  }
  6877  
  6878  type ListTagsForResourceOutput struct {
  6879  	_ struct{} `type:"structure"`
  6880  
  6881  	// A pagination token. If multiple pages of results are returned, use the NextToken
  6882  	// value returned with the current page of results to get the next page of results.
  6883  	NextToken *string `type:"string"`
  6884  
  6885  	// A list of tags, as key and value pairs, that is associated with the specified
  6886  	// X-Ray group or sampling rule.
  6887  	Tags []*Tag `type:"list"`
  6888  }
  6889  
  6890  // String returns the string representation.
  6891  //
  6892  // API parameter values that are decorated as "sensitive" in the API will not
  6893  // be included in the string output. The member name will be present, but the
  6894  // value will be replaced with "sensitive".
  6895  func (s ListTagsForResourceOutput) String() string {
  6896  	return awsutil.Prettify(s)
  6897  }
  6898  
  6899  // GoString returns the string representation.
  6900  //
  6901  // API parameter values that are decorated as "sensitive" in the API will not
  6902  // be included in the string output. The member name will be present, but the
  6903  // value will be replaced with "sensitive".
  6904  func (s ListTagsForResourceOutput) GoString() string {
  6905  	return s.String()
  6906  }
  6907  
  6908  // SetNextToken sets the NextToken field's value.
  6909  func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
  6910  	s.NextToken = &v
  6911  	return s
  6912  }
  6913  
  6914  // SetTags sets the Tags field's value.
  6915  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
  6916  	s.Tags = v
  6917  	return s
  6918  }
  6919  
  6920  type PutEncryptionConfigInput struct {
  6921  	_ struct{} `type:"structure"`
  6922  
  6923  	// An Amazon Web Services KMS key in one of the following formats:
  6924  	//
  6925  	//    * Alias - The name of the key. For example, alias/MyKey.
  6926  	//
  6927  	//    * Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456.
  6928  	//    Amazon Web Services X-Ray does not support asymmetric KMS keys.
  6929  	//
  6930  	//    * ARN - The full Amazon Resource Name of the key ID or alias. For example,
  6931  	//    arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456.
  6932  	//    Use this format to specify a key in a different account.
  6933  	//
  6934  	// Omit this key if you set Type to NONE.
  6935  	KeyId *string `min:"1" type:"string"`
  6936  
  6937  	// The type of encryption. Set to KMS to use your own key for encryption. Set
  6938  	// to NONE for default encryption.
  6939  	//
  6940  	// Type is a required field
  6941  	Type *string `type:"string" required:"true" enum:"EncryptionType"`
  6942  }
  6943  
  6944  // String returns the string representation.
  6945  //
  6946  // API parameter values that are decorated as "sensitive" in the API will not
  6947  // be included in the string output. The member name will be present, but the
  6948  // value will be replaced with "sensitive".
  6949  func (s PutEncryptionConfigInput) String() string {
  6950  	return awsutil.Prettify(s)
  6951  }
  6952  
  6953  // GoString returns the string representation.
  6954  //
  6955  // API parameter values that are decorated as "sensitive" in the API will not
  6956  // be included in the string output. The member name will be present, but the
  6957  // value will be replaced with "sensitive".
  6958  func (s PutEncryptionConfigInput) GoString() string {
  6959  	return s.String()
  6960  }
  6961  
  6962  // Validate inspects the fields of the type to determine if they are valid.
  6963  func (s *PutEncryptionConfigInput) Validate() error {
  6964  	invalidParams := request.ErrInvalidParams{Context: "PutEncryptionConfigInput"}
  6965  	if s.KeyId != nil && len(*s.KeyId) < 1 {
  6966  		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
  6967  	}
  6968  	if s.Type == nil {
  6969  		invalidParams.Add(request.NewErrParamRequired("Type"))
  6970  	}
  6971  
  6972  	if invalidParams.Len() > 0 {
  6973  		return invalidParams
  6974  	}
  6975  	return nil
  6976  }
  6977  
  6978  // SetKeyId sets the KeyId field's value.
  6979  func (s *PutEncryptionConfigInput) SetKeyId(v string) *PutEncryptionConfigInput {
  6980  	s.KeyId = &v
  6981  	return s
  6982  }
  6983  
  6984  // SetType sets the Type field's value.
  6985  func (s *PutEncryptionConfigInput) SetType(v string) *PutEncryptionConfigInput {
  6986  	s.Type = &v
  6987  	return s
  6988  }
  6989  
  6990  type PutEncryptionConfigOutput struct {
  6991  	_ struct{} `type:"structure"`
  6992  
  6993  	// The new encryption configuration.
  6994  	EncryptionConfig *EncryptionConfig `type:"structure"`
  6995  }
  6996  
  6997  // String returns the string representation.
  6998  //
  6999  // API parameter values that are decorated as "sensitive" in the API will not
  7000  // be included in the string output. The member name will be present, but the
  7001  // value will be replaced with "sensitive".
  7002  func (s PutEncryptionConfigOutput) String() string {
  7003  	return awsutil.Prettify(s)
  7004  }
  7005  
  7006  // GoString returns the string representation.
  7007  //
  7008  // API parameter values that are decorated as "sensitive" in the API will not
  7009  // be included in the string output. The member name will be present, but the
  7010  // value will be replaced with "sensitive".
  7011  func (s PutEncryptionConfigOutput) GoString() string {
  7012  	return s.String()
  7013  }
  7014  
  7015  // SetEncryptionConfig sets the EncryptionConfig field's value.
  7016  func (s *PutEncryptionConfigOutput) SetEncryptionConfig(v *EncryptionConfig) *PutEncryptionConfigOutput {
  7017  	s.EncryptionConfig = v
  7018  	return s
  7019  }
  7020  
  7021  type PutTelemetryRecordsInput struct {
  7022  	_ struct{} `type:"structure"`
  7023  
  7024  	EC2InstanceId *string `type:"string"`
  7025  
  7026  	Hostname *string `type:"string"`
  7027  
  7028  	ResourceARN *string `type:"string"`
  7029  
  7030  	// TelemetryRecords is a required field
  7031  	TelemetryRecords []*TelemetryRecord `type:"list" required:"true"`
  7032  }
  7033  
  7034  // String returns the string representation.
  7035  //
  7036  // API parameter values that are decorated as "sensitive" in the API will not
  7037  // be included in the string output. The member name will be present, but the
  7038  // value will be replaced with "sensitive".
  7039  func (s PutTelemetryRecordsInput) String() string {
  7040  	return awsutil.Prettify(s)
  7041  }
  7042  
  7043  // GoString returns the string representation.
  7044  //
  7045  // API parameter values that are decorated as "sensitive" in the API will not
  7046  // be included in the string output. The member name will be present, but the
  7047  // value will be replaced with "sensitive".
  7048  func (s PutTelemetryRecordsInput) GoString() string {
  7049  	return s.String()
  7050  }
  7051  
  7052  // Validate inspects the fields of the type to determine if they are valid.
  7053  func (s *PutTelemetryRecordsInput) Validate() error {
  7054  	invalidParams := request.ErrInvalidParams{Context: "PutTelemetryRecordsInput"}
  7055  	if s.TelemetryRecords == nil {
  7056  		invalidParams.Add(request.NewErrParamRequired("TelemetryRecords"))
  7057  	}
  7058  	if s.TelemetryRecords != nil {
  7059  		for i, v := range s.TelemetryRecords {
  7060  			if v == nil {
  7061  				continue
  7062  			}
  7063  			if err := v.Validate(); err != nil {
  7064  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TelemetryRecords", i), err.(request.ErrInvalidParams))
  7065  			}
  7066  		}
  7067  	}
  7068  
  7069  	if invalidParams.Len() > 0 {
  7070  		return invalidParams
  7071  	}
  7072  	return nil
  7073  }
  7074  
  7075  // SetEC2InstanceId sets the EC2InstanceId field's value.
  7076  func (s *PutTelemetryRecordsInput) SetEC2InstanceId(v string) *PutTelemetryRecordsInput {
  7077  	s.EC2InstanceId = &v
  7078  	return s
  7079  }
  7080  
  7081  // SetHostname sets the Hostname field's value.
  7082  func (s *PutTelemetryRecordsInput) SetHostname(v string) *PutTelemetryRecordsInput {
  7083  	s.Hostname = &v
  7084  	return s
  7085  }
  7086  
  7087  // SetResourceARN sets the ResourceARN field's value.
  7088  func (s *PutTelemetryRecordsInput) SetResourceARN(v string) *PutTelemetryRecordsInput {
  7089  	s.ResourceARN = &v
  7090  	return s
  7091  }
  7092  
  7093  // SetTelemetryRecords sets the TelemetryRecords field's value.
  7094  func (s *PutTelemetryRecordsInput) SetTelemetryRecords(v []*TelemetryRecord) *PutTelemetryRecordsInput {
  7095  	s.TelemetryRecords = v
  7096  	return s
  7097  }
  7098  
  7099  type PutTelemetryRecordsOutput struct {
  7100  	_ struct{} `type:"structure" nopayload:"true"`
  7101  }
  7102  
  7103  // String returns the string representation.
  7104  //
  7105  // API parameter values that are decorated as "sensitive" in the API will not
  7106  // be included in the string output. The member name will be present, but the
  7107  // value will be replaced with "sensitive".
  7108  func (s PutTelemetryRecordsOutput) String() string {
  7109  	return awsutil.Prettify(s)
  7110  }
  7111  
  7112  // GoString returns the string representation.
  7113  //
  7114  // API parameter values that are decorated as "sensitive" in the API will not
  7115  // be included in the string output. The member name will be present, but the
  7116  // value will be replaced with "sensitive".
  7117  func (s PutTelemetryRecordsOutput) GoString() string {
  7118  	return s.String()
  7119  }
  7120  
  7121  type PutTraceSegmentsInput struct {
  7122  	_ struct{} `type:"structure"`
  7123  
  7124  	// A string containing a JSON document defining one or more segments or subsegments.
  7125  	//
  7126  	// TraceSegmentDocuments is a required field
  7127  	TraceSegmentDocuments []*string `type:"list" required:"true"`
  7128  }
  7129  
  7130  // String returns the string representation.
  7131  //
  7132  // API parameter values that are decorated as "sensitive" in the API will not
  7133  // be included in the string output. The member name will be present, but the
  7134  // value will be replaced with "sensitive".
  7135  func (s PutTraceSegmentsInput) String() string {
  7136  	return awsutil.Prettify(s)
  7137  }
  7138  
  7139  // GoString returns the string representation.
  7140  //
  7141  // API parameter values that are decorated as "sensitive" in the API will not
  7142  // be included in the string output. The member name will be present, but the
  7143  // value will be replaced with "sensitive".
  7144  func (s PutTraceSegmentsInput) GoString() string {
  7145  	return s.String()
  7146  }
  7147  
  7148  // Validate inspects the fields of the type to determine if they are valid.
  7149  func (s *PutTraceSegmentsInput) Validate() error {
  7150  	invalidParams := request.ErrInvalidParams{Context: "PutTraceSegmentsInput"}
  7151  	if s.TraceSegmentDocuments == nil {
  7152  		invalidParams.Add(request.NewErrParamRequired("TraceSegmentDocuments"))
  7153  	}
  7154  
  7155  	if invalidParams.Len() > 0 {
  7156  		return invalidParams
  7157  	}
  7158  	return nil
  7159  }
  7160  
  7161  // SetTraceSegmentDocuments sets the TraceSegmentDocuments field's value.
  7162  func (s *PutTraceSegmentsInput) SetTraceSegmentDocuments(v []*string) *PutTraceSegmentsInput {
  7163  	s.TraceSegmentDocuments = v
  7164  	return s
  7165  }
  7166  
  7167  type PutTraceSegmentsOutput struct {
  7168  	_ struct{} `type:"structure"`
  7169  
  7170  	// Segments that failed processing.
  7171  	UnprocessedTraceSegments []*UnprocessedTraceSegment `type:"list"`
  7172  }
  7173  
  7174  // String returns the string representation.
  7175  //
  7176  // API parameter values that are decorated as "sensitive" in the API will not
  7177  // be included in the string output. The member name will be present, but the
  7178  // value will be replaced with "sensitive".
  7179  func (s PutTraceSegmentsOutput) String() string {
  7180  	return awsutil.Prettify(s)
  7181  }
  7182  
  7183  // GoString returns the string representation.
  7184  //
  7185  // API parameter values that are decorated as "sensitive" in the API will not
  7186  // be included in the string output. The member name will be present, but the
  7187  // value will be replaced with "sensitive".
  7188  func (s PutTraceSegmentsOutput) GoString() string {
  7189  	return s.String()
  7190  }
  7191  
  7192  // SetUnprocessedTraceSegments sets the UnprocessedTraceSegments field's value.
  7193  func (s *PutTraceSegmentsOutput) SetUnprocessedTraceSegments(v []*UnprocessedTraceSegment) *PutTraceSegmentsOutput {
  7194  	s.UnprocessedTraceSegments = v
  7195  	return s
  7196  }
  7197  
  7198  // Statistics that describe how the incident has impacted a service.
  7199  type RequestImpactStatistics struct {
  7200  	_ struct{} `type:"structure"`
  7201  
  7202  	// The number of requests that have resulted in a fault,
  7203  	FaultCount *int64 `type:"long"`
  7204  
  7205  	// The number of successful requests.
  7206  	OkCount *int64 `type:"long"`
  7207  
  7208  	// The total number of requests to the service.
  7209  	TotalCount *int64 `type:"long"`
  7210  }
  7211  
  7212  // String returns the string representation.
  7213  //
  7214  // API parameter values that are decorated as "sensitive" in the API will not
  7215  // be included in the string output. The member name will be present, but the
  7216  // value will be replaced with "sensitive".
  7217  func (s RequestImpactStatistics) String() string {
  7218  	return awsutil.Prettify(s)
  7219  }
  7220  
  7221  // GoString returns the string representation.
  7222  //
  7223  // API parameter values that are decorated as "sensitive" in the API will not
  7224  // be included in the string output. The member name will be present, but the
  7225  // value will be replaced with "sensitive".
  7226  func (s RequestImpactStatistics) GoString() string {
  7227  	return s.String()
  7228  }
  7229  
  7230  // SetFaultCount sets the FaultCount field's value.
  7231  func (s *RequestImpactStatistics) SetFaultCount(v int64) *RequestImpactStatistics {
  7232  	s.FaultCount = &v
  7233  	return s
  7234  }
  7235  
  7236  // SetOkCount sets the OkCount field's value.
  7237  func (s *RequestImpactStatistics) SetOkCount(v int64) *RequestImpactStatistics {
  7238  	s.OkCount = &v
  7239  	return s
  7240  }
  7241  
  7242  // SetTotalCount sets the TotalCount field's value.
  7243  func (s *RequestImpactStatistics) SetTotalCount(v int64) *RequestImpactStatistics {
  7244  	s.TotalCount = &v
  7245  	return s
  7246  }
  7247  
  7248  // A list of resources ARNs corresponding to the segments in a trace.
  7249  type ResourceARNDetail struct {
  7250  	_ struct{} `type:"structure"`
  7251  
  7252  	// The ARN of a corresponding resource.
  7253  	ARN *string `type:"string"`
  7254  }
  7255  
  7256  // String returns the string representation.
  7257  //
  7258  // API parameter values that are decorated as "sensitive" in the API will not
  7259  // be included in the string output. The member name will be present, but the
  7260  // value will be replaced with "sensitive".
  7261  func (s ResourceARNDetail) String() string {
  7262  	return awsutil.Prettify(s)
  7263  }
  7264  
  7265  // GoString returns the string representation.
  7266  //
  7267  // API parameter values that are decorated as "sensitive" in the API will not
  7268  // be included in the string output. The member name will be present, but the
  7269  // value will be replaced with "sensitive".
  7270  func (s ResourceARNDetail) GoString() string {
  7271  	return s.String()
  7272  }
  7273  
  7274  // SetARN sets the ARN field's value.
  7275  func (s *ResourceARNDetail) SetARN(v string) *ResourceARNDetail {
  7276  	s.ARN = &v
  7277  	return s
  7278  }
  7279  
  7280  // The resource was not found. Verify that the name or Amazon Resource Name
  7281  // (ARN) of the resource is correct.
  7282  type ResourceNotFoundException struct {
  7283  	_            struct{}                  `type:"structure"`
  7284  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7285  
  7286  	Message_ *string `locationName:"Message" type:"string"`
  7287  
  7288  	ResourceName *string `min:"1" type:"string"`
  7289  }
  7290  
  7291  // String returns the string representation.
  7292  //
  7293  // API parameter values that are decorated as "sensitive" in the API will not
  7294  // be included in the string output. The member name will be present, but the
  7295  // value will be replaced with "sensitive".
  7296  func (s ResourceNotFoundException) String() string {
  7297  	return awsutil.Prettify(s)
  7298  }
  7299  
  7300  // GoString returns the string representation.
  7301  //
  7302  // API parameter values that are decorated as "sensitive" in the API will not
  7303  // be included in the string output. The member name will be present, but the
  7304  // value will be replaced with "sensitive".
  7305  func (s ResourceNotFoundException) GoString() string {
  7306  	return s.String()
  7307  }
  7308  
  7309  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  7310  	return &ResourceNotFoundException{
  7311  		RespMetadata: v,
  7312  	}
  7313  }
  7314  
  7315  // Code returns the exception type name.
  7316  func (s *ResourceNotFoundException) Code() string {
  7317  	return "ResourceNotFoundException"
  7318  }
  7319  
  7320  // Message returns the exception's message.
  7321  func (s *ResourceNotFoundException) Message() string {
  7322  	if s.Message_ != nil {
  7323  		return *s.Message_
  7324  	}
  7325  	return ""
  7326  }
  7327  
  7328  // OrigErr always returns nil, satisfies awserr.Error interface.
  7329  func (s *ResourceNotFoundException) OrigErr() error {
  7330  	return nil
  7331  }
  7332  
  7333  func (s *ResourceNotFoundException) Error() string {
  7334  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  7335  }
  7336  
  7337  // Status code returns the HTTP status code for the request's response error.
  7338  func (s *ResourceNotFoundException) StatusCode() int {
  7339  	return s.RespMetadata.StatusCode
  7340  }
  7341  
  7342  // RequestID returns the service's response RequestID for request.
  7343  func (s *ResourceNotFoundException) RequestID() string {
  7344  	return s.RespMetadata.RequestID
  7345  }
  7346  
  7347  // The root cause information for a response time warning.
  7348  type ResponseTimeRootCause struct {
  7349  	_ struct{} `type:"structure"`
  7350  
  7351  	// A flag that denotes that the root cause impacts the trace client.
  7352  	ClientImpacting *bool `type:"boolean"`
  7353  
  7354  	// A list of corresponding services. A service identifies a segment and contains
  7355  	// a name, account ID, type, and inferred flag.
  7356  	Services []*ResponseTimeRootCauseService `type:"list"`
  7357  }
  7358  
  7359  // String returns the string representation.
  7360  //
  7361  // API parameter values that are decorated as "sensitive" in the API will not
  7362  // be included in the string output. The member name will be present, but the
  7363  // value will be replaced with "sensitive".
  7364  func (s ResponseTimeRootCause) String() string {
  7365  	return awsutil.Prettify(s)
  7366  }
  7367  
  7368  // GoString returns the string representation.
  7369  //
  7370  // API parameter values that are decorated as "sensitive" in the API will not
  7371  // be included in the string output. The member name will be present, but the
  7372  // value will be replaced with "sensitive".
  7373  func (s ResponseTimeRootCause) GoString() string {
  7374  	return s.String()
  7375  }
  7376  
  7377  // SetClientImpacting sets the ClientImpacting field's value.
  7378  func (s *ResponseTimeRootCause) SetClientImpacting(v bool) *ResponseTimeRootCause {
  7379  	s.ClientImpacting = &v
  7380  	return s
  7381  }
  7382  
  7383  // SetServices sets the Services field's value.
  7384  func (s *ResponseTimeRootCause) SetServices(v []*ResponseTimeRootCauseService) *ResponseTimeRootCause {
  7385  	s.Services = v
  7386  	return s
  7387  }
  7388  
  7389  // A collection of segments and corresponding subsegments associated to a response
  7390  // time warning.
  7391  type ResponseTimeRootCauseEntity struct {
  7392  	_ struct{} `type:"structure"`
  7393  
  7394  	// The type and messages of the exceptions.
  7395  	Coverage *float64 `type:"double"`
  7396  
  7397  	// The name of the entity.
  7398  	Name *string `type:"string"`
  7399  
  7400  	// A flag that denotes a remote subsegment.
  7401  	Remote *bool `type:"boolean"`
  7402  }
  7403  
  7404  // String returns the string representation.
  7405  //
  7406  // API parameter values that are decorated as "sensitive" in the API will not
  7407  // be included in the string output. The member name will be present, but the
  7408  // value will be replaced with "sensitive".
  7409  func (s ResponseTimeRootCauseEntity) String() string {
  7410  	return awsutil.Prettify(s)
  7411  }
  7412  
  7413  // GoString returns the string representation.
  7414  //
  7415  // API parameter values that are decorated as "sensitive" in the API will not
  7416  // be included in the string output. The member name will be present, but the
  7417  // value will be replaced with "sensitive".
  7418  func (s ResponseTimeRootCauseEntity) GoString() string {
  7419  	return s.String()
  7420  }
  7421  
  7422  // SetCoverage sets the Coverage field's value.
  7423  func (s *ResponseTimeRootCauseEntity) SetCoverage(v float64) *ResponseTimeRootCauseEntity {
  7424  	s.Coverage = &v
  7425  	return s
  7426  }
  7427  
  7428  // SetName sets the Name field's value.
  7429  func (s *ResponseTimeRootCauseEntity) SetName(v string) *ResponseTimeRootCauseEntity {
  7430  	s.Name = &v
  7431  	return s
  7432  }
  7433  
  7434  // SetRemote sets the Remote field's value.
  7435  func (s *ResponseTimeRootCauseEntity) SetRemote(v bool) *ResponseTimeRootCauseEntity {
  7436  	s.Remote = &v
  7437  	return s
  7438  }
  7439  
  7440  // A collection of fields identifying the service in a response time warning.
  7441  type ResponseTimeRootCauseService struct {
  7442  	_ struct{} `type:"structure"`
  7443  
  7444  	// The account ID associated to the service.
  7445  	AccountId *string `type:"string"`
  7446  
  7447  	// The path of root cause entities found on the service.
  7448  	EntityPath []*ResponseTimeRootCauseEntity `type:"list"`
  7449  
  7450  	// A Boolean value indicating if the service is inferred from the trace.
  7451  	Inferred *bool `type:"boolean"`
  7452  
  7453  	// The service name.
  7454  	Name *string `type:"string"`
  7455  
  7456  	// A collection of associated service names.
  7457  	Names []*string `type:"list"`
  7458  
  7459  	// The type associated to the service.
  7460  	Type *string `type:"string"`
  7461  }
  7462  
  7463  // String returns the string representation.
  7464  //
  7465  // API parameter values that are decorated as "sensitive" in the API will not
  7466  // be included in the string output. The member name will be present, but the
  7467  // value will be replaced with "sensitive".
  7468  func (s ResponseTimeRootCauseService) String() string {
  7469  	return awsutil.Prettify(s)
  7470  }
  7471  
  7472  // GoString returns the string representation.
  7473  //
  7474  // API parameter values that are decorated as "sensitive" in the API will not
  7475  // be included in the string output. The member name will be present, but the
  7476  // value will be replaced with "sensitive".
  7477  func (s ResponseTimeRootCauseService) GoString() string {
  7478  	return s.String()
  7479  }
  7480  
  7481  // SetAccountId sets the AccountId field's value.
  7482  func (s *ResponseTimeRootCauseService) SetAccountId(v string) *ResponseTimeRootCauseService {
  7483  	s.AccountId = &v
  7484  	return s
  7485  }
  7486  
  7487  // SetEntityPath sets the EntityPath field's value.
  7488  func (s *ResponseTimeRootCauseService) SetEntityPath(v []*ResponseTimeRootCauseEntity) *ResponseTimeRootCauseService {
  7489  	s.EntityPath = v
  7490  	return s
  7491  }
  7492  
  7493  // SetInferred sets the Inferred field's value.
  7494  func (s *ResponseTimeRootCauseService) SetInferred(v bool) *ResponseTimeRootCauseService {
  7495  	s.Inferred = &v
  7496  	return s
  7497  }
  7498  
  7499  // SetName sets the Name field's value.
  7500  func (s *ResponseTimeRootCauseService) SetName(v string) *ResponseTimeRootCauseService {
  7501  	s.Name = &v
  7502  	return s
  7503  }
  7504  
  7505  // SetNames sets the Names field's value.
  7506  func (s *ResponseTimeRootCauseService) SetNames(v []*string) *ResponseTimeRootCauseService {
  7507  	s.Names = v
  7508  	return s
  7509  }
  7510  
  7511  // SetType sets the Type field's value.
  7512  func (s *ResponseTimeRootCauseService) SetType(v string) *ResponseTimeRootCauseService {
  7513  	s.Type = &v
  7514  	return s
  7515  }
  7516  
  7517  // The exception associated with a root cause.
  7518  type RootCauseException struct {
  7519  	_ struct{} `type:"structure"`
  7520  
  7521  	// The message of the exception.
  7522  	Message *string `type:"string"`
  7523  
  7524  	// The name of the exception.
  7525  	Name *string `type:"string"`
  7526  }
  7527  
  7528  // String returns the string representation.
  7529  //
  7530  // API parameter values that are decorated as "sensitive" in the API will not
  7531  // be included in the string output. The member name will be present, but the
  7532  // value will be replaced with "sensitive".
  7533  func (s RootCauseException) String() string {
  7534  	return awsutil.Prettify(s)
  7535  }
  7536  
  7537  // GoString returns the string representation.
  7538  //
  7539  // API parameter values that are decorated as "sensitive" in the API will not
  7540  // be included in the string output. The member name will be present, but the
  7541  // value will be replaced with "sensitive".
  7542  func (s RootCauseException) GoString() string {
  7543  	return s.String()
  7544  }
  7545  
  7546  // SetMessage sets the Message field's value.
  7547  func (s *RootCauseException) SetMessage(v string) *RootCauseException {
  7548  	s.Message = &v
  7549  	return s
  7550  }
  7551  
  7552  // SetName sets the Name field's value.
  7553  func (s *RootCauseException) SetName(v string) *RootCauseException {
  7554  	s.Name = &v
  7555  	return s
  7556  }
  7557  
  7558  // You have reached the maximum number of sampling rules.
  7559  type RuleLimitExceededException struct {
  7560  	_            struct{}                  `type:"structure"`
  7561  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7562  
  7563  	Message_ *string `locationName:"Message" type:"string"`
  7564  }
  7565  
  7566  // String returns the string representation.
  7567  //
  7568  // API parameter values that are decorated as "sensitive" in the API will not
  7569  // be included in the string output. The member name will be present, but the
  7570  // value will be replaced with "sensitive".
  7571  func (s RuleLimitExceededException) String() string {
  7572  	return awsutil.Prettify(s)
  7573  }
  7574  
  7575  // GoString returns the string representation.
  7576  //
  7577  // API parameter values that are decorated as "sensitive" in the API will not
  7578  // be included in the string output. The member name will be present, but the
  7579  // value will be replaced with "sensitive".
  7580  func (s RuleLimitExceededException) GoString() string {
  7581  	return s.String()
  7582  }
  7583  
  7584  func newErrorRuleLimitExceededException(v protocol.ResponseMetadata) error {
  7585  	return &RuleLimitExceededException{
  7586  		RespMetadata: v,
  7587  	}
  7588  }
  7589  
  7590  // Code returns the exception type name.
  7591  func (s *RuleLimitExceededException) Code() string {
  7592  	return "RuleLimitExceededException"
  7593  }
  7594  
  7595  // Message returns the exception's message.
  7596  func (s *RuleLimitExceededException) Message() string {
  7597  	if s.Message_ != nil {
  7598  		return *s.Message_
  7599  	}
  7600  	return ""
  7601  }
  7602  
  7603  // OrigErr always returns nil, satisfies awserr.Error interface.
  7604  func (s *RuleLimitExceededException) OrigErr() error {
  7605  	return nil
  7606  }
  7607  
  7608  func (s *RuleLimitExceededException) Error() string {
  7609  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7610  }
  7611  
  7612  // Status code returns the HTTP status code for the request's response error.
  7613  func (s *RuleLimitExceededException) StatusCode() int {
  7614  	return s.RespMetadata.StatusCode
  7615  }
  7616  
  7617  // RequestID returns the service's response RequestID for request.
  7618  func (s *RuleLimitExceededException) RequestID() string {
  7619  	return s.RespMetadata.RequestID
  7620  }
  7621  
  7622  // A sampling rule that services use to decide whether to instrument a request.
  7623  // Rule fields can match properties of the service, or properties of a request.
  7624  // The service can ignore rules that don't match its properties.
  7625  type SamplingRule struct {
  7626  	_ struct{} `type:"structure"`
  7627  
  7628  	// Matches attributes derived from the request.
  7629  	Attributes map[string]*string `type:"map"`
  7630  
  7631  	// The percentage of matching requests to instrument, after the reservoir is
  7632  	// exhausted.
  7633  	//
  7634  	// FixedRate is a required field
  7635  	FixedRate *float64 `type:"double" required:"true"`
  7636  
  7637  	// Matches the HTTP method of a request.
  7638  	//
  7639  	// HTTPMethod is a required field
  7640  	HTTPMethod *string `type:"string" required:"true"`
  7641  
  7642  	// Matches the hostname from a request URL.
  7643  	//
  7644  	// Host is a required field
  7645  	Host *string `type:"string" required:"true"`
  7646  
  7647  	// The priority of the sampling rule.
  7648  	//
  7649  	// Priority is a required field
  7650  	Priority *int64 `min:"1" type:"integer" required:"true"`
  7651  
  7652  	// A fixed number of matching requests to instrument per second, prior to applying
  7653  	// the fixed rate. The reservoir is not used directly by services, but applies
  7654  	// to all services using the rule collectively.
  7655  	//
  7656  	// ReservoirSize is a required field
  7657  	ReservoirSize *int64 `type:"integer" required:"true"`
  7658  
  7659  	// Matches the ARN of the Amazon Web Services resource on which the service
  7660  	// runs.
  7661  	//
  7662  	// ResourceARN is a required field
  7663  	ResourceARN *string `type:"string" required:"true"`
  7664  
  7665  	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
  7666  	// both.
  7667  	RuleARN *string `type:"string"`
  7668  
  7669  	// The name of the sampling rule. Specify a rule by either name or ARN, but
  7670  	// not both.
  7671  	RuleName *string `min:"1" type:"string"`
  7672  
  7673  	// Matches the name that the service uses to identify itself in segments.
  7674  	//
  7675  	// ServiceName is a required field
  7676  	ServiceName *string `type:"string" required:"true"`
  7677  
  7678  	// Matches the origin that the service uses to identify its type in segments.
  7679  	//
  7680  	// ServiceType is a required field
  7681  	ServiceType *string `type:"string" required:"true"`
  7682  
  7683  	// Matches the path from a request URL.
  7684  	//
  7685  	// URLPath is a required field
  7686  	URLPath *string `type:"string" required:"true"`
  7687  
  7688  	// The version of the sampling rule format (1).
  7689  	//
  7690  	// Version is a required field
  7691  	Version *int64 `min:"1" type:"integer" required:"true"`
  7692  }
  7693  
  7694  // String returns the string representation.
  7695  //
  7696  // API parameter values that are decorated as "sensitive" in the API will not
  7697  // be included in the string output. The member name will be present, but the
  7698  // value will be replaced with "sensitive".
  7699  func (s SamplingRule) String() string {
  7700  	return awsutil.Prettify(s)
  7701  }
  7702  
  7703  // GoString returns the string representation.
  7704  //
  7705  // API parameter values that are decorated as "sensitive" in the API will not
  7706  // be included in the string output. The member name will be present, but the
  7707  // value will be replaced with "sensitive".
  7708  func (s SamplingRule) GoString() string {
  7709  	return s.String()
  7710  }
  7711  
  7712  // Validate inspects the fields of the type to determine if they are valid.
  7713  func (s *SamplingRule) Validate() error {
  7714  	invalidParams := request.ErrInvalidParams{Context: "SamplingRule"}
  7715  	if s.FixedRate == nil {
  7716  		invalidParams.Add(request.NewErrParamRequired("FixedRate"))
  7717  	}
  7718  	if s.HTTPMethod == nil {
  7719  		invalidParams.Add(request.NewErrParamRequired("HTTPMethod"))
  7720  	}
  7721  	if s.Host == nil {
  7722  		invalidParams.Add(request.NewErrParamRequired("Host"))
  7723  	}
  7724  	if s.Priority == nil {
  7725  		invalidParams.Add(request.NewErrParamRequired("Priority"))
  7726  	}
  7727  	if s.Priority != nil && *s.Priority < 1 {
  7728  		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
  7729  	}
  7730  	if s.ReservoirSize == nil {
  7731  		invalidParams.Add(request.NewErrParamRequired("ReservoirSize"))
  7732  	}
  7733  	if s.ResourceARN == nil {
  7734  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  7735  	}
  7736  	if s.RuleName != nil && len(*s.RuleName) < 1 {
  7737  		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
  7738  	}
  7739  	if s.ServiceName == nil {
  7740  		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  7741  	}
  7742  	if s.ServiceType == nil {
  7743  		invalidParams.Add(request.NewErrParamRequired("ServiceType"))
  7744  	}
  7745  	if s.URLPath == nil {
  7746  		invalidParams.Add(request.NewErrParamRequired("URLPath"))
  7747  	}
  7748  	if s.Version == nil {
  7749  		invalidParams.Add(request.NewErrParamRequired("Version"))
  7750  	}
  7751  	if s.Version != nil && *s.Version < 1 {
  7752  		invalidParams.Add(request.NewErrParamMinValue("Version", 1))
  7753  	}
  7754  
  7755  	if invalidParams.Len() > 0 {
  7756  		return invalidParams
  7757  	}
  7758  	return nil
  7759  }
  7760  
  7761  // SetAttributes sets the Attributes field's value.
  7762  func (s *SamplingRule) SetAttributes(v map[string]*string) *SamplingRule {
  7763  	s.Attributes = v
  7764  	return s
  7765  }
  7766  
  7767  // SetFixedRate sets the FixedRate field's value.
  7768  func (s *SamplingRule) SetFixedRate(v float64) *SamplingRule {
  7769  	s.FixedRate = &v
  7770  	return s
  7771  }
  7772  
  7773  // SetHTTPMethod sets the HTTPMethod field's value.
  7774  func (s *SamplingRule) SetHTTPMethod(v string) *SamplingRule {
  7775  	s.HTTPMethod = &v
  7776  	return s
  7777  }
  7778  
  7779  // SetHost sets the Host field's value.
  7780  func (s *SamplingRule) SetHost(v string) *SamplingRule {
  7781  	s.Host = &v
  7782  	return s
  7783  }
  7784  
  7785  // SetPriority sets the Priority field's value.
  7786  func (s *SamplingRule) SetPriority(v int64) *SamplingRule {
  7787  	s.Priority = &v
  7788  	return s
  7789  }
  7790  
  7791  // SetReservoirSize sets the ReservoirSize field's value.
  7792  func (s *SamplingRule) SetReservoirSize(v int64) *SamplingRule {
  7793  	s.ReservoirSize = &v
  7794  	return s
  7795  }
  7796  
  7797  // SetResourceARN sets the ResourceARN field's value.
  7798  func (s *SamplingRule) SetResourceARN(v string) *SamplingRule {
  7799  	s.ResourceARN = &v
  7800  	return s
  7801  }
  7802  
  7803  // SetRuleARN sets the RuleARN field's value.
  7804  func (s *SamplingRule) SetRuleARN(v string) *SamplingRule {
  7805  	s.RuleARN = &v
  7806  	return s
  7807  }
  7808  
  7809  // SetRuleName sets the RuleName field's value.
  7810  func (s *SamplingRule) SetRuleName(v string) *SamplingRule {
  7811  	s.RuleName = &v
  7812  	return s
  7813  }
  7814  
  7815  // SetServiceName sets the ServiceName field's value.
  7816  func (s *SamplingRule) SetServiceName(v string) *SamplingRule {
  7817  	s.ServiceName = &v
  7818  	return s
  7819  }
  7820  
  7821  // SetServiceType sets the ServiceType field's value.
  7822  func (s *SamplingRule) SetServiceType(v string) *SamplingRule {
  7823  	s.ServiceType = &v
  7824  	return s
  7825  }
  7826  
  7827  // SetURLPath sets the URLPath field's value.
  7828  func (s *SamplingRule) SetURLPath(v string) *SamplingRule {
  7829  	s.URLPath = &v
  7830  	return s
  7831  }
  7832  
  7833  // SetVersion sets the Version field's value.
  7834  func (s *SamplingRule) SetVersion(v int64) *SamplingRule {
  7835  	s.Version = &v
  7836  	return s
  7837  }
  7838  
  7839  // A SamplingRule (https://docs.aws.amazon.com/xray/latest/api/API_SamplingRule.html)
  7840  // and its metadata.
  7841  type SamplingRuleRecord struct {
  7842  	_ struct{} `type:"structure"`
  7843  
  7844  	// When the rule was created.
  7845  	CreatedAt *time.Time `type:"timestamp"`
  7846  
  7847  	// When the rule was last modified.
  7848  	ModifiedAt *time.Time `type:"timestamp"`
  7849  
  7850  	// The sampling rule.
  7851  	SamplingRule *SamplingRule `type:"structure"`
  7852  }
  7853  
  7854  // String returns the string representation.
  7855  //
  7856  // API parameter values that are decorated as "sensitive" in the API will not
  7857  // be included in the string output. The member name will be present, but the
  7858  // value will be replaced with "sensitive".
  7859  func (s SamplingRuleRecord) String() string {
  7860  	return awsutil.Prettify(s)
  7861  }
  7862  
  7863  // GoString returns the string representation.
  7864  //
  7865  // API parameter values that are decorated as "sensitive" in the API will not
  7866  // be included in the string output. The member name will be present, but the
  7867  // value will be replaced with "sensitive".
  7868  func (s SamplingRuleRecord) GoString() string {
  7869  	return s.String()
  7870  }
  7871  
  7872  // SetCreatedAt sets the CreatedAt field's value.
  7873  func (s *SamplingRuleRecord) SetCreatedAt(v time.Time) *SamplingRuleRecord {
  7874  	s.CreatedAt = &v
  7875  	return s
  7876  }
  7877  
  7878  // SetModifiedAt sets the ModifiedAt field's value.
  7879  func (s *SamplingRuleRecord) SetModifiedAt(v time.Time) *SamplingRuleRecord {
  7880  	s.ModifiedAt = &v
  7881  	return s
  7882  }
  7883  
  7884  // SetSamplingRule sets the SamplingRule field's value.
  7885  func (s *SamplingRuleRecord) SetSamplingRule(v *SamplingRule) *SamplingRuleRecord {
  7886  	s.SamplingRule = v
  7887  	return s
  7888  }
  7889  
  7890  // A document specifying changes to a sampling rule's configuration.
  7891  type SamplingRuleUpdate struct {
  7892  	_ struct{} `type:"structure"`
  7893  
  7894  	// Matches attributes derived from the request.
  7895  	Attributes map[string]*string `type:"map"`
  7896  
  7897  	// The percentage of matching requests to instrument, after the reservoir is
  7898  	// exhausted.
  7899  	FixedRate *float64 `type:"double"`
  7900  
  7901  	// Matches the HTTP method of a request.
  7902  	HTTPMethod *string `type:"string"`
  7903  
  7904  	// Matches the hostname from a request URL.
  7905  	Host *string `type:"string"`
  7906  
  7907  	// The priority of the sampling rule.
  7908  	Priority *int64 `type:"integer"`
  7909  
  7910  	// A fixed number of matching requests to instrument per second, prior to applying
  7911  	// the fixed rate. The reservoir is not used directly by services, but applies
  7912  	// to all services using the rule collectively.
  7913  	ReservoirSize *int64 `type:"integer"`
  7914  
  7915  	// Matches the ARN of the Amazon Web Services resource on which the service
  7916  	// runs.
  7917  	ResourceARN *string `type:"string"`
  7918  
  7919  	// The ARN of the sampling rule. Specify a rule by either name or ARN, but not
  7920  	// both.
  7921  	RuleARN *string `type:"string"`
  7922  
  7923  	// The name of the sampling rule. Specify a rule by either name or ARN, but
  7924  	// not both.
  7925  	RuleName *string `min:"1" type:"string"`
  7926  
  7927  	// Matches the name that the service uses to identify itself in segments.
  7928  	ServiceName *string `type:"string"`
  7929  
  7930  	// Matches the origin that the service uses to identify its type in segments.
  7931  	ServiceType *string `type:"string"`
  7932  
  7933  	// Matches the path from a request URL.
  7934  	URLPath *string `type:"string"`
  7935  }
  7936  
  7937  // String returns the string representation.
  7938  //
  7939  // API parameter values that are decorated as "sensitive" in the API will not
  7940  // be included in the string output. The member name will be present, but the
  7941  // value will be replaced with "sensitive".
  7942  func (s SamplingRuleUpdate) String() string {
  7943  	return awsutil.Prettify(s)
  7944  }
  7945  
  7946  // GoString returns the string representation.
  7947  //
  7948  // API parameter values that are decorated as "sensitive" in the API will not
  7949  // be included in the string output. The member name will be present, but the
  7950  // value will be replaced with "sensitive".
  7951  func (s SamplingRuleUpdate) GoString() string {
  7952  	return s.String()
  7953  }
  7954  
  7955  // Validate inspects the fields of the type to determine if they are valid.
  7956  func (s *SamplingRuleUpdate) Validate() error {
  7957  	invalidParams := request.ErrInvalidParams{Context: "SamplingRuleUpdate"}
  7958  	if s.RuleName != nil && len(*s.RuleName) < 1 {
  7959  		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
  7960  	}
  7961  
  7962  	if invalidParams.Len() > 0 {
  7963  		return invalidParams
  7964  	}
  7965  	return nil
  7966  }
  7967  
  7968  // SetAttributes sets the Attributes field's value.
  7969  func (s *SamplingRuleUpdate) SetAttributes(v map[string]*string) *SamplingRuleUpdate {
  7970  	s.Attributes = v
  7971  	return s
  7972  }
  7973  
  7974  // SetFixedRate sets the FixedRate field's value.
  7975  func (s *SamplingRuleUpdate) SetFixedRate(v float64) *SamplingRuleUpdate {
  7976  	s.FixedRate = &v
  7977  	return s
  7978  }
  7979  
  7980  // SetHTTPMethod sets the HTTPMethod field's value.
  7981  func (s *SamplingRuleUpdate) SetHTTPMethod(v string) *SamplingRuleUpdate {
  7982  	s.HTTPMethod = &v
  7983  	return s
  7984  }
  7985  
  7986  // SetHost sets the Host field's value.
  7987  func (s *SamplingRuleUpdate) SetHost(v string) *SamplingRuleUpdate {
  7988  	s.Host = &v
  7989  	return s
  7990  }
  7991  
  7992  // SetPriority sets the Priority field's value.
  7993  func (s *SamplingRuleUpdate) SetPriority(v int64) *SamplingRuleUpdate {
  7994  	s.Priority = &v
  7995  	return s
  7996  }
  7997  
  7998  // SetReservoirSize sets the ReservoirSize field's value.
  7999  func (s *SamplingRuleUpdate) SetReservoirSize(v int64) *SamplingRuleUpdate {
  8000  	s.ReservoirSize = &v
  8001  	return s
  8002  }
  8003  
  8004  // SetResourceARN sets the ResourceARN field's value.
  8005  func (s *SamplingRuleUpdate) SetResourceARN(v string) *SamplingRuleUpdate {
  8006  	s.ResourceARN = &v
  8007  	return s
  8008  }
  8009  
  8010  // SetRuleARN sets the RuleARN field's value.
  8011  func (s *SamplingRuleUpdate) SetRuleARN(v string) *SamplingRuleUpdate {
  8012  	s.RuleARN = &v
  8013  	return s
  8014  }
  8015  
  8016  // SetRuleName sets the RuleName field's value.
  8017  func (s *SamplingRuleUpdate) SetRuleName(v string) *SamplingRuleUpdate {
  8018  	s.RuleName = &v
  8019  	return s
  8020  }
  8021  
  8022  // SetServiceName sets the ServiceName field's value.
  8023  func (s *SamplingRuleUpdate) SetServiceName(v string) *SamplingRuleUpdate {
  8024  	s.ServiceName = &v
  8025  	return s
  8026  }
  8027  
  8028  // SetServiceType sets the ServiceType field's value.
  8029  func (s *SamplingRuleUpdate) SetServiceType(v string) *SamplingRuleUpdate {
  8030  	s.ServiceType = &v
  8031  	return s
  8032  }
  8033  
  8034  // SetURLPath sets the URLPath field's value.
  8035  func (s *SamplingRuleUpdate) SetURLPath(v string) *SamplingRuleUpdate {
  8036  	s.URLPath = &v
  8037  	return s
  8038  }
  8039  
  8040  // Aggregated request sampling data for a sampling rule across all services
  8041  // for a 10-second window.
  8042  type SamplingStatisticSummary struct {
  8043  	_ struct{} `type:"structure"`
  8044  
  8045  	// The number of requests recorded with borrowed reservoir quota.
  8046  	BorrowCount *int64 `type:"integer"`
  8047  
  8048  	// The number of requests that matched the rule.
  8049  	RequestCount *int64 `type:"integer"`
  8050  
  8051  	// The name of the sampling rule.
  8052  	RuleName *string `type:"string"`
  8053  
  8054  	// The number of requests recorded.
  8055  	SampledCount *int64 `type:"integer"`
  8056  
  8057  	// The start time of the reporting window.
  8058  	Timestamp *time.Time `type:"timestamp"`
  8059  }
  8060  
  8061  // String returns the string representation.
  8062  //
  8063  // API parameter values that are decorated as "sensitive" in the API will not
  8064  // be included in the string output. The member name will be present, but the
  8065  // value will be replaced with "sensitive".
  8066  func (s SamplingStatisticSummary) String() string {
  8067  	return awsutil.Prettify(s)
  8068  }
  8069  
  8070  // GoString returns the string representation.
  8071  //
  8072  // API parameter values that are decorated as "sensitive" in the API will not
  8073  // be included in the string output. The member name will be present, but the
  8074  // value will be replaced with "sensitive".
  8075  func (s SamplingStatisticSummary) GoString() string {
  8076  	return s.String()
  8077  }
  8078  
  8079  // SetBorrowCount sets the BorrowCount field's value.
  8080  func (s *SamplingStatisticSummary) SetBorrowCount(v int64) *SamplingStatisticSummary {
  8081  	s.BorrowCount = &v
  8082  	return s
  8083  }
  8084  
  8085  // SetRequestCount sets the RequestCount field's value.
  8086  func (s *SamplingStatisticSummary) SetRequestCount(v int64) *SamplingStatisticSummary {
  8087  	s.RequestCount = &v
  8088  	return s
  8089  }
  8090  
  8091  // SetRuleName sets the RuleName field's value.
  8092  func (s *SamplingStatisticSummary) SetRuleName(v string) *SamplingStatisticSummary {
  8093  	s.RuleName = &v
  8094  	return s
  8095  }
  8096  
  8097  // SetSampledCount sets the SampledCount field's value.
  8098  func (s *SamplingStatisticSummary) SetSampledCount(v int64) *SamplingStatisticSummary {
  8099  	s.SampledCount = &v
  8100  	return s
  8101  }
  8102  
  8103  // SetTimestamp sets the Timestamp field's value.
  8104  func (s *SamplingStatisticSummary) SetTimestamp(v time.Time) *SamplingStatisticSummary {
  8105  	s.Timestamp = &v
  8106  	return s
  8107  }
  8108  
  8109  // Request sampling results for a single rule from a service. Results are for
  8110  // the last 10 seconds unless the service has been assigned a longer reporting
  8111  // interval after a previous call to GetSamplingTargets (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html).
  8112  type SamplingStatisticsDocument struct {
  8113  	_ struct{} `type:"structure"`
  8114  
  8115  	// The number of requests recorded with borrowed reservoir quota.
  8116  	BorrowCount *int64 `type:"integer"`
  8117  
  8118  	// A unique identifier for the service in hexadecimal.
  8119  	//
  8120  	// ClientID is a required field
  8121  	ClientID *string `min:"24" type:"string" required:"true"`
  8122  
  8123  	// The number of requests that matched the rule.
  8124  	//
  8125  	// RequestCount is a required field
  8126  	RequestCount *int64 `type:"integer" required:"true"`
  8127  
  8128  	// The name of the sampling rule.
  8129  	//
  8130  	// RuleName is a required field
  8131  	RuleName *string `min:"1" type:"string" required:"true"`
  8132  
  8133  	// The number of requests recorded.
  8134  	//
  8135  	// SampledCount is a required field
  8136  	SampledCount *int64 `type:"integer" required:"true"`
  8137  
  8138  	// The current time.
  8139  	//
  8140  	// Timestamp is a required field
  8141  	Timestamp *time.Time `type:"timestamp" required:"true"`
  8142  }
  8143  
  8144  // String returns the string representation.
  8145  //
  8146  // API parameter values that are decorated as "sensitive" in the API will not
  8147  // be included in the string output. The member name will be present, but the
  8148  // value will be replaced with "sensitive".
  8149  func (s SamplingStatisticsDocument) String() string {
  8150  	return awsutil.Prettify(s)
  8151  }
  8152  
  8153  // GoString returns the string representation.
  8154  //
  8155  // API parameter values that are decorated as "sensitive" in the API will not
  8156  // be included in the string output. The member name will be present, but the
  8157  // value will be replaced with "sensitive".
  8158  func (s SamplingStatisticsDocument) GoString() string {
  8159  	return s.String()
  8160  }
  8161  
  8162  // Validate inspects the fields of the type to determine if they are valid.
  8163  func (s *SamplingStatisticsDocument) Validate() error {
  8164  	invalidParams := request.ErrInvalidParams{Context: "SamplingStatisticsDocument"}
  8165  	if s.ClientID == nil {
  8166  		invalidParams.Add(request.NewErrParamRequired("ClientID"))
  8167  	}
  8168  	if s.ClientID != nil && len(*s.ClientID) < 24 {
  8169  		invalidParams.Add(request.NewErrParamMinLen("ClientID", 24))
  8170  	}
  8171  	if s.RequestCount == nil {
  8172  		invalidParams.Add(request.NewErrParamRequired("RequestCount"))
  8173  	}
  8174  	if s.RuleName == nil {
  8175  		invalidParams.Add(request.NewErrParamRequired("RuleName"))
  8176  	}
  8177  	if s.RuleName != nil && len(*s.RuleName) < 1 {
  8178  		invalidParams.Add(request.NewErrParamMinLen("RuleName", 1))
  8179  	}
  8180  	if s.SampledCount == nil {
  8181  		invalidParams.Add(request.NewErrParamRequired("SampledCount"))
  8182  	}
  8183  	if s.Timestamp == nil {
  8184  		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
  8185  	}
  8186  
  8187  	if invalidParams.Len() > 0 {
  8188  		return invalidParams
  8189  	}
  8190  	return nil
  8191  }
  8192  
  8193  // SetBorrowCount sets the BorrowCount field's value.
  8194  func (s *SamplingStatisticsDocument) SetBorrowCount(v int64) *SamplingStatisticsDocument {
  8195  	s.BorrowCount = &v
  8196  	return s
  8197  }
  8198  
  8199  // SetClientID sets the ClientID field's value.
  8200  func (s *SamplingStatisticsDocument) SetClientID(v string) *SamplingStatisticsDocument {
  8201  	s.ClientID = &v
  8202  	return s
  8203  }
  8204  
  8205  // SetRequestCount sets the RequestCount field's value.
  8206  func (s *SamplingStatisticsDocument) SetRequestCount(v int64) *SamplingStatisticsDocument {
  8207  	s.RequestCount = &v
  8208  	return s
  8209  }
  8210  
  8211  // SetRuleName sets the RuleName field's value.
  8212  func (s *SamplingStatisticsDocument) SetRuleName(v string) *SamplingStatisticsDocument {
  8213  	s.RuleName = &v
  8214  	return s
  8215  }
  8216  
  8217  // SetSampledCount sets the SampledCount field's value.
  8218  func (s *SamplingStatisticsDocument) SetSampledCount(v int64) *SamplingStatisticsDocument {
  8219  	s.SampledCount = &v
  8220  	return s
  8221  }
  8222  
  8223  // SetTimestamp sets the Timestamp field's value.
  8224  func (s *SamplingStatisticsDocument) SetTimestamp(v time.Time) *SamplingStatisticsDocument {
  8225  	s.Timestamp = &v
  8226  	return s
  8227  }
  8228  
  8229  // The name and value of a sampling rule to apply to a trace summary.
  8230  type SamplingStrategy struct {
  8231  	_ struct{} `type:"structure"`
  8232  
  8233  	// The name of a sampling rule.
  8234  	Name *string `type:"string" enum:"SamplingStrategyName"`
  8235  
  8236  	// The value of a sampling rule.
  8237  	Value *float64 `type:"double"`
  8238  }
  8239  
  8240  // String returns the string representation.
  8241  //
  8242  // API parameter values that are decorated as "sensitive" in the API will not
  8243  // be included in the string output. The member name will be present, but the
  8244  // value will be replaced with "sensitive".
  8245  func (s SamplingStrategy) String() string {
  8246  	return awsutil.Prettify(s)
  8247  }
  8248  
  8249  // GoString returns the string representation.
  8250  //
  8251  // API parameter values that are decorated as "sensitive" in the API will not
  8252  // be included in the string output. The member name will be present, but the
  8253  // value will be replaced with "sensitive".
  8254  func (s SamplingStrategy) GoString() string {
  8255  	return s.String()
  8256  }
  8257  
  8258  // SetName sets the Name field's value.
  8259  func (s *SamplingStrategy) SetName(v string) *SamplingStrategy {
  8260  	s.Name = &v
  8261  	return s
  8262  }
  8263  
  8264  // SetValue sets the Value field's value.
  8265  func (s *SamplingStrategy) SetValue(v float64) *SamplingStrategy {
  8266  	s.Value = &v
  8267  	return s
  8268  }
  8269  
  8270  // Temporary changes to a sampling rule configuration. To meet the global sampling
  8271  // target for a rule, X-Ray calculates a new reservoir for each service based
  8272  // on the recent sampling results of all services that called GetSamplingTargets
  8273  // (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html).
  8274  type SamplingTargetDocument struct {
  8275  	_ struct{} `type:"structure"`
  8276  
  8277  	// The percentage of matching requests to instrument, after the reservoir is
  8278  	// exhausted.
  8279  	FixedRate *float64 `type:"double"`
  8280  
  8281  	// The number of seconds for the service to wait before getting sampling targets
  8282  	// again.
  8283  	Interval *int64 `type:"integer"`
  8284  
  8285  	// The number of requests per second that X-Ray allocated for this service.
  8286  	ReservoirQuota *int64 `type:"integer"`
  8287  
  8288  	// When the reservoir quota expires.
  8289  	ReservoirQuotaTTL *time.Time `type:"timestamp"`
  8290  
  8291  	// The name of the sampling rule.
  8292  	RuleName *string `type:"string"`
  8293  }
  8294  
  8295  // String returns the string representation.
  8296  //
  8297  // API parameter values that are decorated as "sensitive" in the API will not
  8298  // be included in the string output. The member name will be present, but the
  8299  // value will be replaced with "sensitive".
  8300  func (s SamplingTargetDocument) String() string {
  8301  	return awsutil.Prettify(s)
  8302  }
  8303  
  8304  // GoString returns the string representation.
  8305  //
  8306  // API parameter values that are decorated as "sensitive" in the API will not
  8307  // be included in the string output. The member name will be present, but the
  8308  // value will be replaced with "sensitive".
  8309  func (s SamplingTargetDocument) GoString() string {
  8310  	return s.String()
  8311  }
  8312  
  8313  // SetFixedRate sets the FixedRate field's value.
  8314  func (s *SamplingTargetDocument) SetFixedRate(v float64) *SamplingTargetDocument {
  8315  	s.FixedRate = &v
  8316  	return s
  8317  }
  8318  
  8319  // SetInterval sets the Interval field's value.
  8320  func (s *SamplingTargetDocument) SetInterval(v int64) *SamplingTargetDocument {
  8321  	s.Interval = &v
  8322  	return s
  8323  }
  8324  
  8325  // SetReservoirQuota sets the ReservoirQuota field's value.
  8326  func (s *SamplingTargetDocument) SetReservoirQuota(v int64) *SamplingTargetDocument {
  8327  	s.ReservoirQuota = &v
  8328  	return s
  8329  }
  8330  
  8331  // SetReservoirQuotaTTL sets the ReservoirQuotaTTL field's value.
  8332  func (s *SamplingTargetDocument) SetReservoirQuotaTTL(v time.Time) *SamplingTargetDocument {
  8333  	s.ReservoirQuotaTTL = &v
  8334  	return s
  8335  }
  8336  
  8337  // SetRuleName sets the RuleName field's value.
  8338  func (s *SamplingTargetDocument) SetRuleName(v string) *SamplingTargetDocument {
  8339  	s.RuleName = &v
  8340  	return s
  8341  }
  8342  
  8343  // A segment from a trace that has been ingested by the X-Ray service. The segment
  8344  // can be compiled from documents uploaded with PutTraceSegments (https://docs.aws.amazon.com/xray/latest/api/API_PutTraceSegments.html),
  8345  // or an inferred segment for a downstream service, generated from a subsegment
  8346  // sent by the service that called it.
  8347  //
  8348  // For the full segment document schema, see Amazon Web Services X-Ray Segment
  8349  // Documents (https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html)
  8350  // in the Amazon Web Services X-Ray Developer Guide.
  8351  type Segment struct {
  8352  	_ struct{} `type:"structure"`
  8353  
  8354  	// The segment document.
  8355  	Document *string `min:"1" type:"string"`
  8356  
  8357  	// The segment's ID.
  8358  	Id *string `type:"string"`
  8359  }
  8360  
  8361  // String returns the string representation.
  8362  //
  8363  // API parameter values that are decorated as "sensitive" in the API will not
  8364  // be included in the string output. The member name will be present, but the
  8365  // value will be replaced with "sensitive".
  8366  func (s Segment) String() string {
  8367  	return awsutil.Prettify(s)
  8368  }
  8369  
  8370  // GoString returns the string representation.
  8371  //
  8372  // API parameter values that are decorated as "sensitive" in the API will not
  8373  // be included in the string output. The member name will be present, but the
  8374  // value will be replaced with "sensitive".
  8375  func (s Segment) GoString() string {
  8376  	return s.String()
  8377  }
  8378  
  8379  // SetDocument sets the Document field's value.
  8380  func (s *Segment) SetDocument(v string) *Segment {
  8381  	s.Document = &v
  8382  	return s
  8383  }
  8384  
  8385  // SetId sets the Id field's value.
  8386  func (s *Segment) SetId(v string) *Segment {
  8387  	s.Id = &v
  8388  	return s
  8389  }
  8390  
  8391  // Information about an application that processed requests, users that made
  8392  // requests, or downstream services, resources, and applications that an application
  8393  // used.
  8394  type Service struct {
  8395  	_ struct{} `type:"structure"`
  8396  
  8397  	// Identifier of the Amazon Web Services account in which the service runs.
  8398  	AccountId *string `type:"string"`
  8399  
  8400  	// A histogram that maps the spread of service durations.
  8401  	DurationHistogram []*HistogramEntry `type:"list"`
  8402  
  8403  	// Connections to downstream services.
  8404  	Edges []*Edge `type:"list"`
  8405  
  8406  	// The end time of the last segment that the service generated.
  8407  	EndTime *time.Time `type:"timestamp"`
  8408  
  8409  	// The canonical name of the service.
  8410  	Name *string `type:"string"`
  8411  
  8412  	// A list of names for the service, including the canonical name.
  8413  	Names []*string `type:"list"`
  8414  
  8415  	// Identifier for the service. Unique within the service map.
  8416  	ReferenceId *int64 `type:"integer"`
  8417  
  8418  	// A histogram that maps the spread of service response times.
  8419  	ResponseTimeHistogram []*HistogramEntry `type:"list"`
  8420  
  8421  	// Indicates that the service was the first service to process a request.
  8422  	Root *bool `type:"boolean"`
  8423  
  8424  	// The start time of the first segment that the service generated.
  8425  	StartTime *time.Time `type:"timestamp"`
  8426  
  8427  	// The service's state.
  8428  	State *string `type:"string"`
  8429  
  8430  	// Aggregated statistics for the service.
  8431  	SummaryStatistics *ServiceStatistics `type:"structure"`
  8432  
  8433  	// The type of service.
  8434  	//
  8435  	//    * Amazon Web Services Resource - The type of an Amazon Web Services resource.
  8436  	//    For example, AWS::EC2::Instance for an application running on Amazon EC2
  8437  	//    or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application
  8438  	//    used.
  8439  	//
  8440  	//    * Amazon Web Services Service - The type of an Amazon Web Services service.
  8441  	//    For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that
  8442  	//    didn't target a specific table.
  8443  	//
  8444  	//    * client - Represents the clients that sent requests to a root service.
  8445  	//
  8446  	//    * remote - A downstream service of indeterminate type.
  8447  	Type *string `type:"string"`
  8448  }
  8449  
  8450  // String returns the string representation.
  8451  //
  8452  // API parameter values that are decorated as "sensitive" in the API will not
  8453  // be included in the string output. The member name will be present, but the
  8454  // value will be replaced with "sensitive".
  8455  func (s Service) String() string {
  8456  	return awsutil.Prettify(s)
  8457  }
  8458  
  8459  // GoString returns the string representation.
  8460  //
  8461  // API parameter values that are decorated as "sensitive" in the API will not
  8462  // be included in the string output. The member name will be present, but the
  8463  // value will be replaced with "sensitive".
  8464  func (s Service) GoString() string {
  8465  	return s.String()
  8466  }
  8467  
  8468  // SetAccountId sets the AccountId field's value.
  8469  func (s *Service) SetAccountId(v string) *Service {
  8470  	s.AccountId = &v
  8471  	return s
  8472  }
  8473  
  8474  // SetDurationHistogram sets the DurationHistogram field's value.
  8475  func (s *Service) SetDurationHistogram(v []*HistogramEntry) *Service {
  8476  	s.DurationHistogram = v
  8477  	return s
  8478  }
  8479  
  8480  // SetEdges sets the Edges field's value.
  8481  func (s *Service) SetEdges(v []*Edge) *Service {
  8482  	s.Edges = v
  8483  	return s
  8484  }
  8485  
  8486  // SetEndTime sets the EndTime field's value.
  8487  func (s *Service) SetEndTime(v time.Time) *Service {
  8488  	s.EndTime = &v
  8489  	return s
  8490  }
  8491  
  8492  // SetName sets the Name field's value.
  8493  func (s *Service) SetName(v string) *Service {
  8494  	s.Name = &v
  8495  	return s
  8496  }
  8497  
  8498  // SetNames sets the Names field's value.
  8499  func (s *Service) SetNames(v []*string) *Service {
  8500  	s.Names = v
  8501  	return s
  8502  }
  8503  
  8504  // SetReferenceId sets the ReferenceId field's value.
  8505  func (s *Service) SetReferenceId(v int64) *Service {
  8506  	s.ReferenceId = &v
  8507  	return s
  8508  }
  8509  
  8510  // SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
  8511  func (s *Service) SetResponseTimeHistogram(v []*HistogramEntry) *Service {
  8512  	s.ResponseTimeHistogram = v
  8513  	return s
  8514  }
  8515  
  8516  // SetRoot sets the Root field's value.
  8517  func (s *Service) SetRoot(v bool) *Service {
  8518  	s.Root = &v
  8519  	return s
  8520  }
  8521  
  8522  // SetStartTime sets the StartTime field's value.
  8523  func (s *Service) SetStartTime(v time.Time) *Service {
  8524  	s.StartTime = &v
  8525  	return s
  8526  }
  8527  
  8528  // SetState sets the State field's value.
  8529  func (s *Service) SetState(v string) *Service {
  8530  	s.State = &v
  8531  	return s
  8532  }
  8533  
  8534  // SetSummaryStatistics sets the SummaryStatistics field's value.
  8535  func (s *Service) SetSummaryStatistics(v *ServiceStatistics) *Service {
  8536  	s.SummaryStatistics = v
  8537  	return s
  8538  }
  8539  
  8540  // SetType sets the Type field's value.
  8541  func (s *Service) SetType(v string) *Service {
  8542  	s.Type = &v
  8543  	return s
  8544  }
  8545  
  8546  type ServiceId struct {
  8547  	_ struct{} `type:"structure"`
  8548  
  8549  	AccountId *string `type:"string"`
  8550  
  8551  	Name *string `type:"string"`
  8552  
  8553  	Names []*string `type:"list"`
  8554  
  8555  	Type *string `type:"string"`
  8556  }
  8557  
  8558  // String returns the string representation.
  8559  //
  8560  // API parameter values that are decorated as "sensitive" in the API will not
  8561  // be included in the string output. The member name will be present, but the
  8562  // value will be replaced with "sensitive".
  8563  func (s ServiceId) String() string {
  8564  	return awsutil.Prettify(s)
  8565  }
  8566  
  8567  // GoString returns the string representation.
  8568  //
  8569  // API parameter values that are decorated as "sensitive" in the API will not
  8570  // be included in the string output. The member name will be present, but the
  8571  // value will be replaced with "sensitive".
  8572  func (s ServiceId) GoString() string {
  8573  	return s.String()
  8574  }
  8575  
  8576  // SetAccountId sets the AccountId field's value.
  8577  func (s *ServiceId) SetAccountId(v string) *ServiceId {
  8578  	s.AccountId = &v
  8579  	return s
  8580  }
  8581  
  8582  // SetName sets the Name field's value.
  8583  func (s *ServiceId) SetName(v string) *ServiceId {
  8584  	s.Name = &v
  8585  	return s
  8586  }
  8587  
  8588  // SetNames sets the Names field's value.
  8589  func (s *ServiceId) SetNames(v []*string) *ServiceId {
  8590  	s.Names = v
  8591  	return s
  8592  }
  8593  
  8594  // SetType sets the Type field's value.
  8595  func (s *ServiceId) SetType(v string) *ServiceId {
  8596  	s.Type = &v
  8597  	return s
  8598  }
  8599  
  8600  // Response statistics for a service.
  8601  type ServiceStatistics struct {
  8602  	_ struct{} `type:"structure"`
  8603  
  8604  	// Information about requests that failed with a 4xx Client Error status code.
  8605  	ErrorStatistics *ErrorStatistics `type:"structure"`
  8606  
  8607  	// Information about requests that failed with a 5xx Server Error status code.
  8608  	FaultStatistics *FaultStatistics `type:"structure"`
  8609  
  8610  	// The number of requests that completed with a 2xx Success status code.
  8611  	OkCount *int64 `type:"long"`
  8612  
  8613  	// The total number of completed requests.
  8614  	TotalCount *int64 `type:"long"`
  8615  
  8616  	// The aggregate response time of completed requests.
  8617  	TotalResponseTime *float64 `type:"double"`
  8618  }
  8619  
  8620  // String returns the string representation.
  8621  //
  8622  // API parameter values that are decorated as "sensitive" in the API will not
  8623  // be included in the string output. The member name will be present, but the
  8624  // value will be replaced with "sensitive".
  8625  func (s ServiceStatistics) String() string {
  8626  	return awsutil.Prettify(s)
  8627  }
  8628  
  8629  // GoString returns the string representation.
  8630  //
  8631  // API parameter values that are decorated as "sensitive" in the API will not
  8632  // be included in the string output. The member name will be present, but the
  8633  // value will be replaced with "sensitive".
  8634  func (s ServiceStatistics) GoString() string {
  8635  	return s.String()
  8636  }
  8637  
  8638  // SetErrorStatistics sets the ErrorStatistics field's value.
  8639  func (s *ServiceStatistics) SetErrorStatistics(v *ErrorStatistics) *ServiceStatistics {
  8640  	s.ErrorStatistics = v
  8641  	return s
  8642  }
  8643  
  8644  // SetFaultStatistics sets the FaultStatistics field's value.
  8645  func (s *ServiceStatistics) SetFaultStatistics(v *FaultStatistics) *ServiceStatistics {
  8646  	s.FaultStatistics = v
  8647  	return s
  8648  }
  8649  
  8650  // SetOkCount sets the OkCount field's value.
  8651  func (s *ServiceStatistics) SetOkCount(v int64) *ServiceStatistics {
  8652  	s.OkCount = &v
  8653  	return s
  8654  }
  8655  
  8656  // SetTotalCount sets the TotalCount field's value.
  8657  func (s *ServiceStatistics) SetTotalCount(v int64) *ServiceStatistics {
  8658  	s.TotalCount = &v
  8659  	return s
  8660  }
  8661  
  8662  // SetTotalResponseTime sets the TotalResponseTime field's value.
  8663  func (s *ServiceStatistics) SetTotalResponseTime(v float64) *ServiceStatistics {
  8664  	s.TotalResponseTime = &v
  8665  	return s
  8666  }
  8667  
  8668  // A map that contains tag keys and tag values to attach to an Amazon Web Services
  8669  // X-Ray group or sampling rule. For more information about ways to use tags,
  8670  // see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  8671  // in the Amazon Web Services General Reference.
  8672  //
  8673  // The following restrictions apply to tags:
  8674  //
  8675  //    * Maximum number of user-applied tags per resource: 50
  8676  //
  8677  //    * Tag keys and values are case sensitive.
  8678  //
  8679  //    * Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
  8680  //    use. You cannot edit or delete system tags.
  8681  type Tag struct {
  8682  	_ struct{} `type:"structure"`
  8683  
  8684  	// A tag key, such as Stage or Name. A tag key cannot be empty. The key can
  8685  	// be a maximum of 128 characters, and can contain only Unicode letters, numbers,
  8686  	// or separators, or the following special characters: + - = . _ : /
  8687  	//
  8688  	// Key is a required field
  8689  	Key *string `min:"1" type:"string" required:"true"`
  8690  
  8691  	// An optional tag value, such as Production or test-only. The value can be
  8692  	// a maximum of 255 characters, and contain only Unicode letters, numbers, or
  8693  	// separators, or the following special characters: + - = . _ : /
  8694  	//
  8695  	// Value is a required field
  8696  	Value *string `type:"string" required:"true"`
  8697  }
  8698  
  8699  // String returns the string representation.
  8700  //
  8701  // API parameter values that are decorated as "sensitive" in the API will not
  8702  // be included in the string output. The member name will be present, but the
  8703  // value will be replaced with "sensitive".
  8704  func (s Tag) String() string {
  8705  	return awsutil.Prettify(s)
  8706  }
  8707  
  8708  // GoString returns the string representation.
  8709  //
  8710  // API parameter values that are decorated as "sensitive" in the API will not
  8711  // be included in the string output. The member name will be present, but the
  8712  // value will be replaced with "sensitive".
  8713  func (s Tag) GoString() string {
  8714  	return s.String()
  8715  }
  8716  
  8717  // Validate inspects the fields of the type to determine if they are valid.
  8718  func (s *Tag) Validate() error {
  8719  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
  8720  	if s.Key == nil {
  8721  		invalidParams.Add(request.NewErrParamRequired("Key"))
  8722  	}
  8723  	if s.Key != nil && len(*s.Key) < 1 {
  8724  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
  8725  	}
  8726  	if s.Value == nil {
  8727  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8728  	}
  8729  
  8730  	if invalidParams.Len() > 0 {
  8731  		return invalidParams
  8732  	}
  8733  	return nil
  8734  }
  8735  
  8736  // SetKey sets the Key field's value.
  8737  func (s *Tag) SetKey(v string) *Tag {
  8738  	s.Key = &v
  8739  	return s
  8740  }
  8741  
  8742  // SetValue sets the Value field's value.
  8743  func (s *Tag) SetValue(v string) *Tag {
  8744  	s.Value = &v
  8745  	return s
  8746  }
  8747  
  8748  type TagResourceInput struct {
  8749  	_ struct{} `type:"structure"`
  8750  
  8751  	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
  8752  	//
  8753  	// ResourceARN is a required field
  8754  	ResourceARN *string `min:"1" type:"string" required:"true"`
  8755  
  8756  	// A map that contains one or more tag keys and tag values to attach to an X-Ray
  8757  	// group or sampling rule. For more information about ways to use tags, see
  8758  	// Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  8759  	// in the Amazon Web Services General Reference.
  8760  	//
  8761  	// The following restrictions apply to tags:
  8762  	//
  8763  	//    * Maximum number of user-applied tags per resource: 50
  8764  	//
  8765  	//    * Maximum tag key length: 128 Unicode characters
  8766  	//
  8767  	//    * Maximum tag value length: 256 Unicode characters
  8768  	//
  8769  	//    * Valid values for key and value: a-z, A-Z, 0-9, space, and the following
  8770  	//    characters: _ . : / = + - and @
  8771  	//
  8772  	//    * Tag keys and values are case sensitive.
  8773  	//
  8774  	//    * Don't use aws: as a prefix for keys; it's reserved for Amazon Web Services
  8775  	//    use. You cannot edit or delete system tags.
  8776  	//
  8777  	// Tags is a required field
  8778  	Tags []*Tag `type:"list" required:"true"`
  8779  }
  8780  
  8781  // String returns the string representation.
  8782  //
  8783  // API parameter values that are decorated as "sensitive" in the API will not
  8784  // be included in the string output. The member name will be present, but the
  8785  // value will be replaced with "sensitive".
  8786  func (s TagResourceInput) String() string {
  8787  	return awsutil.Prettify(s)
  8788  }
  8789  
  8790  // GoString returns the string representation.
  8791  //
  8792  // API parameter values that are decorated as "sensitive" in the API will not
  8793  // be included in the string output. The member name will be present, but the
  8794  // value will be replaced with "sensitive".
  8795  func (s TagResourceInput) GoString() string {
  8796  	return s.String()
  8797  }
  8798  
  8799  // Validate inspects the fields of the type to determine if they are valid.
  8800  func (s *TagResourceInput) Validate() error {
  8801  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  8802  	if s.ResourceARN == nil {
  8803  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  8804  	}
  8805  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  8806  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  8807  	}
  8808  	if s.Tags == nil {
  8809  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  8810  	}
  8811  	if s.Tags != nil {
  8812  		for i, v := range s.Tags {
  8813  			if v == nil {
  8814  				continue
  8815  			}
  8816  			if err := v.Validate(); err != nil {
  8817  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  8818  			}
  8819  		}
  8820  	}
  8821  
  8822  	if invalidParams.Len() > 0 {
  8823  		return invalidParams
  8824  	}
  8825  	return nil
  8826  }
  8827  
  8828  // SetResourceARN sets the ResourceARN field's value.
  8829  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
  8830  	s.ResourceARN = &v
  8831  	return s
  8832  }
  8833  
  8834  // SetTags sets the Tags field's value.
  8835  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
  8836  	s.Tags = v
  8837  	return s
  8838  }
  8839  
  8840  type TagResourceOutput struct {
  8841  	_ struct{} `type:"structure" nopayload:"true"`
  8842  }
  8843  
  8844  // String returns the string representation.
  8845  //
  8846  // API parameter values that are decorated as "sensitive" in the API will not
  8847  // be included in the string output. The member name will be present, but the
  8848  // value will be replaced with "sensitive".
  8849  func (s TagResourceOutput) String() string {
  8850  	return awsutil.Prettify(s)
  8851  }
  8852  
  8853  // GoString returns the string representation.
  8854  //
  8855  // API parameter values that are decorated as "sensitive" in the API will not
  8856  // be included in the string output. The member name will be present, but the
  8857  // value will be replaced with "sensitive".
  8858  func (s TagResourceOutput) GoString() string {
  8859  	return s.String()
  8860  }
  8861  
  8862  type TelemetryRecord struct {
  8863  	_ struct{} `type:"structure"`
  8864  
  8865  	BackendConnectionErrors *BackendConnectionErrors `type:"structure"`
  8866  
  8867  	SegmentsReceivedCount *int64 `type:"integer"`
  8868  
  8869  	SegmentsRejectedCount *int64 `type:"integer"`
  8870  
  8871  	SegmentsSentCount *int64 `type:"integer"`
  8872  
  8873  	SegmentsSpilloverCount *int64 `type:"integer"`
  8874  
  8875  	// Timestamp is a required field
  8876  	Timestamp *time.Time `type:"timestamp" required:"true"`
  8877  }
  8878  
  8879  // String returns the string representation.
  8880  //
  8881  // API parameter values that are decorated as "sensitive" in the API will not
  8882  // be included in the string output. The member name will be present, but the
  8883  // value will be replaced with "sensitive".
  8884  func (s TelemetryRecord) String() string {
  8885  	return awsutil.Prettify(s)
  8886  }
  8887  
  8888  // GoString returns the string representation.
  8889  //
  8890  // API parameter values that are decorated as "sensitive" in the API will not
  8891  // be included in the string output. The member name will be present, but the
  8892  // value will be replaced with "sensitive".
  8893  func (s TelemetryRecord) GoString() string {
  8894  	return s.String()
  8895  }
  8896  
  8897  // Validate inspects the fields of the type to determine if they are valid.
  8898  func (s *TelemetryRecord) Validate() error {
  8899  	invalidParams := request.ErrInvalidParams{Context: "TelemetryRecord"}
  8900  	if s.Timestamp == nil {
  8901  		invalidParams.Add(request.NewErrParamRequired("Timestamp"))
  8902  	}
  8903  
  8904  	if invalidParams.Len() > 0 {
  8905  		return invalidParams
  8906  	}
  8907  	return nil
  8908  }
  8909  
  8910  // SetBackendConnectionErrors sets the BackendConnectionErrors field's value.
  8911  func (s *TelemetryRecord) SetBackendConnectionErrors(v *BackendConnectionErrors) *TelemetryRecord {
  8912  	s.BackendConnectionErrors = v
  8913  	return s
  8914  }
  8915  
  8916  // SetSegmentsReceivedCount sets the SegmentsReceivedCount field's value.
  8917  func (s *TelemetryRecord) SetSegmentsReceivedCount(v int64) *TelemetryRecord {
  8918  	s.SegmentsReceivedCount = &v
  8919  	return s
  8920  }
  8921  
  8922  // SetSegmentsRejectedCount sets the SegmentsRejectedCount field's value.
  8923  func (s *TelemetryRecord) SetSegmentsRejectedCount(v int64) *TelemetryRecord {
  8924  	s.SegmentsRejectedCount = &v
  8925  	return s
  8926  }
  8927  
  8928  // SetSegmentsSentCount sets the SegmentsSentCount field's value.
  8929  func (s *TelemetryRecord) SetSegmentsSentCount(v int64) *TelemetryRecord {
  8930  	s.SegmentsSentCount = &v
  8931  	return s
  8932  }
  8933  
  8934  // SetSegmentsSpilloverCount sets the SegmentsSpilloverCount field's value.
  8935  func (s *TelemetryRecord) SetSegmentsSpilloverCount(v int64) *TelemetryRecord {
  8936  	s.SegmentsSpilloverCount = &v
  8937  	return s
  8938  }
  8939  
  8940  // SetTimestamp sets the Timestamp field's value.
  8941  func (s *TelemetryRecord) SetTimestamp(v time.Time) *TelemetryRecord {
  8942  	s.Timestamp = &v
  8943  	return s
  8944  }
  8945  
  8946  // The request exceeds the maximum number of requests per second.
  8947  type ThrottledException struct {
  8948  	_            struct{}                  `type:"structure"`
  8949  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8950  
  8951  	Message_ *string `locationName:"Message" type:"string"`
  8952  }
  8953  
  8954  // String returns the string representation.
  8955  //
  8956  // API parameter values that are decorated as "sensitive" in the API will not
  8957  // be included in the string output. The member name will be present, but the
  8958  // value will be replaced with "sensitive".
  8959  func (s ThrottledException) String() string {
  8960  	return awsutil.Prettify(s)
  8961  }
  8962  
  8963  // GoString returns the string representation.
  8964  //
  8965  // API parameter values that are decorated as "sensitive" in the API will not
  8966  // be included in the string output. The member name will be present, but the
  8967  // value will be replaced with "sensitive".
  8968  func (s ThrottledException) GoString() string {
  8969  	return s.String()
  8970  }
  8971  
  8972  func newErrorThrottledException(v protocol.ResponseMetadata) error {
  8973  	return &ThrottledException{
  8974  		RespMetadata: v,
  8975  	}
  8976  }
  8977  
  8978  // Code returns the exception type name.
  8979  func (s *ThrottledException) Code() string {
  8980  	return "ThrottledException"
  8981  }
  8982  
  8983  // Message returns the exception's message.
  8984  func (s *ThrottledException) Message() string {
  8985  	if s.Message_ != nil {
  8986  		return *s.Message_
  8987  	}
  8988  	return ""
  8989  }
  8990  
  8991  // OrigErr always returns nil, satisfies awserr.Error interface.
  8992  func (s *ThrottledException) OrigErr() error {
  8993  	return nil
  8994  }
  8995  
  8996  func (s *ThrottledException) Error() string {
  8997  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8998  }
  8999  
  9000  // Status code returns the HTTP status code for the request's response error.
  9001  func (s *ThrottledException) StatusCode() int {
  9002  	return s.RespMetadata.StatusCode
  9003  }
  9004  
  9005  // RequestID returns the service's response RequestID for request.
  9006  func (s *ThrottledException) RequestID() string {
  9007  	return s.RespMetadata.RequestID
  9008  }
  9009  
  9010  // A list of TimeSeriesStatistic structures.
  9011  type TimeSeriesServiceStatistics struct {
  9012  	_ struct{} `type:"structure"`
  9013  
  9014  	// Response statistics for an edge.
  9015  	EdgeSummaryStatistics *EdgeStatistics `type:"structure"`
  9016  
  9017  	// The response time histogram for the selected entities.
  9018  	ResponseTimeHistogram []*HistogramEntry `type:"list"`
  9019  
  9020  	// The forecasted high and low fault count values.
  9021  	ServiceForecastStatistics *ForecastStatistics `type:"structure"`
  9022  
  9023  	// Response statistics for a service.
  9024  	ServiceSummaryStatistics *ServiceStatistics `type:"structure"`
  9025  
  9026  	// Timestamp of the window for which statistics are aggregated.
  9027  	Timestamp *time.Time `type:"timestamp"`
  9028  }
  9029  
  9030  // String returns the string representation.
  9031  //
  9032  // API parameter values that are decorated as "sensitive" in the API will not
  9033  // be included in the string output. The member name will be present, but the
  9034  // value will be replaced with "sensitive".
  9035  func (s TimeSeriesServiceStatistics) String() string {
  9036  	return awsutil.Prettify(s)
  9037  }
  9038  
  9039  // GoString returns the string representation.
  9040  //
  9041  // API parameter values that are decorated as "sensitive" in the API will not
  9042  // be included in the string output. The member name will be present, but the
  9043  // value will be replaced with "sensitive".
  9044  func (s TimeSeriesServiceStatistics) GoString() string {
  9045  	return s.String()
  9046  }
  9047  
  9048  // SetEdgeSummaryStatistics sets the EdgeSummaryStatistics field's value.
  9049  func (s *TimeSeriesServiceStatistics) SetEdgeSummaryStatistics(v *EdgeStatistics) *TimeSeriesServiceStatistics {
  9050  	s.EdgeSummaryStatistics = v
  9051  	return s
  9052  }
  9053  
  9054  // SetResponseTimeHistogram sets the ResponseTimeHistogram field's value.
  9055  func (s *TimeSeriesServiceStatistics) SetResponseTimeHistogram(v []*HistogramEntry) *TimeSeriesServiceStatistics {
  9056  	s.ResponseTimeHistogram = v
  9057  	return s
  9058  }
  9059  
  9060  // SetServiceForecastStatistics sets the ServiceForecastStatistics field's value.
  9061  func (s *TimeSeriesServiceStatistics) SetServiceForecastStatistics(v *ForecastStatistics) *TimeSeriesServiceStatistics {
  9062  	s.ServiceForecastStatistics = v
  9063  	return s
  9064  }
  9065  
  9066  // SetServiceSummaryStatistics sets the ServiceSummaryStatistics field's value.
  9067  func (s *TimeSeriesServiceStatistics) SetServiceSummaryStatistics(v *ServiceStatistics) *TimeSeriesServiceStatistics {
  9068  	s.ServiceSummaryStatistics = v
  9069  	return s
  9070  }
  9071  
  9072  // SetTimestamp sets the Timestamp field's value.
  9073  func (s *TimeSeriesServiceStatistics) SetTimestamp(v time.Time) *TimeSeriesServiceStatistics {
  9074  	s.Timestamp = &v
  9075  	return s
  9076  }
  9077  
  9078  // You have exceeded the maximum number of tags you can apply to this resource.
  9079  type TooManyTagsException struct {
  9080  	_            struct{}                  `type:"structure"`
  9081  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9082  
  9083  	Message_ *string `locationName:"Message" type:"string"`
  9084  
  9085  	ResourceName *string `min:"1" type:"string"`
  9086  }
  9087  
  9088  // String returns the string representation.
  9089  //
  9090  // API parameter values that are decorated as "sensitive" in the API will not
  9091  // be included in the string output. The member name will be present, but the
  9092  // value will be replaced with "sensitive".
  9093  func (s TooManyTagsException) String() string {
  9094  	return awsutil.Prettify(s)
  9095  }
  9096  
  9097  // GoString returns the string representation.
  9098  //
  9099  // API parameter values that are decorated as "sensitive" in the API will not
  9100  // be included in the string output. The member name will be present, but the
  9101  // value will be replaced with "sensitive".
  9102  func (s TooManyTagsException) GoString() string {
  9103  	return s.String()
  9104  }
  9105  
  9106  func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
  9107  	return &TooManyTagsException{
  9108  		RespMetadata: v,
  9109  	}
  9110  }
  9111  
  9112  // Code returns the exception type name.
  9113  func (s *TooManyTagsException) Code() string {
  9114  	return "TooManyTagsException"
  9115  }
  9116  
  9117  // Message returns the exception's message.
  9118  func (s *TooManyTagsException) Message() string {
  9119  	if s.Message_ != nil {
  9120  		return *s.Message_
  9121  	}
  9122  	return ""
  9123  }
  9124  
  9125  // OrigErr always returns nil, satisfies awserr.Error interface.
  9126  func (s *TooManyTagsException) OrigErr() error {
  9127  	return nil
  9128  }
  9129  
  9130  func (s *TooManyTagsException) Error() string {
  9131  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9132  }
  9133  
  9134  // Status code returns the HTTP status code for the request's response error.
  9135  func (s *TooManyTagsException) StatusCode() int {
  9136  	return s.RespMetadata.StatusCode
  9137  }
  9138  
  9139  // RequestID returns the service's response RequestID for request.
  9140  func (s *TooManyTagsException) RequestID() string {
  9141  	return s.RespMetadata.RequestID
  9142  }
  9143  
  9144  // A collection of segment documents with matching trace IDs.
  9145  type Trace struct {
  9146  	_ struct{} `type:"structure"`
  9147  
  9148  	// The length of time in seconds between the start time of the root segment
  9149  	// and the end time of the last segment that completed.
  9150  	Duration *float64 `type:"double"`
  9151  
  9152  	// The unique identifier for the request that generated the trace's segments
  9153  	// and subsegments.
  9154  	Id *string `min:"1" type:"string"`
  9155  
  9156  	// LimitExceeded is set to true when the trace has exceeded one of the defined
  9157  	// quotas. For more information about quotas, see Amazon Web Services X-Ray
  9158  	// endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/xray.html).
  9159  	LimitExceeded *bool `type:"boolean"`
  9160  
  9161  	// Segment documents for the segments and subsegments that comprise the trace.
  9162  	Segments []*Segment `type:"list"`
  9163  }
  9164  
  9165  // String returns the string representation.
  9166  //
  9167  // API parameter values that are decorated as "sensitive" in the API will not
  9168  // be included in the string output. The member name will be present, but the
  9169  // value will be replaced with "sensitive".
  9170  func (s Trace) String() string {
  9171  	return awsutil.Prettify(s)
  9172  }
  9173  
  9174  // GoString returns the string representation.
  9175  //
  9176  // API parameter values that are decorated as "sensitive" in the API will not
  9177  // be included in the string output. The member name will be present, but the
  9178  // value will be replaced with "sensitive".
  9179  func (s Trace) GoString() string {
  9180  	return s.String()
  9181  }
  9182  
  9183  // SetDuration sets the Duration field's value.
  9184  func (s *Trace) SetDuration(v float64) *Trace {
  9185  	s.Duration = &v
  9186  	return s
  9187  }
  9188  
  9189  // SetId sets the Id field's value.
  9190  func (s *Trace) SetId(v string) *Trace {
  9191  	s.Id = &v
  9192  	return s
  9193  }
  9194  
  9195  // SetLimitExceeded sets the LimitExceeded field's value.
  9196  func (s *Trace) SetLimitExceeded(v bool) *Trace {
  9197  	s.LimitExceeded = &v
  9198  	return s
  9199  }
  9200  
  9201  // SetSegments sets the Segments field's value.
  9202  func (s *Trace) SetSegments(v []*Segment) *Trace {
  9203  	s.Segments = v
  9204  	return s
  9205  }
  9206  
  9207  // Metadata generated from the segment documents in a trace.
  9208  type TraceSummary struct {
  9209  	_ struct{} `type:"structure"`
  9210  
  9211  	// Annotations from the trace's segment documents.
  9212  	Annotations map[string][]*ValueWithServiceIds `type:"map"`
  9213  
  9214  	// A list of Availability Zones for any zone corresponding to the trace segments.
  9215  	AvailabilityZones []*AvailabilityZoneDetail `type:"list"`
  9216  
  9217  	// The length of time in seconds between the start time of the root segment
  9218  	// and the end time of the last segment that completed.
  9219  	Duration *float64 `type:"double"`
  9220  
  9221  	// The root of a trace.
  9222  	EntryPoint *ServiceId `type:"structure"`
  9223  
  9224  	// A collection of ErrorRootCause structures corresponding to the trace segments.
  9225  	ErrorRootCauses []*ErrorRootCause `type:"list"`
  9226  
  9227  	// A collection of FaultRootCause structures corresponding to the trace segments.
  9228  	FaultRootCauses []*FaultRootCause `type:"list"`
  9229  
  9230  	// The root segment document has a 400 series error.
  9231  	HasError *bool `type:"boolean"`
  9232  
  9233  	// The root segment document has a 500 series error.
  9234  	HasFault *bool `type:"boolean"`
  9235  
  9236  	// One or more of the segment documents has a 429 throttling error.
  9237  	HasThrottle *bool `type:"boolean"`
  9238  
  9239  	// Information about the HTTP request served by the trace.
  9240  	Http *Http `type:"structure"`
  9241  
  9242  	// The unique identifier for the request that generated the trace's segments
  9243  	// and subsegments.
  9244  	Id *string `min:"1" type:"string"`
  9245  
  9246  	// A list of EC2 instance IDs for any instance corresponding to the trace segments.
  9247  	InstanceIds []*InstanceIdDetail `type:"list"`
  9248  
  9249  	// One or more of the segment documents is in progress.
  9250  	IsPartial *bool `type:"boolean"`
  9251  
  9252  	// The matched time stamp of a defined event.
  9253  	MatchedEventTime *time.Time `type:"timestamp"`
  9254  
  9255  	// A list of resource ARNs for any resource corresponding to the trace segments.
  9256  	ResourceARNs []*ResourceARNDetail `type:"list"`
  9257  
  9258  	// The length of time in seconds between the start and end times of the root
  9259  	// segment. If the service performs work asynchronously, the response time measures
  9260  	// the time before the response is sent to the user, while the duration measures
  9261  	// the amount of time before the last traced activity completes.
  9262  	ResponseTime *float64 `type:"double"`
  9263  
  9264  	// A collection of ResponseTimeRootCause structures corresponding to the trace
  9265  	// segments.
  9266  	ResponseTimeRootCauses []*ResponseTimeRootCause `type:"list"`
  9267  
  9268  	// The revision number of a trace.
  9269  	Revision *int64 `type:"integer"`
  9270  
  9271  	// Service IDs from the trace's segment documents.
  9272  	ServiceIds []*ServiceId `type:"list"`
  9273  
  9274  	// Users from the trace's segment documents.
  9275  	Users []*TraceUser `type:"list"`
  9276  }
  9277  
  9278  // String returns the string representation.
  9279  //
  9280  // API parameter values that are decorated as "sensitive" in the API will not
  9281  // be included in the string output. The member name will be present, but the
  9282  // value will be replaced with "sensitive".
  9283  func (s TraceSummary) String() string {
  9284  	return awsutil.Prettify(s)
  9285  }
  9286  
  9287  // GoString returns the string representation.
  9288  //
  9289  // API parameter values that are decorated as "sensitive" in the API will not
  9290  // be included in the string output. The member name will be present, but the
  9291  // value will be replaced with "sensitive".
  9292  func (s TraceSummary) GoString() string {
  9293  	return s.String()
  9294  }
  9295  
  9296  // SetAnnotations sets the Annotations field's value.
  9297  func (s *TraceSummary) SetAnnotations(v map[string][]*ValueWithServiceIds) *TraceSummary {
  9298  	s.Annotations = v
  9299  	return s
  9300  }
  9301  
  9302  // SetAvailabilityZones sets the AvailabilityZones field's value.
  9303  func (s *TraceSummary) SetAvailabilityZones(v []*AvailabilityZoneDetail) *TraceSummary {
  9304  	s.AvailabilityZones = v
  9305  	return s
  9306  }
  9307  
  9308  // SetDuration sets the Duration field's value.
  9309  func (s *TraceSummary) SetDuration(v float64) *TraceSummary {
  9310  	s.Duration = &v
  9311  	return s
  9312  }
  9313  
  9314  // SetEntryPoint sets the EntryPoint field's value.
  9315  func (s *TraceSummary) SetEntryPoint(v *ServiceId) *TraceSummary {
  9316  	s.EntryPoint = v
  9317  	return s
  9318  }
  9319  
  9320  // SetErrorRootCauses sets the ErrorRootCauses field's value.
  9321  func (s *TraceSummary) SetErrorRootCauses(v []*ErrorRootCause) *TraceSummary {
  9322  	s.ErrorRootCauses = v
  9323  	return s
  9324  }
  9325  
  9326  // SetFaultRootCauses sets the FaultRootCauses field's value.
  9327  func (s *TraceSummary) SetFaultRootCauses(v []*FaultRootCause) *TraceSummary {
  9328  	s.FaultRootCauses = v
  9329  	return s
  9330  }
  9331  
  9332  // SetHasError sets the HasError field's value.
  9333  func (s *TraceSummary) SetHasError(v bool) *TraceSummary {
  9334  	s.HasError = &v
  9335  	return s
  9336  }
  9337  
  9338  // SetHasFault sets the HasFault field's value.
  9339  func (s *TraceSummary) SetHasFault(v bool) *TraceSummary {
  9340  	s.HasFault = &v
  9341  	return s
  9342  }
  9343  
  9344  // SetHasThrottle sets the HasThrottle field's value.
  9345  func (s *TraceSummary) SetHasThrottle(v bool) *TraceSummary {
  9346  	s.HasThrottle = &v
  9347  	return s
  9348  }
  9349  
  9350  // SetHttp sets the Http field's value.
  9351  func (s *TraceSummary) SetHttp(v *Http) *TraceSummary {
  9352  	s.Http = v
  9353  	return s
  9354  }
  9355  
  9356  // SetId sets the Id field's value.
  9357  func (s *TraceSummary) SetId(v string) *TraceSummary {
  9358  	s.Id = &v
  9359  	return s
  9360  }
  9361  
  9362  // SetInstanceIds sets the InstanceIds field's value.
  9363  func (s *TraceSummary) SetInstanceIds(v []*InstanceIdDetail) *TraceSummary {
  9364  	s.InstanceIds = v
  9365  	return s
  9366  }
  9367  
  9368  // SetIsPartial sets the IsPartial field's value.
  9369  func (s *TraceSummary) SetIsPartial(v bool) *TraceSummary {
  9370  	s.IsPartial = &v
  9371  	return s
  9372  }
  9373  
  9374  // SetMatchedEventTime sets the MatchedEventTime field's value.
  9375  func (s *TraceSummary) SetMatchedEventTime(v time.Time) *TraceSummary {
  9376  	s.MatchedEventTime = &v
  9377  	return s
  9378  }
  9379  
  9380  // SetResourceARNs sets the ResourceARNs field's value.
  9381  func (s *TraceSummary) SetResourceARNs(v []*ResourceARNDetail) *TraceSummary {
  9382  	s.ResourceARNs = v
  9383  	return s
  9384  }
  9385  
  9386  // SetResponseTime sets the ResponseTime field's value.
  9387  func (s *TraceSummary) SetResponseTime(v float64) *TraceSummary {
  9388  	s.ResponseTime = &v
  9389  	return s
  9390  }
  9391  
  9392  // SetResponseTimeRootCauses sets the ResponseTimeRootCauses field's value.
  9393  func (s *TraceSummary) SetResponseTimeRootCauses(v []*ResponseTimeRootCause) *TraceSummary {
  9394  	s.ResponseTimeRootCauses = v
  9395  	return s
  9396  }
  9397  
  9398  // SetRevision sets the Revision field's value.
  9399  func (s *TraceSummary) SetRevision(v int64) *TraceSummary {
  9400  	s.Revision = &v
  9401  	return s
  9402  }
  9403  
  9404  // SetServiceIds sets the ServiceIds field's value.
  9405  func (s *TraceSummary) SetServiceIds(v []*ServiceId) *TraceSummary {
  9406  	s.ServiceIds = v
  9407  	return s
  9408  }
  9409  
  9410  // SetUsers sets the Users field's value.
  9411  func (s *TraceSummary) SetUsers(v []*TraceUser) *TraceSummary {
  9412  	s.Users = v
  9413  	return s
  9414  }
  9415  
  9416  // Information about a user recorded in segment documents.
  9417  type TraceUser struct {
  9418  	_ struct{} `type:"structure"`
  9419  
  9420  	// Services that the user's request hit.
  9421  	ServiceIds []*ServiceId `type:"list"`
  9422  
  9423  	// The user's name.
  9424  	UserName *string `type:"string"`
  9425  }
  9426  
  9427  // String returns the string representation.
  9428  //
  9429  // API parameter values that are decorated as "sensitive" in the API will not
  9430  // be included in the string output. The member name will be present, but the
  9431  // value will be replaced with "sensitive".
  9432  func (s TraceUser) String() string {
  9433  	return awsutil.Prettify(s)
  9434  }
  9435  
  9436  // GoString returns the string representation.
  9437  //
  9438  // API parameter values that are decorated as "sensitive" in the API will not
  9439  // be included in the string output. The member name will be present, but the
  9440  // value will be replaced with "sensitive".
  9441  func (s TraceUser) GoString() string {
  9442  	return s.String()
  9443  }
  9444  
  9445  // SetServiceIds sets the ServiceIds field's value.
  9446  func (s *TraceUser) SetServiceIds(v []*ServiceId) *TraceUser {
  9447  	s.ServiceIds = v
  9448  	return s
  9449  }
  9450  
  9451  // SetUserName sets the UserName field's value.
  9452  func (s *TraceUser) SetUserName(v string) *TraceUser {
  9453  	s.UserName = &v
  9454  	return s
  9455  }
  9456  
  9457  // Sampling statistics from a call to GetSamplingTargets (https://docs.aws.amazon.com/xray/latest/api/API_GetSamplingTargets.html)
  9458  // that X-Ray could not process.
  9459  type UnprocessedStatistics struct {
  9460  	_ struct{} `type:"structure"`
  9461  
  9462  	// The error code.
  9463  	ErrorCode *string `type:"string"`
  9464  
  9465  	// The error message.
  9466  	Message *string `type:"string"`
  9467  
  9468  	// The name of the sampling rule.
  9469  	RuleName *string `type:"string"`
  9470  }
  9471  
  9472  // String returns the string representation.
  9473  //
  9474  // API parameter values that are decorated as "sensitive" in the API will not
  9475  // be included in the string output. The member name will be present, but the
  9476  // value will be replaced with "sensitive".
  9477  func (s UnprocessedStatistics) String() string {
  9478  	return awsutil.Prettify(s)
  9479  }
  9480  
  9481  // GoString returns the string representation.
  9482  //
  9483  // API parameter values that are decorated as "sensitive" in the API will not
  9484  // be included in the string output. The member name will be present, but the
  9485  // value will be replaced with "sensitive".
  9486  func (s UnprocessedStatistics) GoString() string {
  9487  	return s.String()
  9488  }
  9489  
  9490  // SetErrorCode sets the ErrorCode field's value.
  9491  func (s *UnprocessedStatistics) SetErrorCode(v string) *UnprocessedStatistics {
  9492  	s.ErrorCode = &v
  9493  	return s
  9494  }
  9495  
  9496  // SetMessage sets the Message field's value.
  9497  func (s *UnprocessedStatistics) SetMessage(v string) *UnprocessedStatistics {
  9498  	s.Message = &v
  9499  	return s
  9500  }
  9501  
  9502  // SetRuleName sets the RuleName field's value.
  9503  func (s *UnprocessedStatistics) SetRuleName(v string) *UnprocessedStatistics {
  9504  	s.RuleName = &v
  9505  	return s
  9506  }
  9507  
  9508  // Information about a segment that failed processing.
  9509  type UnprocessedTraceSegment struct {
  9510  	_ struct{} `type:"structure"`
  9511  
  9512  	// The error that caused processing to fail.
  9513  	ErrorCode *string `type:"string"`
  9514  
  9515  	// The segment's ID.
  9516  	Id *string `type:"string"`
  9517  
  9518  	// The error message.
  9519  	Message *string `type:"string"`
  9520  }
  9521  
  9522  // String returns the string representation.
  9523  //
  9524  // API parameter values that are decorated as "sensitive" in the API will not
  9525  // be included in the string output. The member name will be present, but the
  9526  // value will be replaced with "sensitive".
  9527  func (s UnprocessedTraceSegment) String() string {
  9528  	return awsutil.Prettify(s)
  9529  }
  9530  
  9531  // GoString returns the string representation.
  9532  //
  9533  // API parameter values that are decorated as "sensitive" in the API will not
  9534  // be included in the string output. The member name will be present, but the
  9535  // value will be replaced with "sensitive".
  9536  func (s UnprocessedTraceSegment) GoString() string {
  9537  	return s.String()
  9538  }
  9539  
  9540  // SetErrorCode sets the ErrorCode field's value.
  9541  func (s *UnprocessedTraceSegment) SetErrorCode(v string) *UnprocessedTraceSegment {
  9542  	s.ErrorCode = &v
  9543  	return s
  9544  }
  9545  
  9546  // SetId sets the Id field's value.
  9547  func (s *UnprocessedTraceSegment) SetId(v string) *UnprocessedTraceSegment {
  9548  	s.Id = &v
  9549  	return s
  9550  }
  9551  
  9552  // SetMessage sets the Message field's value.
  9553  func (s *UnprocessedTraceSegment) SetMessage(v string) *UnprocessedTraceSegment {
  9554  	s.Message = &v
  9555  	return s
  9556  }
  9557  
  9558  type UntagResourceInput struct {
  9559  	_ struct{} `type:"structure"`
  9560  
  9561  	// The Amazon Resource Number (ARN) of an X-Ray group or sampling rule.
  9562  	//
  9563  	// ResourceARN is a required field
  9564  	ResourceARN *string `min:"1" type:"string" required:"true"`
  9565  
  9566  	// Keys for one or more tags that you want to remove from an X-Ray group or
  9567  	// sampling rule.
  9568  	//
  9569  	// TagKeys is a required field
  9570  	TagKeys []*string `type:"list" required:"true"`
  9571  }
  9572  
  9573  // String returns the string representation.
  9574  //
  9575  // API parameter values that are decorated as "sensitive" in the API will not
  9576  // be included in the string output. The member name will be present, but the
  9577  // value will be replaced with "sensitive".
  9578  func (s UntagResourceInput) String() string {
  9579  	return awsutil.Prettify(s)
  9580  }
  9581  
  9582  // GoString returns the string representation.
  9583  //
  9584  // API parameter values that are decorated as "sensitive" in the API will not
  9585  // be included in the string output. The member name will be present, but the
  9586  // value will be replaced with "sensitive".
  9587  func (s UntagResourceInput) GoString() string {
  9588  	return s.String()
  9589  }
  9590  
  9591  // Validate inspects the fields of the type to determine if they are valid.
  9592  func (s *UntagResourceInput) Validate() error {
  9593  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  9594  	if s.ResourceARN == nil {
  9595  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
  9596  	}
  9597  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
  9598  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
  9599  	}
  9600  	if s.TagKeys == nil {
  9601  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  9602  	}
  9603  
  9604  	if invalidParams.Len() > 0 {
  9605  		return invalidParams
  9606  	}
  9607  	return nil
  9608  }
  9609  
  9610  // SetResourceARN sets the ResourceARN field's value.
  9611  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
  9612  	s.ResourceARN = &v
  9613  	return s
  9614  }
  9615  
  9616  // SetTagKeys sets the TagKeys field's value.
  9617  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  9618  	s.TagKeys = v
  9619  	return s
  9620  }
  9621  
  9622  type UntagResourceOutput struct {
  9623  	_ struct{} `type:"structure" nopayload:"true"`
  9624  }
  9625  
  9626  // String returns the string representation.
  9627  //
  9628  // API parameter values that are decorated as "sensitive" in the API will not
  9629  // be included in the string output. The member name will be present, but the
  9630  // value will be replaced with "sensitive".
  9631  func (s UntagResourceOutput) String() string {
  9632  	return awsutil.Prettify(s)
  9633  }
  9634  
  9635  // GoString returns the string representation.
  9636  //
  9637  // API parameter values that are decorated as "sensitive" in the API will not
  9638  // be included in the string output. The member name will be present, but the
  9639  // value will be replaced with "sensitive".
  9640  func (s UntagResourceOutput) GoString() string {
  9641  	return s.String()
  9642  }
  9643  
  9644  type UpdateGroupInput struct {
  9645  	_ struct{} `type:"structure"`
  9646  
  9647  	// The updated filter expression defining criteria by which to group traces.
  9648  	FilterExpression *string `type:"string"`
  9649  
  9650  	// The ARN that was generated upon creation.
  9651  	GroupARN *string `min:"1" type:"string"`
  9652  
  9653  	// The case-sensitive name of the group.
  9654  	GroupName *string `min:"1" type:"string"`
  9655  
  9656  	// The structure containing configurations related to insights.
  9657  	//
  9658  	//    * The InsightsEnabled boolean can be set to true to enable insights for
  9659  	//    the group or false to disable insights for the group.
  9660  	//
  9661  	//    * The NotifcationsEnabled boolean can be set to true to enable insights
  9662  	//    notifications for the group. Notifications can only be enabled on a group
  9663  	//    with InsightsEnabled set to true.
  9664  	InsightsConfiguration *InsightsConfiguration `type:"structure"`
  9665  }
  9666  
  9667  // String returns the string representation.
  9668  //
  9669  // API parameter values that are decorated as "sensitive" in the API will not
  9670  // be included in the string output. The member name will be present, but the
  9671  // value will be replaced with "sensitive".
  9672  func (s UpdateGroupInput) String() string {
  9673  	return awsutil.Prettify(s)
  9674  }
  9675  
  9676  // GoString returns the string representation.
  9677  //
  9678  // API parameter values that are decorated as "sensitive" in the API will not
  9679  // be included in the string output. The member name will be present, but the
  9680  // value will be replaced with "sensitive".
  9681  func (s UpdateGroupInput) GoString() string {
  9682  	return s.String()
  9683  }
  9684  
  9685  // Validate inspects the fields of the type to determine if they are valid.
  9686  func (s *UpdateGroupInput) Validate() error {
  9687  	invalidParams := request.ErrInvalidParams{Context: "UpdateGroupInput"}
  9688  	if s.GroupARN != nil && len(*s.GroupARN) < 1 {
  9689  		invalidParams.Add(request.NewErrParamMinLen("GroupARN", 1))
  9690  	}
  9691  	if s.GroupName != nil && len(*s.GroupName) < 1 {
  9692  		invalidParams.Add(request.NewErrParamMinLen("GroupName", 1))
  9693  	}
  9694  
  9695  	if invalidParams.Len() > 0 {
  9696  		return invalidParams
  9697  	}
  9698  	return nil
  9699  }
  9700  
  9701  // SetFilterExpression sets the FilterExpression field's value.
  9702  func (s *UpdateGroupInput) SetFilterExpression(v string) *UpdateGroupInput {
  9703  	s.FilterExpression = &v
  9704  	return s
  9705  }
  9706  
  9707  // SetGroupARN sets the GroupARN field's value.
  9708  func (s *UpdateGroupInput) SetGroupARN(v string) *UpdateGroupInput {
  9709  	s.GroupARN = &v
  9710  	return s
  9711  }
  9712  
  9713  // SetGroupName sets the GroupName field's value.
  9714  func (s *UpdateGroupInput) SetGroupName(v string) *UpdateGroupInput {
  9715  	s.GroupName = &v
  9716  	return s
  9717  }
  9718  
  9719  // SetInsightsConfiguration sets the InsightsConfiguration field's value.
  9720  func (s *UpdateGroupInput) SetInsightsConfiguration(v *InsightsConfiguration) *UpdateGroupInput {
  9721  	s.InsightsConfiguration = v
  9722  	return s
  9723  }
  9724  
  9725  type UpdateGroupOutput struct {
  9726  	_ struct{} `type:"structure"`
  9727  
  9728  	// The group that was updated. Contains the name of the group that was updated,
  9729  	// the ARN of the group that was updated, the updated filter expression, and
  9730  	// the updated insight configuration assigned to the group.
  9731  	Group *Group `type:"structure"`
  9732  }
  9733  
  9734  // String returns the string representation.
  9735  //
  9736  // API parameter values that are decorated as "sensitive" in the API will not
  9737  // be included in the string output. The member name will be present, but the
  9738  // value will be replaced with "sensitive".
  9739  func (s UpdateGroupOutput) String() string {
  9740  	return awsutil.Prettify(s)
  9741  }
  9742  
  9743  // GoString returns the string representation.
  9744  //
  9745  // API parameter values that are decorated as "sensitive" in the API will not
  9746  // be included in the string output. The member name will be present, but the
  9747  // value will be replaced with "sensitive".
  9748  func (s UpdateGroupOutput) GoString() string {
  9749  	return s.String()
  9750  }
  9751  
  9752  // SetGroup sets the Group field's value.
  9753  func (s *UpdateGroupOutput) SetGroup(v *Group) *UpdateGroupOutput {
  9754  	s.Group = v
  9755  	return s
  9756  }
  9757  
  9758  type UpdateSamplingRuleInput struct {
  9759  	_ struct{} `type:"structure"`
  9760  
  9761  	// The rule and fields to change.
  9762  	//
  9763  	// SamplingRuleUpdate is a required field
  9764  	SamplingRuleUpdate *SamplingRuleUpdate `type:"structure" required:"true"`
  9765  }
  9766  
  9767  // String returns the string representation.
  9768  //
  9769  // API parameter values that are decorated as "sensitive" in the API will not
  9770  // be included in the string output. The member name will be present, but the
  9771  // value will be replaced with "sensitive".
  9772  func (s UpdateSamplingRuleInput) String() string {
  9773  	return awsutil.Prettify(s)
  9774  }
  9775  
  9776  // GoString returns the string representation.
  9777  //
  9778  // API parameter values that are decorated as "sensitive" in the API will not
  9779  // be included in the string output. The member name will be present, but the
  9780  // value will be replaced with "sensitive".
  9781  func (s UpdateSamplingRuleInput) GoString() string {
  9782  	return s.String()
  9783  }
  9784  
  9785  // Validate inspects the fields of the type to determine if they are valid.
  9786  func (s *UpdateSamplingRuleInput) Validate() error {
  9787  	invalidParams := request.ErrInvalidParams{Context: "UpdateSamplingRuleInput"}
  9788  	if s.SamplingRuleUpdate == nil {
  9789  		invalidParams.Add(request.NewErrParamRequired("SamplingRuleUpdate"))
  9790  	}
  9791  	if s.SamplingRuleUpdate != nil {
  9792  		if err := s.SamplingRuleUpdate.Validate(); err != nil {
  9793  			invalidParams.AddNested("SamplingRuleUpdate", err.(request.ErrInvalidParams))
  9794  		}
  9795  	}
  9796  
  9797  	if invalidParams.Len() > 0 {
  9798  		return invalidParams
  9799  	}
  9800  	return nil
  9801  }
  9802  
  9803  // SetSamplingRuleUpdate sets the SamplingRuleUpdate field's value.
  9804  func (s *UpdateSamplingRuleInput) SetSamplingRuleUpdate(v *SamplingRuleUpdate) *UpdateSamplingRuleInput {
  9805  	s.SamplingRuleUpdate = v
  9806  	return s
  9807  }
  9808  
  9809  type UpdateSamplingRuleOutput struct {
  9810  	_ struct{} `type:"structure"`
  9811  
  9812  	// The updated rule definition and metadata.
  9813  	SamplingRuleRecord *SamplingRuleRecord `type:"structure"`
  9814  }
  9815  
  9816  // String returns the string representation.
  9817  //
  9818  // API parameter values that are decorated as "sensitive" in the API will not
  9819  // be included in the string output. The member name will be present, but the
  9820  // value will be replaced with "sensitive".
  9821  func (s UpdateSamplingRuleOutput) String() string {
  9822  	return awsutil.Prettify(s)
  9823  }
  9824  
  9825  // GoString returns the string representation.
  9826  //
  9827  // API parameter values that are decorated as "sensitive" in the API will not
  9828  // be included in the string output. The member name will be present, but the
  9829  // value will be replaced with "sensitive".
  9830  func (s UpdateSamplingRuleOutput) GoString() string {
  9831  	return s.String()
  9832  }
  9833  
  9834  // SetSamplingRuleRecord sets the SamplingRuleRecord field's value.
  9835  func (s *UpdateSamplingRuleOutput) SetSamplingRuleRecord(v *SamplingRuleRecord) *UpdateSamplingRuleOutput {
  9836  	s.SamplingRuleRecord = v
  9837  	return s
  9838  }
  9839  
  9840  // Information about a segment annotation.
  9841  type ValueWithServiceIds struct {
  9842  	_ struct{} `type:"structure"`
  9843  
  9844  	// Values of the annotation.
  9845  	AnnotationValue *AnnotationValue `type:"structure"`
  9846  
  9847  	// Services to which the annotation applies.
  9848  	ServiceIds []*ServiceId `type:"list"`
  9849  }
  9850  
  9851  // String returns the string representation.
  9852  //
  9853  // API parameter values that are decorated as "sensitive" in the API will not
  9854  // be included in the string output. The member name will be present, but the
  9855  // value will be replaced with "sensitive".
  9856  func (s ValueWithServiceIds) String() string {
  9857  	return awsutil.Prettify(s)
  9858  }
  9859  
  9860  // GoString returns the string representation.
  9861  //
  9862  // API parameter values that are decorated as "sensitive" in the API will not
  9863  // be included in the string output. The member name will be present, but the
  9864  // value will be replaced with "sensitive".
  9865  func (s ValueWithServiceIds) GoString() string {
  9866  	return s.String()
  9867  }
  9868  
  9869  // SetAnnotationValue sets the AnnotationValue field's value.
  9870  func (s *ValueWithServiceIds) SetAnnotationValue(v *AnnotationValue) *ValueWithServiceIds {
  9871  	s.AnnotationValue = v
  9872  	return s
  9873  }
  9874  
  9875  // SetServiceIds sets the ServiceIds field's value.
  9876  func (s *ValueWithServiceIds) SetServiceIds(v []*ServiceId) *ValueWithServiceIds {
  9877  	s.ServiceIds = v
  9878  	return s
  9879  }
  9880  
  9881  const (
  9882  	// EncryptionStatusUpdating is a EncryptionStatus enum value
  9883  	EncryptionStatusUpdating = "UPDATING"
  9884  
  9885  	// EncryptionStatusActive is a EncryptionStatus enum value
  9886  	EncryptionStatusActive = "ACTIVE"
  9887  )
  9888  
  9889  // EncryptionStatus_Values returns all elements of the EncryptionStatus enum
  9890  func EncryptionStatus_Values() []string {
  9891  	return []string{
  9892  		EncryptionStatusUpdating,
  9893  		EncryptionStatusActive,
  9894  	}
  9895  }
  9896  
  9897  const (
  9898  	// EncryptionTypeNone is a EncryptionType enum value
  9899  	EncryptionTypeNone = "NONE"
  9900  
  9901  	// EncryptionTypeKms is a EncryptionType enum value
  9902  	EncryptionTypeKms = "KMS"
  9903  )
  9904  
  9905  // EncryptionType_Values returns all elements of the EncryptionType enum
  9906  func EncryptionType_Values() []string {
  9907  	return []string{
  9908  		EncryptionTypeNone,
  9909  		EncryptionTypeKms,
  9910  	}
  9911  }
  9912  
  9913  const (
  9914  	// InsightCategoryFault is a InsightCategory enum value
  9915  	InsightCategoryFault = "FAULT"
  9916  )
  9917  
  9918  // InsightCategory_Values returns all elements of the InsightCategory enum
  9919  func InsightCategory_Values() []string {
  9920  	return []string{
  9921  		InsightCategoryFault,
  9922  	}
  9923  }
  9924  
  9925  const (
  9926  	// InsightStateActive is a InsightState enum value
  9927  	InsightStateActive = "ACTIVE"
  9928  
  9929  	// InsightStateClosed is a InsightState enum value
  9930  	InsightStateClosed = "CLOSED"
  9931  )
  9932  
  9933  // InsightState_Values returns all elements of the InsightState enum
  9934  func InsightState_Values() []string {
  9935  	return []string{
  9936  		InsightStateActive,
  9937  		InsightStateClosed,
  9938  	}
  9939  }
  9940  
  9941  const (
  9942  	// SamplingStrategyNamePartialScan is a SamplingStrategyName enum value
  9943  	SamplingStrategyNamePartialScan = "PartialScan"
  9944  
  9945  	// SamplingStrategyNameFixedRate is a SamplingStrategyName enum value
  9946  	SamplingStrategyNameFixedRate = "FixedRate"
  9947  )
  9948  
  9949  // SamplingStrategyName_Values returns all elements of the SamplingStrategyName enum
  9950  func SamplingStrategyName_Values() []string {
  9951  	return []string{
  9952  		SamplingStrategyNamePartialScan,
  9953  		SamplingStrategyNameFixedRate,
  9954  	}
  9955  }
  9956  
  9957  const (
  9958  	// TimeRangeTypeTraceId is a TimeRangeType enum value
  9959  	TimeRangeTypeTraceId = "TraceId"
  9960  
  9961  	// TimeRangeTypeEvent is a TimeRangeType enum value
  9962  	TimeRangeTypeEvent = "Event"
  9963  )
  9964  
  9965  // TimeRangeType_Values returns all elements of the TimeRangeType enum
  9966  func TimeRangeType_Values() []string {
  9967  	return []string{
  9968  		TimeRangeTypeTraceId,
  9969  		TimeRangeTypeEvent,
  9970  	}
  9971  }