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

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