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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package forecastservice
     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/jsonrpc"
    14  )
    15  
    16  const opCreateDataset = "CreateDataset"
    17  
    18  // CreateDatasetRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateDataset 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 CreateDataset for more information on using the CreateDataset
    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 CreateDatasetRequest method.
    34  //    req, resp := client.CreateDatasetRequest(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/forecast-2018-06-26/CreateDataset
    42  func (c *ForecastService) CreateDatasetRequest(input *CreateDatasetInput) (req *request.Request, output *CreateDatasetOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateDataset,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateDatasetInput{}
    51  	}
    52  
    53  	output = &CreateDatasetOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateDataset API operation for Amazon Forecast Service.
    59  //
    60  // Creates an Amazon Forecast dataset. The information about the dataset that
    61  // you provide helps Forecast understand how to consume the data for model training.
    62  // This includes the following:
    63  //
    64  //    * DataFrequency - How frequently your historical time-series data is collected.
    65  //
    66  //    * Domain and DatasetType - Each dataset has an associated dataset domain
    67  //    and a type within the domain. Amazon Forecast provides a list of predefined
    68  //    domains and types within each domain. For each unique dataset domain and
    69  //    type within the domain, Amazon Forecast requires your data to include
    70  //    a minimum set of predefined fields.
    71  //
    72  //    * Schema - A schema specifies the fields in the dataset, including the
    73  //    field name and data type.
    74  //
    75  // After creating a dataset, you import your training data into it and add the
    76  // dataset to a dataset group. You use the dataset group to create a predictor.
    77  // For more information, see howitworks-datasets-groups.
    78  //
    79  // To get a list of all your datasets, use the ListDatasets operation.
    80  //
    81  // For example Forecast datasets, see the Amazon Forecast Sample GitHub repository
    82  // (https://github.com/aavshr-samples/amazon-forecast-samples).
    83  //
    84  // The Status of a dataset must be ACTIVE before you can import training data.
    85  // Use the DescribeDataset operation to get the status.
    86  //
    87  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    88  // with awserr.Error's Code and Message methods to get detailed information about
    89  // the error.
    90  //
    91  // See the AWS API reference guide for Amazon Forecast Service's
    92  // API operation CreateDataset for usage and error information.
    93  //
    94  // Returned Error Types:
    95  //   * InvalidInputException
    96  //   We can't process the request because it includes an invalid value or a value
    97  //   that exceeds the valid range.
    98  //
    99  //   * ResourceAlreadyExistsException
   100  //   There is already a resource with this name. Try again with a different name.
   101  //
   102  //   * LimitExceededException
   103  //   The limit on the number of resources per account has been exceeded.
   104  //
   105  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDataset
   106  func (c *ForecastService) CreateDataset(input *CreateDatasetInput) (*CreateDatasetOutput, error) {
   107  	req, out := c.CreateDatasetRequest(input)
   108  	return out, req.Send()
   109  }
   110  
   111  // CreateDatasetWithContext is the same as CreateDataset with the addition of
   112  // the ability to pass a context and additional request options.
   113  //
   114  // See CreateDataset for details on how to use this API operation.
   115  //
   116  // The context must be non-nil and will be used for request cancellation. If
   117  // the context is nil a panic will occur. In the future the SDK may create
   118  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   119  // for more information on using Contexts.
   120  func (c *ForecastService) CreateDatasetWithContext(ctx aws.Context, input *CreateDatasetInput, opts ...request.Option) (*CreateDatasetOutput, error) {
   121  	req, out := c.CreateDatasetRequest(input)
   122  	req.SetContext(ctx)
   123  	req.ApplyOptions(opts...)
   124  	return out, req.Send()
   125  }
   126  
   127  const opCreateDatasetGroup = "CreateDatasetGroup"
   128  
   129  // CreateDatasetGroupRequest generates a "aws/request.Request" representing the
   130  // client's request for the CreateDatasetGroup operation. The "output" return
   131  // value will be populated with the request's response once the request completes
   132  // successfully.
   133  //
   134  // Use "Send" method on the returned Request to send the API call to the service.
   135  // the "output" return value is not valid until after Send returns without error.
   136  //
   137  // See CreateDatasetGroup for more information on using the CreateDatasetGroup
   138  // API call, and error handling.
   139  //
   140  // This method is useful when you want to inject custom logic or configuration
   141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   142  //
   143  //
   144  //    // Example sending a request using the CreateDatasetGroupRequest method.
   145  //    req, resp := client.CreateDatasetGroupRequest(params)
   146  //
   147  //    err := req.Send()
   148  //    if err == nil { // resp is now filled
   149  //        fmt.Println(resp)
   150  //    }
   151  //
   152  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetGroup
   153  func (c *ForecastService) CreateDatasetGroupRequest(input *CreateDatasetGroupInput) (req *request.Request, output *CreateDatasetGroupOutput) {
   154  	op := &request.Operation{
   155  		Name:       opCreateDatasetGroup,
   156  		HTTPMethod: "POST",
   157  		HTTPPath:   "/",
   158  	}
   159  
   160  	if input == nil {
   161  		input = &CreateDatasetGroupInput{}
   162  	}
   163  
   164  	output = &CreateDatasetGroupOutput{}
   165  	req = c.newRequest(op, input, output)
   166  	return
   167  }
   168  
   169  // CreateDatasetGroup API operation for Amazon Forecast Service.
   170  //
   171  // Creates a dataset group, which holds a collection of related datasets. You
   172  // can add datasets to the dataset group when you create the dataset group,
   173  // or later by using the UpdateDatasetGroup operation.
   174  //
   175  // After creating a dataset group and adding datasets, you use the dataset group
   176  // when you create a predictor. For more information, see howitworks-datasets-groups.
   177  //
   178  // To get a list of all your datasets groups, use the ListDatasetGroups operation.
   179  //
   180  // The Status of a dataset group must be ACTIVE before you can use the dataset
   181  // group to create a predictor. To get the status, use the DescribeDatasetGroup
   182  // operation.
   183  //
   184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   185  // with awserr.Error's Code and Message methods to get detailed information about
   186  // the error.
   187  //
   188  // See the AWS API reference guide for Amazon Forecast Service's
   189  // API operation CreateDatasetGroup for usage and error information.
   190  //
   191  // Returned Error Types:
   192  //   * InvalidInputException
   193  //   We can't process the request because it includes an invalid value or a value
   194  //   that exceeds the valid range.
   195  //
   196  //   * ResourceAlreadyExistsException
   197  //   There is already a resource with this name. Try again with a different name.
   198  //
   199  //   * ResourceNotFoundException
   200  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   201  //   ARN and try again.
   202  //
   203  //   * ResourceInUseException
   204  //   The specified resource is in use.
   205  //
   206  //   * LimitExceededException
   207  //   The limit on the number of resources per account has been exceeded.
   208  //
   209  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetGroup
   210  func (c *ForecastService) CreateDatasetGroup(input *CreateDatasetGroupInput) (*CreateDatasetGroupOutput, error) {
   211  	req, out := c.CreateDatasetGroupRequest(input)
   212  	return out, req.Send()
   213  }
   214  
   215  // CreateDatasetGroupWithContext is the same as CreateDatasetGroup with the addition of
   216  // the ability to pass a context and additional request options.
   217  //
   218  // See CreateDatasetGroup for details on how to use this API operation.
   219  //
   220  // The context must be non-nil and will be used for request cancellation. If
   221  // the context is nil a panic will occur. In the future the SDK may create
   222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   223  // for more information on using Contexts.
   224  func (c *ForecastService) CreateDatasetGroupWithContext(ctx aws.Context, input *CreateDatasetGroupInput, opts ...request.Option) (*CreateDatasetGroupOutput, error) {
   225  	req, out := c.CreateDatasetGroupRequest(input)
   226  	req.SetContext(ctx)
   227  	req.ApplyOptions(opts...)
   228  	return out, req.Send()
   229  }
   230  
   231  const opCreateDatasetImportJob = "CreateDatasetImportJob"
   232  
   233  // CreateDatasetImportJobRequest generates a "aws/request.Request" representing the
   234  // client's request for the CreateDatasetImportJob operation. The "output" return
   235  // value will be populated with the request's response once the request completes
   236  // successfully.
   237  //
   238  // Use "Send" method on the returned Request to send the API call to the service.
   239  // the "output" return value is not valid until after Send returns without error.
   240  //
   241  // See CreateDatasetImportJob for more information on using the CreateDatasetImportJob
   242  // API call, and error handling.
   243  //
   244  // This method is useful when you want to inject custom logic or configuration
   245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   246  //
   247  //
   248  //    // Example sending a request using the CreateDatasetImportJobRequest method.
   249  //    req, resp := client.CreateDatasetImportJobRequest(params)
   250  //
   251  //    err := req.Send()
   252  //    if err == nil { // resp is now filled
   253  //        fmt.Println(resp)
   254  //    }
   255  //
   256  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetImportJob
   257  func (c *ForecastService) CreateDatasetImportJobRequest(input *CreateDatasetImportJobInput) (req *request.Request, output *CreateDatasetImportJobOutput) {
   258  	op := &request.Operation{
   259  		Name:       opCreateDatasetImportJob,
   260  		HTTPMethod: "POST",
   261  		HTTPPath:   "/",
   262  	}
   263  
   264  	if input == nil {
   265  		input = &CreateDatasetImportJobInput{}
   266  	}
   267  
   268  	output = &CreateDatasetImportJobOutput{}
   269  	req = c.newRequest(op, input, output)
   270  	return
   271  }
   272  
   273  // CreateDatasetImportJob API operation for Amazon Forecast Service.
   274  //
   275  // Imports your training data to an Amazon Forecast dataset. You provide the
   276  // location of your training data in an Amazon Simple Storage Service (Amazon
   277  // S3) bucket and the Amazon Resource Name (ARN) of the dataset that you want
   278  // to import the data to.
   279  //
   280  // You must specify a DataSource object that includes an AWS Identity and Access
   281  // Management (IAM) role that Amazon Forecast can assume to access the data,
   282  // as Amazon Forecast makes a copy of your data and processes it in an internal
   283  // AWS system. For more information, see aws-forecast-iam-roles.
   284  //
   285  // The training data must be in CSV format. The delimiter must be a comma (,).
   286  //
   287  // You can specify the path to a specific CSV file, the S3 bucket, or to a folder
   288  // in the S3 bucket. For the latter two cases, Amazon Forecast imports all files
   289  // up to the limit of 10,000 files.
   290  //
   291  // Because dataset imports are not aggregated, your most recent dataset import
   292  // is the one that is used when training a predictor or generating a forecast.
   293  // Make sure that your most recent dataset import contains all of the data you
   294  // want to model off of, and not just the new data collected since the previous
   295  // import.
   296  //
   297  // To get a list of all your dataset import jobs, filtered by specified criteria,
   298  // use the ListDatasetImportJobs operation.
   299  //
   300  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   301  // with awserr.Error's Code and Message methods to get detailed information about
   302  // the error.
   303  //
   304  // See the AWS API reference guide for Amazon Forecast Service's
   305  // API operation CreateDatasetImportJob for usage and error information.
   306  //
   307  // Returned Error Types:
   308  //   * InvalidInputException
   309  //   We can't process the request because it includes an invalid value or a value
   310  //   that exceeds the valid range.
   311  //
   312  //   * ResourceAlreadyExistsException
   313  //   There is already a resource with this name. Try again with a different name.
   314  //
   315  //   * ResourceNotFoundException
   316  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   317  //   ARN and try again.
   318  //
   319  //   * ResourceInUseException
   320  //   The specified resource is in use.
   321  //
   322  //   * LimitExceededException
   323  //   The limit on the number of resources per account has been exceeded.
   324  //
   325  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateDatasetImportJob
   326  func (c *ForecastService) CreateDatasetImportJob(input *CreateDatasetImportJobInput) (*CreateDatasetImportJobOutput, error) {
   327  	req, out := c.CreateDatasetImportJobRequest(input)
   328  	return out, req.Send()
   329  }
   330  
   331  // CreateDatasetImportJobWithContext is the same as CreateDatasetImportJob with the addition of
   332  // the ability to pass a context and additional request options.
   333  //
   334  // See CreateDatasetImportJob for details on how to use this API operation.
   335  //
   336  // The context must be non-nil and will be used for request cancellation. If
   337  // the context is nil a panic will occur. In the future the SDK may create
   338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   339  // for more information on using Contexts.
   340  func (c *ForecastService) CreateDatasetImportJobWithContext(ctx aws.Context, input *CreateDatasetImportJobInput, opts ...request.Option) (*CreateDatasetImportJobOutput, error) {
   341  	req, out := c.CreateDatasetImportJobRequest(input)
   342  	req.SetContext(ctx)
   343  	req.ApplyOptions(opts...)
   344  	return out, req.Send()
   345  }
   346  
   347  const opCreateForecast = "CreateForecast"
   348  
   349  // CreateForecastRequest generates a "aws/request.Request" representing the
   350  // client's request for the CreateForecast operation. The "output" return
   351  // value will be populated with the request's response once the request completes
   352  // successfully.
   353  //
   354  // Use "Send" method on the returned Request to send the API call to the service.
   355  // the "output" return value is not valid until after Send returns without error.
   356  //
   357  // See CreateForecast for more information on using the CreateForecast
   358  // API call, and error handling.
   359  //
   360  // This method is useful when you want to inject custom logic or configuration
   361  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   362  //
   363  //
   364  //    // Example sending a request using the CreateForecastRequest method.
   365  //    req, resp := client.CreateForecastRequest(params)
   366  //
   367  //    err := req.Send()
   368  //    if err == nil { // resp is now filled
   369  //        fmt.Println(resp)
   370  //    }
   371  //
   372  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecast
   373  func (c *ForecastService) CreateForecastRequest(input *CreateForecastInput) (req *request.Request, output *CreateForecastOutput) {
   374  	op := &request.Operation{
   375  		Name:       opCreateForecast,
   376  		HTTPMethod: "POST",
   377  		HTTPPath:   "/",
   378  	}
   379  
   380  	if input == nil {
   381  		input = &CreateForecastInput{}
   382  	}
   383  
   384  	output = &CreateForecastOutput{}
   385  	req = c.newRequest(op, input, output)
   386  	return
   387  }
   388  
   389  // CreateForecast API operation for Amazon Forecast Service.
   390  //
   391  // Creates a forecast for each item in the TARGET_TIME_SERIES dataset that was
   392  // used to train the predictor. This is known as inference. To retrieve the
   393  // forecast for a single item at low latency, use the operation. To export the
   394  // complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket,
   395  // use the CreateForecastExportJob operation.
   396  //
   397  // The range of the forecast is determined by the ForecastHorizon value, which
   398  // you specify in the CreatePredictor request. When you query a forecast, you
   399  // can request a specific date range within the forecast.
   400  //
   401  // To get a list of all your forecasts, use the ListForecasts operation.
   402  //
   403  // The forecasts generated by Amazon Forecast are in the same time zone as the
   404  // dataset that was used to create the predictor.
   405  //
   406  // For more information, see howitworks-forecast.
   407  //
   408  // The Status of the forecast must be ACTIVE before you can query or export
   409  // the forecast. Use the DescribeForecast operation to get the status.
   410  //
   411  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   412  // with awserr.Error's Code and Message methods to get detailed information about
   413  // the error.
   414  //
   415  // See the AWS API reference guide for Amazon Forecast Service's
   416  // API operation CreateForecast for usage and error information.
   417  //
   418  // Returned Error Types:
   419  //   * InvalidInputException
   420  //   We can't process the request because it includes an invalid value or a value
   421  //   that exceeds the valid range.
   422  //
   423  //   * ResourceAlreadyExistsException
   424  //   There is already a resource with this name. Try again with a different name.
   425  //
   426  //   * ResourceNotFoundException
   427  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   428  //   ARN and try again.
   429  //
   430  //   * ResourceInUseException
   431  //   The specified resource is in use.
   432  //
   433  //   * LimitExceededException
   434  //   The limit on the number of resources per account has been exceeded.
   435  //
   436  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecast
   437  func (c *ForecastService) CreateForecast(input *CreateForecastInput) (*CreateForecastOutput, error) {
   438  	req, out := c.CreateForecastRequest(input)
   439  	return out, req.Send()
   440  }
   441  
   442  // CreateForecastWithContext is the same as CreateForecast with the addition of
   443  // the ability to pass a context and additional request options.
   444  //
   445  // See CreateForecast for details on how to use this API operation.
   446  //
   447  // The context must be non-nil and will be used for request cancellation. If
   448  // the context is nil a panic will occur. In the future the SDK may create
   449  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   450  // for more information on using Contexts.
   451  func (c *ForecastService) CreateForecastWithContext(ctx aws.Context, input *CreateForecastInput, opts ...request.Option) (*CreateForecastOutput, error) {
   452  	req, out := c.CreateForecastRequest(input)
   453  	req.SetContext(ctx)
   454  	req.ApplyOptions(opts...)
   455  	return out, req.Send()
   456  }
   457  
   458  const opCreateForecastExportJob = "CreateForecastExportJob"
   459  
   460  // CreateForecastExportJobRequest generates a "aws/request.Request" representing the
   461  // client's request for the CreateForecastExportJob operation. The "output" return
   462  // value will be populated with the request's response once the request completes
   463  // successfully.
   464  //
   465  // Use "Send" method on the returned Request to send the API call to the service.
   466  // the "output" return value is not valid until after Send returns without error.
   467  //
   468  // See CreateForecastExportJob for more information on using the CreateForecastExportJob
   469  // API call, and error handling.
   470  //
   471  // This method is useful when you want to inject custom logic or configuration
   472  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   473  //
   474  //
   475  //    // Example sending a request using the CreateForecastExportJobRequest method.
   476  //    req, resp := client.CreateForecastExportJobRequest(params)
   477  //
   478  //    err := req.Send()
   479  //    if err == nil { // resp is now filled
   480  //        fmt.Println(resp)
   481  //    }
   482  //
   483  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecastExportJob
   484  func (c *ForecastService) CreateForecastExportJobRequest(input *CreateForecastExportJobInput) (req *request.Request, output *CreateForecastExportJobOutput) {
   485  	op := &request.Operation{
   486  		Name:       opCreateForecastExportJob,
   487  		HTTPMethod: "POST",
   488  		HTTPPath:   "/",
   489  	}
   490  
   491  	if input == nil {
   492  		input = &CreateForecastExportJobInput{}
   493  	}
   494  
   495  	output = &CreateForecastExportJobOutput{}
   496  	req = c.newRequest(op, input, output)
   497  	return
   498  }
   499  
   500  // CreateForecastExportJob API operation for Amazon Forecast Service.
   501  //
   502  // Exports a forecast created by the CreateForecast operation to your Amazon
   503  // Simple Storage Service (Amazon S3) bucket. The forecast file name will match
   504  // the following conventions:
   505  //
   506  // <ForecastExportJobName>_<ExportTimestamp>_<PartNumber>
   507  //
   508  // where the <ExportTimestamp> component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ).
   509  //
   510  // You must specify a DataDestination object that includes an AWS Identity and
   511  // Access Management (IAM) role that Amazon Forecast can assume to access the
   512  // Amazon S3 bucket. For more information, see aws-forecast-iam-roles.
   513  //
   514  // For more information, see howitworks-forecast.
   515  //
   516  // To get a list of all your forecast export jobs, use the ListForecastExportJobs
   517  // operation.
   518  //
   519  // The Status of the forecast export job must be ACTIVE before you can access
   520  // the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob
   521  // operation.
   522  //
   523  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   524  // with awserr.Error's Code and Message methods to get detailed information about
   525  // the error.
   526  //
   527  // See the AWS API reference guide for Amazon Forecast Service's
   528  // API operation CreateForecastExportJob for usage and error information.
   529  //
   530  // Returned Error Types:
   531  //   * InvalidInputException
   532  //   We can't process the request because it includes an invalid value or a value
   533  //   that exceeds the valid range.
   534  //
   535  //   * ResourceAlreadyExistsException
   536  //   There is already a resource with this name. Try again with a different name.
   537  //
   538  //   * ResourceNotFoundException
   539  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   540  //   ARN and try again.
   541  //
   542  //   * ResourceInUseException
   543  //   The specified resource is in use.
   544  //
   545  //   * LimitExceededException
   546  //   The limit on the number of resources per account has been exceeded.
   547  //
   548  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateForecastExportJob
   549  func (c *ForecastService) CreateForecastExportJob(input *CreateForecastExportJobInput) (*CreateForecastExportJobOutput, error) {
   550  	req, out := c.CreateForecastExportJobRequest(input)
   551  	return out, req.Send()
   552  }
   553  
   554  // CreateForecastExportJobWithContext is the same as CreateForecastExportJob with the addition of
   555  // the ability to pass a context and additional request options.
   556  //
   557  // See CreateForecastExportJob for details on how to use this API operation.
   558  //
   559  // The context must be non-nil and will be used for request cancellation. If
   560  // the context is nil a panic will occur. In the future the SDK may create
   561  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   562  // for more information on using Contexts.
   563  func (c *ForecastService) CreateForecastExportJobWithContext(ctx aws.Context, input *CreateForecastExportJobInput, opts ...request.Option) (*CreateForecastExportJobOutput, error) {
   564  	req, out := c.CreateForecastExportJobRequest(input)
   565  	req.SetContext(ctx)
   566  	req.ApplyOptions(opts...)
   567  	return out, req.Send()
   568  }
   569  
   570  const opCreatePredictor = "CreatePredictor"
   571  
   572  // CreatePredictorRequest generates a "aws/request.Request" representing the
   573  // client's request for the CreatePredictor operation. The "output" return
   574  // value will be populated with the request's response once the request completes
   575  // successfully.
   576  //
   577  // Use "Send" method on the returned Request to send the API call to the service.
   578  // the "output" return value is not valid until after Send returns without error.
   579  //
   580  // See CreatePredictor for more information on using the CreatePredictor
   581  // API call, and error handling.
   582  //
   583  // This method is useful when you want to inject custom logic or configuration
   584  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   585  //
   586  //
   587  //    // Example sending a request using the CreatePredictorRequest method.
   588  //    req, resp := client.CreatePredictorRequest(params)
   589  //
   590  //    err := req.Send()
   591  //    if err == nil { // resp is now filled
   592  //        fmt.Println(resp)
   593  //    }
   594  //
   595  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictor
   596  func (c *ForecastService) CreatePredictorRequest(input *CreatePredictorInput) (req *request.Request, output *CreatePredictorOutput) {
   597  	op := &request.Operation{
   598  		Name:       opCreatePredictor,
   599  		HTTPMethod: "POST",
   600  		HTTPPath:   "/",
   601  	}
   602  
   603  	if input == nil {
   604  		input = &CreatePredictorInput{}
   605  	}
   606  
   607  	output = &CreatePredictorOutput{}
   608  	req = c.newRequest(op, input, output)
   609  	return
   610  }
   611  
   612  // CreatePredictor API operation for Amazon Forecast Service.
   613  //
   614  // Creates an Amazon Forecast predictor.
   615  //
   616  // In the request, provide a dataset group and either specify an algorithm or
   617  // let Amazon Forecast choose an algorithm for you using AutoML. If you specify
   618  // an algorithm, you also can override algorithm-specific hyperparameters.
   619  //
   620  // Amazon Forecast uses the algorithm to train a predictor using the latest
   621  // version of the datasets in the specified dataset group. You can then generate
   622  // a forecast using the CreateForecast operation.
   623  //
   624  // To see the evaluation metrics, use the GetAccuracyMetrics operation.
   625  //
   626  // You can specify a featurization configuration to fill and aggregate the data
   627  // fields in the TARGET_TIME_SERIES dataset to improve model training. For more
   628  // information, see FeaturizationConfig.
   629  //
   630  // For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the DataFrequency
   631  // specified when the dataset was created matches the ForecastFrequency. TARGET_TIME_SERIES
   632  // datasets don't have this restriction. Amazon Forecast also verifies the delimiter
   633  // and timestamp format. For more information, see howitworks-datasets-groups.
   634  //
   635  // By default, predictors are trained and evaluated at the 0.1 (P10), 0.5 (P50),
   636  // and 0.9 (P90) quantiles. You can choose custom forecast types to train and
   637  // evaluate your predictor by setting the ForecastTypes.
   638  //
   639  // AutoML
   640  //
   641  // If you want Amazon Forecast to evaluate each algorithm and choose the one
   642  // that minimizes the objective function, set PerformAutoML to true. The objective
   643  // function is defined as the mean of the weighted losses over the forecast
   644  // types. By default, these are the p10, p50, and p90 quantile losses. For more
   645  // information, see EvaluationResult.
   646  //
   647  // When AutoML is enabled, the following properties are disallowed:
   648  //
   649  //    * AlgorithmArn
   650  //
   651  //    * HPOConfig
   652  //
   653  //    * PerformHPO
   654  //
   655  //    * TrainingParameters
   656  //
   657  // To get a list of all of your predictors, use the ListPredictors operation.
   658  //
   659  // Before you can use the predictor to create a forecast, the Status of the
   660  // predictor must be ACTIVE, signifying that training has completed. To get
   661  // the status, use the DescribePredictor operation.
   662  //
   663  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   664  // with awserr.Error's Code and Message methods to get detailed information about
   665  // the error.
   666  //
   667  // See the AWS API reference guide for Amazon Forecast Service's
   668  // API operation CreatePredictor for usage and error information.
   669  //
   670  // Returned Error Types:
   671  //   * InvalidInputException
   672  //   We can't process the request because it includes an invalid value or a value
   673  //   that exceeds the valid range.
   674  //
   675  //   * ResourceAlreadyExistsException
   676  //   There is already a resource with this name. Try again with a different name.
   677  //
   678  //   * ResourceNotFoundException
   679  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   680  //   ARN and try again.
   681  //
   682  //   * ResourceInUseException
   683  //   The specified resource is in use.
   684  //
   685  //   * LimitExceededException
   686  //   The limit on the number of resources per account has been exceeded.
   687  //
   688  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictor
   689  func (c *ForecastService) CreatePredictor(input *CreatePredictorInput) (*CreatePredictorOutput, error) {
   690  	req, out := c.CreatePredictorRequest(input)
   691  	return out, req.Send()
   692  }
   693  
   694  // CreatePredictorWithContext is the same as CreatePredictor with the addition of
   695  // the ability to pass a context and additional request options.
   696  //
   697  // See CreatePredictor for details on how to use this API operation.
   698  //
   699  // The context must be non-nil and will be used for request cancellation. If
   700  // the context is nil a panic will occur. In the future the SDK may create
   701  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   702  // for more information on using Contexts.
   703  func (c *ForecastService) CreatePredictorWithContext(ctx aws.Context, input *CreatePredictorInput, opts ...request.Option) (*CreatePredictorOutput, error) {
   704  	req, out := c.CreatePredictorRequest(input)
   705  	req.SetContext(ctx)
   706  	req.ApplyOptions(opts...)
   707  	return out, req.Send()
   708  }
   709  
   710  const opCreatePredictorBacktestExportJob = "CreatePredictorBacktestExportJob"
   711  
   712  // CreatePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the
   713  // client's request for the CreatePredictorBacktestExportJob operation. The "output" return
   714  // value will be populated with the request's response once the request completes
   715  // successfully.
   716  //
   717  // Use "Send" method on the returned Request to send the API call to the service.
   718  // the "output" return value is not valid until after Send returns without error.
   719  //
   720  // See CreatePredictorBacktestExportJob for more information on using the CreatePredictorBacktestExportJob
   721  // API call, and error handling.
   722  //
   723  // This method is useful when you want to inject custom logic or configuration
   724  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   725  //
   726  //
   727  //    // Example sending a request using the CreatePredictorBacktestExportJobRequest method.
   728  //    req, resp := client.CreatePredictorBacktestExportJobRequest(params)
   729  //
   730  //    err := req.Send()
   731  //    if err == nil { // resp is now filled
   732  //        fmt.Println(resp)
   733  //    }
   734  //
   735  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictorBacktestExportJob
   736  func (c *ForecastService) CreatePredictorBacktestExportJobRequest(input *CreatePredictorBacktestExportJobInput) (req *request.Request, output *CreatePredictorBacktestExportJobOutput) {
   737  	op := &request.Operation{
   738  		Name:       opCreatePredictorBacktestExportJob,
   739  		HTTPMethod: "POST",
   740  		HTTPPath:   "/",
   741  	}
   742  
   743  	if input == nil {
   744  		input = &CreatePredictorBacktestExportJobInput{}
   745  	}
   746  
   747  	output = &CreatePredictorBacktestExportJobOutput{}
   748  	req = c.newRequest(op, input, output)
   749  	return
   750  }
   751  
   752  // CreatePredictorBacktestExportJob API operation for Amazon Forecast Service.
   753  //
   754  // Exports backtest forecasts and accuracy metrics generated by the CreatePredictor
   755  // operation. Two folders containing CSV files are exported to your specified
   756  // S3 bucket.
   757  //
   758  // The export file names will match the following conventions:
   759  //
   760  // <ExportJobName>_<ExportTimestamp>_<PartNumber>.csv
   761  //
   762  // The <ExportTimestamp> component is in Java SimpleDate format (yyyy-MM-ddTHH-mm-ssZ).
   763  //
   764  // You must specify a DataDestination object that includes an Amazon S3 bucket
   765  // and an AWS Identity and Access Management (IAM) role that Amazon Forecast
   766  // can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles.
   767  //
   768  // The Status of the export job must be ACTIVE before you can access the export
   769  // in your Amazon S3 bucket. To get the status, use the DescribePredictorBacktestExportJob
   770  // operation.
   771  //
   772  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   773  // with awserr.Error's Code and Message methods to get detailed information about
   774  // the error.
   775  //
   776  // See the AWS API reference guide for Amazon Forecast Service's
   777  // API operation CreatePredictorBacktestExportJob for usage and error information.
   778  //
   779  // Returned Error Types:
   780  //   * InvalidInputException
   781  //   We can't process the request because it includes an invalid value or a value
   782  //   that exceeds the valid range.
   783  //
   784  //   * ResourceAlreadyExistsException
   785  //   There is already a resource with this name. Try again with a different name.
   786  //
   787  //   * ResourceNotFoundException
   788  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   789  //   ARN and try again.
   790  //
   791  //   * ResourceInUseException
   792  //   The specified resource is in use.
   793  //
   794  //   * LimitExceededException
   795  //   The limit on the number of resources per account has been exceeded.
   796  //
   797  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreatePredictorBacktestExportJob
   798  func (c *ForecastService) CreatePredictorBacktestExportJob(input *CreatePredictorBacktestExportJobInput) (*CreatePredictorBacktestExportJobOutput, error) {
   799  	req, out := c.CreatePredictorBacktestExportJobRequest(input)
   800  	return out, req.Send()
   801  }
   802  
   803  // CreatePredictorBacktestExportJobWithContext is the same as CreatePredictorBacktestExportJob with the addition of
   804  // the ability to pass a context and additional request options.
   805  //
   806  // See CreatePredictorBacktestExportJob for details on how to use this API operation.
   807  //
   808  // The context must be non-nil and will be used for request cancellation. If
   809  // the context is nil a panic will occur. In the future the SDK may create
   810  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   811  // for more information on using Contexts.
   812  func (c *ForecastService) CreatePredictorBacktestExportJobWithContext(ctx aws.Context, input *CreatePredictorBacktestExportJobInput, opts ...request.Option) (*CreatePredictorBacktestExportJobOutput, error) {
   813  	req, out := c.CreatePredictorBacktestExportJobRequest(input)
   814  	req.SetContext(ctx)
   815  	req.ApplyOptions(opts...)
   816  	return out, req.Send()
   817  }
   818  
   819  const opDeleteDataset = "DeleteDataset"
   820  
   821  // DeleteDatasetRequest generates a "aws/request.Request" representing the
   822  // client's request for the DeleteDataset operation. The "output" return
   823  // value will be populated with the request's response once the request completes
   824  // successfully.
   825  //
   826  // Use "Send" method on the returned Request to send the API call to the service.
   827  // the "output" return value is not valid until after Send returns without error.
   828  //
   829  // See DeleteDataset for more information on using the DeleteDataset
   830  // API call, and error handling.
   831  //
   832  // This method is useful when you want to inject custom logic or configuration
   833  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   834  //
   835  //
   836  //    // Example sending a request using the DeleteDatasetRequest method.
   837  //    req, resp := client.DeleteDatasetRequest(params)
   838  //
   839  //    err := req.Send()
   840  //    if err == nil { // resp is now filled
   841  //        fmt.Println(resp)
   842  //    }
   843  //
   844  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDataset
   845  func (c *ForecastService) DeleteDatasetRequest(input *DeleteDatasetInput) (req *request.Request, output *DeleteDatasetOutput) {
   846  	op := &request.Operation{
   847  		Name:       opDeleteDataset,
   848  		HTTPMethod: "POST",
   849  		HTTPPath:   "/",
   850  	}
   851  
   852  	if input == nil {
   853  		input = &DeleteDatasetInput{}
   854  	}
   855  
   856  	output = &DeleteDatasetOutput{}
   857  	req = c.newRequest(op, input, output)
   858  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   859  	return
   860  }
   861  
   862  // DeleteDataset API operation for Amazon Forecast Service.
   863  //
   864  // Deletes an Amazon Forecast dataset that was created using the CreateDataset
   865  // operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED.
   866  // To get the status use the DescribeDataset operation.
   867  //
   868  // Forecast does not automatically update any dataset groups that contain the
   869  // deleted dataset. In order to update the dataset group, use the operation,
   870  // omitting the deleted dataset's ARN.
   871  //
   872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   873  // with awserr.Error's Code and Message methods to get detailed information about
   874  // the error.
   875  //
   876  // See the AWS API reference guide for Amazon Forecast Service's
   877  // API operation DeleteDataset for usage and error information.
   878  //
   879  // Returned Error Types:
   880  //   * InvalidInputException
   881  //   We can't process the request because it includes an invalid value or a value
   882  //   that exceeds the valid range.
   883  //
   884  //   * ResourceNotFoundException
   885  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   886  //   ARN and try again.
   887  //
   888  //   * ResourceInUseException
   889  //   The specified resource is in use.
   890  //
   891  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDataset
   892  func (c *ForecastService) DeleteDataset(input *DeleteDatasetInput) (*DeleteDatasetOutput, error) {
   893  	req, out := c.DeleteDatasetRequest(input)
   894  	return out, req.Send()
   895  }
   896  
   897  // DeleteDatasetWithContext is the same as DeleteDataset with the addition of
   898  // the ability to pass a context and additional request options.
   899  //
   900  // See DeleteDataset for details on how to use this API operation.
   901  //
   902  // The context must be non-nil and will be used for request cancellation. If
   903  // the context is nil a panic will occur. In the future the SDK may create
   904  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   905  // for more information on using Contexts.
   906  func (c *ForecastService) DeleteDatasetWithContext(ctx aws.Context, input *DeleteDatasetInput, opts ...request.Option) (*DeleteDatasetOutput, error) {
   907  	req, out := c.DeleteDatasetRequest(input)
   908  	req.SetContext(ctx)
   909  	req.ApplyOptions(opts...)
   910  	return out, req.Send()
   911  }
   912  
   913  const opDeleteDatasetGroup = "DeleteDatasetGroup"
   914  
   915  // DeleteDatasetGroupRequest generates a "aws/request.Request" representing the
   916  // client's request for the DeleteDatasetGroup operation. The "output" return
   917  // value will be populated with the request's response once the request completes
   918  // successfully.
   919  //
   920  // Use "Send" method on the returned Request to send the API call to the service.
   921  // the "output" return value is not valid until after Send returns without error.
   922  //
   923  // See DeleteDatasetGroup for more information on using the DeleteDatasetGroup
   924  // API call, and error handling.
   925  //
   926  // This method is useful when you want to inject custom logic or configuration
   927  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   928  //
   929  //
   930  //    // Example sending a request using the DeleteDatasetGroupRequest method.
   931  //    req, resp := client.DeleteDatasetGroupRequest(params)
   932  //
   933  //    err := req.Send()
   934  //    if err == nil { // resp is now filled
   935  //        fmt.Println(resp)
   936  //    }
   937  //
   938  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDatasetGroup
   939  func (c *ForecastService) DeleteDatasetGroupRequest(input *DeleteDatasetGroupInput) (req *request.Request, output *DeleteDatasetGroupOutput) {
   940  	op := &request.Operation{
   941  		Name:       opDeleteDatasetGroup,
   942  		HTTPMethod: "POST",
   943  		HTTPPath:   "/",
   944  	}
   945  
   946  	if input == nil {
   947  		input = &DeleteDatasetGroupInput{}
   948  	}
   949  
   950  	output = &DeleteDatasetGroupOutput{}
   951  	req = c.newRequest(op, input, output)
   952  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   953  	return
   954  }
   955  
   956  // DeleteDatasetGroup API operation for Amazon Forecast Service.
   957  //
   958  // Deletes a dataset group created using the CreateDatasetGroup operation. You
   959  // can only delete dataset groups that have a status of ACTIVE, CREATE_FAILED,
   960  // or UPDATE_FAILED. To get the status, use the DescribeDatasetGroup operation.
   961  //
   962  // This operation deletes only the dataset group, not the datasets in the group.
   963  //
   964  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   965  // with awserr.Error's Code and Message methods to get detailed information about
   966  // the error.
   967  //
   968  // See the AWS API reference guide for Amazon Forecast Service's
   969  // API operation DeleteDatasetGroup for usage and error information.
   970  //
   971  // Returned Error Types:
   972  //   * InvalidInputException
   973  //   We can't process the request because it includes an invalid value or a value
   974  //   that exceeds the valid range.
   975  //
   976  //   * ResourceNotFoundException
   977  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
   978  //   ARN and try again.
   979  //
   980  //   * ResourceInUseException
   981  //   The specified resource is in use.
   982  //
   983  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDatasetGroup
   984  func (c *ForecastService) DeleteDatasetGroup(input *DeleteDatasetGroupInput) (*DeleteDatasetGroupOutput, error) {
   985  	req, out := c.DeleteDatasetGroupRequest(input)
   986  	return out, req.Send()
   987  }
   988  
   989  // DeleteDatasetGroupWithContext is the same as DeleteDatasetGroup with the addition of
   990  // the ability to pass a context and additional request options.
   991  //
   992  // See DeleteDatasetGroup for details on how to use this API operation.
   993  //
   994  // The context must be non-nil and will be used for request cancellation. If
   995  // the context is nil a panic will occur. In the future the SDK may create
   996  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   997  // for more information on using Contexts.
   998  func (c *ForecastService) DeleteDatasetGroupWithContext(ctx aws.Context, input *DeleteDatasetGroupInput, opts ...request.Option) (*DeleteDatasetGroupOutput, error) {
   999  	req, out := c.DeleteDatasetGroupRequest(input)
  1000  	req.SetContext(ctx)
  1001  	req.ApplyOptions(opts...)
  1002  	return out, req.Send()
  1003  }
  1004  
  1005  const opDeleteDatasetImportJob = "DeleteDatasetImportJob"
  1006  
  1007  // DeleteDatasetImportJobRequest generates a "aws/request.Request" representing the
  1008  // client's request for the DeleteDatasetImportJob operation. The "output" return
  1009  // value will be populated with the request's response once the request completes
  1010  // successfully.
  1011  //
  1012  // Use "Send" method on the returned Request to send the API call to the service.
  1013  // the "output" return value is not valid until after Send returns without error.
  1014  //
  1015  // See DeleteDatasetImportJob for more information on using the DeleteDatasetImportJob
  1016  // API call, and error handling.
  1017  //
  1018  // This method is useful when you want to inject custom logic or configuration
  1019  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1020  //
  1021  //
  1022  //    // Example sending a request using the DeleteDatasetImportJobRequest method.
  1023  //    req, resp := client.DeleteDatasetImportJobRequest(params)
  1024  //
  1025  //    err := req.Send()
  1026  //    if err == nil { // resp is now filled
  1027  //        fmt.Println(resp)
  1028  //    }
  1029  //
  1030  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDatasetImportJob
  1031  func (c *ForecastService) DeleteDatasetImportJobRequest(input *DeleteDatasetImportJobInput) (req *request.Request, output *DeleteDatasetImportJobOutput) {
  1032  	op := &request.Operation{
  1033  		Name:       opDeleteDatasetImportJob,
  1034  		HTTPMethod: "POST",
  1035  		HTTPPath:   "/",
  1036  	}
  1037  
  1038  	if input == nil {
  1039  		input = &DeleteDatasetImportJobInput{}
  1040  	}
  1041  
  1042  	output = &DeleteDatasetImportJobOutput{}
  1043  	req = c.newRequest(op, input, output)
  1044  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1045  	return
  1046  }
  1047  
  1048  // DeleteDatasetImportJob API operation for Amazon Forecast Service.
  1049  //
  1050  // Deletes a dataset import job created using the CreateDatasetImportJob operation.
  1051  // You can delete only dataset import jobs that have a status of ACTIVE or CREATE_FAILED.
  1052  // To get the status, use the DescribeDatasetImportJob operation.
  1053  //
  1054  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1055  // with awserr.Error's Code and Message methods to get detailed information about
  1056  // the error.
  1057  //
  1058  // See the AWS API reference guide for Amazon Forecast Service's
  1059  // API operation DeleteDatasetImportJob for usage and error information.
  1060  //
  1061  // Returned Error Types:
  1062  //   * InvalidInputException
  1063  //   We can't process the request because it includes an invalid value or a value
  1064  //   that exceeds the valid range.
  1065  //
  1066  //   * ResourceNotFoundException
  1067  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1068  //   ARN and try again.
  1069  //
  1070  //   * ResourceInUseException
  1071  //   The specified resource is in use.
  1072  //
  1073  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteDatasetImportJob
  1074  func (c *ForecastService) DeleteDatasetImportJob(input *DeleteDatasetImportJobInput) (*DeleteDatasetImportJobOutput, error) {
  1075  	req, out := c.DeleteDatasetImportJobRequest(input)
  1076  	return out, req.Send()
  1077  }
  1078  
  1079  // DeleteDatasetImportJobWithContext is the same as DeleteDatasetImportJob with the addition of
  1080  // the ability to pass a context and additional request options.
  1081  //
  1082  // See DeleteDatasetImportJob for details on how to use this API operation.
  1083  //
  1084  // The context must be non-nil and will be used for request cancellation. If
  1085  // the context is nil a panic will occur. In the future the SDK may create
  1086  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1087  // for more information on using Contexts.
  1088  func (c *ForecastService) DeleteDatasetImportJobWithContext(ctx aws.Context, input *DeleteDatasetImportJobInput, opts ...request.Option) (*DeleteDatasetImportJobOutput, error) {
  1089  	req, out := c.DeleteDatasetImportJobRequest(input)
  1090  	req.SetContext(ctx)
  1091  	req.ApplyOptions(opts...)
  1092  	return out, req.Send()
  1093  }
  1094  
  1095  const opDeleteForecast = "DeleteForecast"
  1096  
  1097  // DeleteForecastRequest generates a "aws/request.Request" representing the
  1098  // client's request for the DeleteForecast operation. The "output" return
  1099  // value will be populated with the request's response once the request completes
  1100  // successfully.
  1101  //
  1102  // Use "Send" method on the returned Request to send the API call to the service.
  1103  // the "output" return value is not valid until after Send returns without error.
  1104  //
  1105  // See DeleteForecast for more information on using the DeleteForecast
  1106  // API call, and error handling.
  1107  //
  1108  // This method is useful when you want to inject custom logic or configuration
  1109  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1110  //
  1111  //
  1112  //    // Example sending a request using the DeleteForecastRequest method.
  1113  //    req, resp := client.DeleteForecastRequest(params)
  1114  //
  1115  //    err := req.Send()
  1116  //    if err == nil { // resp is now filled
  1117  //        fmt.Println(resp)
  1118  //    }
  1119  //
  1120  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteForecast
  1121  func (c *ForecastService) DeleteForecastRequest(input *DeleteForecastInput) (req *request.Request, output *DeleteForecastOutput) {
  1122  	op := &request.Operation{
  1123  		Name:       opDeleteForecast,
  1124  		HTTPMethod: "POST",
  1125  		HTTPPath:   "/",
  1126  	}
  1127  
  1128  	if input == nil {
  1129  		input = &DeleteForecastInput{}
  1130  	}
  1131  
  1132  	output = &DeleteForecastOutput{}
  1133  	req = c.newRequest(op, input, output)
  1134  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1135  	return
  1136  }
  1137  
  1138  // DeleteForecast API operation for Amazon Forecast Service.
  1139  //
  1140  // Deletes a forecast created using the CreateForecast operation. You can delete
  1141  // only forecasts that have a status of ACTIVE or CREATE_FAILED. To get the
  1142  // status, use the DescribeForecast operation.
  1143  //
  1144  // You can't delete a forecast while it is being exported. After a forecast
  1145  // is deleted, you can no longer query the forecast.
  1146  //
  1147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1148  // with awserr.Error's Code and Message methods to get detailed information about
  1149  // the error.
  1150  //
  1151  // See the AWS API reference guide for Amazon Forecast Service's
  1152  // API operation DeleteForecast for usage and error information.
  1153  //
  1154  // Returned Error Types:
  1155  //   * InvalidInputException
  1156  //   We can't process the request because it includes an invalid value or a value
  1157  //   that exceeds the valid range.
  1158  //
  1159  //   * ResourceNotFoundException
  1160  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1161  //   ARN and try again.
  1162  //
  1163  //   * ResourceInUseException
  1164  //   The specified resource is in use.
  1165  //
  1166  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteForecast
  1167  func (c *ForecastService) DeleteForecast(input *DeleteForecastInput) (*DeleteForecastOutput, error) {
  1168  	req, out := c.DeleteForecastRequest(input)
  1169  	return out, req.Send()
  1170  }
  1171  
  1172  // DeleteForecastWithContext is the same as DeleteForecast with the addition of
  1173  // the ability to pass a context and additional request options.
  1174  //
  1175  // See DeleteForecast for details on how to use this API operation.
  1176  //
  1177  // The context must be non-nil and will be used for request cancellation. If
  1178  // the context is nil a panic will occur. In the future the SDK may create
  1179  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1180  // for more information on using Contexts.
  1181  func (c *ForecastService) DeleteForecastWithContext(ctx aws.Context, input *DeleteForecastInput, opts ...request.Option) (*DeleteForecastOutput, error) {
  1182  	req, out := c.DeleteForecastRequest(input)
  1183  	req.SetContext(ctx)
  1184  	req.ApplyOptions(opts...)
  1185  	return out, req.Send()
  1186  }
  1187  
  1188  const opDeleteForecastExportJob = "DeleteForecastExportJob"
  1189  
  1190  // DeleteForecastExportJobRequest generates a "aws/request.Request" representing the
  1191  // client's request for the DeleteForecastExportJob operation. The "output" return
  1192  // value will be populated with the request's response once the request completes
  1193  // successfully.
  1194  //
  1195  // Use "Send" method on the returned Request to send the API call to the service.
  1196  // the "output" return value is not valid until after Send returns without error.
  1197  //
  1198  // See DeleteForecastExportJob for more information on using the DeleteForecastExportJob
  1199  // API call, and error handling.
  1200  //
  1201  // This method is useful when you want to inject custom logic or configuration
  1202  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1203  //
  1204  //
  1205  //    // Example sending a request using the DeleteForecastExportJobRequest method.
  1206  //    req, resp := client.DeleteForecastExportJobRequest(params)
  1207  //
  1208  //    err := req.Send()
  1209  //    if err == nil { // resp is now filled
  1210  //        fmt.Println(resp)
  1211  //    }
  1212  //
  1213  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteForecastExportJob
  1214  func (c *ForecastService) DeleteForecastExportJobRequest(input *DeleteForecastExportJobInput) (req *request.Request, output *DeleteForecastExportJobOutput) {
  1215  	op := &request.Operation{
  1216  		Name:       opDeleteForecastExportJob,
  1217  		HTTPMethod: "POST",
  1218  		HTTPPath:   "/",
  1219  	}
  1220  
  1221  	if input == nil {
  1222  		input = &DeleteForecastExportJobInput{}
  1223  	}
  1224  
  1225  	output = &DeleteForecastExportJobOutput{}
  1226  	req = c.newRequest(op, input, output)
  1227  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1228  	return
  1229  }
  1230  
  1231  // DeleteForecastExportJob API operation for Amazon Forecast Service.
  1232  //
  1233  // Deletes a forecast export job created using the CreateForecastExportJob operation.
  1234  // You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED.
  1235  // To get the status, use the DescribeForecastExportJob operation.
  1236  //
  1237  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1238  // with awserr.Error's Code and Message methods to get detailed information about
  1239  // the error.
  1240  //
  1241  // See the AWS API reference guide for Amazon Forecast Service's
  1242  // API operation DeleteForecastExportJob for usage and error information.
  1243  //
  1244  // Returned Error Types:
  1245  //   * InvalidInputException
  1246  //   We can't process the request because it includes an invalid value or a value
  1247  //   that exceeds the valid range.
  1248  //
  1249  //   * ResourceNotFoundException
  1250  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1251  //   ARN and try again.
  1252  //
  1253  //   * ResourceInUseException
  1254  //   The specified resource is in use.
  1255  //
  1256  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteForecastExportJob
  1257  func (c *ForecastService) DeleteForecastExportJob(input *DeleteForecastExportJobInput) (*DeleteForecastExportJobOutput, error) {
  1258  	req, out := c.DeleteForecastExportJobRequest(input)
  1259  	return out, req.Send()
  1260  }
  1261  
  1262  // DeleteForecastExportJobWithContext is the same as DeleteForecastExportJob with the addition of
  1263  // the ability to pass a context and additional request options.
  1264  //
  1265  // See DeleteForecastExportJob for details on how to use this API operation.
  1266  //
  1267  // The context must be non-nil and will be used for request cancellation. If
  1268  // the context is nil a panic will occur. In the future the SDK may create
  1269  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1270  // for more information on using Contexts.
  1271  func (c *ForecastService) DeleteForecastExportJobWithContext(ctx aws.Context, input *DeleteForecastExportJobInput, opts ...request.Option) (*DeleteForecastExportJobOutput, error) {
  1272  	req, out := c.DeleteForecastExportJobRequest(input)
  1273  	req.SetContext(ctx)
  1274  	req.ApplyOptions(opts...)
  1275  	return out, req.Send()
  1276  }
  1277  
  1278  const opDeletePredictor = "DeletePredictor"
  1279  
  1280  // DeletePredictorRequest generates a "aws/request.Request" representing the
  1281  // client's request for the DeletePredictor operation. The "output" return
  1282  // value will be populated with the request's response once the request completes
  1283  // successfully.
  1284  //
  1285  // Use "Send" method on the returned Request to send the API call to the service.
  1286  // the "output" return value is not valid until after Send returns without error.
  1287  //
  1288  // See DeletePredictor for more information on using the DeletePredictor
  1289  // API call, and error handling.
  1290  //
  1291  // This method is useful when you want to inject custom logic or configuration
  1292  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1293  //
  1294  //
  1295  //    // Example sending a request using the DeletePredictorRequest method.
  1296  //    req, resp := client.DeletePredictorRequest(params)
  1297  //
  1298  //    err := req.Send()
  1299  //    if err == nil { // resp is now filled
  1300  //        fmt.Println(resp)
  1301  //    }
  1302  //
  1303  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictor
  1304  func (c *ForecastService) DeletePredictorRequest(input *DeletePredictorInput) (req *request.Request, output *DeletePredictorOutput) {
  1305  	op := &request.Operation{
  1306  		Name:       opDeletePredictor,
  1307  		HTTPMethod: "POST",
  1308  		HTTPPath:   "/",
  1309  	}
  1310  
  1311  	if input == nil {
  1312  		input = &DeletePredictorInput{}
  1313  	}
  1314  
  1315  	output = &DeletePredictorOutput{}
  1316  	req = c.newRequest(op, input, output)
  1317  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1318  	return
  1319  }
  1320  
  1321  // DeletePredictor API operation for Amazon Forecast Service.
  1322  //
  1323  // Deletes a predictor created using the CreatePredictor operation. You can
  1324  // delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get
  1325  // the status, use the DescribePredictor operation.
  1326  //
  1327  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1328  // with awserr.Error's Code and Message methods to get detailed information about
  1329  // the error.
  1330  //
  1331  // See the AWS API reference guide for Amazon Forecast Service's
  1332  // API operation DeletePredictor for usage and error information.
  1333  //
  1334  // Returned Error Types:
  1335  //   * InvalidInputException
  1336  //   We can't process the request because it includes an invalid value or a value
  1337  //   that exceeds the valid range.
  1338  //
  1339  //   * ResourceNotFoundException
  1340  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1341  //   ARN and try again.
  1342  //
  1343  //   * ResourceInUseException
  1344  //   The specified resource is in use.
  1345  //
  1346  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictor
  1347  func (c *ForecastService) DeletePredictor(input *DeletePredictorInput) (*DeletePredictorOutput, error) {
  1348  	req, out := c.DeletePredictorRequest(input)
  1349  	return out, req.Send()
  1350  }
  1351  
  1352  // DeletePredictorWithContext is the same as DeletePredictor with the addition of
  1353  // the ability to pass a context and additional request options.
  1354  //
  1355  // See DeletePredictor for details on how to use this API operation.
  1356  //
  1357  // The context must be non-nil and will be used for request cancellation. If
  1358  // the context is nil a panic will occur. In the future the SDK may create
  1359  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1360  // for more information on using Contexts.
  1361  func (c *ForecastService) DeletePredictorWithContext(ctx aws.Context, input *DeletePredictorInput, opts ...request.Option) (*DeletePredictorOutput, error) {
  1362  	req, out := c.DeletePredictorRequest(input)
  1363  	req.SetContext(ctx)
  1364  	req.ApplyOptions(opts...)
  1365  	return out, req.Send()
  1366  }
  1367  
  1368  const opDeletePredictorBacktestExportJob = "DeletePredictorBacktestExportJob"
  1369  
  1370  // DeletePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the
  1371  // client's request for the DeletePredictorBacktestExportJob operation. The "output" return
  1372  // value will be populated with the request's response once the request completes
  1373  // successfully.
  1374  //
  1375  // Use "Send" method on the returned Request to send the API call to the service.
  1376  // the "output" return value is not valid until after Send returns without error.
  1377  //
  1378  // See DeletePredictorBacktestExportJob for more information on using the DeletePredictorBacktestExportJob
  1379  // API call, and error handling.
  1380  //
  1381  // This method is useful when you want to inject custom logic or configuration
  1382  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1383  //
  1384  //
  1385  //    // Example sending a request using the DeletePredictorBacktestExportJobRequest method.
  1386  //    req, resp := client.DeletePredictorBacktestExportJobRequest(params)
  1387  //
  1388  //    err := req.Send()
  1389  //    if err == nil { // resp is now filled
  1390  //        fmt.Println(resp)
  1391  //    }
  1392  //
  1393  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictorBacktestExportJob
  1394  func (c *ForecastService) DeletePredictorBacktestExportJobRequest(input *DeletePredictorBacktestExportJobInput) (req *request.Request, output *DeletePredictorBacktestExportJobOutput) {
  1395  	op := &request.Operation{
  1396  		Name:       opDeletePredictorBacktestExportJob,
  1397  		HTTPMethod: "POST",
  1398  		HTTPPath:   "/",
  1399  	}
  1400  
  1401  	if input == nil {
  1402  		input = &DeletePredictorBacktestExportJobInput{}
  1403  	}
  1404  
  1405  	output = &DeletePredictorBacktestExportJobOutput{}
  1406  	req = c.newRequest(op, input, output)
  1407  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1408  	return
  1409  }
  1410  
  1411  // DeletePredictorBacktestExportJob API operation for Amazon Forecast Service.
  1412  //
  1413  // Deletes a predictor backtest export job.
  1414  //
  1415  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1416  // with awserr.Error's Code and Message methods to get detailed information about
  1417  // the error.
  1418  //
  1419  // See the AWS API reference guide for Amazon Forecast Service's
  1420  // API operation DeletePredictorBacktestExportJob for usage and error information.
  1421  //
  1422  // Returned Error Types:
  1423  //   * InvalidInputException
  1424  //   We can't process the request because it includes an invalid value or a value
  1425  //   that exceeds the valid range.
  1426  //
  1427  //   * ResourceNotFoundException
  1428  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1429  //   ARN and try again.
  1430  //
  1431  //   * ResourceInUseException
  1432  //   The specified resource is in use.
  1433  //
  1434  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeletePredictorBacktestExportJob
  1435  func (c *ForecastService) DeletePredictorBacktestExportJob(input *DeletePredictorBacktestExportJobInput) (*DeletePredictorBacktestExportJobOutput, error) {
  1436  	req, out := c.DeletePredictorBacktestExportJobRequest(input)
  1437  	return out, req.Send()
  1438  }
  1439  
  1440  // DeletePredictorBacktestExportJobWithContext is the same as DeletePredictorBacktestExportJob with the addition of
  1441  // the ability to pass a context and additional request options.
  1442  //
  1443  // See DeletePredictorBacktestExportJob for details on how to use this API operation.
  1444  //
  1445  // The context must be non-nil and will be used for request cancellation. If
  1446  // the context is nil a panic will occur. In the future the SDK may create
  1447  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1448  // for more information on using Contexts.
  1449  func (c *ForecastService) DeletePredictorBacktestExportJobWithContext(ctx aws.Context, input *DeletePredictorBacktestExportJobInput, opts ...request.Option) (*DeletePredictorBacktestExportJobOutput, error) {
  1450  	req, out := c.DeletePredictorBacktestExportJobRequest(input)
  1451  	req.SetContext(ctx)
  1452  	req.ApplyOptions(opts...)
  1453  	return out, req.Send()
  1454  }
  1455  
  1456  const opDeleteResourceTree = "DeleteResourceTree"
  1457  
  1458  // DeleteResourceTreeRequest generates a "aws/request.Request" representing the
  1459  // client's request for the DeleteResourceTree operation. The "output" return
  1460  // value will be populated with the request's response once the request completes
  1461  // successfully.
  1462  //
  1463  // Use "Send" method on the returned Request to send the API call to the service.
  1464  // the "output" return value is not valid until after Send returns without error.
  1465  //
  1466  // See DeleteResourceTree for more information on using the DeleteResourceTree
  1467  // API call, and error handling.
  1468  //
  1469  // This method is useful when you want to inject custom logic or configuration
  1470  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1471  //
  1472  //
  1473  //    // Example sending a request using the DeleteResourceTreeRequest method.
  1474  //    req, resp := client.DeleteResourceTreeRequest(params)
  1475  //
  1476  //    err := req.Send()
  1477  //    if err == nil { // resp is now filled
  1478  //        fmt.Println(resp)
  1479  //    }
  1480  //
  1481  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteResourceTree
  1482  func (c *ForecastService) DeleteResourceTreeRequest(input *DeleteResourceTreeInput) (req *request.Request, output *DeleteResourceTreeOutput) {
  1483  	op := &request.Operation{
  1484  		Name:       opDeleteResourceTree,
  1485  		HTTPMethod: "POST",
  1486  		HTTPPath:   "/",
  1487  	}
  1488  
  1489  	if input == nil {
  1490  		input = &DeleteResourceTreeInput{}
  1491  	}
  1492  
  1493  	output = &DeleteResourceTreeOutput{}
  1494  	req = c.newRequest(op, input, output)
  1495  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1496  	return
  1497  }
  1498  
  1499  // DeleteResourceTree API operation for Amazon Forecast Service.
  1500  //
  1501  // Deletes an entire resource tree. This operation will delete the parent resource
  1502  // and its child resources.
  1503  //
  1504  // Child resources are resources that were created from another resource. For
  1505  // example, when a forecast is generated from a predictor, the forecast is the
  1506  // child resource and the predictor is the parent resource.
  1507  //
  1508  // Amazon Forecast resources possess the following parent-child resource hierarchies:
  1509  //
  1510  //    * Dataset: dataset import jobs
  1511  //
  1512  //    * Dataset Group: predictors, predictor backtest export jobs, forecasts,
  1513  //    forecast export jobs
  1514  //
  1515  //    * Predictor: predictor backtest export jobs, forecasts, forecast export
  1516  //    jobs
  1517  //
  1518  //    * Forecast: forecast export jobs
  1519  //
  1520  // DeleteResourceTree will only delete Amazon Forecast resources, and will not
  1521  // delete datasets or exported files stored in Amazon S3.
  1522  //
  1523  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1524  // with awserr.Error's Code and Message methods to get detailed information about
  1525  // the error.
  1526  //
  1527  // See the AWS API reference guide for Amazon Forecast Service's
  1528  // API operation DeleteResourceTree for usage and error information.
  1529  //
  1530  // Returned Error Types:
  1531  //   * InvalidInputException
  1532  //   We can't process the request because it includes an invalid value or a value
  1533  //   that exceeds the valid range.
  1534  //
  1535  //   * ResourceNotFoundException
  1536  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1537  //   ARN and try again.
  1538  //
  1539  //   * ResourceInUseException
  1540  //   The specified resource is in use.
  1541  //
  1542  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteResourceTree
  1543  func (c *ForecastService) DeleteResourceTree(input *DeleteResourceTreeInput) (*DeleteResourceTreeOutput, error) {
  1544  	req, out := c.DeleteResourceTreeRequest(input)
  1545  	return out, req.Send()
  1546  }
  1547  
  1548  // DeleteResourceTreeWithContext is the same as DeleteResourceTree with the addition of
  1549  // the ability to pass a context and additional request options.
  1550  //
  1551  // See DeleteResourceTree for details on how to use this API operation.
  1552  //
  1553  // The context must be non-nil and will be used for request cancellation. If
  1554  // the context is nil a panic will occur. In the future the SDK may create
  1555  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1556  // for more information on using Contexts.
  1557  func (c *ForecastService) DeleteResourceTreeWithContext(ctx aws.Context, input *DeleteResourceTreeInput, opts ...request.Option) (*DeleteResourceTreeOutput, error) {
  1558  	req, out := c.DeleteResourceTreeRequest(input)
  1559  	req.SetContext(ctx)
  1560  	req.ApplyOptions(opts...)
  1561  	return out, req.Send()
  1562  }
  1563  
  1564  const opDescribeDataset = "DescribeDataset"
  1565  
  1566  // DescribeDatasetRequest generates a "aws/request.Request" representing the
  1567  // client's request for the DescribeDataset operation. The "output" return
  1568  // value will be populated with the request's response once the request completes
  1569  // successfully.
  1570  //
  1571  // Use "Send" method on the returned Request to send the API call to the service.
  1572  // the "output" return value is not valid until after Send returns without error.
  1573  //
  1574  // See DescribeDataset for more information on using the DescribeDataset
  1575  // API call, and error handling.
  1576  //
  1577  // This method is useful when you want to inject custom logic or configuration
  1578  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1579  //
  1580  //
  1581  //    // Example sending a request using the DescribeDatasetRequest method.
  1582  //    req, resp := client.DescribeDatasetRequest(params)
  1583  //
  1584  //    err := req.Send()
  1585  //    if err == nil { // resp is now filled
  1586  //        fmt.Println(resp)
  1587  //    }
  1588  //
  1589  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDataset
  1590  func (c *ForecastService) DescribeDatasetRequest(input *DescribeDatasetInput) (req *request.Request, output *DescribeDatasetOutput) {
  1591  	op := &request.Operation{
  1592  		Name:       opDescribeDataset,
  1593  		HTTPMethod: "POST",
  1594  		HTTPPath:   "/",
  1595  	}
  1596  
  1597  	if input == nil {
  1598  		input = &DescribeDatasetInput{}
  1599  	}
  1600  
  1601  	output = &DescribeDatasetOutput{}
  1602  	req = c.newRequest(op, input, output)
  1603  	return
  1604  }
  1605  
  1606  // DescribeDataset API operation for Amazon Forecast Service.
  1607  //
  1608  // Describes an Amazon Forecast dataset created using the CreateDataset operation.
  1609  //
  1610  // In addition to listing the parameters specified in the CreateDataset request,
  1611  // this operation includes the following dataset properties:
  1612  //
  1613  //    * CreationTime
  1614  //
  1615  //    * LastModificationTime
  1616  //
  1617  //    * Status
  1618  //
  1619  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1620  // with awserr.Error's Code and Message methods to get detailed information about
  1621  // the error.
  1622  //
  1623  // See the AWS API reference guide for Amazon Forecast Service's
  1624  // API operation DescribeDataset for usage and error information.
  1625  //
  1626  // Returned Error Types:
  1627  //   * InvalidInputException
  1628  //   We can't process the request because it includes an invalid value or a value
  1629  //   that exceeds the valid range.
  1630  //
  1631  //   * ResourceNotFoundException
  1632  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1633  //   ARN and try again.
  1634  //
  1635  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDataset
  1636  func (c *ForecastService) DescribeDataset(input *DescribeDatasetInput) (*DescribeDatasetOutput, error) {
  1637  	req, out := c.DescribeDatasetRequest(input)
  1638  	return out, req.Send()
  1639  }
  1640  
  1641  // DescribeDatasetWithContext is the same as DescribeDataset with the addition of
  1642  // the ability to pass a context and additional request options.
  1643  //
  1644  // See DescribeDataset for details on how to use this API operation.
  1645  //
  1646  // The context must be non-nil and will be used for request cancellation. If
  1647  // the context is nil a panic will occur. In the future the SDK may create
  1648  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1649  // for more information on using Contexts.
  1650  func (c *ForecastService) DescribeDatasetWithContext(ctx aws.Context, input *DescribeDatasetInput, opts ...request.Option) (*DescribeDatasetOutput, error) {
  1651  	req, out := c.DescribeDatasetRequest(input)
  1652  	req.SetContext(ctx)
  1653  	req.ApplyOptions(opts...)
  1654  	return out, req.Send()
  1655  }
  1656  
  1657  const opDescribeDatasetGroup = "DescribeDatasetGroup"
  1658  
  1659  // DescribeDatasetGroupRequest generates a "aws/request.Request" representing the
  1660  // client's request for the DescribeDatasetGroup operation. The "output" return
  1661  // value will be populated with the request's response once the request completes
  1662  // successfully.
  1663  //
  1664  // Use "Send" method on the returned Request to send the API call to the service.
  1665  // the "output" return value is not valid until after Send returns without error.
  1666  //
  1667  // See DescribeDatasetGroup for more information on using the DescribeDatasetGroup
  1668  // API call, and error handling.
  1669  //
  1670  // This method is useful when you want to inject custom logic or configuration
  1671  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1672  //
  1673  //
  1674  //    // Example sending a request using the DescribeDatasetGroupRequest method.
  1675  //    req, resp := client.DescribeDatasetGroupRequest(params)
  1676  //
  1677  //    err := req.Send()
  1678  //    if err == nil { // resp is now filled
  1679  //        fmt.Println(resp)
  1680  //    }
  1681  //
  1682  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDatasetGroup
  1683  func (c *ForecastService) DescribeDatasetGroupRequest(input *DescribeDatasetGroupInput) (req *request.Request, output *DescribeDatasetGroupOutput) {
  1684  	op := &request.Operation{
  1685  		Name:       opDescribeDatasetGroup,
  1686  		HTTPMethod: "POST",
  1687  		HTTPPath:   "/",
  1688  	}
  1689  
  1690  	if input == nil {
  1691  		input = &DescribeDatasetGroupInput{}
  1692  	}
  1693  
  1694  	output = &DescribeDatasetGroupOutput{}
  1695  	req = c.newRequest(op, input, output)
  1696  	return
  1697  }
  1698  
  1699  // DescribeDatasetGroup API operation for Amazon Forecast Service.
  1700  //
  1701  // Describes a dataset group created using the CreateDatasetGroup operation.
  1702  //
  1703  // In addition to listing the parameters provided in the CreateDatasetGroup
  1704  // request, this operation includes the following properties:
  1705  //
  1706  //    * DatasetArns - The datasets belonging to the group.
  1707  //
  1708  //    * CreationTime
  1709  //
  1710  //    * LastModificationTime
  1711  //
  1712  //    * Status
  1713  //
  1714  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1715  // with awserr.Error's Code and Message methods to get detailed information about
  1716  // the error.
  1717  //
  1718  // See the AWS API reference guide for Amazon Forecast Service's
  1719  // API operation DescribeDatasetGroup for usage and error information.
  1720  //
  1721  // Returned Error Types:
  1722  //   * InvalidInputException
  1723  //   We can't process the request because it includes an invalid value or a value
  1724  //   that exceeds the valid range.
  1725  //
  1726  //   * ResourceNotFoundException
  1727  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1728  //   ARN and try again.
  1729  //
  1730  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDatasetGroup
  1731  func (c *ForecastService) DescribeDatasetGroup(input *DescribeDatasetGroupInput) (*DescribeDatasetGroupOutput, error) {
  1732  	req, out := c.DescribeDatasetGroupRequest(input)
  1733  	return out, req.Send()
  1734  }
  1735  
  1736  // DescribeDatasetGroupWithContext is the same as DescribeDatasetGroup with the addition of
  1737  // the ability to pass a context and additional request options.
  1738  //
  1739  // See DescribeDatasetGroup for details on how to use this API operation.
  1740  //
  1741  // The context must be non-nil and will be used for request cancellation. If
  1742  // the context is nil a panic will occur. In the future the SDK may create
  1743  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1744  // for more information on using Contexts.
  1745  func (c *ForecastService) DescribeDatasetGroupWithContext(ctx aws.Context, input *DescribeDatasetGroupInput, opts ...request.Option) (*DescribeDatasetGroupOutput, error) {
  1746  	req, out := c.DescribeDatasetGroupRequest(input)
  1747  	req.SetContext(ctx)
  1748  	req.ApplyOptions(opts...)
  1749  	return out, req.Send()
  1750  }
  1751  
  1752  const opDescribeDatasetImportJob = "DescribeDatasetImportJob"
  1753  
  1754  // DescribeDatasetImportJobRequest generates a "aws/request.Request" representing the
  1755  // client's request for the DescribeDatasetImportJob operation. The "output" return
  1756  // value will be populated with the request's response once the request completes
  1757  // successfully.
  1758  //
  1759  // Use "Send" method on the returned Request to send the API call to the service.
  1760  // the "output" return value is not valid until after Send returns without error.
  1761  //
  1762  // See DescribeDatasetImportJob for more information on using the DescribeDatasetImportJob
  1763  // API call, and error handling.
  1764  //
  1765  // This method is useful when you want to inject custom logic or configuration
  1766  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1767  //
  1768  //
  1769  //    // Example sending a request using the DescribeDatasetImportJobRequest method.
  1770  //    req, resp := client.DescribeDatasetImportJobRequest(params)
  1771  //
  1772  //    err := req.Send()
  1773  //    if err == nil { // resp is now filled
  1774  //        fmt.Println(resp)
  1775  //    }
  1776  //
  1777  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDatasetImportJob
  1778  func (c *ForecastService) DescribeDatasetImportJobRequest(input *DescribeDatasetImportJobInput) (req *request.Request, output *DescribeDatasetImportJobOutput) {
  1779  	op := &request.Operation{
  1780  		Name:       opDescribeDatasetImportJob,
  1781  		HTTPMethod: "POST",
  1782  		HTTPPath:   "/",
  1783  	}
  1784  
  1785  	if input == nil {
  1786  		input = &DescribeDatasetImportJobInput{}
  1787  	}
  1788  
  1789  	output = &DescribeDatasetImportJobOutput{}
  1790  	req = c.newRequest(op, input, output)
  1791  	return
  1792  }
  1793  
  1794  // DescribeDatasetImportJob API operation for Amazon Forecast Service.
  1795  //
  1796  // Describes a dataset import job created using the CreateDatasetImportJob operation.
  1797  //
  1798  // In addition to listing the parameters provided in the CreateDatasetImportJob
  1799  // request, this operation includes the following properties:
  1800  //
  1801  //    * CreationTime
  1802  //
  1803  //    * LastModificationTime
  1804  //
  1805  //    * DataSize
  1806  //
  1807  //    * FieldStatistics
  1808  //
  1809  //    * Status
  1810  //
  1811  //    * Message - If an error occurred, information about the error.
  1812  //
  1813  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1814  // with awserr.Error's Code and Message methods to get detailed information about
  1815  // the error.
  1816  //
  1817  // See the AWS API reference guide for Amazon Forecast Service's
  1818  // API operation DescribeDatasetImportJob for usage and error information.
  1819  //
  1820  // Returned Error Types:
  1821  //   * InvalidInputException
  1822  //   We can't process the request because it includes an invalid value or a value
  1823  //   that exceeds the valid range.
  1824  //
  1825  //   * ResourceNotFoundException
  1826  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1827  //   ARN and try again.
  1828  //
  1829  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeDatasetImportJob
  1830  func (c *ForecastService) DescribeDatasetImportJob(input *DescribeDatasetImportJobInput) (*DescribeDatasetImportJobOutput, error) {
  1831  	req, out := c.DescribeDatasetImportJobRequest(input)
  1832  	return out, req.Send()
  1833  }
  1834  
  1835  // DescribeDatasetImportJobWithContext is the same as DescribeDatasetImportJob with the addition of
  1836  // the ability to pass a context and additional request options.
  1837  //
  1838  // See DescribeDatasetImportJob for details on how to use this API operation.
  1839  //
  1840  // The context must be non-nil and will be used for request cancellation. If
  1841  // the context is nil a panic will occur. In the future the SDK may create
  1842  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1843  // for more information on using Contexts.
  1844  func (c *ForecastService) DescribeDatasetImportJobWithContext(ctx aws.Context, input *DescribeDatasetImportJobInput, opts ...request.Option) (*DescribeDatasetImportJobOutput, error) {
  1845  	req, out := c.DescribeDatasetImportJobRequest(input)
  1846  	req.SetContext(ctx)
  1847  	req.ApplyOptions(opts...)
  1848  	return out, req.Send()
  1849  }
  1850  
  1851  const opDescribeForecast = "DescribeForecast"
  1852  
  1853  // DescribeForecastRequest generates a "aws/request.Request" representing the
  1854  // client's request for the DescribeForecast operation. The "output" return
  1855  // value will be populated with the request's response once the request completes
  1856  // successfully.
  1857  //
  1858  // Use "Send" method on the returned Request to send the API call to the service.
  1859  // the "output" return value is not valid until after Send returns without error.
  1860  //
  1861  // See DescribeForecast for more information on using the DescribeForecast
  1862  // API call, and error handling.
  1863  //
  1864  // This method is useful when you want to inject custom logic or configuration
  1865  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1866  //
  1867  //
  1868  //    // Example sending a request using the DescribeForecastRequest method.
  1869  //    req, resp := client.DescribeForecastRequest(params)
  1870  //
  1871  //    err := req.Send()
  1872  //    if err == nil { // resp is now filled
  1873  //        fmt.Println(resp)
  1874  //    }
  1875  //
  1876  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeForecast
  1877  func (c *ForecastService) DescribeForecastRequest(input *DescribeForecastInput) (req *request.Request, output *DescribeForecastOutput) {
  1878  	op := &request.Operation{
  1879  		Name:       opDescribeForecast,
  1880  		HTTPMethod: "POST",
  1881  		HTTPPath:   "/",
  1882  	}
  1883  
  1884  	if input == nil {
  1885  		input = &DescribeForecastInput{}
  1886  	}
  1887  
  1888  	output = &DescribeForecastOutput{}
  1889  	req = c.newRequest(op, input, output)
  1890  	return
  1891  }
  1892  
  1893  // DescribeForecast API operation for Amazon Forecast Service.
  1894  //
  1895  // Describes a forecast created using the CreateForecast operation.
  1896  //
  1897  // In addition to listing the properties provided in the CreateForecast request,
  1898  // this operation lists the following properties:
  1899  //
  1900  //    * DatasetGroupArn - The dataset group that provided the training data.
  1901  //
  1902  //    * CreationTime
  1903  //
  1904  //    * LastModificationTime
  1905  //
  1906  //    * Status
  1907  //
  1908  //    * Message - If an error occurred, information about the error.
  1909  //
  1910  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1911  // with awserr.Error's Code and Message methods to get detailed information about
  1912  // the error.
  1913  //
  1914  // See the AWS API reference guide for Amazon Forecast Service's
  1915  // API operation DescribeForecast for usage and error information.
  1916  //
  1917  // Returned Error Types:
  1918  //   * InvalidInputException
  1919  //   We can't process the request because it includes an invalid value or a value
  1920  //   that exceeds the valid range.
  1921  //
  1922  //   * ResourceNotFoundException
  1923  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  1924  //   ARN and try again.
  1925  //
  1926  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeForecast
  1927  func (c *ForecastService) DescribeForecast(input *DescribeForecastInput) (*DescribeForecastOutput, error) {
  1928  	req, out := c.DescribeForecastRequest(input)
  1929  	return out, req.Send()
  1930  }
  1931  
  1932  // DescribeForecastWithContext is the same as DescribeForecast with the addition of
  1933  // the ability to pass a context and additional request options.
  1934  //
  1935  // See DescribeForecast for details on how to use this API operation.
  1936  //
  1937  // The context must be non-nil and will be used for request cancellation. If
  1938  // the context is nil a panic will occur. In the future the SDK may create
  1939  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1940  // for more information on using Contexts.
  1941  func (c *ForecastService) DescribeForecastWithContext(ctx aws.Context, input *DescribeForecastInput, opts ...request.Option) (*DescribeForecastOutput, error) {
  1942  	req, out := c.DescribeForecastRequest(input)
  1943  	req.SetContext(ctx)
  1944  	req.ApplyOptions(opts...)
  1945  	return out, req.Send()
  1946  }
  1947  
  1948  const opDescribeForecastExportJob = "DescribeForecastExportJob"
  1949  
  1950  // DescribeForecastExportJobRequest generates a "aws/request.Request" representing the
  1951  // client's request for the DescribeForecastExportJob operation. The "output" return
  1952  // value will be populated with the request's response once the request completes
  1953  // successfully.
  1954  //
  1955  // Use "Send" method on the returned Request to send the API call to the service.
  1956  // the "output" return value is not valid until after Send returns without error.
  1957  //
  1958  // See DescribeForecastExportJob for more information on using the DescribeForecastExportJob
  1959  // API call, and error handling.
  1960  //
  1961  // This method is useful when you want to inject custom logic or configuration
  1962  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1963  //
  1964  //
  1965  //    // Example sending a request using the DescribeForecastExportJobRequest method.
  1966  //    req, resp := client.DescribeForecastExportJobRequest(params)
  1967  //
  1968  //    err := req.Send()
  1969  //    if err == nil { // resp is now filled
  1970  //        fmt.Println(resp)
  1971  //    }
  1972  //
  1973  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeForecastExportJob
  1974  func (c *ForecastService) DescribeForecastExportJobRequest(input *DescribeForecastExportJobInput) (req *request.Request, output *DescribeForecastExportJobOutput) {
  1975  	op := &request.Operation{
  1976  		Name:       opDescribeForecastExportJob,
  1977  		HTTPMethod: "POST",
  1978  		HTTPPath:   "/",
  1979  	}
  1980  
  1981  	if input == nil {
  1982  		input = &DescribeForecastExportJobInput{}
  1983  	}
  1984  
  1985  	output = &DescribeForecastExportJobOutput{}
  1986  	req = c.newRequest(op, input, output)
  1987  	return
  1988  }
  1989  
  1990  // DescribeForecastExportJob API operation for Amazon Forecast Service.
  1991  //
  1992  // Describes a forecast export job created using the CreateForecastExportJob
  1993  // operation.
  1994  //
  1995  // In addition to listing the properties provided by the user in the CreateForecastExportJob
  1996  // request, this operation lists the following properties:
  1997  //
  1998  //    * CreationTime
  1999  //
  2000  //    * LastModificationTime
  2001  //
  2002  //    * Status
  2003  //
  2004  //    * Message - If an error occurred, information about the error.
  2005  //
  2006  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2007  // with awserr.Error's Code and Message methods to get detailed information about
  2008  // the error.
  2009  //
  2010  // See the AWS API reference guide for Amazon Forecast Service's
  2011  // API operation DescribeForecastExportJob for usage and error information.
  2012  //
  2013  // Returned Error Types:
  2014  //   * InvalidInputException
  2015  //   We can't process the request because it includes an invalid value or a value
  2016  //   that exceeds the valid range.
  2017  //
  2018  //   * ResourceNotFoundException
  2019  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  2020  //   ARN and try again.
  2021  //
  2022  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeForecastExportJob
  2023  func (c *ForecastService) DescribeForecastExportJob(input *DescribeForecastExportJobInput) (*DescribeForecastExportJobOutput, error) {
  2024  	req, out := c.DescribeForecastExportJobRequest(input)
  2025  	return out, req.Send()
  2026  }
  2027  
  2028  // DescribeForecastExportJobWithContext is the same as DescribeForecastExportJob with the addition of
  2029  // the ability to pass a context and additional request options.
  2030  //
  2031  // See DescribeForecastExportJob for details on how to use this API operation.
  2032  //
  2033  // The context must be non-nil and will be used for request cancellation. If
  2034  // the context is nil a panic will occur. In the future the SDK may create
  2035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2036  // for more information on using Contexts.
  2037  func (c *ForecastService) DescribeForecastExportJobWithContext(ctx aws.Context, input *DescribeForecastExportJobInput, opts ...request.Option) (*DescribeForecastExportJobOutput, error) {
  2038  	req, out := c.DescribeForecastExportJobRequest(input)
  2039  	req.SetContext(ctx)
  2040  	req.ApplyOptions(opts...)
  2041  	return out, req.Send()
  2042  }
  2043  
  2044  const opDescribePredictor = "DescribePredictor"
  2045  
  2046  // DescribePredictorRequest generates a "aws/request.Request" representing the
  2047  // client's request for the DescribePredictor operation. The "output" return
  2048  // value will be populated with the request's response once the request completes
  2049  // successfully.
  2050  //
  2051  // Use "Send" method on the returned Request to send the API call to the service.
  2052  // the "output" return value is not valid until after Send returns without error.
  2053  //
  2054  // See DescribePredictor for more information on using the DescribePredictor
  2055  // API call, and error handling.
  2056  //
  2057  // This method is useful when you want to inject custom logic or configuration
  2058  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2059  //
  2060  //
  2061  //    // Example sending a request using the DescribePredictorRequest method.
  2062  //    req, resp := client.DescribePredictorRequest(params)
  2063  //
  2064  //    err := req.Send()
  2065  //    if err == nil { // resp is now filled
  2066  //        fmt.Println(resp)
  2067  //    }
  2068  //
  2069  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictor
  2070  func (c *ForecastService) DescribePredictorRequest(input *DescribePredictorInput) (req *request.Request, output *DescribePredictorOutput) {
  2071  	op := &request.Operation{
  2072  		Name:       opDescribePredictor,
  2073  		HTTPMethod: "POST",
  2074  		HTTPPath:   "/",
  2075  	}
  2076  
  2077  	if input == nil {
  2078  		input = &DescribePredictorInput{}
  2079  	}
  2080  
  2081  	output = &DescribePredictorOutput{}
  2082  	req = c.newRequest(op, input, output)
  2083  	return
  2084  }
  2085  
  2086  // DescribePredictor API operation for Amazon Forecast Service.
  2087  //
  2088  // Describes a predictor created using the CreatePredictor operation.
  2089  //
  2090  // In addition to listing the properties provided in the CreatePredictor request,
  2091  // this operation lists the following properties:
  2092  //
  2093  //    * DatasetImportJobArns - The dataset import jobs used to import training
  2094  //    data.
  2095  //
  2096  //    * AutoMLAlgorithmArns - If AutoML is performed, the algorithms that were
  2097  //    evaluated.
  2098  //
  2099  //    * CreationTime
  2100  //
  2101  //    * LastModificationTime
  2102  //
  2103  //    * Status
  2104  //
  2105  //    * Message - If an error occurred, information about the error.
  2106  //
  2107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2108  // with awserr.Error's Code and Message methods to get detailed information about
  2109  // the error.
  2110  //
  2111  // See the AWS API reference guide for Amazon Forecast Service's
  2112  // API operation DescribePredictor for usage and error information.
  2113  //
  2114  // Returned Error Types:
  2115  //   * InvalidInputException
  2116  //   We can't process the request because it includes an invalid value or a value
  2117  //   that exceeds the valid range.
  2118  //
  2119  //   * ResourceNotFoundException
  2120  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  2121  //   ARN and try again.
  2122  //
  2123  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictor
  2124  func (c *ForecastService) DescribePredictor(input *DescribePredictorInput) (*DescribePredictorOutput, error) {
  2125  	req, out := c.DescribePredictorRequest(input)
  2126  	return out, req.Send()
  2127  }
  2128  
  2129  // DescribePredictorWithContext is the same as DescribePredictor with the addition of
  2130  // the ability to pass a context and additional request options.
  2131  //
  2132  // See DescribePredictor for details on how to use this API operation.
  2133  //
  2134  // The context must be non-nil and will be used for request cancellation. If
  2135  // the context is nil a panic will occur. In the future the SDK may create
  2136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2137  // for more information on using Contexts.
  2138  func (c *ForecastService) DescribePredictorWithContext(ctx aws.Context, input *DescribePredictorInput, opts ...request.Option) (*DescribePredictorOutput, error) {
  2139  	req, out := c.DescribePredictorRequest(input)
  2140  	req.SetContext(ctx)
  2141  	req.ApplyOptions(opts...)
  2142  	return out, req.Send()
  2143  }
  2144  
  2145  const opDescribePredictorBacktestExportJob = "DescribePredictorBacktestExportJob"
  2146  
  2147  // DescribePredictorBacktestExportJobRequest generates a "aws/request.Request" representing the
  2148  // client's request for the DescribePredictorBacktestExportJob operation. The "output" return
  2149  // value will be populated with the request's response once the request completes
  2150  // successfully.
  2151  //
  2152  // Use "Send" method on the returned Request to send the API call to the service.
  2153  // the "output" return value is not valid until after Send returns without error.
  2154  //
  2155  // See DescribePredictorBacktestExportJob for more information on using the DescribePredictorBacktestExportJob
  2156  // API call, and error handling.
  2157  //
  2158  // This method is useful when you want to inject custom logic or configuration
  2159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2160  //
  2161  //
  2162  //    // Example sending a request using the DescribePredictorBacktestExportJobRequest method.
  2163  //    req, resp := client.DescribePredictorBacktestExportJobRequest(params)
  2164  //
  2165  //    err := req.Send()
  2166  //    if err == nil { // resp is now filled
  2167  //        fmt.Println(resp)
  2168  //    }
  2169  //
  2170  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictorBacktestExportJob
  2171  func (c *ForecastService) DescribePredictorBacktestExportJobRequest(input *DescribePredictorBacktestExportJobInput) (req *request.Request, output *DescribePredictorBacktestExportJobOutput) {
  2172  	op := &request.Operation{
  2173  		Name:       opDescribePredictorBacktestExportJob,
  2174  		HTTPMethod: "POST",
  2175  		HTTPPath:   "/",
  2176  	}
  2177  
  2178  	if input == nil {
  2179  		input = &DescribePredictorBacktestExportJobInput{}
  2180  	}
  2181  
  2182  	output = &DescribePredictorBacktestExportJobOutput{}
  2183  	req = c.newRequest(op, input, output)
  2184  	return
  2185  }
  2186  
  2187  // DescribePredictorBacktestExportJob API operation for Amazon Forecast Service.
  2188  //
  2189  // Describes a predictor backtest export job created using the CreatePredictorBacktestExportJob
  2190  // operation.
  2191  //
  2192  // In addition to listing the properties provided by the user in the CreatePredictorBacktestExportJob
  2193  // request, this operation lists the following properties:
  2194  //
  2195  //    * CreationTime
  2196  //
  2197  //    * LastModificationTime
  2198  //
  2199  //    * Status
  2200  //
  2201  //    * Message (if an error occurred)
  2202  //
  2203  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2204  // with awserr.Error's Code and Message methods to get detailed information about
  2205  // the error.
  2206  //
  2207  // See the AWS API reference guide for Amazon Forecast Service's
  2208  // API operation DescribePredictorBacktestExportJob for usage and error information.
  2209  //
  2210  // Returned Error Types:
  2211  //   * InvalidInputException
  2212  //   We can't process the request because it includes an invalid value or a value
  2213  //   that exceeds the valid range.
  2214  //
  2215  //   * ResourceNotFoundException
  2216  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  2217  //   ARN and try again.
  2218  //
  2219  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribePredictorBacktestExportJob
  2220  func (c *ForecastService) DescribePredictorBacktestExportJob(input *DescribePredictorBacktestExportJobInput) (*DescribePredictorBacktestExportJobOutput, error) {
  2221  	req, out := c.DescribePredictorBacktestExportJobRequest(input)
  2222  	return out, req.Send()
  2223  }
  2224  
  2225  // DescribePredictorBacktestExportJobWithContext is the same as DescribePredictorBacktestExportJob with the addition of
  2226  // the ability to pass a context and additional request options.
  2227  //
  2228  // See DescribePredictorBacktestExportJob for details on how to use this API operation.
  2229  //
  2230  // The context must be non-nil and will be used for request cancellation. If
  2231  // the context is nil a panic will occur. In the future the SDK may create
  2232  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2233  // for more information on using Contexts.
  2234  func (c *ForecastService) DescribePredictorBacktestExportJobWithContext(ctx aws.Context, input *DescribePredictorBacktestExportJobInput, opts ...request.Option) (*DescribePredictorBacktestExportJobOutput, error) {
  2235  	req, out := c.DescribePredictorBacktestExportJobRequest(input)
  2236  	req.SetContext(ctx)
  2237  	req.ApplyOptions(opts...)
  2238  	return out, req.Send()
  2239  }
  2240  
  2241  const opGetAccuracyMetrics = "GetAccuracyMetrics"
  2242  
  2243  // GetAccuracyMetricsRequest generates a "aws/request.Request" representing the
  2244  // client's request for the GetAccuracyMetrics operation. The "output" return
  2245  // value will be populated with the request's response once the request completes
  2246  // successfully.
  2247  //
  2248  // Use "Send" method on the returned Request to send the API call to the service.
  2249  // the "output" return value is not valid until after Send returns without error.
  2250  //
  2251  // See GetAccuracyMetrics for more information on using the GetAccuracyMetrics
  2252  // API call, and error handling.
  2253  //
  2254  // This method is useful when you want to inject custom logic or configuration
  2255  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2256  //
  2257  //
  2258  //    // Example sending a request using the GetAccuracyMetricsRequest method.
  2259  //    req, resp := client.GetAccuracyMetricsRequest(params)
  2260  //
  2261  //    err := req.Send()
  2262  //    if err == nil { // resp is now filled
  2263  //        fmt.Println(resp)
  2264  //    }
  2265  //
  2266  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/GetAccuracyMetrics
  2267  func (c *ForecastService) GetAccuracyMetricsRequest(input *GetAccuracyMetricsInput) (req *request.Request, output *GetAccuracyMetricsOutput) {
  2268  	op := &request.Operation{
  2269  		Name:       opGetAccuracyMetrics,
  2270  		HTTPMethod: "POST",
  2271  		HTTPPath:   "/",
  2272  	}
  2273  
  2274  	if input == nil {
  2275  		input = &GetAccuracyMetricsInput{}
  2276  	}
  2277  
  2278  	output = &GetAccuracyMetricsOutput{}
  2279  	req = c.newRequest(op, input, output)
  2280  	return
  2281  }
  2282  
  2283  // GetAccuracyMetrics API operation for Amazon Forecast Service.
  2284  //
  2285  // Provides metrics on the accuracy of the models that were trained by the CreatePredictor
  2286  // operation. Use metrics to see how well the model performed and to decide
  2287  // whether to use the predictor to generate a forecast. For more information,
  2288  // see Predictor Metrics (https://docs.aws.amazon.com/forecast/latest/dg/metrics.html).
  2289  //
  2290  // This operation generates metrics for each backtest window that was evaluated.
  2291  // The number of backtest windows (NumberOfBacktestWindows) is specified using
  2292  // the EvaluationParameters object, which is optionally included in the CreatePredictor
  2293  // request. If NumberOfBacktestWindows isn't specified, the number defaults
  2294  // to one.
  2295  //
  2296  // The parameters of the filling method determine which items contribute to
  2297  // the metrics. If you want all items to contribute, specify zero. If you want
  2298  // only those items that have complete data in the range being evaluated to
  2299  // contribute, specify nan. For more information, see FeaturizationMethod.
  2300  //
  2301  // Before you can get accuracy metrics, the Status of the predictor must be
  2302  // ACTIVE, signifying that training has completed. To get the status, use the
  2303  // DescribePredictor operation.
  2304  //
  2305  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2306  // with awserr.Error's Code and Message methods to get detailed information about
  2307  // the error.
  2308  //
  2309  // See the AWS API reference guide for Amazon Forecast Service's
  2310  // API operation GetAccuracyMetrics for usage and error information.
  2311  //
  2312  // Returned Error Types:
  2313  //   * InvalidInputException
  2314  //   We can't process the request because it includes an invalid value or a value
  2315  //   that exceeds the valid range.
  2316  //
  2317  //   * ResourceNotFoundException
  2318  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  2319  //   ARN and try again.
  2320  //
  2321  //   * ResourceInUseException
  2322  //   The specified resource is in use.
  2323  //
  2324  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/GetAccuracyMetrics
  2325  func (c *ForecastService) GetAccuracyMetrics(input *GetAccuracyMetricsInput) (*GetAccuracyMetricsOutput, error) {
  2326  	req, out := c.GetAccuracyMetricsRequest(input)
  2327  	return out, req.Send()
  2328  }
  2329  
  2330  // GetAccuracyMetricsWithContext is the same as GetAccuracyMetrics with the addition of
  2331  // the ability to pass a context and additional request options.
  2332  //
  2333  // See GetAccuracyMetrics for details on how to use this API operation.
  2334  //
  2335  // The context must be non-nil and will be used for request cancellation. If
  2336  // the context is nil a panic will occur. In the future the SDK may create
  2337  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2338  // for more information on using Contexts.
  2339  func (c *ForecastService) GetAccuracyMetricsWithContext(ctx aws.Context, input *GetAccuracyMetricsInput, opts ...request.Option) (*GetAccuracyMetricsOutput, error) {
  2340  	req, out := c.GetAccuracyMetricsRequest(input)
  2341  	req.SetContext(ctx)
  2342  	req.ApplyOptions(opts...)
  2343  	return out, req.Send()
  2344  }
  2345  
  2346  const opListDatasetGroups = "ListDatasetGroups"
  2347  
  2348  // ListDatasetGroupsRequest generates a "aws/request.Request" representing the
  2349  // client's request for the ListDatasetGroups operation. The "output" return
  2350  // value will be populated with the request's response once the request completes
  2351  // successfully.
  2352  //
  2353  // Use "Send" method on the returned Request to send the API call to the service.
  2354  // the "output" return value is not valid until after Send returns without error.
  2355  //
  2356  // See ListDatasetGroups for more information on using the ListDatasetGroups
  2357  // API call, and error handling.
  2358  //
  2359  // This method is useful when you want to inject custom logic or configuration
  2360  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2361  //
  2362  //
  2363  //    // Example sending a request using the ListDatasetGroupsRequest method.
  2364  //    req, resp := client.ListDatasetGroupsRequest(params)
  2365  //
  2366  //    err := req.Send()
  2367  //    if err == nil { // resp is now filled
  2368  //        fmt.Println(resp)
  2369  //    }
  2370  //
  2371  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasetGroups
  2372  func (c *ForecastService) ListDatasetGroupsRequest(input *ListDatasetGroupsInput) (req *request.Request, output *ListDatasetGroupsOutput) {
  2373  	op := &request.Operation{
  2374  		Name:       opListDatasetGroups,
  2375  		HTTPMethod: "POST",
  2376  		HTTPPath:   "/",
  2377  		Paginator: &request.Paginator{
  2378  			InputTokens:     []string{"NextToken"},
  2379  			OutputTokens:    []string{"NextToken"},
  2380  			LimitToken:      "MaxResults",
  2381  			TruncationToken: "",
  2382  		},
  2383  	}
  2384  
  2385  	if input == nil {
  2386  		input = &ListDatasetGroupsInput{}
  2387  	}
  2388  
  2389  	output = &ListDatasetGroupsOutput{}
  2390  	req = c.newRequest(op, input, output)
  2391  	return
  2392  }
  2393  
  2394  // ListDatasetGroups API operation for Amazon Forecast Service.
  2395  //
  2396  // Returns a list of dataset groups created using the CreateDatasetGroup operation.
  2397  // For each dataset group, this operation returns a summary of its properties,
  2398  // including its Amazon Resource Name (ARN). You can retrieve the complete set
  2399  // of properties by using the dataset group ARN with the DescribeDatasetGroup
  2400  // operation.
  2401  //
  2402  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2403  // with awserr.Error's Code and Message methods to get detailed information about
  2404  // the error.
  2405  //
  2406  // See the AWS API reference guide for Amazon Forecast Service's
  2407  // API operation ListDatasetGroups for usage and error information.
  2408  //
  2409  // Returned Error Types:
  2410  //   * InvalidNextTokenException
  2411  //   The token is not valid. Tokens expire after 24 hours.
  2412  //
  2413  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasetGroups
  2414  func (c *ForecastService) ListDatasetGroups(input *ListDatasetGroupsInput) (*ListDatasetGroupsOutput, error) {
  2415  	req, out := c.ListDatasetGroupsRequest(input)
  2416  	return out, req.Send()
  2417  }
  2418  
  2419  // ListDatasetGroupsWithContext is the same as ListDatasetGroups with the addition of
  2420  // the ability to pass a context and additional request options.
  2421  //
  2422  // See ListDatasetGroups for details on how to use this API operation.
  2423  //
  2424  // The context must be non-nil and will be used for request cancellation. If
  2425  // the context is nil a panic will occur. In the future the SDK may create
  2426  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2427  // for more information on using Contexts.
  2428  func (c *ForecastService) ListDatasetGroupsWithContext(ctx aws.Context, input *ListDatasetGroupsInput, opts ...request.Option) (*ListDatasetGroupsOutput, error) {
  2429  	req, out := c.ListDatasetGroupsRequest(input)
  2430  	req.SetContext(ctx)
  2431  	req.ApplyOptions(opts...)
  2432  	return out, req.Send()
  2433  }
  2434  
  2435  // ListDatasetGroupsPages iterates over the pages of a ListDatasetGroups operation,
  2436  // calling the "fn" function with the response data for each page. To stop
  2437  // iterating, return false from the fn function.
  2438  //
  2439  // See ListDatasetGroups method for more information on how to use this operation.
  2440  //
  2441  // Note: This operation can generate multiple requests to a service.
  2442  //
  2443  //    // Example iterating over at most 3 pages of a ListDatasetGroups operation.
  2444  //    pageNum := 0
  2445  //    err := client.ListDatasetGroupsPages(params,
  2446  //        func(page *forecastservice.ListDatasetGroupsOutput, lastPage bool) bool {
  2447  //            pageNum++
  2448  //            fmt.Println(page)
  2449  //            return pageNum <= 3
  2450  //        })
  2451  //
  2452  func (c *ForecastService) ListDatasetGroupsPages(input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool) error {
  2453  	return c.ListDatasetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2454  }
  2455  
  2456  // ListDatasetGroupsPagesWithContext same as ListDatasetGroupsPages except
  2457  // it takes a Context and allows setting request options on the pages.
  2458  //
  2459  // The context must be non-nil and will be used for request cancellation. If
  2460  // the context is nil a panic will occur. In the future the SDK may create
  2461  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2462  // for more information on using Contexts.
  2463  func (c *ForecastService) ListDatasetGroupsPagesWithContext(ctx aws.Context, input *ListDatasetGroupsInput, fn func(*ListDatasetGroupsOutput, bool) bool, opts ...request.Option) error {
  2464  	p := request.Pagination{
  2465  		NewRequest: func() (*request.Request, error) {
  2466  			var inCpy *ListDatasetGroupsInput
  2467  			if input != nil {
  2468  				tmp := *input
  2469  				inCpy = &tmp
  2470  			}
  2471  			req, _ := c.ListDatasetGroupsRequest(inCpy)
  2472  			req.SetContext(ctx)
  2473  			req.ApplyOptions(opts...)
  2474  			return req, nil
  2475  		},
  2476  	}
  2477  
  2478  	for p.Next() {
  2479  		if !fn(p.Page().(*ListDatasetGroupsOutput), !p.HasNextPage()) {
  2480  			break
  2481  		}
  2482  	}
  2483  
  2484  	return p.Err()
  2485  }
  2486  
  2487  const opListDatasetImportJobs = "ListDatasetImportJobs"
  2488  
  2489  // ListDatasetImportJobsRequest generates a "aws/request.Request" representing the
  2490  // client's request for the ListDatasetImportJobs operation. The "output" return
  2491  // value will be populated with the request's response once the request completes
  2492  // successfully.
  2493  //
  2494  // Use "Send" method on the returned Request to send the API call to the service.
  2495  // the "output" return value is not valid until after Send returns without error.
  2496  //
  2497  // See ListDatasetImportJobs for more information on using the ListDatasetImportJobs
  2498  // API call, and error handling.
  2499  //
  2500  // This method is useful when you want to inject custom logic or configuration
  2501  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2502  //
  2503  //
  2504  //    // Example sending a request using the ListDatasetImportJobsRequest method.
  2505  //    req, resp := client.ListDatasetImportJobsRequest(params)
  2506  //
  2507  //    err := req.Send()
  2508  //    if err == nil { // resp is now filled
  2509  //        fmt.Println(resp)
  2510  //    }
  2511  //
  2512  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasetImportJobs
  2513  func (c *ForecastService) ListDatasetImportJobsRequest(input *ListDatasetImportJobsInput) (req *request.Request, output *ListDatasetImportJobsOutput) {
  2514  	op := &request.Operation{
  2515  		Name:       opListDatasetImportJobs,
  2516  		HTTPMethod: "POST",
  2517  		HTTPPath:   "/",
  2518  		Paginator: &request.Paginator{
  2519  			InputTokens:     []string{"NextToken"},
  2520  			OutputTokens:    []string{"NextToken"},
  2521  			LimitToken:      "MaxResults",
  2522  			TruncationToken: "",
  2523  		},
  2524  	}
  2525  
  2526  	if input == nil {
  2527  		input = &ListDatasetImportJobsInput{}
  2528  	}
  2529  
  2530  	output = &ListDatasetImportJobsOutput{}
  2531  	req = c.newRequest(op, input, output)
  2532  	return
  2533  }
  2534  
  2535  // ListDatasetImportJobs API operation for Amazon Forecast Service.
  2536  //
  2537  // Returns a list of dataset import jobs created using the CreateDatasetImportJob
  2538  // operation. For each import job, this operation returns a summary of its properties,
  2539  // including its Amazon Resource Name (ARN). You can retrieve the complete set
  2540  // of properties by using the ARN with the DescribeDatasetImportJob operation.
  2541  // You can filter the list by providing an array of Filter objects.
  2542  //
  2543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2544  // with awserr.Error's Code and Message methods to get detailed information about
  2545  // the error.
  2546  //
  2547  // See the AWS API reference guide for Amazon Forecast Service's
  2548  // API operation ListDatasetImportJobs for usage and error information.
  2549  //
  2550  // Returned Error Types:
  2551  //   * InvalidNextTokenException
  2552  //   The token is not valid. Tokens expire after 24 hours.
  2553  //
  2554  //   * InvalidInputException
  2555  //   We can't process the request because it includes an invalid value or a value
  2556  //   that exceeds the valid range.
  2557  //
  2558  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasetImportJobs
  2559  func (c *ForecastService) ListDatasetImportJobs(input *ListDatasetImportJobsInput) (*ListDatasetImportJobsOutput, error) {
  2560  	req, out := c.ListDatasetImportJobsRequest(input)
  2561  	return out, req.Send()
  2562  }
  2563  
  2564  // ListDatasetImportJobsWithContext is the same as ListDatasetImportJobs with the addition of
  2565  // the ability to pass a context and additional request options.
  2566  //
  2567  // See ListDatasetImportJobs for details on how to use this API operation.
  2568  //
  2569  // The context must be non-nil and will be used for request cancellation. If
  2570  // the context is nil a panic will occur. In the future the SDK may create
  2571  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2572  // for more information on using Contexts.
  2573  func (c *ForecastService) ListDatasetImportJobsWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, opts ...request.Option) (*ListDatasetImportJobsOutput, error) {
  2574  	req, out := c.ListDatasetImportJobsRequest(input)
  2575  	req.SetContext(ctx)
  2576  	req.ApplyOptions(opts...)
  2577  	return out, req.Send()
  2578  }
  2579  
  2580  // ListDatasetImportJobsPages iterates over the pages of a ListDatasetImportJobs operation,
  2581  // calling the "fn" function with the response data for each page. To stop
  2582  // iterating, return false from the fn function.
  2583  //
  2584  // See ListDatasetImportJobs method for more information on how to use this operation.
  2585  //
  2586  // Note: This operation can generate multiple requests to a service.
  2587  //
  2588  //    // Example iterating over at most 3 pages of a ListDatasetImportJobs operation.
  2589  //    pageNum := 0
  2590  //    err := client.ListDatasetImportJobsPages(params,
  2591  //        func(page *forecastservice.ListDatasetImportJobsOutput, lastPage bool) bool {
  2592  //            pageNum++
  2593  //            fmt.Println(page)
  2594  //            return pageNum <= 3
  2595  //        })
  2596  //
  2597  func (c *ForecastService) ListDatasetImportJobsPages(input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool) error {
  2598  	return c.ListDatasetImportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  2599  }
  2600  
  2601  // ListDatasetImportJobsPagesWithContext same as ListDatasetImportJobsPages except
  2602  // it takes a Context and allows setting request options on the pages.
  2603  //
  2604  // The context must be non-nil and will be used for request cancellation. If
  2605  // the context is nil a panic will occur. In the future the SDK may create
  2606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2607  // for more information on using Contexts.
  2608  func (c *ForecastService) ListDatasetImportJobsPagesWithContext(ctx aws.Context, input *ListDatasetImportJobsInput, fn func(*ListDatasetImportJobsOutput, bool) bool, opts ...request.Option) error {
  2609  	p := request.Pagination{
  2610  		NewRequest: func() (*request.Request, error) {
  2611  			var inCpy *ListDatasetImportJobsInput
  2612  			if input != nil {
  2613  				tmp := *input
  2614  				inCpy = &tmp
  2615  			}
  2616  			req, _ := c.ListDatasetImportJobsRequest(inCpy)
  2617  			req.SetContext(ctx)
  2618  			req.ApplyOptions(opts...)
  2619  			return req, nil
  2620  		},
  2621  	}
  2622  
  2623  	for p.Next() {
  2624  		if !fn(p.Page().(*ListDatasetImportJobsOutput), !p.HasNextPage()) {
  2625  			break
  2626  		}
  2627  	}
  2628  
  2629  	return p.Err()
  2630  }
  2631  
  2632  const opListDatasets = "ListDatasets"
  2633  
  2634  // ListDatasetsRequest generates a "aws/request.Request" representing the
  2635  // client's request for the ListDatasets operation. The "output" return
  2636  // value will be populated with the request's response once the request completes
  2637  // successfully.
  2638  //
  2639  // Use "Send" method on the returned Request to send the API call to the service.
  2640  // the "output" return value is not valid until after Send returns without error.
  2641  //
  2642  // See ListDatasets for more information on using the ListDatasets
  2643  // API call, and error handling.
  2644  //
  2645  // This method is useful when you want to inject custom logic or configuration
  2646  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2647  //
  2648  //
  2649  //    // Example sending a request using the ListDatasetsRequest method.
  2650  //    req, resp := client.ListDatasetsRequest(params)
  2651  //
  2652  //    err := req.Send()
  2653  //    if err == nil { // resp is now filled
  2654  //        fmt.Println(resp)
  2655  //    }
  2656  //
  2657  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasets
  2658  func (c *ForecastService) ListDatasetsRequest(input *ListDatasetsInput) (req *request.Request, output *ListDatasetsOutput) {
  2659  	op := &request.Operation{
  2660  		Name:       opListDatasets,
  2661  		HTTPMethod: "POST",
  2662  		HTTPPath:   "/",
  2663  		Paginator: &request.Paginator{
  2664  			InputTokens:     []string{"NextToken"},
  2665  			OutputTokens:    []string{"NextToken"},
  2666  			LimitToken:      "MaxResults",
  2667  			TruncationToken: "",
  2668  		},
  2669  	}
  2670  
  2671  	if input == nil {
  2672  		input = &ListDatasetsInput{}
  2673  	}
  2674  
  2675  	output = &ListDatasetsOutput{}
  2676  	req = c.newRequest(op, input, output)
  2677  	return
  2678  }
  2679  
  2680  // ListDatasets API operation for Amazon Forecast Service.
  2681  //
  2682  // Returns a list of datasets created using the CreateDataset operation. For
  2683  // each dataset, a summary of its properties, including its Amazon Resource
  2684  // Name (ARN), is returned. To retrieve the complete set of properties, use
  2685  // the ARN with the DescribeDataset operation.
  2686  //
  2687  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2688  // with awserr.Error's Code and Message methods to get detailed information about
  2689  // the error.
  2690  //
  2691  // See the AWS API reference guide for Amazon Forecast Service's
  2692  // API operation ListDatasets for usage and error information.
  2693  //
  2694  // Returned Error Types:
  2695  //   * InvalidNextTokenException
  2696  //   The token is not valid. Tokens expire after 24 hours.
  2697  //
  2698  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListDatasets
  2699  func (c *ForecastService) ListDatasets(input *ListDatasetsInput) (*ListDatasetsOutput, error) {
  2700  	req, out := c.ListDatasetsRequest(input)
  2701  	return out, req.Send()
  2702  }
  2703  
  2704  // ListDatasetsWithContext is the same as ListDatasets with the addition of
  2705  // the ability to pass a context and additional request options.
  2706  //
  2707  // See ListDatasets for details on how to use this API operation.
  2708  //
  2709  // The context must be non-nil and will be used for request cancellation. If
  2710  // the context is nil a panic will occur. In the future the SDK may create
  2711  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2712  // for more information on using Contexts.
  2713  func (c *ForecastService) ListDatasetsWithContext(ctx aws.Context, input *ListDatasetsInput, opts ...request.Option) (*ListDatasetsOutput, error) {
  2714  	req, out := c.ListDatasetsRequest(input)
  2715  	req.SetContext(ctx)
  2716  	req.ApplyOptions(opts...)
  2717  	return out, req.Send()
  2718  }
  2719  
  2720  // ListDatasetsPages iterates over the pages of a ListDatasets operation,
  2721  // calling the "fn" function with the response data for each page. To stop
  2722  // iterating, return false from the fn function.
  2723  //
  2724  // See ListDatasets method for more information on how to use this operation.
  2725  //
  2726  // Note: This operation can generate multiple requests to a service.
  2727  //
  2728  //    // Example iterating over at most 3 pages of a ListDatasets operation.
  2729  //    pageNum := 0
  2730  //    err := client.ListDatasetsPages(params,
  2731  //        func(page *forecastservice.ListDatasetsOutput, lastPage bool) bool {
  2732  //            pageNum++
  2733  //            fmt.Println(page)
  2734  //            return pageNum <= 3
  2735  //        })
  2736  //
  2737  func (c *ForecastService) ListDatasetsPages(input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool) error {
  2738  	return c.ListDatasetsPagesWithContext(aws.BackgroundContext(), input, fn)
  2739  }
  2740  
  2741  // ListDatasetsPagesWithContext same as ListDatasetsPages except
  2742  // it takes a Context and allows setting request options on the pages.
  2743  //
  2744  // The context must be non-nil and will be used for request cancellation. If
  2745  // the context is nil a panic will occur. In the future the SDK may create
  2746  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2747  // for more information on using Contexts.
  2748  func (c *ForecastService) ListDatasetsPagesWithContext(ctx aws.Context, input *ListDatasetsInput, fn func(*ListDatasetsOutput, bool) bool, opts ...request.Option) error {
  2749  	p := request.Pagination{
  2750  		NewRequest: func() (*request.Request, error) {
  2751  			var inCpy *ListDatasetsInput
  2752  			if input != nil {
  2753  				tmp := *input
  2754  				inCpy = &tmp
  2755  			}
  2756  			req, _ := c.ListDatasetsRequest(inCpy)
  2757  			req.SetContext(ctx)
  2758  			req.ApplyOptions(opts...)
  2759  			return req, nil
  2760  		},
  2761  	}
  2762  
  2763  	for p.Next() {
  2764  		if !fn(p.Page().(*ListDatasetsOutput), !p.HasNextPage()) {
  2765  			break
  2766  		}
  2767  	}
  2768  
  2769  	return p.Err()
  2770  }
  2771  
  2772  const opListForecastExportJobs = "ListForecastExportJobs"
  2773  
  2774  // ListForecastExportJobsRequest generates a "aws/request.Request" representing the
  2775  // client's request for the ListForecastExportJobs operation. The "output" return
  2776  // value will be populated with the request's response once the request completes
  2777  // successfully.
  2778  //
  2779  // Use "Send" method on the returned Request to send the API call to the service.
  2780  // the "output" return value is not valid until after Send returns without error.
  2781  //
  2782  // See ListForecastExportJobs for more information on using the ListForecastExportJobs
  2783  // API call, and error handling.
  2784  //
  2785  // This method is useful when you want to inject custom logic or configuration
  2786  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2787  //
  2788  //
  2789  //    // Example sending a request using the ListForecastExportJobsRequest method.
  2790  //    req, resp := client.ListForecastExportJobsRequest(params)
  2791  //
  2792  //    err := req.Send()
  2793  //    if err == nil { // resp is now filled
  2794  //        fmt.Println(resp)
  2795  //    }
  2796  //
  2797  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListForecastExportJobs
  2798  func (c *ForecastService) ListForecastExportJobsRequest(input *ListForecastExportJobsInput) (req *request.Request, output *ListForecastExportJobsOutput) {
  2799  	op := &request.Operation{
  2800  		Name:       opListForecastExportJobs,
  2801  		HTTPMethod: "POST",
  2802  		HTTPPath:   "/",
  2803  		Paginator: &request.Paginator{
  2804  			InputTokens:     []string{"NextToken"},
  2805  			OutputTokens:    []string{"NextToken"},
  2806  			LimitToken:      "MaxResults",
  2807  			TruncationToken: "",
  2808  		},
  2809  	}
  2810  
  2811  	if input == nil {
  2812  		input = &ListForecastExportJobsInput{}
  2813  	}
  2814  
  2815  	output = &ListForecastExportJobsOutput{}
  2816  	req = c.newRequest(op, input, output)
  2817  	return
  2818  }
  2819  
  2820  // ListForecastExportJobs API operation for Amazon Forecast Service.
  2821  //
  2822  // Returns a list of forecast export jobs created using the CreateForecastExportJob
  2823  // operation. For each forecast export job, this operation returns a summary
  2824  // of its properties, including its Amazon Resource Name (ARN). To retrieve
  2825  // the complete set of properties, use the ARN with the DescribeForecastExportJob
  2826  // operation. You can filter the list using an array of Filter objects.
  2827  //
  2828  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2829  // with awserr.Error's Code and Message methods to get detailed information about
  2830  // the error.
  2831  //
  2832  // See the AWS API reference guide for Amazon Forecast Service's
  2833  // API operation ListForecastExportJobs for usage and error information.
  2834  //
  2835  // Returned Error Types:
  2836  //   * InvalidNextTokenException
  2837  //   The token is not valid. Tokens expire after 24 hours.
  2838  //
  2839  //   * InvalidInputException
  2840  //   We can't process the request because it includes an invalid value or a value
  2841  //   that exceeds the valid range.
  2842  //
  2843  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListForecastExportJobs
  2844  func (c *ForecastService) ListForecastExportJobs(input *ListForecastExportJobsInput) (*ListForecastExportJobsOutput, error) {
  2845  	req, out := c.ListForecastExportJobsRequest(input)
  2846  	return out, req.Send()
  2847  }
  2848  
  2849  // ListForecastExportJobsWithContext is the same as ListForecastExportJobs with the addition of
  2850  // the ability to pass a context and additional request options.
  2851  //
  2852  // See ListForecastExportJobs for details on how to use this API operation.
  2853  //
  2854  // The context must be non-nil and will be used for request cancellation. If
  2855  // the context is nil a panic will occur. In the future the SDK may create
  2856  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2857  // for more information on using Contexts.
  2858  func (c *ForecastService) ListForecastExportJobsWithContext(ctx aws.Context, input *ListForecastExportJobsInput, opts ...request.Option) (*ListForecastExportJobsOutput, error) {
  2859  	req, out := c.ListForecastExportJobsRequest(input)
  2860  	req.SetContext(ctx)
  2861  	req.ApplyOptions(opts...)
  2862  	return out, req.Send()
  2863  }
  2864  
  2865  // ListForecastExportJobsPages iterates over the pages of a ListForecastExportJobs operation,
  2866  // calling the "fn" function with the response data for each page. To stop
  2867  // iterating, return false from the fn function.
  2868  //
  2869  // See ListForecastExportJobs method for more information on how to use this operation.
  2870  //
  2871  // Note: This operation can generate multiple requests to a service.
  2872  //
  2873  //    // Example iterating over at most 3 pages of a ListForecastExportJobs operation.
  2874  //    pageNum := 0
  2875  //    err := client.ListForecastExportJobsPages(params,
  2876  //        func(page *forecastservice.ListForecastExportJobsOutput, lastPage bool) bool {
  2877  //            pageNum++
  2878  //            fmt.Println(page)
  2879  //            return pageNum <= 3
  2880  //        })
  2881  //
  2882  func (c *ForecastService) ListForecastExportJobsPages(input *ListForecastExportJobsInput, fn func(*ListForecastExportJobsOutput, bool) bool) error {
  2883  	return c.ListForecastExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  2884  }
  2885  
  2886  // ListForecastExportJobsPagesWithContext same as ListForecastExportJobsPages except
  2887  // it takes a Context and allows setting request options on the pages.
  2888  //
  2889  // The context must be non-nil and will be used for request cancellation. If
  2890  // the context is nil a panic will occur. In the future the SDK may create
  2891  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2892  // for more information on using Contexts.
  2893  func (c *ForecastService) ListForecastExportJobsPagesWithContext(ctx aws.Context, input *ListForecastExportJobsInput, fn func(*ListForecastExportJobsOutput, bool) bool, opts ...request.Option) error {
  2894  	p := request.Pagination{
  2895  		NewRequest: func() (*request.Request, error) {
  2896  			var inCpy *ListForecastExportJobsInput
  2897  			if input != nil {
  2898  				tmp := *input
  2899  				inCpy = &tmp
  2900  			}
  2901  			req, _ := c.ListForecastExportJobsRequest(inCpy)
  2902  			req.SetContext(ctx)
  2903  			req.ApplyOptions(opts...)
  2904  			return req, nil
  2905  		},
  2906  	}
  2907  
  2908  	for p.Next() {
  2909  		if !fn(p.Page().(*ListForecastExportJobsOutput), !p.HasNextPage()) {
  2910  			break
  2911  		}
  2912  	}
  2913  
  2914  	return p.Err()
  2915  }
  2916  
  2917  const opListForecasts = "ListForecasts"
  2918  
  2919  // ListForecastsRequest generates a "aws/request.Request" representing the
  2920  // client's request for the ListForecasts operation. The "output" return
  2921  // value will be populated with the request's response once the request completes
  2922  // successfully.
  2923  //
  2924  // Use "Send" method on the returned Request to send the API call to the service.
  2925  // the "output" return value is not valid until after Send returns without error.
  2926  //
  2927  // See ListForecasts for more information on using the ListForecasts
  2928  // API call, and error handling.
  2929  //
  2930  // This method is useful when you want to inject custom logic or configuration
  2931  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2932  //
  2933  //
  2934  //    // Example sending a request using the ListForecastsRequest method.
  2935  //    req, resp := client.ListForecastsRequest(params)
  2936  //
  2937  //    err := req.Send()
  2938  //    if err == nil { // resp is now filled
  2939  //        fmt.Println(resp)
  2940  //    }
  2941  //
  2942  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListForecasts
  2943  func (c *ForecastService) ListForecastsRequest(input *ListForecastsInput) (req *request.Request, output *ListForecastsOutput) {
  2944  	op := &request.Operation{
  2945  		Name:       opListForecasts,
  2946  		HTTPMethod: "POST",
  2947  		HTTPPath:   "/",
  2948  		Paginator: &request.Paginator{
  2949  			InputTokens:     []string{"NextToken"},
  2950  			OutputTokens:    []string{"NextToken"},
  2951  			LimitToken:      "MaxResults",
  2952  			TruncationToken: "",
  2953  		},
  2954  	}
  2955  
  2956  	if input == nil {
  2957  		input = &ListForecastsInput{}
  2958  	}
  2959  
  2960  	output = &ListForecastsOutput{}
  2961  	req = c.newRequest(op, input, output)
  2962  	return
  2963  }
  2964  
  2965  // ListForecasts API operation for Amazon Forecast Service.
  2966  //
  2967  // Returns a list of forecasts created using the CreateForecast operation. For
  2968  // each forecast, this operation returns a summary of its properties, including
  2969  // its Amazon Resource Name (ARN). To retrieve the complete set of properties,
  2970  // specify the ARN with the DescribeForecast operation. You can filter the list
  2971  // using an array of Filter objects.
  2972  //
  2973  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2974  // with awserr.Error's Code and Message methods to get detailed information about
  2975  // the error.
  2976  //
  2977  // See the AWS API reference guide for Amazon Forecast Service's
  2978  // API operation ListForecasts for usage and error information.
  2979  //
  2980  // Returned Error Types:
  2981  //   * InvalidNextTokenException
  2982  //   The token is not valid. Tokens expire after 24 hours.
  2983  //
  2984  //   * InvalidInputException
  2985  //   We can't process the request because it includes an invalid value or a value
  2986  //   that exceeds the valid range.
  2987  //
  2988  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListForecasts
  2989  func (c *ForecastService) ListForecasts(input *ListForecastsInput) (*ListForecastsOutput, error) {
  2990  	req, out := c.ListForecastsRequest(input)
  2991  	return out, req.Send()
  2992  }
  2993  
  2994  // ListForecastsWithContext is the same as ListForecasts with the addition of
  2995  // the ability to pass a context and additional request options.
  2996  //
  2997  // See ListForecasts for details on how to use this API operation.
  2998  //
  2999  // The context must be non-nil and will be used for request cancellation. If
  3000  // the context is nil a panic will occur. In the future the SDK may create
  3001  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3002  // for more information on using Contexts.
  3003  func (c *ForecastService) ListForecastsWithContext(ctx aws.Context, input *ListForecastsInput, opts ...request.Option) (*ListForecastsOutput, error) {
  3004  	req, out := c.ListForecastsRequest(input)
  3005  	req.SetContext(ctx)
  3006  	req.ApplyOptions(opts...)
  3007  	return out, req.Send()
  3008  }
  3009  
  3010  // ListForecastsPages iterates over the pages of a ListForecasts operation,
  3011  // calling the "fn" function with the response data for each page. To stop
  3012  // iterating, return false from the fn function.
  3013  //
  3014  // See ListForecasts method for more information on how to use this operation.
  3015  //
  3016  // Note: This operation can generate multiple requests to a service.
  3017  //
  3018  //    // Example iterating over at most 3 pages of a ListForecasts operation.
  3019  //    pageNum := 0
  3020  //    err := client.ListForecastsPages(params,
  3021  //        func(page *forecastservice.ListForecastsOutput, lastPage bool) bool {
  3022  //            pageNum++
  3023  //            fmt.Println(page)
  3024  //            return pageNum <= 3
  3025  //        })
  3026  //
  3027  func (c *ForecastService) ListForecastsPages(input *ListForecastsInput, fn func(*ListForecastsOutput, bool) bool) error {
  3028  	return c.ListForecastsPagesWithContext(aws.BackgroundContext(), input, fn)
  3029  }
  3030  
  3031  // ListForecastsPagesWithContext same as ListForecastsPages except
  3032  // it takes a Context and allows setting request options on the pages.
  3033  //
  3034  // The context must be non-nil and will be used for request cancellation. If
  3035  // the context is nil a panic will occur. In the future the SDK may create
  3036  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3037  // for more information on using Contexts.
  3038  func (c *ForecastService) ListForecastsPagesWithContext(ctx aws.Context, input *ListForecastsInput, fn func(*ListForecastsOutput, bool) bool, opts ...request.Option) error {
  3039  	p := request.Pagination{
  3040  		NewRequest: func() (*request.Request, error) {
  3041  			var inCpy *ListForecastsInput
  3042  			if input != nil {
  3043  				tmp := *input
  3044  				inCpy = &tmp
  3045  			}
  3046  			req, _ := c.ListForecastsRequest(inCpy)
  3047  			req.SetContext(ctx)
  3048  			req.ApplyOptions(opts...)
  3049  			return req, nil
  3050  		},
  3051  	}
  3052  
  3053  	for p.Next() {
  3054  		if !fn(p.Page().(*ListForecastsOutput), !p.HasNextPage()) {
  3055  			break
  3056  		}
  3057  	}
  3058  
  3059  	return p.Err()
  3060  }
  3061  
  3062  const opListPredictorBacktestExportJobs = "ListPredictorBacktestExportJobs"
  3063  
  3064  // ListPredictorBacktestExportJobsRequest generates a "aws/request.Request" representing the
  3065  // client's request for the ListPredictorBacktestExportJobs operation. The "output" return
  3066  // value will be populated with the request's response once the request completes
  3067  // successfully.
  3068  //
  3069  // Use "Send" method on the returned Request to send the API call to the service.
  3070  // the "output" return value is not valid until after Send returns without error.
  3071  //
  3072  // See ListPredictorBacktestExportJobs for more information on using the ListPredictorBacktestExportJobs
  3073  // API call, and error handling.
  3074  //
  3075  // This method is useful when you want to inject custom logic or configuration
  3076  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3077  //
  3078  //
  3079  //    // Example sending a request using the ListPredictorBacktestExportJobsRequest method.
  3080  //    req, resp := client.ListPredictorBacktestExportJobsRequest(params)
  3081  //
  3082  //    err := req.Send()
  3083  //    if err == nil { // resp is now filled
  3084  //        fmt.Println(resp)
  3085  //    }
  3086  //
  3087  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictorBacktestExportJobs
  3088  func (c *ForecastService) ListPredictorBacktestExportJobsRequest(input *ListPredictorBacktestExportJobsInput) (req *request.Request, output *ListPredictorBacktestExportJobsOutput) {
  3089  	op := &request.Operation{
  3090  		Name:       opListPredictorBacktestExportJobs,
  3091  		HTTPMethod: "POST",
  3092  		HTTPPath:   "/",
  3093  		Paginator: &request.Paginator{
  3094  			InputTokens:     []string{"NextToken"},
  3095  			OutputTokens:    []string{"NextToken"},
  3096  			LimitToken:      "MaxResults",
  3097  			TruncationToken: "",
  3098  		},
  3099  	}
  3100  
  3101  	if input == nil {
  3102  		input = &ListPredictorBacktestExportJobsInput{}
  3103  	}
  3104  
  3105  	output = &ListPredictorBacktestExportJobsOutput{}
  3106  	req = c.newRequest(op, input, output)
  3107  	return
  3108  }
  3109  
  3110  // ListPredictorBacktestExportJobs API operation for Amazon Forecast Service.
  3111  //
  3112  // Returns a list of predictor backtest export jobs created using the CreatePredictorBacktestExportJob
  3113  // operation. This operation returns a summary for each backtest export job.
  3114  // You can filter the list using an array of Filter objects.
  3115  //
  3116  // To retrieve the complete set of properties for a particular backtest export
  3117  // job, use the ARN with the DescribePredictorBacktestExportJob operation.
  3118  //
  3119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3120  // with awserr.Error's Code and Message methods to get detailed information about
  3121  // the error.
  3122  //
  3123  // See the AWS API reference guide for Amazon Forecast Service's
  3124  // API operation ListPredictorBacktestExportJobs for usage and error information.
  3125  //
  3126  // Returned Error Types:
  3127  //   * InvalidNextTokenException
  3128  //   The token is not valid. Tokens expire after 24 hours.
  3129  //
  3130  //   * InvalidInputException
  3131  //   We can't process the request because it includes an invalid value or a value
  3132  //   that exceeds the valid range.
  3133  //
  3134  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictorBacktestExportJobs
  3135  func (c *ForecastService) ListPredictorBacktestExportJobs(input *ListPredictorBacktestExportJobsInput) (*ListPredictorBacktestExportJobsOutput, error) {
  3136  	req, out := c.ListPredictorBacktestExportJobsRequest(input)
  3137  	return out, req.Send()
  3138  }
  3139  
  3140  // ListPredictorBacktestExportJobsWithContext is the same as ListPredictorBacktestExportJobs with the addition of
  3141  // the ability to pass a context and additional request options.
  3142  //
  3143  // See ListPredictorBacktestExportJobs for details on how to use this API operation.
  3144  //
  3145  // The context must be non-nil and will be used for request cancellation. If
  3146  // the context is nil a panic will occur. In the future the SDK may create
  3147  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3148  // for more information on using Contexts.
  3149  func (c *ForecastService) ListPredictorBacktestExportJobsWithContext(ctx aws.Context, input *ListPredictorBacktestExportJobsInput, opts ...request.Option) (*ListPredictorBacktestExportJobsOutput, error) {
  3150  	req, out := c.ListPredictorBacktestExportJobsRequest(input)
  3151  	req.SetContext(ctx)
  3152  	req.ApplyOptions(opts...)
  3153  	return out, req.Send()
  3154  }
  3155  
  3156  // ListPredictorBacktestExportJobsPages iterates over the pages of a ListPredictorBacktestExportJobs operation,
  3157  // calling the "fn" function with the response data for each page. To stop
  3158  // iterating, return false from the fn function.
  3159  //
  3160  // See ListPredictorBacktestExportJobs method for more information on how to use this operation.
  3161  //
  3162  // Note: This operation can generate multiple requests to a service.
  3163  //
  3164  //    // Example iterating over at most 3 pages of a ListPredictorBacktestExportJobs operation.
  3165  //    pageNum := 0
  3166  //    err := client.ListPredictorBacktestExportJobsPages(params,
  3167  //        func(page *forecastservice.ListPredictorBacktestExportJobsOutput, lastPage bool) bool {
  3168  //            pageNum++
  3169  //            fmt.Println(page)
  3170  //            return pageNum <= 3
  3171  //        })
  3172  //
  3173  func (c *ForecastService) ListPredictorBacktestExportJobsPages(input *ListPredictorBacktestExportJobsInput, fn func(*ListPredictorBacktestExportJobsOutput, bool) bool) error {
  3174  	return c.ListPredictorBacktestExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  3175  }
  3176  
  3177  // ListPredictorBacktestExportJobsPagesWithContext same as ListPredictorBacktestExportJobsPages except
  3178  // it takes a Context and allows setting request options on the pages.
  3179  //
  3180  // The context must be non-nil and will be used for request cancellation. If
  3181  // the context is nil a panic will occur. In the future the SDK may create
  3182  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3183  // for more information on using Contexts.
  3184  func (c *ForecastService) ListPredictorBacktestExportJobsPagesWithContext(ctx aws.Context, input *ListPredictorBacktestExportJobsInput, fn func(*ListPredictorBacktestExportJobsOutput, bool) bool, opts ...request.Option) error {
  3185  	p := request.Pagination{
  3186  		NewRequest: func() (*request.Request, error) {
  3187  			var inCpy *ListPredictorBacktestExportJobsInput
  3188  			if input != nil {
  3189  				tmp := *input
  3190  				inCpy = &tmp
  3191  			}
  3192  			req, _ := c.ListPredictorBacktestExportJobsRequest(inCpy)
  3193  			req.SetContext(ctx)
  3194  			req.ApplyOptions(opts...)
  3195  			return req, nil
  3196  		},
  3197  	}
  3198  
  3199  	for p.Next() {
  3200  		if !fn(p.Page().(*ListPredictorBacktestExportJobsOutput), !p.HasNextPage()) {
  3201  			break
  3202  		}
  3203  	}
  3204  
  3205  	return p.Err()
  3206  }
  3207  
  3208  const opListPredictors = "ListPredictors"
  3209  
  3210  // ListPredictorsRequest generates a "aws/request.Request" representing the
  3211  // client's request for the ListPredictors operation. The "output" return
  3212  // value will be populated with the request's response once the request completes
  3213  // successfully.
  3214  //
  3215  // Use "Send" method on the returned Request to send the API call to the service.
  3216  // the "output" return value is not valid until after Send returns without error.
  3217  //
  3218  // See ListPredictors for more information on using the ListPredictors
  3219  // API call, and error handling.
  3220  //
  3221  // This method is useful when you want to inject custom logic or configuration
  3222  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3223  //
  3224  //
  3225  //    // Example sending a request using the ListPredictorsRequest method.
  3226  //    req, resp := client.ListPredictorsRequest(params)
  3227  //
  3228  //    err := req.Send()
  3229  //    if err == nil { // resp is now filled
  3230  //        fmt.Println(resp)
  3231  //    }
  3232  //
  3233  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictors
  3234  func (c *ForecastService) ListPredictorsRequest(input *ListPredictorsInput) (req *request.Request, output *ListPredictorsOutput) {
  3235  	op := &request.Operation{
  3236  		Name:       opListPredictors,
  3237  		HTTPMethod: "POST",
  3238  		HTTPPath:   "/",
  3239  		Paginator: &request.Paginator{
  3240  			InputTokens:     []string{"NextToken"},
  3241  			OutputTokens:    []string{"NextToken"},
  3242  			LimitToken:      "MaxResults",
  3243  			TruncationToken: "",
  3244  		},
  3245  	}
  3246  
  3247  	if input == nil {
  3248  		input = &ListPredictorsInput{}
  3249  	}
  3250  
  3251  	output = &ListPredictorsOutput{}
  3252  	req = c.newRequest(op, input, output)
  3253  	return
  3254  }
  3255  
  3256  // ListPredictors API operation for Amazon Forecast Service.
  3257  //
  3258  // Returns a list of predictors created using the CreatePredictor operation.
  3259  // For each predictor, this operation returns a summary of its properties, including
  3260  // its Amazon Resource Name (ARN). You can retrieve the complete set of properties
  3261  // by using the ARN with the DescribePredictor operation. You can filter the
  3262  // list using an array of Filter objects.
  3263  //
  3264  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3265  // with awserr.Error's Code and Message methods to get detailed information about
  3266  // the error.
  3267  //
  3268  // See the AWS API reference guide for Amazon Forecast Service's
  3269  // API operation ListPredictors for usage and error information.
  3270  //
  3271  // Returned Error Types:
  3272  //   * InvalidNextTokenException
  3273  //   The token is not valid. Tokens expire after 24 hours.
  3274  //
  3275  //   * InvalidInputException
  3276  //   We can't process the request because it includes an invalid value or a value
  3277  //   that exceeds the valid range.
  3278  //
  3279  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListPredictors
  3280  func (c *ForecastService) ListPredictors(input *ListPredictorsInput) (*ListPredictorsOutput, error) {
  3281  	req, out := c.ListPredictorsRequest(input)
  3282  	return out, req.Send()
  3283  }
  3284  
  3285  // ListPredictorsWithContext is the same as ListPredictors with the addition of
  3286  // the ability to pass a context and additional request options.
  3287  //
  3288  // See ListPredictors for details on how to use this API operation.
  3289  //
  3290  // The context must be non-nil and will be used for request cancellation. If
  3291  // the context is nil a panic will occur. In the future the SDK may create
  3292  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3293  // for more information on using Contexts.
  3294  func (c *ForecastService) ListPredictorsWithContext(ctx aws.Context, input *ListPredictorsInput, opts ...request.Option) (*ListPredictorsOutput, error) {
  3295  	req, out := c.ListPredictorsRequest(input)
  3296  	req.SetContext(ctx)
  3297  	req.ApplyOptions(opts...)
  3298  	return out, req.Send()
  3299  }
  3300  
  3301  // ListPredictorsPages iterates over the pages of a ListPredictors operation,
  3302  // calling the "fn" function with the response data for each page. To stop
  3303  // iterating, return false from the fn function.
  3304  //
  3305  // See ListPredictors method for more information on how to use this operation.
  3306  //
  3307  // Note: This operation can generate multiple requests to a service.
  3308  //
  3309  //    // Example iterating over at most 3 pages of a ListPredictors operation.
  3310  //    pageNum := 0
  3311  //    err := client.ListPredictorsPages(params,
  3312  //        func(page *forecastservice.ListPredictorsOutput, lastPage bool) bool {
  3313  //            pageNum++
  3314  //            fmt.Println(page)
  3315  //            return pageNum <= 3
  3316  //        })
  3317  //
  3318  func (c *ForecastService) ListPredictorsPages(input *ListPredictorsInput, fn func(*ListPredictorsOutput, bool) bool) error {
  3319  	return c.ListPredictorsPagesWithContext(aws.BackgroundContext(), input, fn)
  3320  }
  3321  
  3322  // ListPredictorsPagesWithContext same as ListPredictorsPages except
  3323  // it takes a Context and allows setting request options on the pages.
  3324  //
  3325  // The context must be non-nil and will be used for request cancellation. If
  3326  // the context is nil a panic will occur. In the future the SDK may create
  3327  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3328  // for more information on using Contexts.
  3329  func (c *ForecastService) ListPredictorsPagesWithContext(ctx aws.Context, input *ListPredictorsInput, fn func(*ListPredictorsOutput, bool) bool, opts ...request.Option) error {
  3330  	p := request.Pagination{
  3331  		NewRequest: func() (*request.Request, error) {
  3332  			var inCpy *ListPredictorsInput
  3333  			if input != nil {
  3334  				tmp := *input
  3335  				inCpy = &tmp
  3336  			}
  3337  			req, _ := c.ListPredictorsRequest(inCpy)
  3338  			req.SetContext(ctx)
  3339  			req.ApplyOptions(opts...)
  3340  			return req, nil
  3341  		},
  3342  	}
  3343  
  3344  	for p.Next() {
  3345  		if !fn(p.Page().(*ListPredictorsOutput), !p.HasNextPage()) {
  3346  			break
  3347  		}
  3348  	}
  3349  
  3350  	return p.Err()
  3351  }
  3352  
  3353  const opListTagsForResource = "ListTagsForResource"
  3354  
  3355  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  3356  // client's request for the ListTagsForResource operation. The "output" return
  3357  // value will be populated with the request's response once the request completes
  3358  // successfully.
  3359  //
  3360  // Use "Send" method on the returned Request to send the API call to the service.
  3361  // the "output" return value is not valid until after Send returns without error.
  3362  //
  3363  // See ListTagsForResource for more information on using the ListTagsForResource
  3364  // API call, and error handling.
  3365  //
  3366  // This method is useful when you want to inject custom logic or configuration
  3367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3368  //
  3369  //
  3370  //    // Example sending a request using the ListTagsForResourceRequest method.
  3371  //    req, resp := client.ListTagsForResourceRequest(params)
  3372  //
  3373  //    err := req.Send()
  3374  //    if err == nil { // resp is now filled
  3375  //        fmt.Println(resp)
  3376  //    }
  3377  //
  3378  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListTagsForResource
  3379  func (c *ForecastService) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  3380  	op := &request.Operation{
  3381  		Name:       opListTagsForResource,
  3382  		HTTPMethod: "POST",
  3383  		HTTPPath:   "/",
  3384  	}
  3385  
  3386  	if input == nil {
  3387  		input = &ListTagsForResourceInput{}
  3388  	}
  3389  
  3390  	output = &ListTagsForResourceOutput{}
  3391  	req = c.newRequest(op, input, output)
  3392  	return
  3393  }
  3394  
  3395  // ListTagsForResource API operation for Amazon Forecast Service.
  3396  //
  3397  // Lists the tags for an Amazon Forecast resource.
  3398  //
  3399  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3400  // with awserr.Error's Code and Message methods to get detailed information about
  3401  // the error.
  3402  //
  3403  // See the AWS API reference guide for Amazon Forecast Service's
  3404  // API operation ListTagsForResource for usage and error information.
  3405  //
  3406  // Returned Error Types:
  3407  //   * ResourceNotFoundException
  3408  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  3409  //   ARN and try again.
  3410  //
  3411  //   * InvalidInputException
  3412  //   We can't process the request because it includes an invalid value or a value
  3413  //   that exceeds the valid range.
  3414  //
  3415  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListTagsForResource
  3416  func (c *ForecastService) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  3417  	req, out := c.ListTagsForResourceRequest(input)
  3418  	return out, req.Send()
  3419  }
  3420  
  3421  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  3422  // the ability to pass a context and additional request options.
  3423  //
  3424  // See ListTagsForResource for details on how to use this API operation.
  3425  //
  3426  // The context must be non-nil and will be used for request cancellation. If
  3427  // the context is nil a panic will occur. In the future the SDK may create
  3428  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3429  // for more information on using Contexts.
  3430  func (c *ForecastService) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  3431  	req, out := c.ListTagsForResourceRequest(input)
  3432  	req.SetContext(ctx)
  3433  	req.ApplyOptions(opts...)
  3434  	return out, req.Send()
  3435  }
  3436  
  3437  const opStopResource = "StopResource"
  3438  
  3439  // StopResourceRequest generates a "aws/request.Request" representing the
  3440  // client's request for the StopResource operation. The "output" return
  3441  // value will be populated with the request's response once the request completes
  3442  // successfully.
  3443  //
  3444  // Use "Send" method on the returned Request to send the API call to the service.
  3445  // the "output" return value is not valid until after Send returns without error.
  3446  //
  3447  // See StopResource for more information on using the StopResource
  3448  // API call, and error handling.
  3449  //
  3450  // This method is useful when you want to inject custom logic or configuration
  3451  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3452  //
  3453  //
  3454  //    // Example sending a request using the StopResourceRequest method.
  3455  //    req, resp := client.StopResourceRequest(params)
  3456  //
  3457  //    err := req.Send()
  3458  //    if err == nil { // resp is now filled
  3459  //        fmt.Println(resp)
  3460  //    }
  3461  //
  3462  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/StopResource
  3463  func (c *ForecastService) StopResourceRequest(input *StopResourceInput) (req *request.Request, output *StopResourceOutput) {
  3464  	op := &request.Operation{
  3465  		Name:       opStopResource,
  3466  		HTTPMethod: "POST",
  3467  		HTTPPath:   "/",
  3468  	}
  3469  
  3470  	if input == nil {
  3471  		input = &StopResourceInput{}
  3472  	}
  3473  
  3474  	output = &StopResourceOutput{}
  3475  	req = c.newRequest(op, input, output)
  3476  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3477  	return
  3478  }
  3479  
  3480  // StopResource API operation for Amazon Forecast Service.
  3481  //
  3482  // Stops a resource.
  3483  //
  3484  // The resource undergoes the following states: CREATE_STOPPING and CREATE_STOPPED.
  3485  // You cannot resume a resource once it has been stopped.
  3486  //
  3487  // This operation can be applied to the following resources (and their corresponding
  3488  // child resources):
  3489  //
  3490  //    * Dataset Import Job
  3491  //
  3492  //    * Predictor Job
  3493  //
  3494  //    * Forecast Job
  3495  //
  3496  //    * Forecast Export Job
  3497  //
  3498  //    * Predictor Backtest Export Job
  3499  //
  3500  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3501  // with awserr.Error's Code and Message methods to get detailed information about
  3502  // the error.
  3503  //
  3504  // See the AWS API reference guide for Amazon Forecast Service's
  3505  // API operation StopResource for usage and error information.
  3506  //
  3507  // Returned Error Types:
  3508  //   * InvalidInputException
  3509  //   We can't process the request because it includes an invalid value or a value
  3510  //   that exceeds the valid range.
  3511  //
  3512  //   * LimitExceededException
  3513  //   The limit on the number of resources per account has been exceeded.
  3514  //
  3515  //   * ResourceNotFoundException
  3516  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  3517  //   ARN and try again.
  3518  //
  3519  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/StopResource
  3520  func (c *ForecastService) StopResource(input *StopResourceInput) (*StopResourceOutput, error) {
  3521  	req, out := c.StopResourceRequest(input)
  3522  	return out, req.Send()
  3523  }
  3524  
  3525  // StopResourceWithContext is the same as StopResource with the addition of
  3526  // the ability to pass a context and additional request options.
  3527  //
  3528  // See StopResource for details on how to use this API operation.
  3529  //
  3530  // The context must be non-nil and will be used for request cancellation. If
  3531  // the context is nil a panic will occur. In the future the SDK may create
  3532  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3533  // for more information on using Contexts.
  3534  func (c *ForecastService) StopResourceWithContext(ctx aws.Context, input *StopResourceInput, opts ...request.Option) (*StopResourceOutput, error) {
  3535  	req, out := c.StopResourceRequest(input)
  3536  	req.SetContext(ctx)
  3537  	req.ApplyOptions(opts...)
  3538  	return out, req.Send()
  3539  }
  3540  
  3541  const opTagResource = "TagResource"
  3542  
  3543  // TagResourceRequest generates a "aws/request.Request" representing the
  3544  // client's request for the TagResource operation. The "output" return
  3545  // value will be populated with the request's response once the request completes
  3546  // successfully.
  3547  //
  3548  // Use "Send" method on the returned Request to send the API call to the service.
  3549  // the "output" return value is not valid until after Send returns without error.
  3550  //
  3551  // See TagResource for more information on using the TagResource
  3552  // API call, and error handling.
  3553  //
  3554  // This method is useful when you want to inject custom logic or configuration
  3555  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3556  //
  3557  //
  3558  //    // Example sending a request using the TagResourceRequest method.
  3559  //    req, resp := client.TagResourceRequest(params)
  3560  //
  3561  //    err := req.Send()
  3562  //    if err == nil { // resp is now filled
  3563  //        fmt.Println(resp)
  3564  //    }
  3565  //
  3566  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource
  3567  func (c *ForecastService) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  3568  	op := &request.Operation{
  3569  		Name:       opTagResource,
  3570  		HTTPMethod: "POST",
  3571  		HTTPPath:   "/",
  3572  	}
  3573  
  3574  	if input == nil {
  3575  		input = &TagResourceInput{}
  3576  	}
  3577  
  3578  	output = &TagResourceOutput{}
  3579  	req = c.newRequest(op, input, output)
  3580  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3581  	return
  3582  }
  3583  
  3584  // TagResource API operation for Amazon Forecast Service.
  3585  //
  3586  // Associates the specified tags to a resource with the specified resourceArn.
  3587  // If existing tags on a resource are not specified in the request parameters,
  3588  // they are not changed. When a resource is deleted, the tags associated with
  3589  // that resource are also deleted.
  3590  //
  3591  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3592  // with awserr.Error's Code and Message methods to get detailed information about
  3593  // the error.
  3594  //
  3595  // See the AWS API reference guide for Amazon Forecast Service's
  3596  // API operation TagResource for usage and error information.
  3597  //
  3598  // Returned Error Types:
  3599  //   * ResourceNotFoundException
  3600  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  3601  //   ARN and try again.
  3602  //
  3603  //   * LimitExceededException
  3604  //   The limit on the number of resources per account has been exceeded.
  3605  //
  3606  //   * InvalidInputException
  3607  //   We can't process the request because it includes an invalid value or a value
  3608  //   that exceeds the valid range.
  3609  //
  3610  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TagResource
  3611  func (c *ForecastService) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  3612  	req, out := c.TagResourceRequest(input)
  3613  	return out, req.Send()
  3614  }
  3615  
  3616  // TagResourceWithContext is the same as TagResource with the addition of
  3617  // the ability to pass a context and additional request options.
  3618  //
  3619  // See TagResource for details on how to use this API operation.
  3620  //
  3621  // The context must be non-nil and will be used for request cancellation. If
  3622  // the context is nil a panic will occur. In the future the SDK may create
  3623  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3624  // for more information on using Contexts.
  3625  func (c *ForecastService) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  3626  	req, out := c.TagResourceRequest(input)
  3627  	req.SetContext(ctx)
  3628  	req.ApplyOptions(opts...)
  3629  	return out, req.Send()
  3630  }
  3631  
  3632  const opUntagResource = "UntagResource"
  3633  
  3634  // UntagResourceRequest generates a "aws/request.Request" representing the
  3635  // client's request for the UntagResource operation. The "output" return
  3636  // value will be populated with the request's response once the request completes
  3637  // successfully.
  3638  //
  3639  // Use "Send" method on the returned Request to send the API call to the service.
  3640  // the "output" return value is not valid until after Send returns without error.
  3641  //
  3642  // See UntagResource for more information on using the UntagResource
  3643  // API call, and error handling.
  3644  //
  3645  // This method is useful when you want to inject custom logic or configuration
  3646  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3647  //
  3648  //
  3649  //    // Example sending a request using the UntagResourceRequest method.
  3650  //    req, resp := client.UntagResourceRequest(params)
  3651  //
  3652  //    err := req.Send()
  3653  //    if err == nil { // resp is now filled
  3654  //        fmt.Println(resp)
  3655  //    }
  3656  //
  3657  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UntagResource
  3658  func (c *ForecastService) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  3659  	op := &request.Operation{
  3660  		Name:       opUntagResource,
  3661  		HTTPMethod: "POST",
  3662  		HTTPPath:   "/",
  3663  	}
  3664  
  3665  	if input == nil {
  3666  		input = &UntagResourceInput{}
  3667  	}
  3668  
  3669  	output = &UntagResourceOutput{}
  3670  	req = c.newRequest(op, input, output)
  3671  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3672  	return
  3673  }
  3674  
  3675  // UntagResource API operation for Amazon Forecast Service.
  3676  //
  3677  // Deletes the specified tags from a resource.
  3678  //
  3679  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3680  // with awserr.Error's Code and Message methods to get detailed information about
  3681  // the error.
  3682  //
  3683  // See the AWS API reference guide for Amazon Forecast Service's
  3684  // API operation UntagResource for usage and error information.
  3685  //
  3686  // Returned Error Types:
  3687  //   * ResourceNotFoundException
  3688  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  3689  //   ARN and try again.
  3690  //
  3691  //   * InvalidInputException
  3692  //   We can't process the request because it includes an invalid value or a value
  3693  //   that exceeds the valid range.
  3694  //
  3695  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UntagResource
  3696  func (c *ForecastService) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  3697  	req, out := c.UntagResourceRequest(input)
  3698  	return out, req.Send()
  3699  }
  3700  
  3701  // UntagResourceWithContext is the same as UntagResource with the addition of
  3702  // the ability to pass a context and additional request options.
  3703  //
  3704  // See UntagResource for details on how to use this API operation.
  3705  //
  3706  // The context must be non-nil and will be used for request cancellation. If
  3707  // the context is nil a panic will occur. In the future the SDK may create
  3708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3709  // for more information on using Contexts.
  3710  func (c *ForecastService) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  3711  	req, out := c.UntagResourceRequest(input)
  3712  	req.SetContext(ctx)
  3713  	req.ApplyOptions(opts...)
  3714  	return out, req.Send()
  3715  }
  3716  
  3717  const opUpdateDatasetGroup = "UpdateDatasetGroup"
  3718  
  3719  // UpdateDatasetGroupRequest generates a "aws/request.Request" representing the
  3720  // client's request for the UpdateDatasetGroup operation. The "output" return
  3721  // value will be populated with the request's response once the request completes
  3722  // successfully.
  3723  //
  3724  // Use "Send" method on the returned Request to send the API call to the service.
  3725  // the "output" return value is not valid until after Send returns without error.
  3726  //
  3727  // See UpdateDatasetGroup for more information on using the UpdateDatasetGroup
  3728  // API call, and error handling.
  3729  //
  3730  // This method is useful when you want to inject custom logic or configuration
  3731  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3732  //
  3733  //
  3734  //    // Example sending a request using the UpdateDatasetGroupRequest method.
  3735  //    req, resp := client.UpdateDatasetGroupRequest(params)
  3736  //
  3737  //    err := req.Send()
  3738  //    if err == nil { // resp is now filled
  3739  //        fmt.Println(resp)
  3740  //    }
  3741  //
  3742  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UpdateDatasetGroup
  3743  func (c *ForecastService) UpdateDatasetGroupRequest(input *UpdateDatasetGroupInput) (req *request.Request, output *UpdateDatasetGroupOutput) {
  3744  	op := &request.Operation{
  3745  		Name:       opUpdateDatasetGroup,
  3746  		HTTPMethod: "POST",
  3747  		HTTPPath:   "/",
  3748  	}
  3749  
  3750  	if input == nil {
  3751  		input = &UpdateDatasetGroupInput{}
  3752  	}
  3753  
  3754  	output = &UpdateDatasetGroupOutput{}
  3755  	req = c.newRequest(op, input, output)
  3756  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3757  	return
  3758  }
  3759  
  3760  // UpdateDatasetGroup API operation for Amazon Forecast Service.
  3761  //
  3762  // Replaces the datasets in a dataset group with the specified datasets.
  3763  //
  3764  // The Status of the dataset group must be ACTIVE before you can use the dataset
  3765  // group to create a predictor. Use the DescribeDatasetGroup operation to get
  3766  // the status.
  3767  //
  3768  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3769  // with awserr.Error's Code and Message methods to get detailed information about
  3770  // the error.
  3771  //
  3772  // See the AWS API reference guide for Amazon Forecast Service's
  3773  // API operation UpdateDatasetGroup for usage and error information.
  3774  //
  3775  // Returned Error Types:
  3776  //   * InvalidInputException
  3777  //   We can't process the request because it includes an invalid value or a value
  3778  //   that exceeds the valid range.
  3779  //
  3780  //   * ResourceNotFoundException
  3781  //   We can't find a resource with that Amazon Resource Name (ARN). Check the
  3782  //   ARN and try again.
  3783  //
  3784  //   * ResourceInUseException
  3785  //   The specified resource is in use.
  3786  //
  3787  // See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/UpdateDatasetGroup
  3788  func (c *ForecastService) UpdateDatasetGroup(input *UpdateDatasetGroupInput) (*UpdateDatasetGroupOutput, error) {
  3789  	req, out := c.UpdateDatasetGroupRequest(input)
  3790  	return out, req.Send()
  3791  }
  3792  
  3793  // UpdateDatasetGroupWithContext is the same as UpdateDatasetGroup with the addition of
  3794  // the ability to pass a context and additional request options.
  3795  //
  3796  // See UpdateDatasetGroup for details on how to use this API operation.
  3797  //
  3798  // The context must be non-nil and will be used for request cancellation. If
  3799  // the context is nil a panic will occur. In the future the SDK may create
  3800  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3801  // for more information on using Contexts.
  3802  func (c *ForecastService) UpdateDatasetGroupWithContext(ctx aws.Context, input *UpdateDatasetGroupInput, opts ...request.Option) (*UpdateDatasetGroupOutput, error) {
  3803  	req, out := c.UpdateDatasetGroupRequest(input)
  3804  	req.SetContext(ctx)
  3805  	req.ApplyOptions(opts...)
  3806  	return out, req.Send()
  3807  }
  3808  
  3809  // Specifies a categorical hyperparameter and it's range of tunable values.
  3810  // This object is part of the ParameterRanges object.
  3811  type CategoricalParameterRange struct {
  3812  	_ struct{} `type:"structure"`
  3813  
  3814  	// The name of the categorical hyperparameter to tune.
  3815  	//
  3816  	// Name is a required field
  3817  	Name *string `min:"1" type:"string" required:"true"`
  3818  
  3819  	// A list of the tunable categories for the hyperparameter.
  3820  	//
  3821  	// Values is a required field
  3822  	Values []*string `min:"1" type:"list" required:"true"`
  3823  }
  3824  
  3825  // String returns the string representation.
  3826  //
  3827  // API parameter values that are decorated as "sensitive" in the API will not
  3828  // be included in the string output. The member name will be present, but the
  3829  // value will be replaced with "sensitive".
  3830  func (s CategoricalParameterRange) String() string {
  3831  	return awsutil.Prettify(s)
  3832  }
  3833  
  3834  // GoString returns the string representation.
  3835  //
  3836  // API parameter values that are decorated as "sensitive" in the API will not
  3837  // be included in the string output. The member name will be present, but the
  3838  // value will be replaced with "sensitive".
  3839  func (s CategoricalParameterRange) GoString() string {
  3840  	return s.String()
  3841  }
  3842  
  3843  // Validate inspects the fields of the type to determine if they are valid.
  3844  func (s *CategoricalParameterRange) Validate() error {
  3845  	invalidParams := request.ErrInvalidParams{Context: "CategoricalParameterRange"}
  3846  	if s.Name == nil {
  3847  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3848  	}
  3849  	if s.Name != nil && len(*s.Name) < 1 {
  3850  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3851  	}
  3852  	if s.Values == nil {
  3853  		invalidParams.Add(request.NewErrParamRequired("Values"))
  3854  	}
  3855  	if s.Values != nil && len(s.Values) < 1 {
  3856  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
  3857  	}
  3858  
  3859  	if invalidParams.Len() > 0 {
  3860  		return invalidParams
  3861  	}
  3862  	return nil
  3863  }
  3864  
  3865  // SetName sets the Name field's value.
  3866  func (s *CategoricalParameterRange) SetName(v string) *CategoricalParameterRange {
  3867  	s.Name = &v
  3868  	return s
  3869  }
  3870  
  3871  // SetValues sets the Values field's value.
  3872  func (s *CategoricalParameterRange) SetValues(v []*string) *CategoricalParameterRange {
  3873  	s.Values = v
  3874  	return s
  3875  }
  3876  
  3877  // Specifies a continuous hyperparameter and it's range of tunable values. This
  3878  // object is part of the ParameterRanges object.
  3879  type ContinuousParameterRange struct {
  3880  	_ struct{} `type:"structure"`
  3881  
  3882  	// The maximum tunable value of the hyperparameter.
  3883  	//
  3884  	// MaxValue is a required field
  3885  	MaxValue *float64 `type:"double" required:"true"`
  3886  
  3887  	// The minimum tunable value of the hyperparameter.
  3888  	//
  3889  	// MinValue is a required field
  3890  	MinValue *float64 `type:"double" required:"true"`
  3891  
  3892  	// The name of the hyperparameter to tune.
  3893  	//
  3894  	// Name is a required field
  3895  	Name *string `min:"1" type:"string" required:"true"`
  3896  
  3897  	// The scale that hyperparameter tuning uses to search the hyperparameter range.
  3898  	// Valid values:
  3899  	//
  3900  	// Auto
  3901  	//
  3902  	// Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.
  3903  	//
  3904  	// Linear
  3905  	//
  3906  	// Hyperparameter tuning searches the values in the hyperparameter range by
  3907  	// using a linear scale.
  3908  	//
  3909  	// Logarithmic
  3910  	//
  3911  	// Hyperparameter tuning searches the values in the hyperparameter range by
  3912  	// using a logarithmic scale.
  3913  	//
  3914  	// Logarithmic scaling works only for ranges that have values greater than 0.
  3915  	//
  3916  	// ReverseLogarithmic
  3917  	//
  3918  	// hyperparameter tuning searches the values in the hyperparameter range by
  3919  	// using a reverse logarithmic scale.
  3920  	//
  3921  	// Reverse logarithmic scaling works only for ranges that are entirely within
  3922  	// the range 0 <= x < 1.0.
  3923  	//
  3924  	// For information about choosing a hyperparameter scale, see Hyperparameter
  3925  	// Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type).
  3926  	// One of the following values:
  3927  	ScalingType *string `type:"string" enum:"ScalingType"`
  3928  }
  3929  
  3930  // String returns the string representation.
  3931  //
  3932  // API parameter values that are decorated as "sensitive" in the API will not
  3933  // be included in the string output. The member name will be present, but the
  3934  // value will be replaced with "sensitive".
  3935  func (s ContinuousParameterRange) String() string {
  3936  	return awsutil.Prettify(s)
  3937  }
  3938  
  3939  // GoString returns the string representation.
  3940  //
  3941  // API parameter values that are decorated as "sensitive" in the API will not
  3942  // be included in the string output. The member name will be present, but the
  3943  // value will be replaced with "sensitive".
  3944  func (s ContinuousParameterRange) GoString() string {
  3945  	return s.String()
  3946  }
  3947  
  3948  // Validate inspects the fields of the type to determine if they are valid.
  3949  func (s *ContinuousParameterRange) Validate() error {
  3950  	invalidParams := request.ErrInvalidParams{Context: "ContinuousParameterRange"}
  3951  	if s.MaxValue == nil {
  3952  		invalidParams.Add(request.NewErrParamRequired("MaxValue"))
  3953  	}
  3954  	if s.MinValue == nil {
  3955  		invalidParams.Add(request.NewErrParamRequired("MinValue"))
  3956  	}
  3957  	if s.Name == nil {
  3958  		invalidParams.Add(request.NewErrParamRequired("Name"))
  3959  	}
  3960  	if s.Name != nil && len(*s.Name) < 1 {
  3961  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3962  	}
  3963  
  3964  	if invalidParams.Len() > 0 {
  3965  		return invalidParams
  3966  	}
  3967  	return nil
  3968  }
  3969  
  3970  // SetMaxValue sets the MaxValue field's value.
  3971  func (s *ContinuousParameterRange) SetMaxValue(v float64) *ContinuousParameterRange {
  3972  	s.MaxValue = &v
  3973  	return s
  3974  }
  3975  
  3976  // SetMinValue sets the MinValue field's value.
  3977  func (s *ContinuousParameterRange) SetMinValue(v float64) *ContinuousParameterRange {
  3978  	s.MinValue = &v
  3979  	return s
  3980  }
  3981  
  3982  // SetName sets the Name field's value.
  3983  func (s *ContinuousParameterRange) SetName(v string) *ContinuousParameterRange {
  3984  	s.Name = &v
  3985  	return s
  3986  }
  3987  
  3988  // SetScalingType sets the ScalingType field's value.
  3989  func (s *ContinuousParameterRange) SetScalingType(v string) *ContinuousParameterRange {
  3990  	s.ScalingType = &v
  3991  	return s
  3992  }
  3993  
  3994  type CreateDatasetGroupInput struct {
  3995  	_ struct{} `type:"structure"`
  3996  
  3997  	// An array of Amazon Resource Names (ARNs) of the datasets that you want to
  3998  	// include in the dataset group.
  3999  	DatasetArns []*string `type:"list"`
  4000  
  4001  	// A name for the dataset group.
  4002  	//
  4003  	// DatasetGroupName is a required field
  4004  	DatasetGroupName *string `min:"1" type:"string" required:"true"`
  4005  
  4006  	// The domain associated with the dataset group. When you add a dataset to a
  4007  	// dataset group, this value and the value specified for the Domain parameter
  4008  	// of the CreateDataset operation must match.
  4009  	//
  4010  	// The Domain and DatasetType that you choose determine the fields that must
  4011  	// be present in training data that you import to a dataset. For example, if
  4012  	// you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon
  4013  	// Forecast requires that item_id, timestamp, and demand fields are present
  4014  	// in your data. For more information, see howitworks-datasets-groups.
  4015  	//
  4016  	// Domain is a required field
  4017  	Domain *string `type:"string" required:"true" enum:"Domain"`
  4018  
  4019  	// The optional metadata that you apply to the dataset group to help you categorize
  4020  	// and organize them. Each tag consists of a key and an optional value, both
  4021  	// of which you define.
  4022  	//
  4023  	// The following basic restrictions apply to tags:
  4024  	//
  4025  	//    * Maximum number of tags per resource - 50.
  4026  	//
  4027  	//    * For each resource, each tag key must be unique, and each tag key can
  4028  	//    have only one value.
  4029  	//
  4030  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  4031  	//
  4032  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  4033  	//
  4034  	//    * If your tagging schema is used across multiple services and resources,
  4035  	//    remember that other services may have restrictions on allowed characters.
  4036  	//    Generally allowed characters are: letters, numbers, and spaces representable
  4037  	//    in UTF-8, and the following characters: + - = . _ : / @.
  4038  	//
  4039  	//    * Tag keys and values are case sensitive.
  4040  	//
  4041  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  4042  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  4043  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  4044  	//    value has aws as its prefix but the key does not, then Forecast considers
  4045  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  4046  	//    with only the key prefix of aws do not count against your tags per resource
  4047  	//    limit.
  4048  	Tags []*Tag `type:"list"`
  4049  }
  4050  
  4051  // String returns the string representation.
  4052  //
  4053  // API parameter values that are decorated as "sensitive" in the API will not
  4054  // be included in the string output. The member name will be present, but the
  4055  // value will be replaced with "sensitive".
  4056  func (s CreateDatasetGroupInput) String() string {
  4057  	return awsutil.Prettify(s)
  4058  }
  4059  
  4060  // GoString returns the string representation.
  4061  //
  4062  // API parameter values that are decorated as "sensitive" in the API will not
  4063  // be included in the string output. The member name will be present, but the
  4064  // value will be replaced with "sensitive".
  4065  func (s CreateDatasetGroupInput) GoString() string {
  4066  	return s.String()
  4067  }
  4068  
  4069  // Validate inspects the fields of the type to determine if they are valid.
  4070  func (s *CreateDatasetGroupInput) Validate() error {
  4071  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetGroupInput"}
  4072  	if s.DatasetGroupName == nil {
  4073  		invalidParams.Add(request.NewErrParamRequired("DatasetGroupName"))
  4074  	}
  4075  	if s.DatasetGroupName != nil && len(*s.DatasetGroupName) < 1 {
  4076  		invalidParams.Add(request.NewErrParamMinLen("DatasetGroupName", 1))
  4077  	}
  4078  	if s.Domain == nil {
  4079  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4080  	}
  4081  	if s.Tags != nil {
  4082  		for i, v := range s.Tags {
  4083  			if v == nil {
  4084  				continue
  4085  			}
  4086  			if err := v.Validate(); err != nil {
  4087  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4088  			}
  4089  		}
  4090  	}
  4091  
  4092  	if invalidParams.Len() > 0 {
  4093  		return invalidParams
  4094  	}
  4095  	return nil
  4096  }
  4097  
  4098  // SetDatasetArns sets the DatasetArns field's value.
  4099  func (s *CreateDatasetGroupInput) SetDatasetArns(v []*string) *CreateDatasetGroupInput {
  4100  	s.DatasetArns = v
  4101  	return s
  4102  }
  4103  
  4104  // SetDatasetGroupName sets the DatasetGroupName field's value.
  4105  func (s *CreateDatasetGroupInput) SetDatasetGroupName(v string) *CreateDatasetGroupInput {
  4106  	s.DatasetGroupName = &v
  4107  	return s
  4108  }
  4109  
  4110  // SetDomain sets the Domain field's value.
  4111  func (s *CreateDatasetGroupInput) SetDomain(v string) *CreateDatasetGroupInput {
  4112  	s.Domain = &v
  4113  	return s
  4114  }
  4115  
  4116  // SetTags sets the Tags field's value.
  4117  func (s *CreateDatasetGroupInput) SetTags(v []*Tag) *CreateDatasetGroupInput {
  4118  	s.Tags = v
  4119  	return s
  4120  }
  4121  
  4122  type CreateDatasetGroupOutput struct {
  4123  	_ struct{} `type:"structure"`
  4124  
  4125  	// The Amazon Resource Name (ARN) of the dataset group.
  4126  	DatasetGroupArn *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 CreateDatasetGroupOutput) 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 CreateDatasetGroupOutput) GoString() string {
  4144  	return s.String()
  4145  }
  4146  
  4147  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  4148  func (s *CreateDatasetGroupOutput) SetDatasetGroupArn(v string) *CreateDatasetGroupOutput {
  4149  	s.DatasetGroupArn = &v
  4150  	return s
  4151  }
  4152  
  4153  type CreateDatasetImportJobInput struct {
  4154  	_ struct{} `type:"structure"`
  4155  
  4156  	// The location of the training data to import and an AWS Identity and Access
  4157  	// Management (IAM) role that Amazon Forecast can assume to access the data.
  4158  	// The training data must be stored in an Amazon S3 bucket.
  4159  	//
  4160  	// If encryption is used, DataSource must include an AWS Key Management Service
  4161  	// (KMS) key and the IAM role must allow Amazon Forecast permission to access
  4162  	// the key. The KMS key and IAM role must match those specified in the EncryptionConfig
  4163  	// parameter of the CreateDataset operation.
  4164  	//
  4165  	// DataSource is a required field
  4166  	DataSource *DataSource `type:"structure" required:"true"`
  4167  
  4168  	// The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want
  4169  	// to import data to.
  4170  	//
  4171  	// DatasetArn is a required field
  4172  	DatasetArn *string `type:"string" required:"true"`
  4173  
  4174  	// The name for the dataset import job. We recommend including the current timestamp
  4175  	// in the name, for example, 20190721DatasetImport. This can help you avoid
  4176  	// getting a ResourceAlreadyExistsException exception.
  4177  	//
  4178  	// DatasetImportJobName is a required field
  4179  	DatasetImportJobName *string `min:"1" type:"string" required:"true"`
  4180  
  4181  	// The format of the geolocation attribute. The geolocation attribute can be
  4182  	// formatted in one of two ways:
  4183  	//
  4184  	//    * LAT_LONG - the latitude and longitude in decimal format (Example: 47.61_-122.33).
  4185  	//
  4186  	//    * CC_POSTALCODE (US Only) - the country code (US), followed by the 5-digit
  4187  	//    ZIP code (Example: US_98121).
  4188  	GeolocationFormat *string `type:"string"`
  4189  
  4190  	// The optional metadata that you apply to the dataset import job to help you
  4191  	// categorize and organize them. Each tag consists of a key and an optional
  4192  	// value, both of which you define.
  4193  	//
  4194  	// The following basic restrictions apply to tags:
  4195  	//
  4196  	//    * Maximum number of tags per resource - 50.
  4197  	//
  4198  	//    * For each resource, each tag key must be unique, and each tag key can
  4199  	//    have only one value.
  4200  	//
  4201  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  4202  	//
  4203  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  4204  	//
  4205  	//    * If your tagging schema is used across multiple services and resources,
  4206  	//    remember that other services may have restrictions on allowed characters.
  4207  	//    Generally allowed characters are: letters, numbers, and spaces representable
  4208  	//    in UTF-8, and the following characters: + - = . _ : / @.
  4209  	//
  4210  	//    * Tag keys and values are case sensitive.
  4211  	//
  4212  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  4213  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  4214  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  4215  	//    value has aws as its prefix but the key does not, then Forecast considers
  4216  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  4217  	//    with only the key prefix of aws do not count against your tags per resource
  4218  	//    limit.
  4219  	Tags []*Tag `type:"list"`
  4220  
  4221  	// A single time zone for every item in your dataset. This option is ideal for
  4222  	// datasets with all timestamps within a single time zone, or if all timestamps
  4223  	// are normalized to a single time zone.
  4224  	//
  4225  	// Refer to the Joda-Time API (http://joda-time.sourceforge.net/timezones.html)
  4226  	// for a complete list of valid time zone names.
  4227  	TimeZone *string `type:"string"`
  4228  
  4229  	// The format of timestamps in the dataset. The format that you specify depends
  4230  	// on the DataFrequency specified when the dataset was created. The following
  4231  	// formats are supported
  4232  	//
  4233  	//    * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D
  4234  	//
  4235  	//    * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min,
  4236  	//    15min, and 1min; and optionally, for: Y, M, W, and D
  4237  	//
  4238  	// If the format isn't specified, Amazon Forecast expects the format to be "yyyy-MM-dd
  4239  	// HH:mm:ss".
  4240  	TimestampFormat *string `type:"string"`
  4241  
  4242  	// Automatically derive time zone information from the geolocation attribute.
  4243  	// This option is ideal for datasets that contain timestamps in multiple time
  4244  	// zones and those timestamps are expressed in local time.
  4245  	UseGeolocationForTimeZone *bool `type:"boolean"`
  4246  }
  4247  
  4248  // String returns the string representation.
  4249  //
  4250  // API parameter values that are decorated as "sensitive" in the API will not
  4251  // be included in the string output. The member name will be present, but the
  4252  // value will be replaced with "sensitive".
  4253  func (s CreateDatasetImportJobInput) String() string {
  4254  	return awsutil.Prettify(s)
  4255  }
  4256  
  4257  // GoString returns the string representation.
  4258  //
  4259  // API parameter values that are decorated as "sensitive" in the API will not
  4260  // be included in the string output. The member name will be present, but the
  4261  // value will be replaced with "sensitive".
  4262  func (s CreateDatasetImportJobInput) GoString() string {
  4263  	return s.String()
  4264  }
  4265  
  4266  // Validate inspects the fields of the type to determine if they are valid.
  4267  func (s *CreateDatasetImportJobInput) Validate() error {
  4268  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetImportJobInput"}
  4269  	if s.DataSource == nil {
  4270  		invalidParams.Add(request.NewErrParamRequired("DataSource"))
  4271  	}
  4272  	if s.DatasetArn == nil {
  4273  		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
  4274  	}
  4275  	if s.DatasetImportJobName == nil {
  4276  		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobName"))
  4277  	}
  4278  	if s.DatasetImportJobName != nil && len(*s.DatasetImportJobName) < 1 {
  4279  		invalidParams.Add(request.NewErrParamMinLen("DatasetImportJobName", 1))
  4280  	}
  4281  	if s.DataSource != nil {
  4282  		if err := s.DataSource.Validate(); err != nil {
  4283  			invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams))
  4284  		}
  4285  	}
  4286  	if s.Tags != nil {
  4287  		for i, v := range s.Tags {
  4288  			if v == nil {
  4289  				continue
  4290  			}
  4291  			if err := v.Validate(); err != nil {
  4292  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4293  			}
  4294  		}
  4295  	}
  4296  
  4297  	if invalidParams.Len() > 0 {
  4298  		return invalidParams
  4299  	}
  4300  	return nil
  4301  }
  4302  
  4303  // SetDataSource sets the DataSource field's value.
  4304  func (s *CreateDatasetImportJobInput) SetDataSource(v *DataSource) *CreateDatasetImportJobInput {
  4305  	s.DataSource = v
  4306  	return s
  4307  }
  4308  
  4309  // SetDatasetArn sets the DatasetArn field's value.
  4310  func (s *CreateDatasetImportJobInput) SetDatasetArn(v string) *CreateDatasetImportJobInput {
  4311  	s.DatasetArn = &v
  4312  	return s
  4313  }
  4314  
  4315  // SetDatasetImportJobName sets the DatasetImportJobName field's value.
  4316  func (s *CreateDatasetImportJobInput) SetDatasetImportJobName(v string) *CreateDatasetImportJobInput {
  4317  	s.DatasetImportJobName = &v
  4318  	return s
  4319  }
  4320  
  4321  // SetGeolocationFormat sets the GeolocationFormat field's value.
  4322  func (s *CreateDatasetImportJobInput) SetGeolocationFormat(v string) *CreateDatasetImportJobInput {
  4323  	s.GeolocationFormat = &v
  4324  	return s
  4325  }
  4326  
  4327  // SetTags sets the Tags field's value.
  4328  func (s *CreateDatasetImportJobInput) SetTags(v []*Tag) *CreateDatasetImportJobInput {
  4329  	s.Tags = v
  4330  	return s
  4331  }
  4332  
  4333  // SetTimeZone sets the TimeZone field's value.
  4334  func (s *CreateDatasetImportJobInput) SetTimeZone(v string) *CreateDatasetImportJobInput {
  4335  	s.TimeZone = &v
  4336  	return s
  4337  }
  4338  
  4339  // SetTimestampFormat sets the TimestampFormat field's value.
  4340  func (s *CreateDatasetImportJobInput) SetTimestampFormat(v string) *CreateDatasetImportJobInput {
  4341  	s.TimestampFormat = &v
  4342  	return s
  4343  }
  4344  
  4345  // SetUseGeolocationForTimeZone sets the UseGeolocationForTimeZone field's value.
  4346  func (s *CreateDatasetImportJobInput) SetUseGeolocationForTimeZone(v bool) *CreateDatasetImportJobInput {
  4347  	s.UseGeolocationForTimeZone = &v
  4348  	return s
  4349  }
  4350  
  4351  type CreateDatasetImportJobOutput struct {
  4352  	_ struct{} `type:"structure"`
  4353  
  4354  	// The Amazon Resource Name (ARN) of the dataset import job.
  4355  	DatasetImportJobArn *string `type:"string"`
  4356  }
  4357  
  4358  // String returns the string representation.
  4359  //
  4360  // API parameter values that are decorated as "sensitive" in the API will not
  4361  // be included in the string output. The member name will be present, but the
  4362  // value will be replaced with "sensitive".
  4363  func (s CreateDatasetImportJobOutput) String() string {
  4364  	return awsutil.Prettify(s)
  4365  }
  4366  
  4367  // GoString returns the string representation.
  4368  //
  4369  // API parameter values that are decorated as "sensitive" in the API will not
  4370  // be included in the string output. The member name will be present, but the
  4371  // value will be replaced with "sensitive".
  4372  func (s CreateDatasetImportJobOutput) GoString() string {
  4373  	return s.String()
  4374  }
  4375  
  4376  // SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
  4377  func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateDatasetImportJobOutput {
  4378  	s.DatasetImportJobArn = &v
  4379  	return s
  4380  }
  4381  
  4382  type CreateDatasetInput struct {
  4383  	_ struct{} `type:"structure"`
  4384  
  4385  	// The frequency of data collection. This parameter is required for RELATED_TIME_SERIES
  4386  	// datasets.
  4387  	//
  4388  	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
  4389  	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
  4390  	// 1min (1 minute). For example, "D" indicates every day and "15min" indicates
  4391  	// every 15 minutes.
  4392  	DataFrequency *string `type:"string"`
  4393  
  4394  	// A name for the dataset.
  4395  	//
  4396  	// DatasetName is a required field
  4397  	DatasetName *string `min:"1" type:"string" required:"true"`
  4398  
  4399  	// The dataset type. Valid values depend on the chosen Domain.
  4400  	//
  4401  	// DatasetType is a required field
  4402  	DatasetType *string `type:"string" required:"true" enum:"DatasetType"`
  4403  
  4404  	// The domain associated with the dataset. When you add a dataset to a dataset
  4405  	// group, this value and the value specified for the Domain parameter of the
  4406  	// CreateDatasetGroup operation must match.
  4407  	//
  4408  	// The Domain and DatasetType that you choose determine the fields that must
  4409  	// be present in the training data that you import to the dataset. For example,
  4410  	// if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType,
  4411  	// Amazon Forecast requires item_id, timestamp, and demand fields to be present
  4412  	// in your data. For more information, see howitworks-datasets-groups.
  4413  	//
  4414  	// Domain is a required field
  4415  	Domain *string `type:"string" required:"true" enum:"Domain"`
  4416  
  4417  	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
  4418  	// (IAM) role that Amazon Forecast can assume to access the key.
  4419  	EncryptionConfig *EncryptionConfig `type:"structure"`
  4420  
  4421  	// The schema for the dataset. The schema attributes and their order must match
  4422  	// the fields in your data. The dataset Domain and DatasetType that you choose
  4423  	// determine the minimum required fields in your training data. For information
  4424  	// about the required fields for a specific dataset domain and type, see howitworks-domains-ds-types.
  4425  	//
  4426  	// Schema is a required field
  4427  	Schema *Schema `type:"structure" required:"true"`
  4428  
  4429  	// The optional metadata that you apply to the dataset to help you categorize
  4430  	// and organize them. Each tag consists of a key and an optional value, both
  4431  	// of which you define.
  4432  	//
  4433  	// The following basic restrictions apply to tags:
  4434  	//
  4435  	//    * Maximum number of tags per resource - 50.
  4436  	//
  4437  	//    * For each resource, each tag key must be unique, and each tag key can
  4438  	//    have only one value.
  4439  	//
  4440  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  4441  	//
  4442  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  4443  	//
  4444  	//    * If your tagging schema is used across multiple services and resources,
  4445  	//    remember that other services may have restrictions on allowed characters.
  4446  	//    Generally allowed characters are: letters, numbers, and spaces representable
  4447  	//    in UTF-8, and the following characters: + - = . _ : / @.
  4448  	//
  4449  	//    * Tag keys and values are case sensitive.
  4450  	//
  4451  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  4452  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  4453  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  4454  	//    value has aws as its prefix but the key does not, then Forecast considers
  4455  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  4456  	//    with only the key prefix of aws do not count against your tags per resource
  4457  	//    limit.
  4458  	Tags []*Tag `type:"list"`
  4459  }
  4460  
  4461  // String returns the string representation.
  4462  //
  4463  // API parameter values that are decorated as "sensitive" in the API will not
  4464  // be included in the string output. The member name will be present, but the
  4465  // value will be replaced with "sensitive".
  4466  func (s CreateDatasetInput) String() string {
  4467  	return awsutil.Prettify(s)
  4468  }
  4469  
  4470  // GoString returns the string representation.
  4471  //
  4472  // API parameter values that are decorated as "sensitive" in the API will not
  4473  // be included in the string output. The member name will be present, but the
  4474  // value will be replaced with "sensitive".
  4475  func (s CreateDatasetInput) GoString() string {
  4476  	return s.String()
  4477  }
  4478  
  4479  // Validate inspects the fields of the type to determine if they are valid.
  4480  func (s *CreateDatasetInput) Validate() error {
  4481  	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
  4482  	if s.DatasetName == nil {
  4483  		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
  4484  	}
  4485  	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
  4486  		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
  4487  	}
  4488  	if s.DatasetType == nil {
  4489  		invalidParams.Add(request.NewErrParamRequired("DatasetType"))
  4490  	}
  4491  	if s.Domain == nil {
  4492  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  4493  	}
  4494  	if s.Schema == nil {
  4495  		invalidParams.Add(request.NewErrParamRequired("Schema"))
  4496  	}
  4497  	if s.EncryptionConfig != nil {
  4498  		if err := s.EncryptionConfig.Validate(); err != nil {
  4499  			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
  4500  		}
  4501  	}
  4502  	if s.Schema != nil {
  4503  		if err := s.Schema.Validate(); err != nil {
  4504  			invalidParams.AddNested("Schema", err.(request.ErrInvalidParams))
  4505  		}
  4506  	}
  4507  	if s.Tags != nil {
  4508  		for i, v := range s.Tags {
  4509  			if v == nil {
  4510  				continue
  4511  			}
  4512  			if err := v.Validate(); err != nil {
  4513  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4514  			}
  4515  		}
  4516  	}
  4517  
  4518  	if invalidParams.Len() > 0 {
  4519  		return invalidParams
  4520  	}
  4521  	return nil
  4522  }
  4523  
  4524  // SetDataFrequency sets the DataFrequency field's value.
  4525  func (s *CreateDatasetInput) SetDataFrequency(v string) *CreateDatasetInput {
  4526  	s.DataFrequency = &v
  4527  	return s
  4528  }
  4529  
  4530  // SetDatasetName sets the DatasetName field's value.
  4531  func (s *CreateDatasetInput) SetDatasetName(v string) *CreateDatasetInput {
  4532  	s.DatasetName = &v
  4533  	return s
  4534  }
  4535  
  4536  // SetDatasetType sets the DatasetType field's value.
  4537  func (s *CreateDatasetInput) SetDatasetType(v string) *CreateDatasetInput {
  4538  	s.DatasetType = &v
  4539  	return s
  4540  }
  4541  
  4542  // SetDomain sets the Domain field's value.
  4543  func (s *CreateDatasetInput) SetDomain(v string) *CreateDatasetInput {
  4544  	s.Domain = &v
  4545  	return s
  4546  }
  4547  
  4548  // SetEncryptionConfig sets the EncryptionConfig field's value.
  4549  func (s *CreateDatasetInput) SetEncryptionConfig(v *EncryptionConfig) *CreateDatasetInput {
  4550  	s.EncryptionConfig = v
  4551  	return s
  4552  }
  4553  
  4554  // SetSchema sets the Schema field's value.
  4555  func (s *CreateDatasetInput) SetSchema(v *Schema) *CreateDatasetInput {
  4556  	s.Schema = v
  4557  	return s
  4558  }
  4559  
  4560  // SetTags sets the Tags field's value.
  4561  func (s *CreateDatasetInput) SetTags(v []*Tag) *CreateDatasetInput {
  4562  	s.Tags = v
  4563  	return s
  4564  }
  4565  
  4566  type CreateDatasetOutput struct {
  4567  	_ struct{} `type:"structure"`
  4568  
  4569  	// The Amazon Resource Name (ARN) of the dataset.
  4570  	DatasetArn *string `type:"string"`
  4571  }
  4572  
  4573  // String returns the string representation.
  4574  //
  4575  // API parameter values that are decorated as "sensitive" in the API will not
  4576  // be included in the string output. The member name will be present, but the
  4577  // value will be replaced with "sensitive".
  4578  func (s CreateDatasetOutput) String() string {
  4579  	return awsutil.Prettify(s)
  4580  }
  4581  
  4582  // GoString returns the string representation.
  4583  //
  4584  // API parameter values that are decorated as "sensitive" in the API will not
  4585  // be included in the string output. The member name will be present, but the
  4586  // value will be replaced with "sensitive".
  4587  func (s CreateDatasetOutput) GoString() string {
  4588  	return s.String()
  4589  }
  4590  
  4591  // SetDatasetArn sets the DatasetArn field's value.
  4592  func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
  4593  	s.DatasetArn = &v
  4594  	return s
  4595  }
  4596  
  4597  type CreateForecastExportJobInput struct {
  4598  	_ struct{} `type:"structure"`
  4599  
  4600  	// The location where you want to save the forecast and an AWS Identity and
  4601  	// Access Management (IAM) role that Amazon Forecast can assume to access the
  4602  	// location. The forecast must be exported to an Amazon S3 bucket.
  4603  	//
  4604  	// If encryption is used, Destination must include an AWS Key Management Service
  4605  	// (KMS) key. The IAM role must allow Amazon Forecast permission to access the
  4606  	// key.
  4607  	//
  4608  	// Destination is a required field
  4609  	Destination *DataDestination `type:"structure" required:"true"`
  4610  
  4611  	// The Amazon Resource Name (ARN) of the forecast that you want to export.
  4612  	//
  4613  	// ForecastArn is a required field
  4614  	ForecastArn *string `type:"string" required:"true"`
  4615  
  4616  	// The name for the forecast export job.
  4617  	//
  4618  	// ForecastExportJobName is a required field
  4619  	ForecastExportJobName *string `min:"1" type:"string" required:"true"`
  4620  
  4621  	// The optional metadata that you apply to the forecast export job to help you
  4622  	// categorize and organize them. Each tag consists of a key and an optional
  4623  	// value, both of which you define.
  4624  	//
  4625  	// The following basic restrictions apply to tags:
  4626  	//
  4627  	//    * Maximum number of tags per resource - 50.
  4628  	//
  4629  	//    * For each resource, each tag key must be unique, and each tag key can
  4630  	//    have only one value.
  4631  	//
  4632  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  4633  	//
  4634  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  4635  	//
  4636  	//    * If your tagging schema is used across multiple services and resources,
  4637  	//    remember that other services may have restrictions on allowed characters.
  4638  	//    Generally allowed characters are: letters, numbers, and spaces representable
  4639  	//    in UTF-8, and the following characters: + - = . _ : / @.
  4640  	//
  4641  	//    * Tag keys and values are case sensitive.
  4642  	//
  4643  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  4644  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  4645  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  4646  	//    value has aws as its prefix but the key does not, then Forecast considers
  4647  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  4648  	//    with only the key prefix of aws do not count against your tags per resource
  4649  	//    limit.
  4650  	Tags []*Tag `type:"list"`
  4651  }
  4652  
  4653  // String returns the string representation.
  4654  //
  4655  // API parameter values that are decorated as "sensitive" in the API will not
  4656  // be included in the string output. The member name will be present, but the
  4657  // value will be replaced with "sensitive".
  4658  func (s CreateForecastExportJobInput) String() string {
  4659  	return awsutil.Prettify(s)
  4660  }
  4661  
  4662  // GoString returns the string representation.
  4663  //
  4664  // API parameter values that are decorated as "sensitive" in the API will not
  4665  // be included in the string output. The member name will be present, but the
  4666  // value will be replaced with "sensitive".
  4667  func (s CreateForecastExportJobInput) GoString() string {
  4668  	return s.String()
  4669  }
  4670  
  4671  // Validate inspects the fields of the type to determine if they are valid.
  4672  func (s *CreateForecastExportJobInput) Validate() error {
  4673  	invalidParams := request.ErrInvalidParams{Context: "CreateForecastExportJobInput"}
  4674  	if s.Destination == nil {
  4675  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  4676  	}
  4677  	if s.ForecastArn == nil {
  4678  		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
  4679  	}
  4680  	if s.ForecastExportJobName == nil {
  4681  		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobName"))
  4682  	}
  4683  	if s.ForecastExportJobName != nil && len(*s.ForecastExportJobName) < 1 {
  4684  		invalidParams.Add(request.NewErrParamMinLen("ForecastExportJobName", 1))
  4685  	}
  4686  	if s.Destination != nil {
  4687  		if err := s.Destination.Validate(); err != nil {
  4688  			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
  4689  		}
  4690  	}
  4691  	if s.Tags != nil {
  4692  		for i, v := range s.Tags {
  4693  			if v == nil {
  4694  				continue
  4695  			}
  4696  			if err := v.Validate(); err != nil {
  4697  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4698  			}
  4699  		}
  4700  	}
  4701  
  4702  	if invalidParams.Len() > 0 {
  4703  		return invalidParams
  4704  	}
  4705  	return nil
  4706  }
  4707  
  4708  // SetDestination sets the Destination field's value.
  4709  func (s *CreateForecastExportJobInput) SetDestination(v *DataDestination) *CreateForecastExportJobInput {
  4710  	s.Destination = v
  4711  	return s
  4712  }
  4713  
  4714  // SetForecastArn sets the ForecastArn field's value.
  4715  func (s *CreateForecastExportJobInput) SetForecastArn(v string) *CreateForecastExportJobInput {
  4716  	s.ForecastArn = &v
  4717  	return s
  4718  }
  4719  
  4720  // SetForecastExportJobName sets the ForecastExportJobName field's value.
  4721  func (s *CreateForecastExportJobInput) SetForecastExportJobName(v string) *CreateForecastExportJobInput {
  4722  	s.ForecastExportJobName = &v
  4723  	return s
  4724  }
  4725  
  4726  // SetTags sets the Tags field's value.
  4727  func (s *CreateForecastExportJobInput) SetTags(v []*Tag) *CreateForecastExportJobInput {
  4728  	s.Tags = v
  4729  	return s
  4730  }
  4731  
  4732  type CreateForecastExportJobOutput struct {
  4733  	_ struct{} `type:"structure"`
  4734  
  4735  	// The Amazon Resource Name (ARN) of the export job.
  4736  	ForecastExportJobArn *string `type:"string"`
  4737  }
  4738  
  4739  // String returns the string representation.
  4740  //
  4741  // API parameter values that are decorated as "sensitive" in the API will not
  4742  // be included in the string output. The member name will be present, but the
  4743  // value will be replaced with "sensitive".
  4744  func (s CreateForecastExportJobOutput) String() string {
  4745  	return awsutil.Prettify(s)
  4746  }
  4747  
  4748  // GoString returns the string representation.
  4749  //
  4750  // API parameter values that are decorated as "sensitive" in the API will not
  4751  // be included in the string output. The member name will be present, but the
  4752  // value will be replaced with "sensitive".
  4753  func (s CreateForecastExportJobOutput) GoString() string {
  4754  	return s.String()
  4755  }
  4756  
  4757  // SetForecastExportJobArn sets the ForecastExportJobArn field's value.
  4758  func (s *CreateForecastExportJobOutput) SetForecastExportJobArn(v string) *CreateForecastExportJobOutput {
  4759  	s.ForecastExportJobArn = &v
  4760  	return s
  4761  }
  4762  
  4763  type CreateForecastInput struct {
  4764  	_ struct{} `type:"structure"`
  4765  
  4766  	// A name for the forecast.
  4767  	//
  4768  	// ForecastName is a required field
  4769  	ForecastName *string `min:"1" type:"string" required:"true"`
  4770  
  4771  	// The quantiles at which probabilistic forecasts are generated. You can currently
  4772  	// specify up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99
  4773  	// (increments of .01 only) and mean. The mean forecast is different from the
  4774  	// median (0.50) when the distribution is not symmetric (for example, Beta and
  4775  	// Negative Binomial). The default value is ["0.1", "0.5", "0.9"].
  4776  	ForecastTypes []*string `min:"1" type:"list"`
  4777  
  4778  	// The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.
  4779  	//
  4780  	// PredictorArn is a required field
  4781  	PredictorArn *string `type:"string" required:"true"`
  4782  
  4783  	// The optional metadata that you apply to the forecast to help you categorize
  4784  	// and organize them. Each tag consists of a key and an optional value, both
  4785  	// of which you define.
  4786  	//
  4787  	// The following basic restrictions apply to tags:
  4788  	//
  4789  	//    * Maximum number of tags per resource - 50.
  4790  	//
  4791  	//    * For each resource, each tag key must be unique, and each tag key can
  4792  	//    have only one value.
  4793  	//
  4794  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  4795  	//
  4796  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  4797  	//
  4798  	//    * If your tagging schema is used across multiple services and resources,
  4799  	//    remember that other services may have restrictions on allowed characters.
  4800  	//    Generally allowed characters are: letters, numbers, and spaces representable
  4801  	//    in UTF-8, and the following characters: + - = . _ : / @.
  4802  	//
  4803  	//    * Tag keys and values are case sensitive.
  4804  	//
  4805  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  4806  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  4807  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  4808  	//    value has aws as its prefix but the key does not, then Forecast considers
  4809  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  4810  	//    with only the key prefix of aws do not count against your tags per resource
  4811  	//    limit.
  4812  	Tags []*Tag `type:"list"`
  4813  }
  4814  
  4815  // String returns the string representation.
  4816  //
  4817  // API parameter values that are decorated as "sensitive" in the API will not
  4818  // be included in the string output. The member name will be present, but the
  4819  // value will be replaced with "sensitive".
  4820  func (s CreateForecastInput) String() string {
  4821  	return awsutil.Prettify(s)
  4822  }
  4823  
  4824  // GoString returns the string representation.
  4825  //
  4826  // API parameter values that are decorated as "sensitive" in the API will not
  4827  // be included in the string output. The member name will be present, but the
  4828  // value will be replaced with "sensitive".
  4829  func (s CreateForecastInput) GoString() string {
  4830  	return s.String()
  4831  }
  4832  
  4833  // Validate inspects the fields of the type to determine if they are valid.
  4834  func (s *CreateForecastInput) Validate() error {
  4835  	invalidParams := request.ErrInvalidParams{Context: "CreateForecastInput"}
  4836  	if s.ForecastName == nil {
  4837  		invalidParams.Add(request.NewErrParamRequired("ForecastName"))
  4838  	}
  4839  	if s.ForecastName != nil && len(*s.ForecastName) < 1 {
  4840  		invalidParams.Add(request.NewErrParamMinLen("ForecastName", 1))
  4841  	}
  4842  	if s.ForecastTypes != nil && len(s.ForecastTypes) < 1 {
  4843  		invalidParams.Add(request.NewErrParamMinLen("ForecastTypes", 1))
  4844  	}
  4845  	if s.PredictorArn == nil {
  4846  		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
  4847  	}
  4848  	if s.Tags != nil {
  4849  		for i, v := range s.Tags {
  4850  			if v == nil {
  4851  				continue
  4852  			}
  4853  			if err := v.Validate(); err != nil {
  4854  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  4855  			}
  4856  		}
  4857  	}
  4858  
  4859  	if invalidParams.Len() > 0 {
  4860  		return invalidParams
  4861  	}
  4862  	return nil
  4863  }
  4864  
  4865  // SetForecastName sets the ForecastName field's value.
  4866  func (s *CreateForecastInput) SetForecastName(v string) *CreateForecastInput {
  4867  	s.ForecastName = &v
  4868  	return s
  4869  }
  4870  
  4871  // SetForecastTypes sets the ForecastTypes field's value.
  4872  func (s *CreateForecastInput) SetForecastTypes(v []*string) *CreateForecastInput {
  4873  	s.ForecastTypes = v
  4874  	return s
  4875  }
  4876  
  4877  // SetPredictorArn sets the PredictorArn field's value.
  4878  func (s *CreateForecastInput) SetPredictorArn(v string) *CreateForecastInput {
  4879  	s.PredictorArn = &v
  4880  	return s
  4881  }
  4882  
  4883  // SetTags sets the Tags field's value.
  4884  func (s *CreateForecastInput) SetTags(v []*Tag) *CreateForecastInput {
  4885  	s.Tags = v
  4886  	return s
  4887  }
  4888  
  4889  type CreateForecastOutput struct {
  4890  	_ struct{} `type:"structure"`
  4891  
  4892  	// The Amazon Resource Name (ARN) of the forecast.
  4893  	ForecastArn *string `type:"string"`
  4894  }
  4895  
  4896  // String returns the string representation.
  4897  //
  4898  // API parameter values that are decorated as "sensitive" in the API will not
  4899  // be included in the string output. The member name will be present, but the
  4900  // value will be replaced with "sensitive".
  4901  func (s CreateForecastOutput) String() string {
  4902  	return awsutil.Prettify(s)
  4903  }
  4904  
  4905  // GoString returns the string representation.
  4906  //
  4907  // API parameter values that are decorated as "sensitive" in the API will not
  4908  // be included in the string output. The member name will be present, but the
  4909  // value will be replaced with "sensitive".
  4910  func (s CreateForecastOutput) GoString() string {
  4911  	return s.String()
  4912  }
  4913  
  4914  // SetForecastArn sets the ForecastArn field's value.
  4915  func (s *CreateForecastOutput) SetForecastArn(v string) *CreateForecastOutput {
  4916  	s.ForecastArn = &v
  4917  	return s
  4918  }
  4919  
  4920  type CreatePredictorBacktestExportJobInput struct {
  4921  	_ struct{} `type:"structure"`
  4922  
  4923  	// The destination for an export job. Provide an S3 path, an AWS Identity and
  4924  	// Access Management (IAM) role that allows Amazon Forecast to access the location,
  4925  	// and an AWS Key Management Service (KMS) key (optional).
  4926  	//
  4927  	// Destination is a required field
  4928  	Destination *DataDestination `type:"structure" required:"true"`
  4929  
  4930  	// The Amazon Resource Name (ARN) of the predictor that you want to export.
  4931  	//
  4932  	// PredictorArn is a required field
  4933  	PredictorArn *string `type:"string" required:"true"`
  4934  
  4935  	// The name for the backtest export job.
  4936  	//
  4937  	// PredictorBacktestExportJobName is a required field
  4938  	PredictorBacktestExportJobName *string `min:"1" type:"string" required:"true"`
  4939  
  4940  	// Optional metadata to help you categorize and organize your backtests. Each
  4941  	// tag consists of a key and an optional value, both of which you define. Tag
  4942  	// keys and values are case sensitive.
  4943  	//
  4944  	// The following restrictions apply to tags:
  4945  	//
  4946  	//    * For each resource, each tag key must be unique and each tag key must
  4947  	//    have one value.
  4948  	//
  4949  	//    * Maximum number of tags per resource: 50.
  4950  	//
  4951  	//    * Maximum key length: 128 Unicode characters in UTF-8.
  4952  	//
  4953  	//    * Maximum value length: 256 Unicode characters in UTF-8.
  4954  	//
  4955  	//    * Accepted characters: all letters and numbers, spaces representable in
  4956  	//    UTF-8, and + - = . _ : / @. If your tagging schema is used across other
  4957  	//    services and resources, the character restrictions of those services also
  4958  	//    apply.
  4959  	//
  4960  	//    * Key prefixes cannot include any upper or lowercase combination of aws:
  4961  	//    or AWS:. Values can have this prefix. If a tag value has aws as its prefix
  4962  	//    but the key does not, Forecast considers it to be a user tag and will
  4963  	//    count against the limit of 50 tags. Tags with only the key prefix of aws
  4964  	//    do not count against your tags per resource limit. You cannot edit or
  4965  	//    delete tag keys with this prefix.
  4966  	Tags []*Tag `type:"list"`
  4967  }
  4968  
  4969  // String returns the string representation.
  4970  //
  4971  // API parameter values that are decorated as "sensitive" in the API will not
  4972  // be included in the string output. The member name will be present, but the
  4973  // value will be replaced with "sensitive".
  4974  func (s CreatePredictorBacktestExportJobInput) String() string {
  4975  	return awsutil.Prettify(s)
  4976  }
  4977  
  4978  // GoString returns the string representation.
  4979  //
  4980  // API parameter values that are decorated as "sensitive" in the API will not
  4981  // be included in the string output. The member name will be present, but the
  4982  // value will be replaced with "sensitive".
  4983  func (s CreatePredictorBacktestExportJobInput) GoString() string {
  4984  	return s.String()
  4985  }
  4986  
  4987  // Validate inspects the fields of the type to determine if they are valid.
  4988  func (s *CreatePredictorBacktestExportJobInput) Validate() error {
  4989  	invalidParams := request.ErrInvalidParams{Context: "CreatePredictorBacktestExportJobInput"}
  4990  	if s.Destination == nil {
  4991  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  4992  	}
  4993  	if s.PredictorArn == nil {
  4994  		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
  4995  	}
  4996  	if s.PredictorBacktestExportJobName == nil {
  4997  		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobName"))
  4998  	}
  4999  	if s.PredictorBacktestExportJobName != nil && len(*s.PredictorBacktestExportJobName) < 1 {
  5000  		invalidParams.Add(request.NewErrParamMinLen("PredictorBacktestExportJobName", 1))
  5001  	}
  5002  	if s.Destination != nil {
  5003  		if err := s.Destination.Validate(); err != nil {
  5004  			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
  5005  		}
  5006  	}
  5007  	if s.Tags != nil {
  5008  		for i, v := range s.Tags {
  5009  			if v == nil {
  5010  				continue
  5011  			}
  5012  			if err := v.Validate(); err != nil {
  5013  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5014  			}
  5015  		}
  5016  	}
  5017  
  5018  	if invalidParams.Len() > 0 {
  5019  		return invalidParams
  5020  	}
  5021  	return nil
  5022  }
  5023  
  5024  // SetDestination sets the Destination field's value.
  5025  func (s *CreatePredictorBacktestExportJobInput) SetDestination(v *DataDestination) *CreatePredictorBacktestExportJobInput {
  5026  	s.Destination = v
  5027  	return s
  5028  }
  5029  
  5030  // SetPredictorArn sets the PredictorArn field's value.
  5031  func (s *CreatePredictorBacktestExportJobInput) SetPredictorArn(v string) *CreatePredictorBacktestExportJobInput {
  5032  	s.PredictorArn = &v
  5033  	return s
  5034  }
  5035  
  5036  // SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
  5037  func (s *CreatePredictorBacktestExportJobInput) SetPredictorBacktestExportJobName(v string) *CreatePredictorBacktestExportJobInput {
  5038  	s.PredictorBacktestExportJobName = &v
  5039  	return s
  5040  }
  5041  
  5042  // SetTags sets the Tags field's value.
  5043  func (s *CreatePredictorBacktestExportJobInput) SetTags(v []*Tag) *CreatePredictorBacktestExportJobInput {
  5044  	s.Tags = v
  5045  	return s
  5046  }
  5047  
  5048  type CreatePredictorBacktestExportJobOutput struct {
  5049  	_ struct{} `type:"structure"`
  5050  
  5051  	// The Amazon Resource Name (ARN) of the predictor backtest export job that
  5052  	// you want to export.
  5053  	PredictorBacktestExportJobArn *string `type:"string"`
  5054  }
  5055  
  5056  // String returns the string representation.
  5057  //
  5058  // API parameter values that are decorated as "sensitive" in the API will not
  5059  // be included in the string output. The member name will be present, but the
  5060  // value will be replaced with "sensitive".
  5061  func (s CreatePredictorBacktestExportJobOutput) String() string {
  5062  	return awsutil.Prettify(s)
  5063  }
  5064  
  5065  // GoString returns the string representation.
  5066  //
  5067  // API parameter values that are decorated as "sensitive" in the API will not
  5068  // be included in the string output. The member name will be present, but the
  5069  // value will be replaced with "sensitive".
  5070  func (s CreatePredictorBacktestExportJobOutput) GoString() string {
  5071  	return s.String()
  5072  }
  5073  
  5074  // SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
  5075  func (s *CreatePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *CreatePredictorBacktestExportJobOutput {
  5076  	s.PredictorBacktestExportJobArn = &v
  5077  	return s
  5078  }
  5079  
  5080  type CreatePredictorInput struct {
  5081  	_ struct{} `type:"structure"`
  5082  
  5083  	// The Amazon Resource Name (ARN) of the algorithm to use for model training.
  5084  	// Required if PerformAutoML is not set to true.
  5085  	//
  5086  	// Supported algorithms:
  5087  	//
  5088  	//    * arn:aws:forecast:::algorithm/ARIMA
  5089  	//
  5090  	//    * arn:aws:forecast:::algorithm/CNN-QR
  5091  	//
  5092  	//    * arn:aws:forecast:::algorithm/Deep_AR_Plus
  5093  	//
  5094  	//    * arn:aws:forecast:::algorithm/ETS
  5095  	//
  5096  	//    * arn:aws:forecast:::algorithm/NPTS
  5097  	//
  5098  	//    * arn:aws:forecast:::algorithm/Prophet
  5099  	AlgorithmArn *string `type:"string"`
  5100  
  5101  	//
  5102  	// The LatencyOptimized AutoML override strategy is only available in private
  5103  	// beta. Contact AWS Support or your account manager to learn more about access
  5104  	// privileges.
  5105  	//
  5106  	// Used to overide the default AutoML strategy, which is to optimize predictor
  5107  	// accuracy. To apply an AutoML strategy that minimizes training time, use LatencyOptimized.
  5108  	//
  5109  	// This parameter is only valid for predictors trained using AutoML.
  5110  	AutoMLOverrideStrategy *string `type:"string" enum:"AutoMLOverrideStrategy"`
  5111  
  5112  	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
  5113  	// (IAM) role that Amazon Forecast can assume to access the key.
  5114  	EncryptionConfig *EncryptionConfig `type:"structure"`
  5115  
  5116  	// Used to override the default evaluation parameters of the specified algorithm.
  5117  	// Amazon Forecast evaluates a predictor by splitting a dataset into training
  5118  	// data and testing data. The evaluation parameters define how to perform the
  5119  	// split and the number of iterations.
  5120  	EvaluationParameters *EvaluationParameters `type:"structure"`
  5121  
  5122  	// The featurization configuration.
  5123  	//
  5124  	// FeaturizationConfig is a required field
  5125  	FeaturizationConfig *FeaturizationConfig `type:"structure" required:"true"`
  5126  
  5127  	// Specifies the number of time-steps that the model is trained to predict.
  5128  	// The forecast horizon is also called the prediction length.
  5129  	//
  5130  	// For example, if you configure a dataset for daily data collection (using
  5131  	// the DataFrequency parameter of the CreateDataset operation) and set the forecast
  5132  	// horizon to 10, the model returns predictions for 10 days.
  5133  	//
  5134  	// The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the
  5135  	// TARGET_TIME_SERIES dataset length.
  5136  	//
  5137  	// ForecastHorizon is a required field
  5138  	ForecastHorizon *int64 `type:"integer" required:"true"`
  5139  
  5140  	// Specifies the forecast types used to train a predictor. You can specify up
  5141  	// to five forecast types. Forecast types can be quantiles from 0.01 to 0.99,
  5142  	// by increments of 0.01 or higher. You can also specify the mean forecast with
  5143  	// mean.
  5144  	//
  5145  	// The default value is ["0.10", "0.50", "0.9"].
  5146  	ForecastTypes []*string `min:"1" type:"list"`
  5147  
  5148  	// Provides hyperparameter override values for the algorithm. If you don't provide
  5149  	// this parameter, Amazon Forecast uses default values. The individual algorithms
  5150  	// specify which hyperparameters support hyperparameter optimization (HPO).
  5151  	// For more information, see aws-forecast-choosing-recipes.
  5152  	//
  5153  	// If you included the HPOConfig object, you must set PerformHPO to true.
  5154  	HPOConfig *HyperParameterTuningJobConfig `type:"structure"`
  5155  
  5156  	// Describes the dataset group that contains the data to use to train the predictor.
  5157  	//
  5158  	// InputDataConfig is a required field
  5159  	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
  5160  
  5161  	// The accuracy metric used to optimize the predictor.
  5162  	OptimizationMetric *string `type:"string" enum:"OptimizationMetric"`
  5163  
  5164  	// Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates
  5165  	// the algorithms it provides and chooses the best algorithm and configuration
  5166  	// for your training dataset.
  5167  	//
  5168  	// The default value is false. In this case, you are required to specify an
  5169  	// algorithm.
  5170  	//
  5171  	// Set PerformAutoML to true to have Amazon Forecast perform AutoML. This is
  5172  	// a good option if you aren't sure which algorithm is suitable for your training
  5173  	// data. In this case, PerformHPO must be false.
  5174  	PerformAutoML *bool `type:"boolean"`
  5175  
  5176  	// Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter
  5177  	// values for your training data. The process of performing HPO is known as
  5178  	// running a hyperparameter tuning job.
  5179  	//
  5180  	// The default value is false. In this case, Amazon Forecast uses default hyperparameter
  5181  	// values from the chosen algorithm.
  5182  	//
  5183  	// To override the default values, set PerformHPO to true and, optionally, supply
  5184  	// the HyperParameterTuningJobConfig object. The tuning job specifies a metric
  5185  	// to optimize, which hyperparameters participate in tuning, and the valid range
  5186  	// for each tunable hyperparameter. In this case, you are required to specify
  5187  	// an algorithm and PerformAutoML must be false.
  5188  	//
  5189  	// The following algorithms support HPO:
  5190  	//
  5191  	//    * DeepAR+
  5192  	//
  5193  	//    * CNN-QR
  5194  	PerformHPO *bool `type:"boolean"`
  5195  
  5196  	// A name for the predictor.
  5197  	//
  5198  	// PredictorName is a required field
  5199  	PredictorName *string `min:"1" type:"string" required:"true"`
  5200  
  5201  	// The optional metadata that you apply to the predictor to help you categorize
  5202  	// and organize them. Each tag consists of a key and an optional value, both
  5203  	// of which you define.
  5204  	//
  5205  	// The following basic restrictions apply to tags:
  5206  	//
  5207  	//    * Maximum number of tags per resource - 50.
  5208  	//
  5209  	//    * For each resource, each tag key must be unique, and each tag key can
  5210  	//    have only one value.
  5211  	//
  5212  	//    * Maximum key length - 128 Unicode characters in UTF-8.
  5213  	//
  5214  	//    * Maximum value length - 256 Unicode characters in UTF-8.
  5215  	//
  5216  	//    * If your tagging schema is used across multiple services and resources,
  5217  	//    remember that other services may have restrictions on allowed characters.
  5218  	//    Generally allowed characters are: letters, numbers, and spaces representable
  5219  	//    in UTF-8, and the following characters: + - = . _ : / @.
  5220  	//
  5221  	//    * Tag keys and values are case sensitive.
  5222  	//
  5223  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
  5224  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
  5225  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
  5226  	//    value has aws as its prefix but the key does not, then Forecast considers
  5227  	//    it to be a user tag and will count against the limit of 50 tags. Tags
  5228  	//    with only the key prefix of aws do not count against your tags per resource
  5229  	//    limit.
  5230  	Tags []*Tag `type:"list"`
  5231  
  5232  	// The hyperparameters to override for model training. The hyperparameters that
  5233  	// you can override are listed in the individual algorithms. For the list of
  5234  	// supported algorithms, see aws-forecast-choosing-recipes.
  5235  	TrainingParameters map[string]*string `type:"map"`
  5236  }
  5237  
  5238  // String returns the string representation.
  5239  //
  5240  // API parameter values that are decorated as "sensitive" in the API will not
  5241  // be included in the string output. The member name will be present, but the
  5242  // value will be replaced with "sensitive".
  5243  func (s CreatePredictorInput) String() string {
  5244  	return awsutil.Prettify(s)
  5245  }
  5246  
  5247  // GoString returns the string representation.
  5248  //
  5249  // API parameter values that are decorated as "sensitive" in the API will not
  5250  // be included in the string output. The member name will be present, but the
  5251  // value will be replaced with "sensitive".
  5252  func (s CreatePredictorInput) GoString() string {
  5253  	return s.String()
  5254  }
  5255  
  5256  // Validate inspects the fields of the type to determine if they are valid.
  5257  func (s *CreatePredictorInput) Validate() error {
  5258  	invalidParams := request.ErrInvalidParams{Context: "CreatePredictorInput"}
  5259  	if s.FeaturizationConfig == nil {
  5260  		invalidParams.Add(request.NewErrParamRequired("FeaturizationConfig"))
  5261  	}
  5262  	if s.ForecastHorizon == nil {
  5263  		invalidParams.Add(request.NewErrParamRequired("ForecastHorizon"))
  5264  	}
  5265  	if s.ForecastTypes != nil && len(s.ForecastTypes) < 1 {
  5266  		invalidParams.Add(request.NewErrParamMinLen("ForecastTypes", 1))
  5267  	}
  5268  	if s.InputDataConfig == nil {
  5269  		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
  5270  	}
  5271  	if s.PredictorName == nil {
  5272  		invalidParams.Add(request.NewErrParamRequired("PredictorName"))
  5273  	}
  5274  	if s.PredictorName != nil && len(*s.PredictorName) < 1 {
  5275  		invalidParams.Add(request.NewErrParamMinLen("PredictorName", 1))
  5276  	}
  5277  	if s.EncryptionConfig != nil {
  5278  		if err := s.EncryptionConfig.Validate(); err != nil {
  5279  			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
  5280  		}
  5281  	}
  5282  	if s.FeaturizationConfig != nil {
  5283  		if err := s.FeaturizationConfig.Validate(); err != nil {
  5284  			invalidParams.AddNested("FeaturizationConfig", err.(request.ErrInvalidParams))
  5285  		}
  5286  	}
  5287  	if s.HPOConfig != nil {
  5288  		if err := s.HPOConfig.Validate(); err != nil {
  5289  			invalidParams.AddNested("HPOConfig", err.(request.ErrInvalidParams))
  5290  		}
  5291  	}
  5292  	if s.InputDataConfig != nil {
  5293  		if err := s.InputDataConfig.Validate(); err != nil {
  5294  			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
  5295  		}
  5296  	}
  5297  	if s.Tags != nil {
  5298  		for i, v := range s.Tags {
  5299  			if v == nil {
  5300  				continue
  5301  			}
  5302  			if err := v.Validate(); err != nil {
  5303  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  5304  			}
  5305  		}
  5306  	}
  5307  
  5308  	if invalidParams.Len() > 0 {
  5309  		return invalidParams
  5310  	}
  5311  	return nil
  5312  }
  5313  
  5314  // SetAlgorithmArn sets the AlgorithmArn field's value.
  5315  func (s *CreatePredictorInput) SetAlgorithmArn(v string) *CreatePredictorInput {
  5316  	s.AlgorithmArn = &v
  5317  	return s
  5318  }
  5319  
  5320  // SetAutoMLOverrideStrategy sets the AutoMLOverrideStrategy field's value.
  5321  func (s *CreatePredictorInput) SetAutoMLOverrideStrategy(v string) *CreatePredictorInput {
  5322  	s.AutoMLOverrideStrategy = &v
  5323  	return s
  5324  }
  5325  
  5326  // SetEncryptionConfig sets the EncryptionConfig field's value.
  5327  func (s *CreatePredictorInput) SetEncryptionConfig(v *EncryptionConfig) *CreatePredictorInput {
  5328  	s.EncryptionConfig = v
  5329  	return s
  5330  }
  5331  
  5332  // SetEvaluationParameters sets the EvaluationParameters field's value.
  5333  func (s *CreatePredictorInput) SetEvaluationParameters(v *EvaluationParameters) *CreatePredictorInput {
  5334  	s.EvaluationParameters = v
  5335  	return s
  5336  }
  5337  
  5338  // SetFeaturizationConfig sets the FeaturizationConfig field's value.
  5339  func (s *CreatePredictorInput) SetFeaturizationConfig(v *FeaturizationConfig) *CreatePredictorInput {
  5340  	s.FeaturizationConfig = v
  5341  	return s
  5342  }
  5343  
  5344  // SetForecastHorizon sets the ForecastHorizon field's value.
  5345  func (s *CreatePredictorInput) SetForecastHorizon(v int64) *CreatePredictorInput {
  5346  	s.ForecastHorizon = &v
  5347  	return s
  5348  }
  5349  
  5350  // SetForecastTypes sets the ForecastTypes field's value.
  5351  func (s *CreatePredictorInput) SetForecastTypes(v []*string) *CreatePredictorInput {
  5352  	s.ForecastTypes = v
  5353  	return s
  5354  }
  5355  
  5356  // SetHPOConfig sets the HPOConfig field's value.
  5357  func (s *CreatePredictorInput) SetHPOConfig(v *HyperParameterTuningJobConfig) *CreatePredictorInput {
  5358  	s.HPOConfig = v
  5359  	return s
  5360  }
  5361  
  5362  // SetInputDataConfig sets the InputDataConfig field's value.
  5363  func (s *CreatePredictorInput) SetInputDataConfig(v *InputDataConfig) *CreatePredictorInput {
  5364  	s.InputDataConfig = v
  5365  	return s
  5366  }
  5367  
  5368  // SetOptimizationMetric sets the OptimizationMetric field's value.
  5369  func (s *CreatePredictorInput) SetOptimizationMetric(v string) *CreatePredictorInput {
  5370  	s.OptimizationMetric = &v
  5371  	return s
  5372  }
  5373  
  5374  // SetPerformAutoML sets the PerformAutoML field's value.
  5375  func (s *CreatePredictorInput) SetPerformAutoML(v bool) *CreatePredictorInput {
  5376  	s.PerformAutoML = &v
  5377  	return s
  5378  }
  5379  
  5380  // SetPerformHPO sets the PerformHPO field's value.
  5381  func (s *CreatePredictorInput) SetPerformHPO(v bool) *CreatePredictorInput {
  5382  	s.PerformHPO = &v
  5383  	return s
  5384  }
  5385  
  5386  // SetPredictorName sets the PredictorName field's value.
  5387  func (s *CreatePredictorInput) SetPredictorName(v string) *CreatePredictorInput {
  5388  	s.PredictorName = &v
  5389  	return s
  5390  }
  5391  
  5392  // SetTags sets the Tags field's value.
  5393  func (s *CreatePredictorInput) SetTags(v []*Tag) *CreatePredictorInput {
  5394  	s.Tags = v
  5395  	return s
  5396  }
  5397  
  5398  // SetTrainingParameters sets the TrainingParameters field's value.
  5399  func (s *CreatePredictorInput) SetTrainingParameters(v map[string]*string) *CreatePredictorInput {
  5400  	s.TrainingParameters = v
  5401  	return s
  5402  }
  5403  
  5404  type CreatePredictorOutput struct {
  5405  	_ struct{} `type:"structure"`
  5406  
  5407  	// The Amazon Resource Name (ARN) of the predictor.
  5408  	PredictorArn *string `type:"string"`
  5409  }
  5410  
  5411  // String returns the string representation.
  5412  //
  5413  // API parameter values that are decorated as "sensitive" in the API will not
  5414  // be included in the string output. The member name will be present, but the
  5415  // value will be replaced with "sensitive".
  5416  func (s CreatePredictorOutput) String() string {
  5417  	return awsutil.Prettify(s)
  5418  }
  5419  
  5420  // GoString returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s CreatePredictorOutput) GoString() string {
  5426  	return s.String()
  5427  }
  5428  
  5429  // SetPredictorArn sets the PredictorArn field's value.
  5430  func (s *CreatePredictorOutput) SetPredictorArn(v string) *CreatePredictorOutput {
  5431  	s.PredictorArn = &v
  5432  	return s
  5433  }
  5434  
  5435  // The destination for an export job. Provide an S3 path, an AWS Identity and
  5436  // Access Management (IAM) role that allows Amazon Forecast to access the location,
  5437  // and an AWS Key Management Service (KMS) key (optional).
  5438  type DataDestination struct {
  5439  	_ struct{} `type:"structure"`
  5440  
  5441  	// The path to an Amazon Simple Storage Service (Amazon S3) bucket along with
  5442  	// the credentials to access the bucket.
  5443  	//
  5444  	// S3Config is a required field
  5445  	S3Config *S3Config `type:"structure" required:"true"`
  5446  }
  5447  
  5448  // String returns the string representation.
  5449  //
  5450  // API parameter values that are decorated as "sensitive" in the API will not
  5451  // be included in the string output. The member name will be present, but the
  5452  // value will be replaced with "sensitive".
  5453  func (s DataDestination) String() string {
  5454  	return awsutil.Prettify(s)
  5455  }
  5456  
  5457  // GoString returns the string representation.
  5458  //
  5459  // API parameter values that are decorated as "sensitive" in the API will not
  5460  // be included in the string output. The member name will be present, but the
  5461  // value will be replaced with "sensitive".
  5462  func (s DataDestination) GoString() string {
  5463  	return s.String()
  5464  }
  5465  
  5466  // Validate inspects the fields of the type to determine if they are valid.
  5467  func (s *DataDestination) Validate() error {
  5468  	invalidParams := request.ErrInvalidParams{Context: "DataDestination"}
  5469  	if s.S3Config == nil {
  5470  		invalidParams.Add(request.NewErrParamRequired("S3Config"))
  5471  	}
  5472  	if s.S3Config != nil {
  5473  		if err := s.S3Config.Validate(); err != nil {
  5474  			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
  5475  		}
  5476  	}
  5477  
  5478  	if invalidParams.Len() > 0 {
  5479  		return invalidParams
  5480  	}
  5481  	return nil
  5482  }
  5483  
  5484  // SetS3Config sets the S3Config field's value.
  5485  func (s *DataDestination) SetS3Config(v *S3Config) *DataDestination {
  5486  	s.S3Config = v
  5487  	return s
  5488  }
  5489  
  5490  // The source of your training data, an AWS Identity and Access Management (IAM)
  5491  // role that allows Amazon Forecast to access the data and, optionally, an AWS
  5492  // Key Management Service (KMS) key. This object is submitted in the CreateDatasetImportJob
  5493  // request.
  5494  type DataSource struct {
  5495  	_ struct{} `type:"structure"`
  5496  
  5497  	// The path to the training data stored in an Amazon Simple Storage Service
  5498  	// (Amazon S3) bucket along with the credentials to access the data.
  5499  	//
  5500  	// S3Config is a required field
  5501  	S3Config *S3Config `type:"structure" required:"true"`
  5502  }
  5503  
  5504  // String returns the string representation.
  5505  //
  5506  // API parameter values that are decorated as "sensitive" in the API will not
  5507  // be included in the string output. The member name will be present, but the
  5508  // value will be replaced with "sensitive".
  5509  func (s DataSource) String() string {
  5510  	return awsutil.Prettify(s)
  5511  }
  5512  
  5513  // GoString returns the string representation.
  5514  //
  5515  // API parameter values that are decorated as "sensitive" in the API will not
  5516  // be included in the string output. The member name will be present, but the
  5517  // value will be replaced with "sensitive".
  5518  func (s DataSource) GoString() string {
  5519  	return s.String()
  5520  }
  5521  
  5522  // Validate inspects the fields of the type to determine if they are valid.
  5523  func (s *DataSource) Validate() error {
  5524  	invalidParams := request.ErrInvalidParams{Context: "DataSource"}
  5525  	if s.S3Config == nil {
  5526  		invalidParams.Add(request.NewErrParamRequired("S3Config"))
  5527  	}
  5528  	if s.S3Config != nil {
  5529  		if err := s.S3Config.Validate(); err != nil {
  5530  			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
  5531  		}
  5532  	}
  5533  
  5534  	if invalidParams.Len() > 0 {
  5535  		return invalidParams
  5536  	}
  5537  	return nil
  5538  }
  5539  
  5540  // SetS3Config sets the S3Config field's value.
  5541  func (s *DataSource) SetS3Config(v *S3Config) *DataSource {
  5542  	s.S3Config = v
  5543  	return s
  5544  }
  5545  
  5546  // Provides a summary of the dataset group properties used in the ListDatasetGroups
  5547  // operation. To get the complete set of properties, call the DescribeDatasetGroup
  5548  // operation, and provide the DatasetGroupArn.
  5549  type DatasetGroupSummary struct {
  5550  	_ struct{} `type:"structure"`
  5551  
  5552  	// When the dataset group was created.
  5553  	CreationTime *time.Time `type:"timestamp"`
  5554  
  5555  	// The Amazon Resource Name (ARN) of the dataset group.
  5556  	DatasetGroupArn *string `type:"string"`
  5557  
  5558  	// The name of the dataset group.
  5559  	DatasetGroupName *string `min:"1" type:"string"`
  5560  
  5561  	// When the dataset group was created or last updated from a call to the UpdateDatasetGroup
  5562  	// operation. While the dataset group is being updated, LastModificationTime
  5563  	// is the current time of the ListDatasetGroups call.
  5564  	LastModificationTime *time.Time `type:"timestamp"`
  5565  }
  5566  
  5567  // String returns the string representation.
  5568  //
  5569  // API parameter values that are decorated as "sensitive" in the API will not
  5570  // be included in the string output. The member name will be present, but the
  5571  // value will be replaced with "sensitive".
  5572  func (s DatasetGroupSummary) String() string {
  5573  	return awsutil.Prettify(s)
  5574  }
  5575  
  5576  // GoString returns the string representation.
  5577  //
  5578  // API parameter values that are decorated as "sensitive" in the API will not
  5579  // be included in the string output. The member name will be present, but the
  5580  // value will be replaced with "sensitive".
  5581  func (s DatasetGroupSummary) GoString() string {
  5582  	return s.String()
  5583  }
  5584  
  5585  // SetCreationTime sets the CreationTime field's value.
  5586  func (s *DatasetGroupSummary) SetCreationTime(v time.Time) *DatasetGroupSummary {
  5587  	s.CreationTime = &v
  5588  	return s
  5589  }
  5590  
  5591  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  5592  func (s *DatasetGroupSummary) SetDatasetGroupArn(v string) *DatasetGroupSummary {
  5593  	s.DatasetGroupArn = &v
  5594  	return s
  5595  }
  5596  
  5597  // SetDatasetGroupName sets the DatasetGroupName field's value.
  5598  func (s *DatasetGroupSummary) SetDatasetGroupName(v string) *DatasetGroupSummary {
  5599  	s.DatasetGroupName = &v
  5600  	return s
  5601  }
  5602  
  5603  // SetLastModificationTime sets the LastModificationTime field's value.
  5604  func (s *DatasetGroupSummary) SetLastModificationTime(v time.Time) *DatasetGroupSummary {
  5605  	s.LastModificationTime = &v
  5606  	return s
  5607  }
  5608  
  5609  // Provides a summary of the dataset import job properties used in the ListDatasetImportJobs
  5610  // operation. To get the complete set of properties, call the DescribeDatasetImportJob
  5611  // operation, and provide the DatasetImportJobArn.
  5612  type DatasetImportJobSummary struct {
  5613  	_ struct{} `type:"structure"`
  5614  
  5615  	// When the dataset import job was created.
  5616  	CreationTime *time.Time `type:"timestamp"`
  5617  
  5618  	// The location of the training data to import and an AWS Identity and Access
  5619  	// Management (IAM) role that Amazon Forecast can assume to access the data.
  5620  	// The training data must be stored in an Amazon S3 bucket.
  5621  	//
  5622  	// If encryption is used, DataSource includes an AWS Key Management Service
  5623  	// (KMS) key.
  5624  	DataSource *DataSource `type:"structure"`
  5625  
  5626  	// The Amazon Resource Name (ARN) of the dataset import job.
  5627  	DatasetImportJobArn *string `type:"string"`
  5628  
  5629  	// The name of the dataset import job.
  5630  	DatasetImportJobName *string `min:"1" type:"string"`
  5631  
  5632  	// The last time the resource was modified. The timestamp depends on the status
  5633  	// of the job:
  5634  	//
  5635  	//    * CREATE_PENDING - The CreationTime.
  5636  	//
  5637  	//    * CREATE_IN_PROGRESS - The current timestamp.
  5638  	//
  5639  	//    * CREATE_STOPPING - The current timestamp.
  5640  	//
  5641  	//    * CREATE_STOPPED - When the job stopped.
  5642  	//
  5643  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  5644  	LastModificationTime *time.Time `type:"timestamp"`
  5645  
  5646  	// If an error occurred, an informational message about the error.
  5647  	Message *string `type:"string"`
  5648  
  5649  	// The status of the dataset import job. States include:
  5650  	//
  5651  	//    * ACTIVE
  5652  	//
  5653  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  5654  	//
  5655  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  5656  	//
  5657  	//    * CREATE_STOPPING, CREATE_STOPPED
  5658  	Status *string `type:"string"`
  5659  }
  5660  
  5661  // String returns the string representation.
  5662  //
  5663  // API parameter values that are decorated as "sensitive" in the API will not
  5664  // be included in the string output. The member name will be present, but the
  5665  // value will be replaced with "sensitive".
  5666  func (s DatasetImportJobSummary) String() string {
  5667  	return awsutil.Prettify(s)
  5668  }
  5669  
  5670  // GoString returns the string representation.
  5671  //
  5672  // API parameter values that are decorated as "sensitive" in the API will not
  5673  // be included in the string output. The member name will be present, but the
  5674  // value will be replaced with "sensitive".
  5675  func (s DatasetImportJobSummary) GoString() string {
  5676  	return s.String()
  5677  }
  5678  
  5679  // SetCreationTime sets the CreationTime field's value.
  5680  func (s *DatasetImportJobSummary) SetCreationTime(v time.Time) *DatasetImportJobSummary {
  5681  	s.CreationTime = &v
  5682  	return s
  5683  }
  5684  
  5685  // SetDataSource sets the DataSource field's value.
  5686  func (s *DatasetImportJobSummary) SetDataSource(v *DataSource) *DatasetImportJobSummary {
  5687  	s.DataSource = v
  5688  	return s
  5689  }
  5690  
  5691  // SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
  5692  func (s *DatasetImportJobSummary) SetDatasetImportJobArn(v string) *DatasetImportJobSummary {
  5693  	s.DatasetImportJobArn = &v
  5694  	return s
  5695  }
  5696  
  5697  // SetDatasetImportJobName sets the DatasetImportJobName field's value.
  5698  func (s *DatasetImportJobSummary) SetDatasetImportJobName(v string) *DatasetImportJobSummary {
  5699  	s.DatasetImportJobName = &v
  5700  	return s
  5701  }
  5702  
  5703  // SetLastModificationTime sets the LastModificationTime field's value.
  5704  func (s *DatasetImportJobSummary) SetLastModificationTime(v time.Time) *DatasetImportJobSummary {
  5705  	s.LastModificationTime = &v
  5706  	return s
  5707  }
  5708  
  5709  // SetMessage sets the Message field's value.
  5710  func (s *DatasetImportJobSummary) SetMessage(v string) *DatasetImportJobSummary {
  5711  	s.Message = &v
  5712  	return s
  5713  }
  5714  
  5715  // SetStatus sets the Status field's value.
  5716  func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary {
  5717  	s.Status = &v
  5718  	return s
  5719  }
  5720  
  5721  // Provides a summary of the dataset properties used in the ListDatasets operation.
  5722  // To get the complete set of properties, call the DescribeDataset operation,
  5723  // and provide the DatasetArn.
  5724  type DatasetSummary struct {
  5725  	_ struct{} `type:"structure"`
  5726  
  5727  	// When the dataset was created.
  5728  	CreationTime *time.Time `type:"timestamp"`
  5729  
  5730  	// The Amazon Resource Name (ARN) of the dataset.
  5731  	DatasetArn *string `type:"string"`
  5732  
  5733  	// The name of the dataset.
  5734  	DatasetName *string `min:"1" type:"string"`
  5735  
  5736  	// The dataset type.
  5737  	DatasetType *string `type:"string" enum:"DatasetType"`
  5738  
  5739  	// The domain associated with the dataset.
  5740  	Domain *string `type:"string" enum:"Domain"`
  5741  
  5742  	// When you create a dataset, LastModificationTime is the same as CreationTime.
  5743  	// While data is being imported to the dataset, LastModificationTime is the
  5744  	// current time of the ListDatasets call. After a CreateDatasetImportJob operation
  5745  	// has finished, LastModificationTime is when the import job completed or failed.
  5746  	LastModificationTime *time.Time `type:"timestamp"`
  5747  }
  5748  
  5749  // String returns the string representation.
  5750  //
  5751  // API parameter values that are decorated as "sensitive" in the API will not
  5752  // be included in the string output. The member name will be present, but the
  5753  // value will be replaced with "sensitive".
  5754  func (s DatasetSummary) String() string {
  5755  	return awsutil.Prettify(s)
  5756  }
  5757  
  5758  // GoString returns the string representation.
  5759  //
  5760  // API parameter values that are decorated as "sensitive" in the API will not
  5761  // be included in the string output. The member name will be present, but the
  5762  // value will be replaced with "sensitive".
  5763  func (s DatasetSummary) GoString() string {
  5764  	return s.String()
  5765  }
  5766  
  5767  // SetCreationTime sets the CreationTime field's value.
  5768  func (s *DatasetSummary) SetCreationTime(v time.Time) *DatasetSummary {
  5769  	s.CreationTime = &v
  5770  	return s
  5771  }
  5772  
  5773  // SetDatasetArn sets the DatasetArn field's value.
  5774  func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary {
  5775  	s.DatasetArn = &v
  5776  	return s
  5777  }
  5778  
  5779  // SetDatasetName sets the DatasetName field's value.
  5780  func (s *DatasetSummary) SetDatasetName(v string) *DatasetSummary {
  5781  	s.DatasetName = &v
  5782  	return s
  5783  }
  5784  
  5785  // SetDatasetType sets the DatasetType field's value.
  5786  func (s *DatasetSummary) SetDatasetType(v string) *DatasetSummary {
  5787  	s.DatasetType = &v
  5788  	return s
  5789  }
  5790  
  5791  // SetDomain sets the Domain field's value.
  5792  func (s *DatasetSummary) SetDomain(v string) *DatasetSummary {
  5793  	s.Domain = &v
  5794  	return s
  5795  }
  5796  
  5797  // SetLastModificationTime sets the LastModificationTime field's value.
  5798  func (s *DatasetSummary) SetLastModificationTime(v time.Time) *DatasetSummary {
  5799  	s.LastModificationTime = &v
  5800  	return s
  5801  }
  5802  
  5803  type DeleteDatasetGroupInput struct {
  5804  	_ struct{} `type:"structure"`
  5805  
  5806  	// The Amazon Resource Name (ARN) of the dataset group to delete.
  5807  	//
  5808  	// DatasetGroupArn is a required field
  5809  	DatasetGroupArn *string `type:"string" required:"true"`
  5810  }
  5811  
  5812  // String returns the string representation.
  5813  //
  5814  // API parameter values that are decorated as "sensitive" in the API will not
  5815  // be included in the string output. The member name will be present, but the
  5816  // value will be replaced with "sensitive".
  5817  func (s DeleteDatasetGroupInput) String() string {
  5818  	return awsutil.Prettify(s)
  5819  }
  5820  
  5821  // GoString returns the string representation.
  5822  //
  5823  // API parameter values that are decorated as "sensitive" in the API will not
  5824  // be included in the string output. The member name will be present, but the
  5825  // value will be replaced with "sensitive".
  5826  func (s DeleteDatasetGroupInput) GoString() string {
  5827  	return s.String()
  5828  }
  5829  
  5830  // Validate inspects the fields of the type to determine if they are valid.
  5831  func (s *DeleteDatasetGroupInput) Validate() error {
  5832  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetGroupInput"}
  5833  	if s.DatasetGroupArn == nil {
  5834  		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
  5835  	}
  5836  
  5837  	if invalidParams.Len() > 0 {
  5838  		return invalidParams
  5839  	}
  5840  	return nil
  5841  }
  5842  
  5843  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  5844  func (s *DeleteDatasetGroupInput) SetDatasetGroupArn(v string) *DeleteDatasetGroupInput {
  5845  	s.DatasetGroupArn = &v
  5846  	return s
  5847  }
  5848  
  5849  type DeleteDatasetGroupOutput struct {
  5850  	_ struct{} `type:"structure"`
  5851  }
  5852  
  5853  // String returns the string representation.
  5854  //
  5855  // API parameter values that are decorated as "sensitive" in the API will not
  5856  // be included in the string output. The member name will be present, but the
  5857  // value will be replaced with "sensitive".
  5858  func (s DeleteDatasetGroupOutput) String() string {
  5859  	return awsutil.Prettify(s)
  5860  }
  5861  
  5862  // GoString returns the string representation.
  5863  //
  5864  // API parameter values that are decorated as "sensitive" in the API will not
  5865  // be included in the string output. The member name will be present, but the
  5866  // value will be replaced with "sensitive".
  5867  func (s DeleteDatasetGroupOutput) GoString() string {
  5868  	return s.String()
  5869  }
  5870  
  5871  type DeleteDatasetImportJobInput struct {
  5872  	_ struct{} `type:"structure"`
  5873  
  5874  	// The Amazon Resource Name (ARN) of the dataset import job to delete.
  5875  	//
  5876  	// DatasetImportJobArn is a required field
  5877  	DatasetImportJobArn *string `type:"string" required:"true"`
  5878  }
  5879  
  5880  // String returns the string representation.
  5881  //
  5882  // API parameter values that are decorated as "sensitive" in the API will not
  5883  // be included in the string output. The member name will be present, but the
  5884  // value will be replaced with "sensitive".
  5885  func (s DeleteDatasetImportJobInput) String() string {
  5886  	return awsutil.Prettify(s)
  5887  }
  5888  
  5889  // GoString returns the string representation.
  5890  //
  5891  // API parameter values that are decorated as "sensitive" in the API will not
  5892  // be included in the string output. The member name will be present, but the
  5893  // value will be replaced with "sensitive".
  5894  func (s DeleteDatasetImportJobInput) GoString() string {
  5895  	return s.String()
  5896  }
  5897  
  5898  // Validate inspects the fields of the type to determine if they are valid.
  5899  func (s *DeleteDatasetImportJobInput) Validate() error {
  5900  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetImportJobInput"}
  5901  	if s.DatasetImportJobArn == nil {
  5902  		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
  5903  	}
  5904  
  5905  	if invalidParams.Len() > 0 {
  5906  		return invalidParams
  5907  	}
  5908  	return nil
  5909  }
  5910  
  5911  // SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
  5912  func (s *DeleteDatasetImportJobInput) SetDatasetImportJobArn(v string) *DeleteDatasetImportJobInput {
  5913  	s.DatasetImportJobArn = &v
  5914  	return s
  5915  }
  5916  
  5917  type DeleteDatasetImportJobOutput struct {
  5918  	_ struct{} `type:"structure"`
  5919  }
  5920  
  5921  // String returns the string representation.
  5922  //
  5923  // API parameter values that are decorated as "sensitive" in the API will not
  5924  // be included in the string output. The member name will be present, but the
  5925  // value will be replaced with "sensitive".
  5926  func (s DeleteDatasetImportJobOutput) String() string {
  5927  	return awsutil.Prettify(s)
  5928  }
  5929  
  5930  // GoString returns the string representation.
  5931  //
  5932  // API parameter values that are decorated as "sensitive" in the API will not
  5933  // be included in the string output. The member name will be present, but the
  5934  // value will be replaced with "sensitive".
  5935  func (s DeleteDatasetImportJobOutput) GoString() string {
  5936  	return s.String()
  5937  }
  5938  
  5939  type DeleteDatasetInput struct {
  5940  	_ struct{} `type:"structure"`
  5941  
  5942  	// The Amazon Resource Name (ARN) of the dataset to delete.
  5943  	//
  5944  	// DatasetArn is a required field
  5945  	DatasetArn *string `type:"string" required:"true"`
  5946  }
  5947  
  5948  // String returns the string representation.
  5949  //
  5950  // API parameter values that are decorated as "sensitive" in the API will not
  5951  // be included in the string output. The member name will be present, but the
  5952  // value will be replaced with "sensitive".
  5953  func (s DeleteDatasetInput) String() string {
  5954  	return awsutil.Prettify(s)
  5955  }
  5956  
  5957  // GoString returns the string representation.
  5958  //
  5959  // API parameter values that are decorated as "sensitive" in the API will not
  5960  // be included in the string output. The member name will be present, but the
  5961  // value will be replaced with "sensitive".
  5962  func (s DeleteDatasetInput) GoString() string {
  5963  	return s.String()
  5964  }
  5965  
  5966  // Validate inspects the fields of the type to determine if they are valid.
  5967  func (s *DeleteDatasetInput) Validate() error {
  5968  	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
  5969  	if s.DatasetArn == nil {
  5970  		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
  5971  	}
  5972  
  5973  	if invalidParams.Len() > 0 {
  5974  		return invalidParams
  5975  	}
  5976  	return nil
  5977  }
  5978  
  5979  // SetDatasetArn sets the DatasetArn field's value.
  5980  func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput {
  5981  	s.DatasetArn = &v
  5982  	return s
  5983  }
  5984  
  5985  type DeleteDatasetOutput struct {
  5986  	_ struct{} `type:"structure"`
  5987  }
  5988  
  5989  // String returns the string representation.
  5990  //
  5991  // API parameter values that are decorated as "sensitive" in the API will not
  5992  // be included in the string output. The member name will be present, but the
  5993  // value will be replaced with "sensitive".
  5994  func (s DeleteDatasetOutput) String() string {
  5995  	return awsutil.Prettify(s)
  5996  }
  5997  
  5998  // GoString returns the string representation.
  5999  //
  6000  // API parameter values that are decorated as "sensitive" in the API will not
  6001  // be included in the string output. The member name will be present, but the
  6002  // value will be replaced with "sensitive".
  6003  func (s DeleteDatasetOutput) GoString() string {
  6004  	return s.String()
  6005  }
  6006  
  6007  type DeleteForecastExportJobInput struct {
  6008  	_ struct{} `type:"structure"`
  6009  
  6010  	// The Amazon Resource Name (ARN) of the forecast export job to delete.
  6011  	//
  6012  	// ForecastExportJobArn is a required field
  6013  	ForecastExportJobArn *string `type:"string" required:"true"`
  6014  }
  6015  
  6016  // String returns the string representation.
  6017  //
  6018  // API parameter values that are decorated as "sensitive" in the API will not
  6019  // be included in the string output. The member name will be present, but the
  6020  // value will be replaced with "sensitive".
  6021  func (s DeleteForecastExportJobInput) String() string {
  6022  	return awsutil.Prettify(s)
  6023  }
  6024  
  6025  // GoString returns the string representation.
  6026  //
  6027  // API parameter values that are decorated as "sensitive" in the API will not
  6028  // be included in the string output. The member name will be present, but the
  6029  // value will be replaced with "sensitive".
  6030  func (s DeleteForecastExportJobInput) GoString() string {
  6031  	return s.String()
  6032  }
  6033  
  6034  // Validate inspects the fields of the type to determine if they are valid.
  6035  func (s *DeleteForecastExportJobInput) Validate() error {
  6036  	invalidParams := request.ErrInvalidParams{Context: "DeleteForecastExportJobInput"}
  6037  	if s.ForecastExportJobArn == nil {
  6038  		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobArn"))
  6039  	}
  6040  
  6041  	if invalidParams.Len() > 0 {
  6042  		return invalidParams
  6043  	}
  6044  	return nil
  6045  }
  6046  
  6047  // SetForecastExportJobArn sets the ForecastExportJobArn field's value.
  6048  func (s *DeleteForecastExportJobInput) SetForecastExportJobArn(v string) *DeleteForecastExportJobInput {
  6049  	s.ForecastExportJobArn = &v
  6050  	return s
  6051  }
  6052  
  6053  type DeleteForecastExportJobOutput struct {
  6054  	_ struct{} `type:"structure"`
  6055  }
  6056  
  6057  // String returns the string representation.
  6058  //
  6059  // API parameter values that are decorated as "sensitive" in the API will not
  6060  // be included in the string output. The member name will be present, but the
  6061  // value will be replaced with "sensitive".
  6062  func (s DeleteForecastExportJobOutput) String() string {
  6063  	return awsutil.Prettify(s)
  6064  }
  6065  
  6066  // GoString returns the string representation.
  6067  //
  6068  // API parameter values that are decorated as "sensitive" in the API will not
  6069  // be included in the string output. The member name will be present, but the
  6070  // value will be replaced with "sensitive".
  6071  func (s DeleteForecastExportJobOutput) GoString() string {
  6072  	return s.String()
  6073  }
  6074  
  6075  type DeleteForecastInput struct {
  6076  	_ struct{} `type:"structure"`
  6077  
  6078  	// The Amazon Resource Name (ARN) of the forecast to delete.
  6079  	//
  6080  	// ForecastArn is a required field
  6081  	ForecastArn *string `type:"string" required:"true"`
  6082  }
  6083  
  6084  // String returns the string representation.
  6085  //
  6086  // API parameter values that are decorated as "sensitive" in the API will not
  6087  // be included in the string output. The member name will be present, but the
  6088  // value will be replaced with "sensitive".
  6089  func (s DeleteForecastInput) String() string {
  6090  	return awsutil.Prettify(s)
  6091  }
  6092  
  6093  // GoString returns the string representation.
  6094  //
  6095  // API parameter values that are decorated as "sensitive" in the API will not
  6096  // be included in the string output. The member name will be present, but the
  6097  // value will be replaced with "sensitive".
  6098  func (s DeleteForecastInput) GoString() string {
  6099  	return s.String()
  6100  }
  6101  
  6102  // Validate inspects the fields of the type to determine if they are valid.
  6103  func (s *DeleteForecastInput) Validate() error {
  6104  	invalidParams := request.ErrInvalidParams{Context: "DeleteForecastInput"}
  6105  	if s.ForecastArn == nil {
  6106  		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
  6107  	}
  6108  
  6109  	if invalidParams.Len() > 0 {
  6110  		return invalidParams
  6111  	}
  6112  	return nil
  6113  }
  6114  
  6115  // SetForecastArn sets the ForecastArn field's value.
  6116  func (s *DeleteForecastInput) SetForecastArn(v string) *DeleteForecastInput {
  6117  	s.ForecastArn = &v
  6118  	return s
  6119  }
  6120  
  6121  type DeleteForecastOutput struct {
  6122  	_ struct{} `type:"structure"`
  6123  }
  6124  
  6125  // String returns the string representation.
  6126  //
  6127  // API parameter values that are decorated as "sensitive" in the API will not
  6128  // be included in the string output. The member name will be present, but the
  6129  // value will be replaced with "sensitive".
  6130  func (s DeleteForecastOutput) String() string {
  6131  	return awsutil.Prettify(s)
  6132  }
  6133  
  6134  // GoString returns the string representation.
  6135  //
  6136  // API parameter values that are decorated as "sensitive" in the API will not
  6137  // be included in the string output. The member name will be present, but the
  6138  // value will be replaced with "sensitive".
  6139  func (s DeleteForecastOutput) GoString() string {
  6140  	return s.String()
  6141  }
  6142  
  6143  type DeletePredictorBacktestExportJobInput struct {
  6144  	_ struct{} `type:"structure"`
  6145  
  6146  	// The Amazon Resource Name (ARN) of the predictor backtest export job to delete.
  6147  	//
  6148  	// PredictorBacktestExportJobArn is a required field
  6149  	PredictorBacktestExportJobArn *string `type:"string" required:"true"`
  6150  }
  6151  
  6152  // String returns the string representation.
  6153  //
  6154  // API parameter values that are decorated as "sensitive" in the API will not
  6155  // be included in the string output. The member name will be present, but the
  6156  // value will be replaced with "sensitive".
  6157  func (s DeletePredictorBacktestExportJobInput) String() string {
  6158  	return awsutil.Prettify(s)
  6159  }
  6160  
  6161  // GoString returns the string representation.
  6162  //
  6163  // API parameter values that are decorated as "sensitive" in the API will not
  6164  // be included in the string output. The member name will be present, but the
  6165  // value will be replaced with "sensitive".
  6166  func (s DeletePredictorBacktestExportJobInput) GoString() string {
  6167  	return s.String()
  6168  }
  6169  
  6170  // Validate inspects the fields of the type to determine if they are valid.
  6171  func (s *DeletePredictorBacktestExportJobInput) Validate() error {
  6172  	invalidParams := request.ErrInvalidParams{Context: "DeletePredictorBacktestExportJobInput"}
  6173  	if s.PredictorBacktestExportJobArn == nil {
  6174  		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn"))
  6175  	}
  6176  
  6177  	if invalidParams.Len() > 0 {
  6178  		return invalidParams
  6179  	}
  6180  	return nil
  6181  }
  6182  
  6183  // SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
  6184  func (s *DeletePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DeletePredictorBacktestExportJobInput {
  6185  	s.PredictorBacktestExportJobArn = &v
  6186  	return s
  6187  }
  6188  
  6189  type DeletePredictorBacktestExportJobOutput struct {
  6190  	_ struct{} `type:"structure"`
  6191  }
  6192  
  6193  // String returns the string representation.
  6194  //
  6195  // API parameter values that are decorated as "sensitive" in the API will not
  6196  // be included in the string output. The member name will be present, but the
  6197  // value will be replaced with "sensitive".
  6198  func (s DeletePredictorBacktestExportJobOutput) String() string {
  6199  	return awsutil.Prettify(s)
  6200  }
  6201  
  6202  // GoString returns the string representation.
  6203  //
  6204  // API parameter values that are decorated as "sensitive" in the API will not
  6205  // be included in the string output. The member name will be present, but the
  6206  // value will be replaced with "sensitive".
  6207  func (s DeletePredictorBacktestExportJobOutput) GoString() string {
  6208  	return s.String()
  6209  }
  6210  
  6211  type DeletePredictorInput struct {
  6212  	_ struct{} `type:"structure"`
  6213  
  6214  	// The Amazon Resource Name (ARN) of the predictor to delete.
  6215  	//
  6216  	// PredictorArn is a required field
  6217  	PredictorArn *string `type:"string" required:"true"`
  6218  }
  6219  
  6220  // String returns the string representation.
  6221  //
  6222  // API parameter values that are decorated as "sensitive" in the API will not
  6223  // be included in the string output. The member name will be present, but the
  6224  // value will be replaced with "sensitive".
  6225  func (s DeletePredictorInput) String() string {
  6226  	return awsutil.Prettify(s)
  6227  }
  6228  
  6229  // GoString returns the string representation.
  6230  //
  6231  // API parameter values that are decorated as "sensitive" in the API will not
  6232  // be included in the string output. The member name will be present, but the
  6233  // value will be replaced with "sensitive".
  6234  func (s DeletePredictorInput) GoString() string {
  6235  	return s.String()
  6236  }
  6237  
  6238  // Validate inspects the fields of the type to determine if they are valid.
  6239  func (s *DeletePredictorInput) Validate() error {
  6240  	invalidParams := request.ErrInvalidParams{Context: "DeletePredictorInput"}
  6241  	if s.PredictorArn == nil {
  6242  		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
  6243  	}
  6244  
  6245  	if invalidParams.Len() > 0 {
  6246  		return invalidParams
  6247  	}
  6248  	return nil
  6249  }
  6250  
  6251  // SetPredictorArn sets the PredictorArn field's value.
  6252  func (s *DeletePredictorInput) SetPredictorArn(v string) *DeletePredictorInput {
  6253  	s.PredictorArn = &v
  6254  	return s
  6255  }
  6256  
  6257  type DeletePredictorOutput struct {
  6258  	_ struct{} `type:"structure"`
  6259  }
  6260  
  6261  // String returns the string representation.
  6262  //
  6263  // API parameter values that are decorated as "sensitive" in the API will not
  6264  // be included in the string output. The member name will be present, but the
  6265  // value will be replaced with "sensitive".
  6266  func (s DeletePredictorOutput) String() string {
  6267  	return awsutil.Prettify(s)
  6268  }
  6269  
  6270  // GoString returns the string representation.
  6271  //
  6272  // API parameter values that are decorated as "sensitive" in the API will not
  6273  // be included in the string output. The member name will be present, but the
  6274  // value will be replaced with "sensitive".
  6275  func (s DeletePredictorOutput) GoString() string {
  6276  	return s.String()
  6277  }
  6278  
  6279  type DeleteResourceTreeInput struct {
  6280  	_ struct{} `type:"structure"`
  6281  
  6282  	// The Amazon Resource Name (ARN) of the parent resource to delete. All child
  6283  	// resources of the parent resource will also be deleted.
  6284  	//
  6285  	// ResourceArn is a required field
  6286  	ResourceArn *string `type:"string" required:"true"`
  6287  }
  6288  
  6289  // String returns the string representation.
  6290  //
  6291  // API parameter values that are decorated as "sensitive" in the API will not
  6292  // be included in the string output. The member name will be present, but the
  6293  // value will be replaced with "sensitive".
  6294  func (s DeleteResourceTreeInput) String() string {
  6295  	return awsutil.Prettify(s)
  6296  }
  6297  
  6298  // GoString returns the string representation.
  6299  //
  6300  // API parameter values that are decorated as "sensitive" in the API will not
  6301  // be included in the string output. The member name will be present, but the
  6302  // value will be replaced with "sensitive".
  6303  func (s DeleteResourceTreeInput) GoString() string {
  6304  	return s.String()
  6305  }
  6306  
  6307  // Validate inspects the fields of the type to determine if they are valid.
  6308  func (s *DeleteResourceTreeInput) Validate() error {
  6309  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceTreeInput"}
  6310  	if s.ResourceArn == nil {
  6311  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  6312  	}
  6313  
  6314  	if invalidParams.Len() > 0 {
  6315  		return invalidParams
  6316  	}
  6317  	return nil
  6318  }
  6319  
  6320  // SetResourceArn sets the ResourceArn field's value.
  6321  func (s *DeleteResourceTreeInput) SetResourceArn(v string) *DeleteResourceTreeInput {
  6322  	s.ResourceArn = &v
  6323  	return s
  6324  }
  6325  
  6326  type DeleteResourceTreeOutput struct {
  6327  	_ struct{} `type:"structure"`
  6328  }
  6329  
  6330  // String returns the string representation.
  6331  //
  6332  // API parameter values that are decorated as "sensitive" in the API will not
  6333  // be included in the string output. The member name will be present, but the
  6334  // value will be replaced with "sensitive".
  6335  func (s DeleteResourceTreeOutput) String() string {
  6336  	return awsutil.Prettify(s)
  6337  }
  6338  
  6339  // GoString returns the string representation.
  6340  //
  6341  // API parameter values that are decorated as "sensitive" in the API will not
  6342  // be included in the string output. The member name will be present, but the
  6343  // value will be replaced with "sensitive".
  6344  func (s DeleteResourceTreeOutput) GoString() string {
  6345  	return s.String()
  6346  }
  6347  
  6348  type DescribeDatasetGroupInput struct {
  6349  	_ struct{} `type:"structure"`
  6350  
  6351  	// The Amazon Resource Name (ARN) of the dataset group.
  6352  	//
  6353  	// DatasetGroupArn is a required field
  6354  	DatasetGroupArn *string `type:"string" required:"true"`
  6355  }
  6356  
  6357  // String returns the string representation.
  6358  //
  6359  // API parameter values that are decorated as "sensitive" in the API will not
  6360  // be included in the string output. The member name will be present, but the
  6361  // value will be replaced with "sensitive".
  6362  func (s DescribeDatasetGroupInput) String() string {
  6363  	return awsutil.Prettify(s)
  6364  }
  6365  
  6366  // GoString returns the string representation.
  6367  //
  6368  // API parameter values that are decorated as "sensitive" in the API will not
  6369  // be included in the string output. The member name will be present, but the
  6370  // value will be replaced with "sensitive".
  6371  func (s DescribeDatasetGroupInput) GoString() string {
  6372  	return s.String()
  6373  }
  6374  
  6375  // Validate inspects the fields of the type to determine if they are valid.
  6376  func (s *DescribeDatasetGroupInput) Validate() error {
  6377  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetGroupInput"}
  6378  	if s.DatasetGroupArn == nil {
  6379  		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
  6380  	}
  6381  
  6382  	if invalidParams.Len() > 0 {
  6383  		return invalidParams
  6384  	}
  6385  	return nil
  6386  }
  6387  
  6388  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  6389  func (s *DescribeDatasetGroupInput) SetDatasetGroupArn(v string) *DescribeDatasetGroupInput {
  6390  	s.DatasetGroupArn = &v
  6391  	return s
  6392  }
  6393  
  6394  type DescribeDatasetGroupOutput struct {
  6395  	_ struct{} `type:"structure"`
  6396  
  6397  	// When the dataset group was created.
  6398  	CreationTime *time.Time `type:"timestamp"`
  6399  
  6400  	// An array of Amazon Resource Names (ARNs) of the datasets contained in the
  6401  	// dataset group.
  6402  	DatasetArns []*string `type:"list"`
  6403  
  6404  	// The ARN of the dataset group.
  6405  	DatasetGroupArn *string `type:"string"`
  6406  
  6407  	// The name of the dataset group.
  6408  	DatasetGroupName *string `min:"1" type:"string"`
  6409  
  6410  	// The domain associated with the dataset group.
  6411  	Domain *string `type:"string" enum:"Domain"`
  6412  
  6413  	// When the dataset group was created or last updated from a call to the UpdateDatasetGroup
  6414  	// operation. While the dataset group is being updated, LastModificationTime
  6415  	// is the current time of the DescribeDatasetGroup call.
  6416  	LastModificationTime *time.Time `type:"timestamp"`
  6417  
  6418  	// The status of the dataset group. States include:
  6419  	//
  6420  	//    * ACTIVE
  6421  	//
  6422  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  6423  	//
  6424  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  6425  	//
  6426  	//    * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED
  6427  	//
  6428  	// The UPDATE states apply when you call the UpdateDatasetGroup operation.
  6429  	//
  6430  	// The Status of the dataset group must be ACTIVE before you can use the dataset
  6431  	// group to create a predictor.
  6432  	Status *string `type:"string"`
  6433  }
  6434  
  6435  // String returns the string representation.
  6436  //
  6437  // API parameter values that are decorated as "sensitive" in the API will not
  6438  // be included in the string output. The member name will be present, but the
  6439  // value will be replaced with "sensitive".
  6440  func (s DescribeDatasetGroupOutput) String() string {
  6441  	return awsutil.Prettify(s)
  6442  }
  6443  
  6444  // GoString returns the string representation.
  6445  //
  6446  // API parameter values that are decorated as "sensitive" in the API will not
  6447  // be included in the string output. The member name will be present, but the
  6448  // value will be replaced with "sensitive".
  6449  func (s DescribeDatasetGroupOutput) GoString() string {
  6450  	return s.String()
  6451  }
  6452  
  6453  // SetCreationTime sets the CreationTime field's value.
  6454  func (s *DescribeDatasetGroupOutput) SetCreationTime(v time.Time) *DescribeDatasetGroupOutput {
  6455  	s.CreationTime = &v
  6456  	return s
  6457  }
  6458  
  6459  // SetDatasetArns sets the DatasetArns field's value.
  6460  func (s *DescribeDatasetGroupOutput) SetDatasetArns(v []*string) *DescribeDatasetGroupOutput {
  6461  	s.DatasetArns = v
  6462  	return s
  6463  }
  6464  
  6465  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  6466  func (s *DescribeDatasetGroupOutput) SetDatasetGroupArn(v string) *DescribeDatasetGroupOutput {
  6467  	s.DatasetGroupArn = &v
  6468  	return s
  6469  }
  6470  
  6471  // SetDatasetGroupName sets the DatasetGroupName field's value.
  6472  func (s *DescribeDatasetGroupOutput) SetDatasetGroupName(v string) *DescribeDatasetGroupOutput {
  6473  	s.DatasetGroupName = &v
  6474  	return s
  6475  }
  6476  
  6477  // SetDomain sets the Domain field's value.
  6478  func (s *DescribeDatasetGroupOutput) SetDomain(v string) *DescribeDatasetGroupOutput {
  6479  	s.Domain = &v
  6480  	return s
  6481  }
  6482  
  6483  // SetLastModificationTime sets the LastModificationTime field's value.
  6484  func (s *DescribeDatasetGroupOutput) SetLastModificationTime(v time.Time) *DescribeDatasetGroupOutput {
  6485  	s.LastModificationTime = &v
  6486  	return s
  6487  }
  6488  
  6489  // SetStatus sets the Status field's value.
  6490  func (s *DescribeDatasetGroupOutput) SetStatus(v string) *DescribeDatasetGroupOutput {
  6491  	s.Status = &v
  6492  	return s
  6493  }
  6494  
  6495  type DescribeDatasetImportJobInput struct {
  6496  	_ struct{} `type:"structure"`
  6497  
  6498  	// The Amazon Resource Name (ARN) of the dataset import job.
  6499  	//
  6500  	// DatasetImportJobArn is a required field
  6501  	DatasetImportJobArn *string `type:"string" required:"true"`
  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 DescribeDatasetImportJobInput) 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 DescribeDatasetImportJobInput) 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 *DescribeDatasetImportJobInput) Validate() error {
  6524  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetImportJobInput"}
  6525  	if s.DatasetImportJobArn == nil {
  6526  		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
  6527  	}
  6528  
  6529  	if invalidParams.Len() > 0 {
  6530  		return invalidParams
  6531  	}
  6532  	return nil
  6533  }
  6534  
  6535  // SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
  6536  func (s *DescribeDatasetImportJobInput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobInput {
  6537  	s.DatasetImportJobArn = &v
  6538  	return s
  6539  }
  6540  
  6541  type DescribeDatasetImportJobOutput struct {
  6542  	_ struct{} `type:"structure"`
  6543  
  6544  	// When the dataset import job was created.
  6545  	CreationTime *time.Time `type:"timestamp"`
  6546  
  6547  	// The size of the dataset in gigabytes (GB) after the import job has finished.
  6548  	DataSize *float64 `type:"double"`
  6549  
  6550  	// The location of the training data to import and an AWS Identity and Access
  6551  	// Management (IAM) role that Amazon Forecast can assume to access the data.
  6552  	//
  6553  	// If encryption is used, DataSource includes an AWS Key Management Service
  6554  	// (KMS) key.
  6555  	DataSource *DataSource `type:"structure"`
  6556  
  6557  	// The Amazon Resource Name (ARN) of the dataset that the training data was
  6558  	// imported to.
  6559  	DatasetArn *string `type:"string"`
  6560  
  6561  	// The ARN of the dataset import job.
  6562  	DatasetImportJobArn *string `type:"string"`
  6563  
  6564  	// The name of the dataset import job.
  6565  	DatasetImportJobName *string `min:"1" type:"string"`
  6566  
  6567  	// The estimated time remaining in minutes for the dataset import job to complete.
  6568  	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
  6569  
  6570  	// Statistical information about each field in the input data.
  6571  	FieldStatistics map[string]*Statistics `type:"map"`
  6572  
  6573  	// The format of the geolocation attribute. Valid Values:"LAT_LONG" and "CC_POSTALCODE".
  6574  	GeolocationFormat *string `type:"string"`
  6575  
  6576  	// The last time the resource was modified. The timestamp depends on the status
  6577  	// of the job:
  6578  	//
  6579  	//    * CREATE_PENDING - The CreationTime.
  6580  	//
  6581  	//    * CREATE_IN_PROGRESS - The current timestamp.
  6582  	//
  6583  	//    * CREATE_STOPPING - The current timestamp.
  6584  	//
  6585  	//    * CREATE_STOPPED - When the job stopped.
  6586  	//
  6587  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  6588  	LastModificationTime *time.Time `type:"timestamp"`
  6589  
  6590  	// If an error occurred, an informational message about the error.
  6591  	Message *string `type:"string"`
  6592  
  6593  	// The status of the dataset import job. States include:
  6594  	//
  6595  	//    * ACTIVE
  6596  	//
  6597  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  6598  	//
  6599  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  6600  	//
  6601  	//    * CREATE_STOPPING, CREATE_STOPPED
  6602  	Status *string `type:"string"`
  6603  
  6604  	// The single time zone applied to every item in the dataset
  6605  	TimeZone *string `type:"string"`
  6606  
  6607  	// The format of timestamps in the dataset. The format that you specify depends
  6608  	// on the DataFrequency specified when the dataset was created. The following
  6609  	// formats are supported
  6610  	//
  6611  	//    * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D
  6612  	//
  6613  	//    * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min,
  6614  	//    15min, and 1min; and optionally, for: Y, M, W, and D
  6615  	TimestampFormat *string `type:"string"`
  6616  
  6617  	// Whether TimeZone is automatically derived from the geolocation attribute.
  6618  	UseGeolocationForTimeZone *bool `type:"boolean"`
  6619  }
  6620  
  6621  // String returns the string representation.
  6622  //
  6623  // API parameter values that are decorated as "sensitive" in the API will not
  6624  // be included in the string output. The member name will be present, but the
  6625  // value will be replaced with "sensitive".
  6626  func (s DescribeDatasetImportJobOutput) String() string {
  6627  	return awsutil.Prettify(s)
  6628  }
  6629  
  6630  // GoString returns the string representation.
  6631  //
  6632  // API parameter values that are decorated as "sensitive" in the API will not
  6633  // be included in the string output. The member name will be present, but the
  6634  // value will be replaced with "sensitive".
  6635  func (s DescribeDatasetImportJobOutput) GoString() string {
  6636  	return s.String()
  6637  }
  6638  
  6639  // SetCreationTime sets the CreationTime field's value.
  6640  func (s *DescribeDatasetImportJobOutput) SetCreationTime(v time.Time) *DescribeDatasetImportJobOutput {
  6641  	s.CreationTime = &v
  6642  	return s
  6643  }
  6644  
  6645  // SetDataSize sets the DataSize field's value.
  6646  func (s *DescribeDatasetImportJobOutput) SetDataSize(v float64) *DescribeDatasetImportJobOutput {
  6647  	s.DataSize = &v
  6648  	return s
  6649  }
  6650  
  6651  // SetDataSource sets the DataSource field's value.
  6652  func (s *DescribeDatasetImportJobOutput) SetDataSource(v *DataSource) *DescribeDatasetImportJobOutput {
  6653  	s.DataSource = v
  6654  	return s
  6655  }
  6656  
  6657  // SetDatasetArn sets the DatasetArn field's value.
  6658  func (s *DescribeDatasetImportJobOutput) SetDatasetArn(v string) *DescribeDatasetImportJobOutput {
  6659  	s.DatasetArn = &v
  6660  	return s
  6661  }
  6662  
  6663  // SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
  6664  func (s *DescribeDatasetImportJobOutput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobOutput {
  6665  	s.DatasetImportJobArn = &v
  6666  	return s
  6667  }
  6668  
  6669  // SetDatasetImportJobName sets the DatasetImportJobName field's value.
  6670  func (s *DescribeDatasetImportJobOutput) SetDatasetImportJobName(v string) *DescribeDatasetImportJobOutput {
  6671  	s.DatasetImportJobName = &v
  6672  	return s
  6673  }
  6674  
  6675  // SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
  6676  func (s *DescribeDatasetImportJobOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribeDatasetImportJobOutput {
  6677  	s.EstimatedTimeRemainingInMinutes = &v
  6678  	return s
  6679  }
  6680  
  6681  // SetFieldStatistics sets the FieldStatistics field's value.
  6682  func (s *DescribeDatasetImportJobOutput) SetFieldStatistics(v map[string]*Statistics) *DescribeDatasetImportJobOutput {
  6683  	s.FieldStatistics = v
  6684  	return s
  6685  }
  6686  
  6687  // SetGeolocationFormat sets the GeolocationFormat field's value.
  6688  func (s *DescribeDatasetImportJobOutput) SetGeolocationFormat(v string) *DescribeDatasetImportJobOutput {
  6689  	s.GeolocationFormat = &v
  6690  	return s
  6691  }
  6692  
  6693  // SetLastModificationTime sets the LastModificationTime field's value.
  6694  func (s *DescribeDatasetImportJobOutput) SetLastModificationTime(v time.Time) *DescribeDatasetImportJobOutput {
  6695  	s.LastModificationTime = &v
  6696  	return s
  6697  }
  6698  
  6699  // SetMessage sets the Message field's value.
  6700  func (s *DescribeDatasetImportJobOutput) SetMessage(v string) *DescribeDatasetImportJobOutput {
  6701  	s.Message = &v
  6702  	return s
  6703  }
  6704  
  6705  // SetStatus sets the Status field's value.
  6706  func (s *DescribeDatasetImportJobOutput) SetStatus(v string) *DescribeDatasetImportJobOutput {
  6707  	s.Status = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetTimeZone sets the TimeZone field's value.
  6712  func (s *DescribeDatasetImportJobOutput) SetTimeZone(v string) *DescribeDatasetImportJobOutput {
  6713  	s.TimeZone = &v
  6714  	return s
  6715  }
  6716  
  6717  // SetTimestampFormat sets the TimestampFormat field's value.
  6718  func (s *DescribeDatasetImportJobOutput) SetTimestampFormat(v string) *DescribeDatasetImportJobOutput {
  6719  	s.TimestampFormat = &v
  6720  	return s
  6721  }
  6722  
  6723  // SetUseGeolocationForTimeZone sets the UseGeolocationForTimeZone field's value.
  6724  func (s *DescribeDatasetImportJobOutput) SetUseGeolocationForTimeZone(v bool) *DescribeDatasetImportJobOutput {
  6725  	s.UseGeolocationForTimeZone = &v
  6726  	return s
  6727  }
  6728  
  6729  type DescribeDatasetInput struct {
  6730  	_ struct{} `type:"structure"`
  6731  
  6732  	// The Amazon Resource Name (ARN) of the dataset.
  6733  	//
  6734  	// DatasetArn is a required field
  6735  	DatasetArn *string `type:"string" required:"true"`
  6736  }
  6737  
  6738  // String returns the string representation.
  6739  //
  6740  // API parameter values that are decorated as "sensitive" in the API will not
  6741  // be included in the string output. The member name will be present, but the
  6742  // value will be replaced with "sensitive".
  6743  func (s DescribeDatasetInput) String() string {
  6744  	return awsutil.Prettify(s)
  6745  }
  6746  
  6747  // GoString returns the string representation.
  6748  //
  6749  // API parameter values that are decorated as "sensitive" in the API will not
  6750  // be included in the string output. The member name will be present, but the
  6751  // value will be replaced with "sensitive".
  6752  func (s DescribeDatasetInput) GoString() string {
  6753  	return s.String()
  6754  }
  6755  
  6756  // Validate inspects the fields of the type to determine if they are valid.
  6757  func (s *DescribeDatasetInput) Validate() error {
  6758  	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
  6759  	if s.DatasetArn == nil {
  6760  		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
  6761  	}
  6762  
  6763  	if invalidParams.Len() > 0 {
  6764  		return invalidParams
  6765  	}
  6766  	return nil
  6767  }
  6768  
  6769  // SetDatasetArn sets the DatasetArn field's value.
  6770  func (s *DescribeDatasetInput) SetDatasetArn(v string) *DescribeDatasetInput {
  6771  	s.DatasetArn = &v
  6772  	return s
  6773  }
  6774  
  6775  type DescribeDatasetOutput struct {
  6776  	_ struct{} `type:"structure"`
  6777  
  6778  	// When the dataset was created.
  6779  	CreationTime *time.Time `type:"timestamp"`
  6780  
  6781  	// The frequency of data collection.
  6782  	//
  6783  	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
  6784  	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
  6785  	// 1min (1 minute). For example, "M" indicates every month and "30min" indicates
  6786  	// every 30 minutes.
  6787  	DataFrequency *string `type:"string"`
  6788  
  6789  	// The Amazon Resource Name (ARN) of the dataset.
  6790  	DatasetArn *string `type:"string"`
  6791  
  6792  	// The name of the dataset.
  6793  	DatasetName *string `min:"1" type:"string"`
  6794  
  6795  	// The dataset type.
  6796  	DatasetType *string `type:"string" enum:"DatasetType"`
  6797  
  6798  	// The domain associated with the dataset.
  6799  	Domain *string `type:"string" enum:"Domain"`
  6800  
  6801  	// The AWS Key Management Service (KMS) key and the AWS Identity and Access
  6802  	// Management (IAM) role that Amazon Forecast can assume to access the key.
  6803  	EncryptionConfig *EncryptionConfig `type:"structure"`
  6804  
  6805  	// When you create a dataset, LastModificationTime is the same as CreationTime.
  6806  	// While data is being imported to the dataset, LastModificationTime is the
  6807  	// current time of the DescribeDataset call. After a CreateDatasetImportJob
  6808  	// operation has finished, LastModificationTime is when the import job completed
  6809  	// or failed.
  6810  	LastModificationTime *time.Time `type:"timestamp"`
  6811  
  6812  	// An array of SchemaAttribute objects that specify the dataset fields. Each
  6813  	// SchemaAttribute specifies the name and data type of a field.
  6814  	Schema *Schema `type:"structure"`
  6815  
  6816  	// The status of the dataset. States include:
  6817  	//
  6818  	//    * ACTIVE
  6819  	//
  6820  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  6821  	//
  6822  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  6823  	//
  6824  	//    * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED
  6825  	//
  6826  	// The UPDATE states apply while data is imported to the dataset from a call
  6827  	// to the CreateDatasetImportJob operation and reflect the status of the dataset
  6828  	// import job. For example, when the import job status is CREATE_IN_PROGRESS,
  6829  	// the status of the dataset is UPDATE_IN_PROGRESS.
  6830  	//
  6831  	// The Status of the dataset must be ACTIVE before you can import training data.
  6832  	Status *string `type:"string"`
  6833  }
  6834  
  6835  // String returns the string representation.
  6836  //
  6837  // API parameter values that are decorated as "sensitive" in the API will not
  6838  // be included in the string output. The member name will be present, but the
  6839  // value will be replaced with "sensitive".
  6840  func (s DescribeDatasetOutput) String() string {
  6841  	return awsutil.Prettify(s)
  6842  }
  6843  
  6844  // GoString returns the string representation.
  6845  //
  6846  // API parameter values that are decorated as "sensitive" in the API will not
  6847  // be included in the string output. The member name will be present, but the
  6848  // value will be replaced with "sensitive".
  6849  func (s DescribeDatasetOutput) GoString() string {
  6850  	return s.String()
  6851  }
  6852  
  6853  // SetCreationTime sets the CreationTime field's value.
  6854  func (s *DescribeDatasetOutput) SetCreationTime(v time.Time) *DescribeDatasetOutput {
  6855  	s.CreationTime = &v
  6856  	return s
  6857  }
  6858  
  6859  // SetDataFrequency sets the DataFrequency field's value.
  6860  func (s *DescribeDatasetOutput) SetDataFrequency(v string) *DescribeDatasetOutput {
  6861  	s.DataFrequency = &v
  6862  	return s
  6863  }
  6864  
  6865  // SetDatasetArn sets the DatasetArn field's value.
  6866  func (s *DescribeDatasetOutput) SetDatasetArn(v string) *DescribeDatasetOutput {
  6867  	s.DatasetArn = &v
  6868  	return s
  6869  }
  6870  
  6871  // SetDatasetName sets the DatasetName field's value.
  6872  func (s *DescribeDatasetOutput) SetDatasetName(v string) *DescribeDatasetOutput {
  6873  	s.DatasetName = &v
  6874  	return s
  6875  }
  6876  
  6877  // SetDatasetType sets the DatasetType field's value.
  6878  func (s *DescribeDatasetOutput) SetDatasetType(v string) *DescribeDatasetOutput {
  6879  	s.DatasetType = &v
  6880  	return s
  6881  }
  6882  
  6883  // SetDomain sets the Domain field's value.
  6884  func (s *DescribeDatasetOutput) SetDomain(v string) *DescribeDatasetOutput {
  6885  	s.Domain = &v
  6886  	return s
  6887  }
  6888  
  6889  // SetEncryptionConfig sets the EncryptionConfig field's value.
  6890  func (s *DescribeDatasetOutput) SetEncryptionConfig(v *EncryptionConfig) *DescribeDatasetOutput {
  6891  	s.EncryptionConfig = v
  6892  	return s
  6893  }
  6894  
  6895  // SetLastModificationTime sets the LastModificationTime field's value.
  6896  func (s *DescribeDatasetOutput) SetLastModificationTime(v time.Time) *DescribeDatasetOutput {
  6897  	s.LastModificationTime = &v
  6898  	return s
  6899  }
  6900  
  6901  // SetSchema sets the Schema field's value.
  6902  func (s *DescribeDatasetOutput) SetSchema(v *Schema) *DescribeDatasetOutput {
  6903  	s.Schema = v
  6904  	return s
  6905  }
  6906  
  6907  // SetStatus sets the Status field's value.
  6908  func (s *DescribeDatasetOutput) SetStatus(v string) *DescribeDatasetOutput {
  6909  	s.Status = &v
  6910  	return s
  6911  }
  6912  
  6913  type DescribeForecastExportJobInput struct {
  6914  	_ struct{} `type:"structure"`
  6915  
  6916  	// The Amazon Resource Name (ARN) of the forecast export job.
  6917  	//
  6918  	// ForecastExportJobArn is a required field
  6919  	ForecastExportJobArn *string `type:"string" required:"true"`
  6920  }
  6921  
  6922  // String 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 DescribeForecastExportJobInput) String() string {
  6928  	return awsutil.Prettify(s)
  6929  }
  6930  
  6931  // GoString returns the string representation.
  6932  //
  6933  // API parameter values that are decorated as "sensitive" in the API will not
  6934  // be included in the string output. The member name will be present, but the
  6935  // value will be replaced with "sensitive".
  6936  func (s DescribeForecastExportJobInput) GoString() string {
  6937  	return s.String()
  6938  }
  6939  
  6940  // Validate inspects the fields of the type to determine if they are valid.
  6941  func (s *DescribeForecastExportJobInput) Validate() error {
  6942  	invalidParams := request.ErrInvalidParams{Context: "DescribeForecastExportJobInput"}
  6943  	if s.ForecastExportJobArn == nil {
  6944  		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobArn"))
  6945  	}
  6946  
  6947  	if invalidParams.Len() > 0 {
  6948  		return invalidParams
  6949  	}
  6950  	return nil
  6951  }
  6952  
  6953  // SetForecastExportJobArn sets the ForecastExportJobArn field's value.
  6954  func (s *DescribeForecastExportJobInput) SetForecastExportJobArn(v string) *DescribeForecastExportJobInput {
  6955  	s.ForecastExportJobArn = &v
  6956  	return s
  6957  }
  6958  
  6959  type DescribeForecastExportJobOutput struct {
  6960  	_ struct{} `type:"structure"`
  6961  
  6962  	// When the forecast export job was created.
  6963  	CreationTime *time.Time `type:"timestamp"`
  6964  
  6965  	// The path to the Amazon Simple Storage Service (Amazon S3) bucket where the
  6966  	// forecast is exported.
  6967  	Destination *DataDestination `type:"structure"`
  6968  
  6969  	// The Amazon Resource Name (ARN) of the exported forecast.
  6970  	ForecastArn *string `type:"string"`
  6971  
  6972  	// The ARN of the forecast export job.
  6973  	ForecastExportJobArn *string `type:"string"`
  6974  
  6975  	// The name of the forecast export job.
  6976  	ForecastExportJobName *string `min:"1" type:"string"`
  6977  
  6978  	// The last time the resource was modified. The timestamp depends on the status
  6979  	// of the job:
  6980  	//
  6981  	//    * CREATE_PENDING - The CreationTime.
  6982  	//
  6983  	//    * CREATE_IN_PROGRESS - The current timestamp.
  6984  	//
  6985  	//    * CREATE_STOPPING - The current timestamp.
  6986  	//
  6987  	//    * CREATE_STOPPED - When the job stopped.
  6988  	//
  6989  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  6990  	LastModificationTime *time.Time `type:"timestamp"`
  6991  
  6992  	// If an error occurred, an informational message about the error.
  6993  	Message *string `type:"string"`
  6994  
  6995  	// The status of the forecast export job. States include:
  6996  	//
  6997  	//    * ACTIVE
  6998  	//
  6999  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  7000  	//
  7001  	//    * CREATE_STOPPING, CREATE_STOPPED
  7002  	//
  7003  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  7004  	//
  7005  	// The Status of the forecast export job must be ACTIVE before you can access
  7006  	// the forecast in your S3 bucket.
  7007  	Status *string `type:"string"`
  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 DescribeForecastExportJobOutput) 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 DescribeForecastExportJobOutput) GoString() string {
  7025  	return s.String()
  7026  }
  7027  
  7028  // SetCreationTime sets the CreationTime field's value.
  7029  func (s *DescribeForecastExportJobOutput) SetCreationTime(v time.Time) *DescribeForecastExportJobOutput {
  7030  	s.CreationTime = &v
  7031  	return s
  7032  }
  7033  
  7034  // SetDestination sets the Destination field's value.
  7035  func (s *DescribeForecastExportJobOutput) SetDestination(v *DataDestination) *DescribeForecastExportJobOutput {
  7036  	s.Destination = v
  7037  	return s
  7038  }
  7039  
  7040  // SetForecastArn sets the ForecastArn field's value.
  7041  func (s *DescribeForecastExportJobOutput) SetForecastArn(v string) *DescribeForecastExportJobOutput {
  7042  	s.ForecastArn = &v
  7043  	return s
  7044  }
  7045  
  7046  // SetForecastExportJobArn sets the ForecastExportJobArn field's value.
  7047  func (s *DescribeForecastExportJobOutput) SetForecastExportJobArn(v string) *DescribeForecastExportJobOutput {
  7048  	s.ForecastExportJobArn = &v
  7049  	return s
  7050  }
  7051  
  7052  // SetForecastExportJobName sets the ForecastExportJobName field's value.
  7053  func (s *DescribeForecastExportJobOutput) SetForecastExportJobName(v string) *DescribeForecastExportJobOutput {
  7054  	s.ForecastExportJobName = &v
  7055  	return s
  7056  }
  7057  
  7058  // SetLastModificationTime sets the LastModificationTime field's value.
  7059  func (s *DescribeForecastExportJobOutput) SetLastModificationTime(v time.Time) *DescribeForecastExportJobOutput {
  7060  	s.LastModificationTime = &v
  7061  	return s
  7062  }
  7063  
  7064  // SetMessage sets the Message field's value.
  7065  func (s *DescribeForecastExportJobOutput) SetMessage(v string) *DescribeForecastExportJobOutput {
  7066  	s.Message = &v
  7067  	return s
  7068  }
  7069  
  7070  // SetStatus sets the Status field's value.
  7071  func (s *DescribeForecastExportJobOutput) SetStatus(v string) *DescribeForecastExportJobOutput {
  7072  	s.Status = &v
  7073  	return s
  7074  }
  7075  
  7076  type DescribeForecastInput struct {
  7077  	_ struct{} `type:"structure"`
  7078  
  7079  	// The Amazon Resource Name (ARN) of the forecast.
  7080  	//
  7081  	// ForecastArn is a required field
  7082  	ForecastArn *string `type:"string" required:"true"`
  7083  }
  7084  
  7085  // String returns the string representation.
  7086  //
  7087  // API parameter values that are decorated as "sensitive" in the API will not
  7088  // be included in the string output. The member name will be present, but the
  7089  // value will be replaced with "sensitive".
  7090  func (s DescribeForecastInput) String() string {
  7091  	return awsutil.Prettify(s)
  7092  }
  7093  
  7094  // GoString returns the string representation.
  7095  //
  7096  // API parameter values that are decorated as "sensitive" in the API will not
  7097  // be included in the string output. The member name will be present, but the
  7098  // value will be replaced with "sensitive".
  7099  func (s DescribeForecastInput) GoString() string {
  7100  	return s.String()
  7101  }
  7102  
  7103  // Validate inspects the fields of the type to determine if they are valid.
  7104  func (s *DescribeForecastInput) Validate() error {
  7105  	invalidParams := request.ErrInvalidParams{Context: "DescribeForecastInput"}
  7106  	if s.ForecastArn == nil {
  7107  		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
  7108  	}
  7109  
  7110  	if invalidParams.Len() > 0 {
  7111  		return invalidParams
  7112  	}
  7113  	return nil
  7114  }
  7115  
  7116  // SetForecastArn sets the ForecastArn field's value.
  7117  func (s *DescribeForecastInput) SetForecastArn(v string) *DescribeForecastInput {
  7118  	s.ForecastArn = &v
  7119  	return s
  7120  }
  7121  
  7122  type DescribeForecastOutput struct {
  7123  	_ struct{} `type:"structure"`
  7124  
  7125  	// When the forecast creation task was created.
  7126  	CreationTime *time.Time `type:"timestamp"`
  7127  
  7128  	// The ARN of the dataset group that provided the data used to train the predictor.
  7129  	DatasetGroupArn *string `type:"string"`
  7130  
  7131  	// The estimated time remaining in minutes for the forecast job to complete.
  7132  	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
  7133  
  7134  	// The forecast ARN as specified in the request.
  7135  	ForecastArn *string `type:"string"`
  7136  
  7137  	// The name of the forecast.
  7138  	ForecastName *string `min:"1" type:"string"`
  7139  
  7140  	// The quantiles at which probabilistic forecasts were generated.
  7141  	ForecastTypes []*string `min:"1" type:"list"`
  7142  
  7143  	// The last time the resource was modified. The timestamp depends on the status
  7144  	// of the job:
  7145  	//
  7146  	//    * CREATE_PENDING - The CreationTime.
  7147  	//
  7148  	//    * CREATE_IN_PROGRESS - The current timestamp.
  7149  	//
  7150  	//    * CREATE_STOPPING - The current timestamp.
  7151  	//
  7152  	//    * CREATE_STOPPED - When the job stopped.
  7153  	//
  7154  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  7155  	LastModificationTime *time.Time `type:"timestamp"`
  7156  
  7157  	// If an error occurred, an informational message about the error.
  7158  	Message *string `type:"string"`
  7159  
  7160  	// The ARN of the predictor used to generate the forecast.
  7161  	PredictorArn *string `type:"string"`
  7162  
  7163  	// The status of the forecast. States include:
  7164  	//
  7165  	//    * ACTIVE
  7166  	//
  7167  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  7168  	//
  7169  	//    * CREATE_STOPPING, CREATE_STOPPED
  7170  	//
  7171  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  7172  	//
  7173  	// The Status of the forecast must be ACTIVE before you can query or export
  7174  	// the forecast.
  7175  	Status *string `type:"string"`
  7176  }
  7177  
  7178  // String returns the string representation.
  7179  //
  7180  // API parameter values that are decorated as "sensitive" in the API will not
  7181  // be included in the string output. The member name will be present, but the
  7182  // value will be replaced with "sensitive".
  7183  func (s DescribeForecastOutput) String() string {
  7184  	return awsutil.Prettify(s)
  7185  }
  7186  
  7187  // GoString returns the string representation.
  7188  //
  7189  // API parameter values that are decorated as "sensitive" in the API will not
  7190  // be included in the string output. The member name will be present, but the
  7191  // value will be replaced with "sensitive".
  7192  func (s DescribeForecastOutput) GoString() string {
  7193  	return s.String()
  7194  }
  7195  
  7196  // SetCreationTime sets the CreationTime field's value.
  7197  func (s *DescribeForecastOutput) SetCreationTime(v time.Time) *DescribeForecastOutput {
  7198  	s.CreationTime = &v
  7199  	return s
  7200  }
  7201  
  7202  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  7203  func (s *DescribeForecastOutput) SetDatasetGroupArn(v string) *DescribeForecastOutput {
  7204  	s.DatasetGroupArn = &v
  7205  	return s
  7206  }
  7207  
  7208  // SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
  7209  func (s *DescribeForecastOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribeForecastOutput {
  7210  	s.EstimatedTimeRemainingInMinutes = &v
  7211  	return s
  7212  }
  7213  
  7214  // SetForecastArn sets the ForecastArn field's value.
  7215  func (s *DescribeForecastOutput) SetForecastArn(v string) *DescribeForecastOutput {
  7216  	s.ForecastArn = &v
  7217  	return s
  7218  }
  7219  
  7220  // SetForecastName sets the ForecastName field's value.
  7221  func (s *DescribeForecastOutput) SetForecastName(v string) *DescribeForecastOutput {
  7222  	s.ForecastName = &v
  7223  	return s
  7224  }
  7225  
  7226  // SetForecastTypes sets the ForecastTypes field's value.
  7227  func (s *DescribeForecastOutput) SetForecastTypes(v []*string) *DescribeForecastOutput {
  7228  	s.ForecastTypes = v
  7229  	return s
  7230  }
  7231  
  7232  // SetLastModificationTime sets the LastModificationTime field's value.
  7233  func (s *DescribeForecastOutput) SetLastModificationTime(v time.Time) *DescribeForecastOutput {
  7234  	s.LastModificationTime = &v
  7235  	return s
  7236  }
  7237  
  7238  // SetMessage sets the Message field's value.
  7239  func (s *DescribeForecastOutput) SetMessage(v string) *DescribeForecastOutput {
  7240  	s.Message = &v
  7241  	return s
  7242  }
  7243  
  7244  // SetPredictorArn sets the PredictorArn field's value.
  7245  func (s *DescribeForecastOutput) SetPredictorArn(v string) *DescribeForecastOutput {
  7246  	s.PredictorArn = &v
  7247  	return s
  7248  }
  7249  
  7250  // SetStatus sets the Status field's value.
  7251  func (s *DescribeForecastOutput) SetStatus(v string) *DescribeForecastOutput {
  7252  	s.Status = &v
  7253  	return s
  7254  }
  7255  
  7256  type DescribePredictorBacktestExportJobInput struct {
  7257  	_ struct{} `type:"structure"`
  7258  
  7259  	// The Amazon Resource Name (ARN) of the predictor backtest export job.
  7260  	//
  7261  	// PredictorBacktestExportJobArn is a required field
  7262  	PredictorBacktestExportJobArn *string `type:"string" required:"true"`
  7263  }
  7264  
  7265  // String returns the string representation.
  7266  //
  7267  // API parameter values that are decorated as "sensitive" in the API will not
  7268  // be included in the string output. The member name will be present, but the
  7269  // value will be replaced with "sensitive".
  7270  func (s DescribePredictorBacktestExportJobInput) String() string {
  7271  	return awsutil.Prettify(s)
  7272  }
  7273  
  7274  // GoString returns the string representation.
  7275  //
  7276  // API parameter values that are decorated as "sensitive" in the API will not
  7277  // be included in the string output. The member name will be present, but the
  7278  // value will be replaced with "sensitive".
  7279  func (s DescribePredictorBacktestExportJobInput) GoString() string {
  7280  	return s.String()
  7281  }
  7282  
  7283  // Validate inspects the fields of the type to determine if they are valid.
  7284  func (s *DescribePredictorBacktestExportJobInput) Validate() error {
  7285  	invalidParams := request.ErrInvalidParams{Context: "DescribePredictorBacktestExportJobInput"}
  7286  	if s.PredictorBacktestExportJobArn == nil {
  7287  		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn"))
  7288  	}
  7289  
  7290  	if invalidParams.Len() > 0 {
  7291  		return invalidParams
  7292  	}
  7293  	return nil
  7294  }
  7295  
  7296  // SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
  7297  func (s *DescribePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobInput {
  7298  	s.PredictorBacktestExportJobArn = &v
  7299  	return s
  7300  }
  7301  
  7302  type DescribePredictorBacktestExportJobOutput struct {
  7303  	_ struct{} `type:"structure"`
  7304  
  7305  	// When the predictor backtest export job was created.
  7306  	CreationTime *time.Time `type:"timestamp"`
  7307  
  7308  	// The destination for an export job. Provide an S3 path, an AWS Identity and
  7309  	// Access Management (IAM) role that allows Amazon Forecast to access the location,
  7310  	// and an AWS Key Management Service (KMS) key (optional).
  7311  	Destination *DataDestination `type:"structure"`
  7312  
  7313  	// The last time the resource was modified. The timestamp depends on the status
  7314  	// of the job:
  7315  	//
  7316  	//    * CREATE_PENDING - The CreationTime.
  7317  	//
  7318  	//    * CREATE_IN_PROGRESS - The current timestamp.
  7319  	//
  7320  	//    * CREATE_STOPPING - The current timestamp.
  7321  	//
  7322  	//    * CREATE_STOPPED - When the job stopped.
  7323  	//
  7324  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  7325  	LastModificationTime *time.Time `type:"timestamp"`
  7326  
  7327  	// Information about any errors that may have occurred during the backtest export.
  7328  	Message *string `type:"string"`
  7329  
  7330  	// The Amazon Resource Name (ARN) of the predictor.
  7331  	PredictorArn *string `type:"string"`
  7332  
  7333  	// The Amazon Resource Name (ARN) of the predictor backtest export job.
  7334  	PredictorBacktestExportJobArn *string `type:"string"`
  7335  
  7336  	// The name of the predictor backtest export job.
  7337  	PredictorBacktestExportJobName *string `min:"1" type:"string"`
  7338  
  7339  	// The status of the predictor backtest export job. States include:
  7340  	//
  7341  	//    * ACTIVE
  7342  	//
  7343  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  7344  	//
  7345  	//    * CREATE_STOPPING, CREATE_STOPPED
  7346  	//
  7347  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  7348  	Status *string `type:"string"`
  7349  }
  7350  
  7351  // String returns the string representation.
  7352  //
  7353  // API parameter values that are decorated as "sensitive" in the API will not
  7354  // be included in the string output. The member name will be present, but the
  7355  // value will be replaced with "sensitive".
  7356  func (s DescribePredictorBacktestExportJobOutput) String() string {
  7357  	return awsutil.Prettify(s)
  7358  }
  7359  
  7360  // GoString returns the string representation.
  7361  //
  7362  // API parameter values that are decorated as "sensitive" in the API will not
  7363  // be included in the string output. The member name will be present, but the
  7364  // value will be replaced with "sensitive".
  7365  func (s DescribePredictorBacktestExportJobOutput) GoString() string {
  7366  	return s.String()
  7367  }
  7368  
  7369  // SetCreationTime sets the CreationTime field's value.
  7370  func (s *DescribePredictorBacktestExportJobOutput) SetCreationTime(v time.Time) *DescribePredictorBacktestExportJobOutput {
  7371  	s.CreationTime = &v
  7372  	return s
  7373  }
  7374  
  7375  // SetDestination sets the Destination field's value.
  7376  func (s *DescribePredictorBacktestExportJobOutput) SetDestination(v *DataDestination) *DescribePredictorBacktestExportJobOutput {
  7377  	s.Destination = v
  7378  	return s
  7379  }
  7380  
  7381  // SetLastModificationTime sets the LastModificationTime field's value.
  7382  func (s *DescribePredictorBacktestExportJobOutput) SetLastModificationTime(v time.Time) *DescribePredictorBacktestExportJobOutput {
  7383  	s.LastModificationTime = &v
  7384  	return s
  7385  }
  7386  
  7387  // SetMessage sets the Message field's value.
  7388  func (s *DescribePredictorBacktestExportJobOutput) SetMessage(v string) *DescribePredictorBacktestExportJobOutput {
  7389  	s.Message = &v
  7390  	return s
  7391  }
  7392  
  7393  // SetPredictorArn sets the PredictorArn field's value.
  7394  func (s *DescribePredictorBacktestExportJobOutput) SetPredictorArn(v string) *DescribePredictorBacktestExportJobOutput {
  7395  	s.PredictorArn = &v
  7396  	return s
  7397  }
  7398  
  7399  // SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
  7400  func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobOutput {
  7401  	s.PredictorBacktestExportJobArn = &v
  7402  	return s
  7403  }
  7404  
  7405  // SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
  7406  func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobName(v string) *DescribePredictorBacktestExportJobOutput {
  7407  	s.PredictorBacktestExportJobName = &v
  7408  	return s
  7409  }
  7410  
  7411  // SetStatus sets the Status field's value.
  7412  func (s *DescribePredictorBacktestExportJobOutput) SetStatus(v string) *DescribePredictorBacktestExportJobOutput {
  7413  	s.Status = &v
  7414  	return s
  7415  }
  7416  
  7417  type DescribePredictorInput struct {
  7418  	_ struct{} `type:"structure"`
  7419  
  7420  	// The Amazon Resource Name (ARN) of the predictor that you want information
  7421  	// about.
  7422  	//
  7423  	// PredictorArn is a required field
  7424  	PredictorArn *string `type:"string" required:"true"`
  7425  }
  7426  
  7427  // String returns the string representation.
  7428  //
  7429  // API parameter values that are decorated as "sensitive" in the API will not
  7430  // be included in the string output. The member name will be present, but the
  7431  // value will be replaced with "sensitive".
  7432  func (s DescribePredictorInput) String() string {
  7433  	return awsutil.Prettify(s)
  7434  }
  7435  
  7436  // GoString returns the string representation.
  7437  //
  7438  // API parameter values that are decorated as "sensitive" in the API will not
  7439  // be included in the string output. The member name will be present, but the
  7440  // value will be replaced with "sensitive".
  7441  func (s DescribePredictorInput) GoString() string {
  7442  	return s.String()
  7443  }
  7444  
  7445  // Validate inspects the fields of the type to determine if they are valid.
  7446  func (s *DescribePredictorInput) Validate() error {
  7447  	invalidParams := request.ErrInvalidParams{Context: "DescribePredictorInput"}
  7448  	if s.PredictorArn == nil {
  7449  		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
  7450  	}
  7451  
  7452  	if invalidParams.Len() > 0 {
  7453  		return invalidParams
  7454  	}
  7455  	return nil
  7456  }
  7457  
  7458  // SetPredictorArn sets the PredictorArn field's value.
  7459  func (s *DescribePredictorInput) SetPredictorArn(v string) *DescribePredictorInput {
  7460  	s.PredictorArn = &v
  7461  	return s
  7462  }
  7463  
  7464  type DescribePredictorOutput struct {
  7465  	_ struct{} `type:"structure"`
  7466  
  7467  	// The Amazon Resource Name (ARN) of the algorithm used for model training.
  7468  	AlgorithmArn *string `type:"string"`
  7469  
  7470  	// When PerformAutoML is specified, the ARN of the chosen algorithm.
  7471  	AutoMLAlgorithmArns []*string `type:"list"`
  7472  
  7473  	//
  7474  	// The LatencyOptimized AutoML override strategy is only available in private
  7475  	// beta. Contact AWS Support or your account manager to learn more about access
  7476  	// privileges.
  7477  	//
  7478  	// The AutoML strategy used to train the predictor. Unless LatencyOptimized
  7479  	// is specified, the AutoML strategy optimizes predictor accuracy.
  7480  	//
  7481  	// This parameter is only valid for predictors trained using AutoML.
  7482  	AutoMLOverrideStrategy *string `type:"string" enum:"AutoMLOverrideStrategy"`
  7483  
  7484  	// When the model training task was created.
  7485  	CreationTime *time.Time `type:"timestamp"`
  7486  
  7487  	// An array of the ARNs of the dataset import jobs used to import training data
  7488  	// for the predictor.
  7489  	DatasetImportJobArns []*string `type:"list"`
  7490  
  7491  	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
  7492  	// (IAM) role that Amazon Forecast can assume to access the key.
  7493  	EncryptionConfig *EncryptionConfig `type:"structure"`
  7494  
  7495  	// The estimated time remaining in minutes for the predictor training job to
  7496  	// complete.
  7497  	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
  7498  
  7499  	// Used to override the default evaluation parameters of the specified algorithm.
  7500  	// Amazon Forecast evaluates a predictor by splitting a dataset into training
  7501  	// data and testing data. The evaluation parameters define how to perform the
  7502  	// split and the number of iterations.
  7503  	EvaluationParameters *EvaluationParameters `type:"structure"`
  7504  
  7505  	// The featurization configuration.
  7506  	FeaturizationConfig *FeaturizationConfig `type:"structure"`
  7507  
  7508  	// The number of time-steps of the forecast. The forecast horizon is also called
  7509  	// the prediction length.
  7510  	ForecastHorizon *int64 `type:"integer"`
  7511  
  7512  	// The forecast types used during predictor training. Default value is ["0.1","0.5","0.9"]
  7513  	ForecastTypes []*string `min:"1" type:"list"`
  7514  
  7515  	// The hyperparameter override values for the algorithm.
  7516  	HPOConfig *HyperParameterTuningJobConfig `type:"structure"`
  7517  
  7518  	// Describes the dataset group that contains the data to use to train the predictor.
  7519  	InputDataConfig *InputDataConfig `type:"structure"`
  7520  
  7521  	// The last time the resource was modified. The timestamp depends on the status
  7522  	// of the job:
  7523  	//
  7524  	//    * CREATE_PENDING - The CreationTime.
  7525  	//
  7526  	//    * CREATE_IN_PROGRESS - The current timestamp.
  7527  	//
  7528  	//    * CREATE_STOPPING - The current timestamp.
  7529  	//
  7530  	//    * CREATE_STOPPED - When the job stopped.
  7531  	//
  7532  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  7533  	LastModificationTime *time.Time `type:"timestamp"`
  7534  
  7535  	// If an error occurred, an informational message about the error.
  7536  	Message *string `type:"string"`
  7537  
  7538  	// The accuracy metric used to optimize the predictor.
  7539  	OptimizationMetric *string `type:"string" enum:"OptimizationMetric"`
  7540  
  7541  	// Whether the predictor is set to perform AutoML.
  7542  	PerformAutoML *bool `type:"boolean"`
  7543  
  7544  	// Whether the predictor is set to perform hyperparameter optimization (HPO).
  7545  	PerformHPO *bool `type:"boolean"`
  7546  
  7547  	// The ARN of the predictor.
  7548  	PredictorArn *string `min:"1" type:"string"`
  7549  
  7550  	// Details on the the status and results of the backtests performed to evaluate
  7551  	// the accuracy of the predictor. You specify the number of backtests to perform
  7552  	// when you call the operation.
  7553  	PredictorExecutionDetails *PredictorExecutionDetails `type:"structure"`
  7554  
  7555  	// The name of the predictor.
  7556  	PredictorName *string `min:"1" type:"string"`
  7557  
  7558  	// The status of the predictor. States include:
  7559  	//
  7560  	//    * ACTIVE
  7561  	//
  7562  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  7563  	//
  7564  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  7565  	//
  7566  	//    * CREATE_STOPPING, CREATE_STOPPED
  7567  	//
  7568  	// The Status of the predictor must be ACTIVE before you can use the predictor
  7569  	// to create a forecast.
  7570  	Status *string `type:"string"`
  7571  
  7572  	// The default training parameters or overrides selected during model training.
  7573  	// When running AutoML or choosing HPO with CNN-QR or DeepAR+, the optimized
  7574  	// values for the chosen hyperparameters are returned. For more information,
  7575  	// see aws-forecast-choosing-recipes.
  7576  	TrainingParameters map[string]*string `type:"map"`
  7577  }
  7578  
  7579  // String returns the string representation.
  7580  //
  7581  // API parameter values that are decorated as "sensitive" in the API will not
  7582  // be included in the string output. The member name will be present, but the
  7583  // value will be replaced with "sensitive".
  7584  func (s DescribePredictorOutput) String() string {
  7585  	return awsutil.Prettify(s)
  7586  }
  7587  
  7588  // GoString returns the string representation.
  7589  //
  7590  // API parameter values that are decorated as "sensitive" in the API will not
  7591  // be included in the string output. The member name will be present, but the
  7592  // value will be replaced with "sensitive".
  7593  func (s DescribePredictorOutput) GoString() string {
  7594  	return s.String()
  7595  }
  7596  
  7597  // SetAlgorithmArn sets the AlgorithmArn field's value.
  7598  func (s *DescribePredictorOutput) SetAlgorithmArn(v string) *DescribePredictorOutput {
  7599  	s.AlgorithmArn = &v
  7600  	return s
  7601  }
  7602  
  7603  // SetAutoMLAlgorithmArns sets the AutoMLAlgorithmArns field's value.
  7604  func (s *DescribePredictorOutput) SetAutoMLAlgorithmArns(v []*string) *DescribePredictorOutput {
  7605  	s.AutoMLAlgorithmArns = v
  7606  	return s
  7607  }
  7608  
  7609  // SetAutoMLOverrideStrategy sets the AutoMLOverrideStrategy field's value.
  7610  func (s *DescribePredictorOutput) SetAutoMLOverrideStrategy(v string) *DescribePredictorOutput {
  7611  	s.AutoMLOverrideStrategy = &v
  7612  	return s
  7613  }
  7614  
  7615  // SetCreationTime sets the CreationTime field's value.
  7616  func (s *DescribePredictorOutput) SetCreationTime(v time.Time) *DescribePredictorOutput {
  7617  	s.CreationTime = &v
  7618  	return s
  7619  }
  7620  
  7621  // SetDatasetImportJobArns sets the DatasetImportJobArns field's value.
  7622  func (s *DescribePredictorOutput) SetDatasetImportJobArns(v []*string) *DescribePredictorOutput {
  7623  	s.DatasetImportJobArns = v
  7624  	return s
  7625  }
  7626  
  7627  // SetEncryptionConfig sets the EncryptionConfig field's value.
  7628  func (s *DescribePredictorOutput) SetEncryptionConfig(v *EncryptionConfig) *DescribePredictorOutput {
  7629  	s.EncryptionConfig = v
  7630  	return s
  7631  }
  7632  
  7633  // SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
  7634  func (s *DescribePredictorOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribePredictorOutput {
  7635  	s.EstimatedTimeRemainingInMinutes = &v
  7636  	return s
  7637  }
  7638  
  7639  // SetEvaluationParameters sets the EvaluationParameters field's value.
  7640  func (s *DescribePredictorOutput) SetEvaluationParameters(v *EvaluationParameters) *DescribePredictorOutput {
  7641  	s.EvaluationParameters = v
  7642  	return s
  7643  }
  7644  
  7645  // SetFeaturizationConfig sets the FeaturizationConfig field's value.
  7646  func (s *DescribePredictorOutput) SetFeaturizationConfig(v *FeaturizationConfig) *DescribePredictorOutput {
  7647  	s.FeaturizationConfig = v
  7648  	return s
  7649  }
  7650  
  7651  // SetForecastHorizon sets the ForecastHorizon field's value.
  7652  func (s *DescribePredictorOutput) SetForecastHorizon(v int64) *DescribePredictorOutput {
  7653  	s.ForecastHorizon = &v
  7654  	return s
  7655  }
  7656  
  7657  // SetForecastTypes sets the ForecastTypes field's value.
  7658  func (s *DescribePredictorOutput) SetForecastTypes(v []*string) *DescribePredictorOutput {
  7659  	s.ForecastTypes = v
  7660  	return s
  7661  }
  7662  
  7663  // SetHPOConfig sets the HPOConfig field's value.
  7664  func (s *DescribePredictorOutput) SetHPOConfig(v *HyperParameterTuningJobConfig) *DescribePredictorOutput {
  7665  	s.HPOConfig = v
  7666  	return s
  7667  }
  7668  
  7669  // SetInputDataConfig sets the InputDataConfig field's value.
  7670  func (s *DescribePredictorOutput) SetInputDataConfig(v *InputDataConfig) *DescribePredictorOutput {
  7671  	s.InputDataConfig = v
  7672  	return s
  7673  }
  7674  
  7675  // SetLastModificationTime sets the LastModificationTime field's value.
  7676  func (s *DescribePredictorOutput) SetLastModificationTime(v time.Time) *DescribePredictorOutput {
  7677  	s.LastModificationTime = &v
  7678  	return s
  7679  }
  7680  
  7681  // SetMessage sets the Message field's value.
  7682  func (s *DescribePredictorOutput) SetMessage(v string) *DescribePredictorOutput {
  7683  	s.Message = &v
  7684  	return s
  7685  }
  7686  
  7687  // SetOptimizationMetric sets the OptimizationMetric field's value.
  7688  func (s *DescribePredictorOutput) SetOptimizationMetric(v string) *DescribePredictorOutput {
  7689  	s.OptimizationMetric = &v
  7690  	return s
  7691  }
  7692  
  7693  // SetPerformAutoML sets the PerformAutoML field's value.
  7694  func (s *DescribePredictorOutput) SetPerformAutoML(v bool) *DescribePredictorOutput {
  7695  	s.PerformAutoML = &v
  7696  	return s
  7697  }
  7698  
  7699  // SetPerformHPO sets the PerformHPO field's value.
  7700  func (s *DescribePredictorOutput) SetPerformHPO(v bool) *DescribePredictorOutput {
  7701  	s.PerformHPO = &v
  7702  	return s
  7703  }
  7704  
  7705  // SetPredictorArn sets the PredictorArn field's value.
  7706  func (s *DescribePredictorOutput) SetPredictorArn(v string) *DescribePredictorOutput {
  7707  	s.PredictorArn = &v
  7708  	return s
  7709  }
  7710  
  7711  // SetPredictorExecutionDetails sets the PredictorExecutionDetails field's value.
  7712  func (s *DescribePredictorOutput) SetPredictorExecutionDetails(v *PredictorExecutionDetails) *DescribePredictorOutput {
  7713  	s.PredictorExecutionDetails = v
  7714  	return s
  7715  }
  7716  
  7717  // SetPredictorName sets the PredictorName field's value.
  7718  func (s *DescribePredictorOutput) SetPredictorName(v string) *DescribePredictorOutput {
  7719  	s.PredictorName = &v
  7720  	return s
  7721  }
  7722  
  7723  // SetStatus sets the Status field's value.
  7724  func (s *DescribePredictorOutput) SetStatus(v string) *DescribePredictorOutput {
  7725  	s.Status = &v
  7726  	return s
  7727  }
  7728  
  7729  // SetTrainingParameters sets the TrainingParameters field's value.
  7730  func (s *DescribePredictorOutput) SetTrainingParameters(v map[string]*string) *DescribePredictorOutput {
  7731  	s.TrainingParameters = v
  7732  	return s
  7733  }
  7734  
  7735  // An AWS Key Management Service (KMS) key and an AWS Identity and Access Management
  7736  // (IAM) role that Amazon Forecast can assume to access the key. You can specify
  7737  // this optional object in the CreateDataset and CreatePredictor requests.
  7738  type EncryptionConfig struct {
  7739  	_ struct{} `type:"structure"`
  7740  
  7741  	// The Amazon Resource Name (ARN) of the KMS key.
  7742  	//
  7743  	// KMSKeyArn is a required field
  7744  	KMSKeyArn *string `type:"string" required:"true"`
  7745  
  7746  	// The ARN of the IAM role that Amazon Forecast can assume to access the AWS
  7747  	// KMS key.
  7748  	//
  7749  	// Passing a role across AWS accounts is not allowed. If you pass a role that
  7750  	// isn't in your account, you get an InvalidInputException error.
  7751  	//
  7752  	// RoleArn is a required field
  7753  	RoleArn *string `type:"string" required:"true"`
  7754  }
  7755  
  7756  // String returns the string representation.
  7757  //
  7758  // API parameter values that are decorated as "sensitive" in the API will not
  7759  // be included in the string output. The member name will be present, but the
  7760  // value will be replaced with "sensitive".
  7761  func (s EncryptionConfig) String() string {
  7762  	return awsutil.Prettify(s)
  7763  }
  7764  
  7765  // GoString returns the string representation.
  7766  //
  7767  // API parameter values that are decorated as "sensitive" in the API will not
  7768  // be included in the string output. The member name will be present, but the
  7769  // value will be replaced with "sensitive".
  7770  func (s EncryptionConfig) GoString() string {
  7771  	return s.String()
  7772  }
  7773  
  7774  // Validate inspects the fields of the type to determine if they are valid.
  7775  func (s *EncryptionConfig) Validate() error {
  7776  	invalidParams := request.ErrInvalidParams{Context: "EncryptionConfig"}
  7777  	if s.KMSKeyArn == nil {
  7778  		invalidParams.Add(request.NewErrParamRequired("KMSKeyArn"))
  7779  	}
  7780  	if s.RoleArn == nil {
  7781  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
  7782  	}
  7783  
  7784  	if invalidParams.Len() > 0 {
  7785  		return invalidParams
  7786  	}
  7787  	return nil
  7788  }
  7789  
  7790  // SetKMSKeyArn sets the KMSKeyArn field's value.
  7791  func (s *EncryptionConfig) SetKMSKeyArn(v string) *EncryptionConfig {
  7792  	s.KMSKeyArn = &v
  7793  	return s
  7794  }
  7795  
  7796  // SetRoleArn sets the RoleArn field's value.
  7797  func (s *EncryptionConfig) SetRoleArn(v string) *EncryptionConfig {
  7798  	s.RoleArn = &v
  7799  	return s
  7800  }
  7801  
  7802  // Provides detailed error metrics to evaluate the performance of a predictor.
  7803  // This object is part of the Metrics object.
  7804  type ErrorMetric struct {
  7805  	_ struct{} `type:"structure"`
  7806  
  7807  	// The Forecast type used to compute WAPE, MAPE, MASE, and RMSE.
  7808  	ForecastType *string `type:"string"`
  7809  
  7810  	// The Mean Absolute Percentage Error (MAPE)
  7811  	MAPE *float64 `type:"double"`
  7812  
  7813  	// The Mean Absolute Scaled Error (MASE)
  7814  	MASE *float64 `type:"double"`
  7815  
  7816  	// The root-mean-square error (RMSE).
  7817  	RMSE *float64 `type:"double"`
  7818  
  7819  	// The weighted absolute percentage error (WAPE).
  7820  	WAPE *float64 `type:"double"`
  7821  }
  7822  
  7823  // String returns the string representation.
  7824  //
  7825  // API parameter values that are decorated as "sensitive" in the API will not
  7826  // be included in the string output. The member name will be present, but the
  7827  // value will be replaced with "sensitive".
  7828  func (s ErrorMetric) String() string {
  7829  	return awsutil.Prettify(s)
  7830  }
  7831  
  7832  // GoString returns the string representation.
  7833  //
  7834  // API parameter values that are decorated as "sensitive" in the API will not
  7835  // be included in the string output. The member name will be present, but the
  7836  // value will be replaced with "sensitive".
  7837  func (s ErrorMetric) GoString() string {
  7838  	return s.String()
  7839  }
  7840  
  7841  // SetForecastType sets the ForecastType field's value.
  7842  func (s *ErrorMetric) SetForecastType(v string) *ErrorMetric {
  7843  	s.ForecastType = &v
  7844  	return s
  7845  }
  7846  
  7847  // SetMAPE sets the MAPE field's value.
  7848  func (s *ErrorMetric) SetMAPE(v float64) *ErrorMetric {
  7849  	s.MAPE = &v
  7850  	return s
  7851  }
  7852  
  7853  // SetMASE sets the MASE field's value.
  7854  func (s *ErrorMetric) SetMASE(v float64) *ErrorMetric {
  7855  	s.MASE = &v
  7856  	return s
  7857  }
  7858  
  7859  // SetRMSE sets the RMSE field's value.
  7860  func (s *ErrorMetric) SetRMSE(v float64) *ErrorMetric {
  7861  	s.RMSE = &v
  7862  	return s
  7863  }
  7864  
  7865  // SetWAPE sets the WAPE field's value.
  7866  func (s *ErrorMetric) SetWAPE(v float64) *ErrorMetric {
  7867  	s.WAPE = &v
  7868  	return s
  7869  }
  7870  
  7871  // Parameters that define how to split a dataset into training data and testing
  7872  // data, and the number of iterations to perform. These parameters are specified
  7873  // in the predefined algorithms but you can override them in the CreatePredictor
  7874  // request.
  7875  type EvaluationParameters struct {
  7876  	_ struct{} `type:"structure"`
  7877  
  7878  	// The point from the end of the dataset where you want to split the data for
  7879  	// model training and testing (evaluation). Specify the value as the number
  7880  	// of data points. The default is the value of the forecast horizon. BackTestWindowOffset
  7881  	// can be used to mimic a past virtual forecast start date. This value must
  7882  	// be greater than or equal to the forecast horizon and less than half of the
  7883  	// TARGET_TIME_SERIES dataset length.
  7884  	//
  7885  	// ForecastHorizon <= BackTestWindowOffset < 1/2 * TARGET_TIME_SERIES dataset
  7886  	// length
  7887  	BackTestWindowOffset *int64 `type:"integer"`
  7888  
  7889  	// The number of times to split the input data. The default is 1. Valid values
  7890  	// are 1 through 5.
  7891  	NumberOfBacktestWindows *int64 `type:"integer"`
  7892  }
  7893  
  7894  // String returns the string representation.
  7895  //
  7896  // API parameter values that are decorated as "sensitive" in the API will not
  7897  // be included in the string output. The member name will be present, but the
  7898  // value will be replaced with "sensitive".
  7899  func (s EvaluationParameters) String() string {
  7900  	return awsutil.Prettify(s)
  7901  }
  7902  
  7903  // GoString returns the string representation.
  7904  //
  7905  // API parameter values that are decorated as "sensitive" in the API will not
  7906  // be included in the string output. The member name will be present, but the
  7907  // value will be replaced with "sensitive".
  7908  func (s EvaluationParameters) GoString() string {
  7909  	return s.String()
  7910  }
  7911  
  7912  // SetBackTestWindowOffset sets the BackTestWindowOffset field's value.
  7913  func (s *EvaluationParameters) SetBackTestWindowOffset(v int64) *EvaluationParameters {
  7914  	s.BackTestWindowOffset = &v
  7915  	return s
  7916  }
  7917  
  7918  // SetNumberOfBacktestWindows sets the NumberOfBacktestWindows field's value.
  7919  func (s *EvaluationParameters) SetNumberOfBacktestWindows(v int64) *EvaluationParameters {
  7920  	s.NumberOfBacktestWindows = &v
  7921  	return s
  7922  }
  7923  
  7924  // The results of evaluating an algorithm. Returned as part of the GetAccuracyMetrics
  7925  // response.
  7926  type EvaluationResult struct {
  7927  	_ struct{} `type:"structure"`
  7928  
  7929  	// The Amazon Resource Name (ARN) of the algorithm that was evaluated.
  7930  	AlgorithmArn *string `type:"string"`
  7931  
  7932  	// The array of test windows used for evaluating the algorithm. The NumberOfBacktestWindows
  7933  	// from the EvaluationParameters object determines the number of windows in
  7934  	// the array.
  7935  	TestWindows []*WindowSummary `type:"list"`
  7936  }
  7937  
  7938  // String returns the string representation.
  7939  //
  7940  // API parameter values that are decorated as "sensitive" in the API will not
  7941  // be included in the string output. The member name will be present, but the
  7942  // value will be replaced with "sensitive".
  7943  func (s EvaluationResult) String() string {
  7944  	return awsutil.Prettify(s)
  7945  }
  7946  
  7947  // GoString returns the string representation.
  7948  //
  7949  // API parameter values that are decorated as "sensitive" in the API will not
  7950  // be included in the string output. The member name will be present, but the
  7951  // value will be replaced with "sensitive".
  7952  func (s EvaluationResult) GoString() string {
  7953  	return s.String()
  7954  }
  7955  
  7956  // SetAlgorithmArn sets the AlgorithmArn field's value.
  7957  func (s *EvaluationResult) SetAlgorithmArn(v string) *EvaluationResult {
  7958  	s.AlgorithmArn = &v
  7959  	return s
  7960  }
  7961  
  7962  // SetTestWindows sets the TestWindows field's value.
  7963  func (s *EvaluationResult) SetTestWindows(v []*WindowSummary) *EvaluationResult {
  7964  	s.TestWindows = v
  7965  	return s
  7966  }
  7967  
  7968  // Provides featurization (transformation) information for a dataset field.
  7969  // This object is part of the FeaturizationConfig object.
  7970  //
  7971  // For example:
  7972  //
  7973  // {
  7974  //
  7975  // "AttributeName": "demand",
  7976  //
  7977  // FeaturizationPipeline [ {
  7978  //
  7979  // "FeaturizationMethodName": "filling",
  7980  //
  7981  // "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"}
  7982  //
  7983  // } ]
  7984  //
  7985  // }
  7986  type Featurization struct {
  7987  	_ struct{} `type:"structure"`
  7988  
  7989  	// The name of the schema attribute that specifies the data field to be featurized.
  7990  	// Amazon Forecast supports the target field of the TARGET_TIME_SERIES and the
  7991  	// RELATED_TIME_SERIES datasets. For example, for the RETAIL domain, the target
  7992  	// is demand, and for the CUSTOM domain, the target is target_value. For more
  7993  	// information, see howitworks-missing-values.
  7994  	//
  7995  	// AttributeName is a required field
  7996  	AttributeName *string `min:"1" type:"string" required:"true"`
  7997  
  7998  	// An array of one FeaturizationMethod object that specifies the feature transformation
  7999  	// method.
  8000  	FeaturizationPipeline []*FeaturizationMethod `min:"1" type:"list"`
  8001  }
  8002  
  8003  // String returns the string representation.
  8004  //
  8005  // API parameter values that are decorated as "sensitive" in the API will not
  8006  // be included in the string output. The member name will be present, but the
  8007  // value will be replaced with "sensitive".
  8008  func (s Featurization) String() string {
  8009  	return awsutil.Prettify(s)
  8010  }
  8011  
  8012  // GoString returns the string representation.
  8013  //
  8014  // API parameter values that are decorated as "sensitive" in the API will not
  8015  // be included in the string output. The member name will be present, but the
  8016  // value will be replaced with "sensitive".
  8017  func (s Featurization) GoString() string {
  8018  	return s.String()
  8019  }
  8020  
  8021  // Validate inspects the fields of the type to determine if they are valid.
  8022  func (s *Featurization) Validate() error {
  8023  	invalidParams := request.ErrInvalidParams{Context: "Featurization"}
  8024  	if s.AttributeName == nil {
  8025  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
  8026  	}
  8027  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
  8028  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
  8029  	}
  8030  	if s.FeaturizationPipeline != nil && len(s.FeaturizationPipeline) < 1 {
  8031  		invalidParams.Add(request.NewErrParamMinLen("FeaturizationPipeline", 1))
  8032  	}
  8033  	if s.FeaturizationPipeline != nil {
  8034  		for i, v := range s.FeaturizationPipeline {
  8035  			if v == nil {
  8036  				continue
  8037  			}
  8038  			if err := v.Validate(); err != nil {
  8039  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FeaturizationPipeline", i), err.(request.ErrInvalidParams))
  8040  			}
  8041  		}
  8042  	}
  8043  
  8044  	if invalidParams.Len() > 0 {
  8045  		return invalidParams
  8046  	}
  8047  	return nil
  8048  }
  8049  
  8050  // SetAttributeName sets the AttributeName field's value.
  8051  func (s *Featurization) SetAttributeName(v string) *Featurization {
  8052  	s.AttributeName = &v
  8053  	return s
  8054  }
  8055  
  8056  // SetFeaturizationPipeline sets the FeaturizationPipeline field's value.
  8057  func (s *Featurization) SetFeaturizationPipeline(v []*FeaturizationMethod) *Featurization {
  8058  	s.FeaturizationPipeline = v
  8059  	return s
  8060  }
  8061  
  8062  // In a CreatePredictor operation, the specified algorithm trains a model using
  8063  // the specified dataset group. You can optionally tell the operation to modify
  8064  // data fields prior to training a model. These modifications are referred to
  8065  // as featurization.
  8066  //
  8067  // You define featurization using the FeaturizationConfig object. You specify
  8068  // an array of transformations, one for each field that you want to featurize.
  8069  // You then include the FeaturizationConfig object in your CreatePredictor request.
  8070  // Amazon Forecast applies the featurization to the TARGET_TIME_SERIES and RELATED_TIME_SERIES
  8071  // datasets before model training.
  8072  //
  8073  // You can create multiple featurization configurations. For example, you might
  8074  // call the CreatePredictor operation twice by specifying different featurization
  8075  // configurations.
  8076  type FeaturizationConfig struct {
  8077  	_ struct{} `type:"structure"`
  8078  
  8079  	// An array of featurization (transformation) information for the fields of
  8080  	// a dataset.
  8081  	Featurizations []*Featurization `min:"1" type:"list"`
  8082  
  8083  	// An array of dimension (field) names that specify how to group the generated
  8084  	// forecast.
  8085  	//
  8086  	// For example, suppose that you are generating a forecast for item sales across
  8087  	// all of your stores, and your dataset contains a store_id field. If you want
  8088  	// the sales forecast for each item by store, you would specify store_id as
  8089  	// the dimension.
  8090  	//
  8091  	// All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't
  8092  	// need to be specified in the CreatePredictor request. All forecast dimensions
  8093  	// specified in the RELATED_TIME_SERIES dataset must be specified in the CreatePredictor
  8094  	// request.
  8095  	ForecastDimensions []*string `min:"1" type:"list"`
  8096  
  8097  	// The frequency of predictions in a forecast.
  8098  	//
  8099  	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
  8100  	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
  8101  	// 1min (1 minute). For example, "Y" indicates every year and "5min" indicates
  8102  	// every five minutes.
  8103  	//
  8104  	// The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset
  8105  	// frequency.
  8106  	//
  8107  	// When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal
  8108  	// to the RELATED_TIME_SERIES dataset frequency.
  8109  	//
  8110  	// ForecastFrequency is a required field
  8111  	ForecastFrequency *string `type:"string" required:"true"`
  8112  }
  8113  
  8114  // String returns the string representation.
  8115  //
  8116  // API parameter values that are decorated as "sensitive" in the API will not
  8117  // be included in the string output. The member name will be present, but the
  8118  // value will be replaced with "sensitive".
  8119  func (s FeaturizationConfig) String() string {
  8120  	return awsutil.Prettify(s)
  8121  }
  8122  
  8123  // GoString returns the string representation.
  8124  //
  8125  // API parameter values that are decorated as "sensitive" in the API will not
  8126  // be included in the string output. The member name will be present, but the
  8127  // value will be replaced with "sensitive".
  8128  func (s FeaturizationConfig) GoString() string {
  8129  	return s.String()
  8130  }
  8131  
  8132  // Validate inspects the fields of the type to determine if they are valid.
  8133  func (s *FeaturizationConfig) Validate() error {
  8134  	invalidParams := request.ErrInvalidParams{Context: "FeaturizationConfig"}
  8135  	if s.Featurizations != nil && len(s.Featurizations) < 1 {
  8136  		invalidParams.Add(request.NewErrParamMinLen("Featurizations", 1))
  8137  	}
  8138  	if s.ForecastDimensions != nil && len(s.ForecastDimensions) < 1 {
  8139  		invalidParams.Add(request.NewErrParamMinLen("ForecastDimensions", 1))
  8140  	}
  8141  	if s.ForecastFrequency == nil {
  8142  		invalidParams.Add(request.NewErrParamRequired("ForecastFrequency"))
  8143  	}
  8144  	if s.Featurizations != nil {
  8145  		for i, v := range s.Featurizations {
  8146  			if v == nil {
  8147  				continue
  8148  			}
  8149  			if err := v.Validate(); err != nil {
  8150  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Featurizations", i), err.(request.ErrInvalidParams))
  8151  			}
  8152  		}
  8153  	}
  8154  
  8155  	if invalidParams.Len() > 0 {
  8156  		return invalidParams
  8157  	}
  8158  	return nil
  8159  }
  8160  
  8161  // SetFeaturizations sets the Featurizations field's value.
  8162  func (s *FeaturizationConfig) SetFeaturizations(v []*Featurization) *FeaturizationConfig {
  8163  	s.Featurizations = v
  8164  	return s
  8165  }
  8166  
  8167  // SetForecastDimensions sets the ForecastDimensions field's value.
  8168  func (s *FeaturizationConfig) SetForecastDimensions(v []*string) *FeaturizationConfig {
  8169  	s.ForecastDimensions = v
  8170  	return s
  8171  }
  8172  
  8173  // SetForecastFrequency sets the ForecastFrequency field's value.
  8174  func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfig {
  8175  	s.ForecastFrequency = &v
  8176  	return s
  8177  }
  8178  
  8179  // Provides information about the method that featurizes (transforms) a dataset
  8180  // field. The method is part of the FeaturizationPipeline of the Featurization
  8181  // object.
  8182  //
  8183  // The following is an example of how you specify a FeaturizationMethod object.
  8184  //
  8185  // {
  8186  //
  8187  // "FeaturizationMethodName": "filling",
  8188  //
  8189  // "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero",
  8190  // "backfill": "zero"}
  8191  //
  8192  // }
  8193  type FeaturizationMethod struct {
  8194  	_ struct{} `type:"structure"`
  8195  
  8196  	// The name of the method. The "filling" method is the only supported method.
  8197  	//
  8198  	// FeaturizationMethodName is a required field
  8199  	FeaturizationMethodName *string `type:"string" required:"true" enum:"FeaturizationMethodName"`
  8200  
  8201  	// The method parameters (key-value pairs), which are a map of override parameters.
  8202  	// Specify these parameters to override the default values. Related Time Series
  8203  	// attributes do not accept aggregation parameters.
  8204  	//
  8205  	// The following list shows the parameters and their valid values for the "filling"
  8206  	// featurization method for a Target Time Series dataset. Bold signifies the
  8207  	// default value.
  8208  	//
  8209  	//    * aggregation: sum, avg, first, min, max
  8210  	//
  8211  	//    * frontfill: none
  8212  	//
  8213  	//    * middlefill: zero, nan (not a number), value, median, mean, min, max
  8214  	//
  8215  	//    * backfill: zero, nan, value, median, mean, min, max
  8216  	//
  8217  	// The following list shows the parameters and their valid values for a Related
  8218  	// Time Series featurization method (there are no defaults):
  8219  	//
  8220  	//    * middlefill: zero, value, median, mean, min, max
  8221  	//
  8222  	//    * backfill: zero, value, median, mean, min, max
  8223  	//
  8224  	//    * futurefill: zero, value, median, mean, min, max
  8225  	//
  8226  	// To set a filling method to a specific value, set the fill parameter to value
  8227  	// and define the value in a corresponding _value parameter. For example, to
  8228  	// set backfilling to a value of 2, include the following: "backfill": "value"
  8229  	// and "backfill_value":"2".
  8230  	FeaturizationMethodParameters map[string]*string `min:"1" type:"map"`
  8231  }
  8232  
  8233  // String returns the string representation.
  8234  //
  8235  // API parameter values that are decorated as "sensitive" in the API will not
  8236  // be included in the string output. The member name will be present, but the
  8237  // value will be replaced with "sensitive".
  8238  func (s FeaturizationMethod) String() string {
  8239  	return awsutil.Prettify(s)
  8240  }
  8241  
  8242  // GoString returns the string representation.
  8243  //
  8244  // API parameter values that are decorated as "sensitive" in the API will not
  8245  // be included in the string output. The member name will be present, but the
  8246  // value will be replaced with "sensitive".
  8247  func (s FeaturizationMethod) GoString() string {
  8248  	return s.String()
  8249  }
  8250  
  8251  // Validate inspects the fields of the type to determine if they are valid.
  8252  func (s *FeaturizationMethod) Validate() error {
  8253  	invalidParams := request.ErrInvalidParams{Context: "FeaturizationMethod"}
  8254  	if s.FeaturizationMethodName == nil {
  8255  		invalidParams.Add(request.NewErrParamRequired("FeaturizationMethodName"))
  8256  	}
  8257  	if s.FeaturizationMethodParameters != nil && len(s.FeaturizationMethodParameters) < 1 {
  8258  		invalidParams.Add(request.NewErrParamMinLen("FeaturizationMethodParameters", 1))
  8259  	}
  8260  
  8261  	if invalidParams.Len() > 0 {
  8262  		return invalidParams
  8263  	}
  8264  	return nil
  8265  }
  8266  
  8267  // SetFeaturizationMethodName sets the FeaturizationMethodName field's value.
  8268  func (s *FeaturizationMethod) SetFeaturizationMethodName(v string) *FeaturizationMethod {
  8269  	s.FeaturizationMethodName = &v
  8270  	return s
  8271  }
  8272  
  8273  // SetFeaturizationMethodParameters sets the FeaturizationMethodParameters field's value.
  8274  func (s *FeaturizationMethod) SetFeaturizationMethodParameters(v map[string]*string) *FeaturizationMethod {
  8275  	s.FeaturizationMethodParameters = v
  8276  	return s
  8277  }
  8278  
  8279  // Describes a filter for choosing a subset of objects. Each filter consists
  8280  // of a condition and a match statement. The condition is either IS or IS_NOT,
  8281  // which specifies whether to include or exclude the objects that match the
  8282  // statement, respectively. The match statement consists of a key and a value.
  8283  type Filter struct {
  8284  	_ struct{} `type:"structure"`
  8285  
  8286  	// The condition to apply. To include the objects that match the statement,
  8287  	// specify IS. To exclude matching objects, specify IS_NOT.
  8288  	//
  8289  	// Condition is a required field
  8290  	Condition *string `type:"string" required:"true" enum:"FilterConditionString"`
  8291  
  8292  	// The name of the parameter to filter on.
  8293  	//
  8294  	// Key is a required field
  8295  	Key *string `type:"string" required:"true"`
  8296  
  8297  	// The value to match.
  8298  	//
  8299  	// Value is a required field
  8300  	Value *string `type:"string" required:"true"`
  8301  }
  8302  
  8303  // String returns the string representation.
  8304  //
  8305  // API parameter values that are decorated as "sensitive" in the API will not
  8306  // be included in the string output. The member name will be present, but the
  8307  // value will be replaced with "sensitive".
  8308  func (s Filter) String() string {
  8309  	return awsutil.Prettify(s)
  8310  }
  8311  
  8312  // GoString returns the string representation.
  8313  //
  8314  // API parameter values that are decorated as "sensitive" in the API will not
  8315  // be included in the string output. The member name will be present, but the
  8316  // value will be replaced with "sensitive".
  8317  func (s Filter) GoString() string {
  8318  	return s.String()
  8319  }
  8320  
  8321  // Validate inspects the fields of the type to determine if they are valid.
  8322  func (s *Filter) Validate() error {
  8323  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
  8324  	if s.Condition == nil {
  8325  		invalidParams.Add(request.NewErrParamRequired("Condition"))
  8326  	}
  8327  	if s.Key == nil {
  8328  		invalidParams.Add(request.NewErrParamRequired("Key"))
  8329  	}
  8330  	if s.Value == nil {
  8331  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8332  	}
  8333  
  8334  	if invalidParams.Len() > 0 {
  8335  		return invalidParams
  8336  	}
  8337  	return nil
  8338  }
  8339  
  8340  // SetCondition sets the Condition field's value.
  8341  func (s *Filter) SetCondition(v string) *Filter {
  8342  	s.Condition = &v
  8343  	return s
  8344  }
  8345  
  8346  // SetKey sets the Key field's value.
  8347  func (s *Filter) SetKey(v string) *Filter {
  8348  	s.Key = &v
  8349  	return s
  8350  }
  8351  
  8352  // SetValue sets the Value field's value.
  8353  func (s *Filter) SetValue(v string) *Filter {
  8354  	s.Value = &v
  8355  	return s
  8356  }
  8357  
  8358  // Provides a summary of the forecast export job properties used in the ListForecastExportJobs
  8359  // operation. To get the complete set of properties, call the DescribeForecastExportJob
  8360  // operation, and provide the listed ForecastExportJobArn.
  8361  type ForecastExportJobSummary struct {
  8362  	_ struct{} `type:"structure"`
  8363  
  8364  	// When the forecast export job was created.
  8365  	CreationTime *time.Time `type:"timestamp"`
  8366  
  8367  	// The path to the Amazon Simple Storage Service (Amazon S3) bucket where the
  8368  	// forecast is exported.
  8369  	Destination *DataDestination `type:"structure"`
  8370  
  8371  	// The Amazon Resource Name (ARN) of the forecast export job.
  8372  	ForecastExportJobArn *string `type:"string"`
  8373  
  8374  	// The name of the forecast export job.
  8375  	ForecastExportJobName *string `min:"1" type:"string"`
  8376  
  8377  	// The last time the resource was modified. The timestamp depends on the status
  8378  	// of the job:
  8379  	//
  8380  	//    * CREATE_PENDING - The CreationTime.
  8381  	//
  8382  	//    * CREATE_IN_PROGRESS - The current timestamp.
  8383  	//
  8384  	//    * CREATE_STOPPING - The current timestamp.
  8385  	//
  8386  	//    * CREATE_STOPPED - When the job stopped.
  8387  	//
  8388  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  8389  	LastModificationTime *time.Time `type:"timestamp"`
  8390  
  8391  	// If an error occurred, an informational message about the error.
  8392  	Message *string `type:"string"`
  8393  
  8394  	// The status of the forecast export job. States include:
  8395  	//
  8396  	//    * ACTIVE
  8397  	//
  8398  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  8399  	//
  8400  	//    * CREATE_STOPPING, CREATE_STOPPED
  8401  	//
  8402  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  8403  	//
  8404  	// The Status of the forecast export job must be ACTIVE before you can access
  8405  	// the forecast in your S3 bucket.
  8406  	Status *string `type:"string"`
  8407  }
  8408  
  8409  // String returns the string representation.
  8410  //
  8411  // API parameter values that are decorated as "sensitive" in the API will not
  8412  // be included in the string output. The member name will be present, but the
  8413  // value will be replaced with "sensitive".
  8414  func (s ForecastExportJobSummary) String() string {
  8415  	return awsutil.Prettify(s)
  8416  }
  8417  
  8418  // GoString returns the string representation.
  8419  //
  8420  // API parameter values that are decorated as "sensitive" in the API will not
  8421  // be included in the string output. The member name will be present, but the
  8422  // value will be replaced with "sensitive".
  8423  func (s ForecastExportJobSummary) GoString() string {
  8424  	return s.String()
  8425  }
  8426  
  8427  // SetCreationTime sets the CreationTime field's value.
  8428  func (s *ForecastExportJobSummary) SetCreationTime(v time.Time) *ForecastExportJobSummary {
  8429  	s.CreationTime = &v
  8430  	return s
  8431  }
  8432  
  8433  // SetDestination sets the Destination field's value.
  8434  func (s *ForecastExportJobSummary) SetDestination(v *DataDestination) *ForecastExportJobSummary {
  8435  	s.Destination = v
  8436  	return s
  8437  }
  8438  
  8439  // SetForecastExportJobArn sets the ForecastExportJobArn field's value.
  8440  func (s *ForecastExportJobSummary) SetForecastExportJobArn(v string) *ForecastExportJobSummary {
  8441  	s.ForecastExportJobArn = &v
  8442  	return s
  8443  }
  8444  
  8445  // SetForecastExportJobName sets the ForecastExportJobName field's value.
  8446  func (s *ForecastExportJobSummary) SetForecastExportJobName(v string) *ForecastExportJobSummary {
  8447  	s.ForecastExportJobName = &v
  8448  	return s
  8449  }
  8450  
  8451  // SetLastModificationTime sets the LastModificationTime field's value.
  8452  func (s *ForecastExportJobSummary) SetLastModificationTime(v time.Time) *ForecastExportJobSummary {
  8453  	s.LastModificationTime = &v
  8454  	return s
  8455  }
  8456  
  8457  // SetMessage sets the Message field's value.
  8458  func (s *ForecastExportJobSummary) SetMessage(v string) *ForecastExportJobSummary {
  8459  	s.Message = &v
  8460  	return s
  8461  }
  8462  
  8463  // SetStatus sets the Status field's value.
  8464  func (s *ForecastExportJobSummary) SetStatus(v string) *ForecastExportJobSummary {
  8465  	s.Status = &v
  8466  	return s
  8467  }
  8468  
  8469  // Provides a summary of the forecast properties used in the ListForecasts operation.
  8470  // To get the complete set of properties, call the DescribeForecast operation,
  8471  // and provide the ForecastArn that is listed in the summary.
  8472  type ForecastSummary struct {
  8473  	_ struct{} `type:"structure"`
  8474  
  8475  	// When the forecast creation task was created.
  8476  	CreationTime *time.Time `type:"timestamp"`
  8477  
  8478  	// The Amazon Resource Name (ARN) of the dataset group that provided the data
  8479  	// used to train the predictor.
  8480  	DatasetGroupArn *string `type:"string"`
  8481  
  8482  	// The ARN of the forecast.
  8483  	ForecastArn *string `type:"string"`
  8484  
  8485  	// The name of the forecast.
  8486  	ForecastName *string `min:"1" type:"string"`
  8487  
  8488  	// The last time the resource was modified. The timestamp depends on the status
  8489  	// of the job:
  8490  	//
  8491  	//    * CREATE_PENDING - The CreationTime.
  8492  	//
  8493  	//    * CREATE_IN_PROGRESS - The current timestamp.
  8494  	//
  8495  	//    * CREATE_STOPPING - The current timestamp.
  8496  	//
  8497  	//    * CREATE_STOPPED - When the job stopped.
  8498  	//
  8499  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
  8500  	LastModificationTime *time.Time `type:"timestamp"`
  8501  
  8502  	// If an error occurred, an informational message about the error.
  8503  	Message *string `type:"string"`
  8504  
  8505  	// The ARN of the predictor used to generate the forecast.
  8506  	PredictorArn *string `type:"string"`
  8507  
  8508  	// The status of the forecast. States include:
  8509  	//
  8510  	//    * ACTIVE
  8511  	//
  8512  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
  8513  	//
  8514  	//    * CREATE_STOPPING, CREATE_STOPPED
  8515  	//
  8516  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
  8517  	//
  8518  	// The Status of the forecast must be ACTIVE before you can query or export
  8519  	// the forecast.
  8520  	Status *string `type:"string"`
  8521  }
  8522  
  8523  // String returns the string representation.
  8524  //
  8525  // API parameter values that are decorated as "sensitive" in the API will not
  8526  // be included in the string output. The member name will be present, but the
  8527  // value will be replaced with "sensitive".
  8528  func (s ForecastSummary) String() string {
  8529  	return awsutil.Prettify(s)
  8530  }
  8531  
  8532  // GoString returns the string representation.
  8533  //
  8534  // API parameter values that are decorated as "sensitive" in the API will not
  8535  // be included in the string output. The member name will be present, but the
  8536  // value will be replaced with "sensitive".
  8537  func (s ForecastSummary) GoString() string {
  8538  	return s.String()
  8539  }
  8540  
  8541  // SetCreationTime sets the CreationTime field's value.
  8542  func (s *ForecastSummary) SetCreationTime(v time.Time) *ForecastSummary {
  8543  	s.CreationTime = &v
  8544  	return s
  8545  }
  8546  
  8547  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  8548  func (s *ForecastSummary) SetDatasetGroupArn(v string) *ForecastSummary {
  8549  	s.DatasetGroupArn = &v
  8550  	return s
  8551  }
  8552  
  8553  // SetForecastArn sets the ForecastArn field's value.
  8554  func (s *ForecastSummary) SetForecastArn(v string) *ForecastSummary {
  8555  	s.ForecastArn = &v
  8556  	return s
  8557  }
  8558  
  8559  // SetForecastName sets the ForecastName field's value.
  8560  func (s *ForecastSummary) SetForecastName(v string) *ForecastSummary {
  8561  	s.ForecastName = &v
  8562  	return s
  8563  }
  8564  
  8565  // SetLastModificationTime sets the LastModificationTime field's value.
  8566  func (s *ForecastSummary) SetLastModificationTime(v time.Time) *ForecastSummary {
  8567  	s.LastModificationTime = &v
  8568  	return s
  8569  }
  8570  
  8571  // SetMessage sets the Message field's value.
  8572  func (s *ForecastSummary) SetMessage(v string) *ForecastSummary {
  8573  	s.Message = &v
  8574  	return s
  8575  }
  8576  
  8577  // SetPredictorArn sets the PredictorArn field's value.
  8578  func (s *ForecastSummary) SetPredictorArn(v string) *ForecastSummary {
  8579  	s.PredictorArn = &v
  8580  	return s
  8581  }
  8582  
  8583  // SetStatus sets the Status field's value.
  8584  func (s *ForecastSummary) SetStatus(v string) *ForecastSummary {
  8585  	s.Status = &v
  8586  	return s
  8587  }
  8588  
  8589  type GetAccuracyMetricsInput struct {
  8590  	_ struct{} `type:"structure"`
  8591  
  8592  	// The Amazon Resource Name (ARN) of the predictor to get metrics for.
  8593  	//
  8594  	// PredictorArn is a required field
  8595  	PredictorArn *string `type:"string" required:"true"`
  8596  }
  8597  
  8598  // String returns the string representation.
  8599  //
  8600  // API parameter values that are decorated as "sensitive" in the API will not
  8601  // be included in the string output. The member name will be present, but the
  8602  // value will be replaced with "sensitive".
  8603  func (s GetAccuracyMetricsInput) String() string {
  8604  	return awsutil.Prettify(s)
  8605  }
  8606  
  8607  // GoString returns the string representation.
  8608  //
  8609  // API parameter values that are decorated as "sensitive" in the API will not
  8610  // be included in the string output. The member name will be present, but the
  8611  // value will be replaced with "sensitive".
  8612  func (s GetAccuracyMetricsInput) GoString() string {
  8613  	return s.String()
  8614  }
  8615  
  8616  // Validate inspects the fields of the type to determine if they are valid.
  8617  func (s *GetAccuracyMetricsInput) Validate() error {
  8618  	invalidParams := request.ErrInvalidParams{Context: "GetAccuracyMetricsInput"}
  8619  	if s.PredictorArn == nil {
  8620  		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
  8621  	}
  8622  
  8623  	if invalidParams.Len() > 0 {
  8624  		return invalidParams
  8625  	}
  8626  	return nil
  8627  }
  8628  
  8629  // SetPredictorArn sets the PredictorArn field's value.
  8630  func (s *GetAccuracyMetricsInput) SetPredictorArn(v string) *GetAccuracyMetricsInput {
  8631  	s.PredictorArn = &v
  8632  	return s
  8633  }
  8634  
  8635  type GetAccuracyMetricsOutput struct {
  8636  	_ struct{} `type:"structure"`
  8637  
  8638  	//
  8639  	// The LatencyOptimized AutoML override strategy is only available in private
  8640  	// beta. Contact AWS Support or your account manager to learn more about access
  8641  	// privileges.
  8642  	//
  8643  	// The AutoML strategy used to train the predictor. Unless LatencyOptimized
  8644  	// is specified, the AutoML strategy optimizes predictor accuracy.
  8645  	//
  8646  	// This parameter is only valid for predictors trained using AutoML.
  8647  	AutoMLOverrideStrategy *string `type:"string" enum:"AutoMLOverrideStrategy"`
  8648  
  8649  	// The accuracy metric used to optimize the predictor.
  8650  	OptimizationMetric *string `type:"string" enum:"OptimizationMetric"`
  8651  
  8652  	// An array of results from evaluating the predictor.
  8653  	PredictorEvaluationResults []*EvaluationResult `type:"list"`
  8654  }
  8655  
  8656  // String returns the string representation.
  8657  //
  8658  // API parameter values that are decorated as "sensitive" in the API will not
  8659  // be included in the string output. The member name will be present, but the
  8660  // value will be replaced with "sensitive".
  8661  func (s GetAccuracyMetricsOutput) String() string {
  8662  	return awsutil.Prettify(s)
  8663  }
  8664  
  8665  // GoString returns the string representation.
  8666  //
  8667  // API parameter values that are decorated as "sensitive" in the API will not
  8668  // be included in the string output. The member name will be present, but the
  8669  // value will be replaced with "sensitive".
  8670  func (s GetAccuracyMetricsOutput) GoString() string {
  8671  	return s.String()
  8672  }
  8673  
  8674  // SetAutoMLOverrideStrategy sets the AutoMLOverrideStrategy field's value.
  8675  func (s *GetAccuracyMetricsOutput) SetAutoMLOverrideStrategy(v string) *GetAccuracyMetricsOutput {
  8676  	s.AutoMLOverrideStrategy = &v
  8677  	return s
  8678  }
  8679  
  8680  // SetOptimizationMetric sets the OptimizationMetric field's value.
  8681  func (s *GetAccuracyMetricsOutput) SetOptimizationMetric(v string) *GetAccuracyMetricsOutput {
  8682  	s.OptimizationMetric = &v
  8683  	return s
  8684  }
  8685  
  8686  // SetPredictorEvaluationResults sets the PredictorEvaluationResults field's value.
  8687  func (s *GetAccuracyMetricsOutput) SetPredictorEvaluationResults(v []*EvaluationResult) *GetAccuracyMetricsOutput {
  8688  	s.PredictorEvaluationResults = v
  8689  	return s
  8690  }
  8691  
  8692  // Configuration information for a hyperparameter tuning job. You specify this
  8693  // object in the CreatePredictor request.
  8694  //
  8695  // A hyperparameter is a parameter that governs the model training process.
  8696  // You set hyperparameters before training starts, unlike model parameters,
  8697  // which are determined during training. The values of the hyperparameters effect
  8698  // which values are chosen for the model parameters.
  8699  //
  8700  // In a hyperparameter tuning job, Amazon Forecast chooses the set of hyperparameter
  8701  // values that optimize a specified metric. Forecast accomplishes this by running
  8702  // many training jobs over a range of hyperparameter values. The optimum set
  8703  // of values depends on the algorithm, the training data, and the specified
  8704  // metric objective.
  8705  type HyperParameterTuningJobConfig struct {
  8706  	_ struct{} `type:"structure"`
  8707  
  8708  	// Specifies the ranges of valid values for the hyperparameters.
  8709  	ParameterRanges *ParameterRanges `type:"structure"`
  8710  }
  8711  
  8712  // String returns the string representation.
  8713  //
  8714  // API parameter values that are decorated as "sensitive" in the API will not
  8715  // be included in the string output. The member name will be present, but the
  8716  // value will be replaced with "sensitive".
  8717  func (s HyperParameterTuningJobConfig) String() string {
  8718  	return awsutil.Prettify(s)
  8719  }
  8720  
  8721  // GoString returns the string representation.
  8722  //
  8723  // API parameter values that are decorated as "sensitive" in the API will not
  8724  // be included in the string output. The member name will be present, but the
  8725  // value will be replaced with "sensitive".
  8726  func (s HyperParameterTuningJobConfig) GoString() string {
  8727  	return s.String()
  8728  }
  8729  
  8730  // Validate inspects the fields of the type to determine if they are valid.
  8731  func (s *HyperParameterTuningJobConfig) Validate() error {
  8732  	invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobConfig"}
  8733  	if s.ParameterRanges != nil {
  8734  		if err := s.ParameterRanges.Validate(); err != nil {
  8735  			invalidParams.AddNested("ParameterRanges", err.(request.ErrInvalidParams))
  8736  		}
  8737  	}
  8738  
  8739  	if invalidParams.Len() > 0 {
  8740  		return invalidParams
  8741  	}
  8742  	return nil
  8743  }
  8744  
  8745  // SetParameterRanges sets the ParameterRanges field's value.
  8746  func (s *HyperParameterTuningJobConfig) SetParameterRanges(v *ParameterRanges) *HyperParameterTuningJobConfig {
  8747  	s.ParameterRanges = v
  8748  	return s
  8749  }
  8750  
  8751  // The data used to train a predictor. The data includes a dataset group and
  8752  // any supplementary features. You specify this object in the CreatePredictor
  8753  // request.
  8754  type InputDataConfig struct {
  8755  	_ struct{} `type:"structure"`
  8756  
  8757  	// The Amazon Resource Name (ARN) of the dataset group.
  8758  	//
  8759  	// DatasetGroupArn is a required field
  8760  	DatasetGroupArn *string `type:"string" required:"true"`
  8761  
  8762  	// An array of supplementary features. The only supported feature is a holiday
  8763  	// calendar.
  8764  	SupplementaryFeatures []*SupplementaryFeature `min:"1" type:"list"`
  8765  }
  8766  
  8767  // String returns the string representation.
  8768  //
  8769  // API parameter values that are decorated as "sensitive" in the API will not
  8770  // be included in the string output. The member name will be present, but the
  8771  // value will be replaced with "sensitive".
  8772  func (s InputDataConfig) String() string {
  8773  	return awsutil.Prettify(s)
  8774  }
  8775  
  8776  // GoString returns the string representation.
  8777  //
  8778  // API parameter values that are decorated as "sensitive" in the API will not
  8779  // be included in the string output. The member name will be present, but the
  8780  // value will be replaced with "sensitive".
  8781  func (s InputDataConfig) GoString() string {
  8782  	return s.String()
  8783  }
  8784  
  8785  // Validate inspects the fields of the type to determine if they are valid.
  8786  func (s *InputDataConfig) Validate() error {
  8787  	invalidParams := request.ErrInvalidParams{Context: "InputDataConfig"}
  8788  	if s.DatasetGroupArn == nil {
  8789  		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
  8790  	}
  8791  	if s.SupplementaryFeatures != nil && len(s.SupplementaryFeatures) < 1 {
  8792  		invalidParams.Add(request.NewErrParamMinLen("SupplementaryFeatures", 1))
  8793  	}
  8794  	if s.SupplementaryFeatures != nil {
  8795  		for i, v := range s.SupplementaryFeatures {
  8796  			if v == nil {
  8797  				continue
  8798  			}
  8799  			if err := v.Validate(); err != nil {
  8800  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SupplementaryFeatures", i), err.(request.ErrInvalidParams))
  8801  			}
  8802  		}
  8803  	}
  8804  
  8805  	if invalidParams.Len() > 0 {
  8806  		return invalidParams
  8807  	}
  8808  	return nil
  8809  }
  8810  
  8811  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
  8812  func (s *InputDataConfig) SetDatasetGroupArn(v string) *InputDataConfig {
  8813  	s.DatasetGroupArn = &v
  8814  	return s
  8815  }
  8816  
  8817  // SetSupplementaryFeatures sets the SupplementaryFeatures field's value.
  8818  func (s *InputDataConfig) SetSupplementaryFeatures(v []*SupplementaryFeature) *InputDataConfig {
  8819  	s.SupplementaryFeatures = v
  8820  	return s
  8821  }
  8822  
  8823  // Specifies an integer hyperparameter and it's range of tunable values. This
  8824  // object is part of the ParameterRanges object.
  8825  type IntegerParameterRange struct {
  8826  	_ struct{} `type:"structure"`
  8827  
  8828  	// The maximum tunable value of the hyperparameter.
  8829  	//
  8830  	// MaxValue is a required field
  8831  	MaxValue *int64 `type:"integer" required:"true"`
  8832  
  8833  	// The minimum tunable value of the hyperparameter.
  8834  	//
  8835  	// MinValue is a required field
  8836  	MinValue *int64 `type:"integer" required:"true"`
  8837  
  8838  	// The name of the hyperparameter to tune.
  8839  	//
  8840  	// Name is a required field
  8841  	Name *string `min:"1" type:"string" required:"true"`
  8842  
  8843  	// The scale that hyperparameter tuning uses to search the hyperparameter range.
  8844  	// Valid values:
  8845  	//
  8846  	// Auto
  8847  	//
  8848  	// Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.
  8849  	//
  8850  	// Linear
  8851  	//
  8852  	// Hyperparameter tuning searches the values in the hyperparameter range by
  8853  	// using a linear scale.
  8854  	//
  8855  	// Logarithmic
  8856  	//
  8857  	// Hyperparameter tuning searches the values in the hyperparameter range by
  8858  	// using a logarithmic scale.
  8859  	//
  8860  	// Logarithmic scaling works only for ranges that have values greater than 0.
  8861  	//
  8862  	// ReverseLogarithmic
  8863  	//
  8864  	// Not supported for IntegerParameterRange.
  8865  	//
  8866  	// Reverse logarithmic scaling works only for ranges that are entirely within
  8867  	// the range 0 <= x < 1.0.
  8868  	//
  8869  	// For information about choosing a hyperparameter scale, see Hyperparameter
  8870  	// Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type).
  8871  	// One of the following values:
  8872  	ScalingType *string `type:"string" enum:"ScalingType"`
  8873  }
  8874  
  8875  // String returns the string representation.
  8876  //
  8877  // API parameter values that are decorated as "sensitive" in the API will not
  8878  // be included in the string output. The member name will be present, but the
  8879  // value will be replaced with "sensitive".
  8880  func (s IntegerParameterRange) String() string {
  8881  	return awsutil.Prettify(s)
  8882  }
  8883  
  8884  // GoString returns the string representation.
  8885  //
  8886  // API parameter values that are decorated as "sensitive" in the API will not
  8887  // be included in the string output. The member name will be present, but the
  8888  // value will be replaced with "sensitive".
  8889  func (s IntegerParameterRange) GoString() string {
  8890  	return s.String()
  8891  }
  8892  
  8893  // Validate inspects the fields of the type to determine if they are valid.
  8894  func (s *IntegerParameterRange) Validate() error {
  8895  	invalidParams := request.ErrInvalidParams{Context: "IntegerParameterRange"}
  8896  	if s.MaxValue == nil {
  8897  		invalidParams.Add(request.NewErrParamRequired("MaxValue"))
  8898  	}
  8899  	if s.MinValue == nil {
  8900  		invalidParams.Add(request.NewErrParamRequired("MinValue"))
  8901  	}
  8902  	if s.Name == nil {
  8903  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8904  	}
  8905  	if s.Name != nil && len(*s.Name) < 1 {
  8906  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8907  	}
  8908  
  8909  	if invalidParams.Len() > 0 {
  8910  		return invalidParams
  8911  	}
  8912  	return nil
  8913  }
  8914  
  8915  // SetMaxValue sets the MaxValue field's value.
  8916  func (s *IntegerParameterRange) SetMaxValue(v int64) *IntegerParameterRange {
  8917  	s.MaxValue = &v
  8918  	return s
  8919  }
  8920  
  8921  // SetMinValue sets the MinValue field's value.
  8922  func (s *IntegerParameterRange) SetMinValue(v int64) *IntegerParameterRange {
  8923  	s.MinValue = &v
  8924  	return s
  8925  }
  8926  
  8927  // SetName sets the Name field's value.
  8928  func (s *IntegerParameterRange) SetName(v string) *IntegerParameterRange {
  8929  	s.Name = &v
  8930  	return s
  8931  }
  8932  
  8933  // SetScalingType sets the ScalingType field's value.
  8934  func (s *IntegerParameterRange) SetScalingType(v string) *IntegerParameterRange {
  8935  	s.ScalingType = &v
  8936  	return s
  8937  }
  8938  
  8939  // We can't process the request because it includes an invalid value or a value
  8940  // that exceeds the valid range.
  8941  type InvalidInputException struct {
  8942  	_            struct{}                  `type:"structure"`
  8943  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8944  
  8945  	Message_ *string `locationName:"Message" type:"string"`
  8946  }
  8947  
  8948  // String returns the string representation.
  8949  //
  8950  // API parameter values that are decorated as "sensitive" in the API will not
  8951  // be included in the string output. The member name will be present, but the
  8952  // value will be replaced with "sensitive".
  8953  func (s InvalidInputException) String() string {
  8954  	return awsutil.Prettify(s)
  8955  }
  8956  
  8957  // GoString returns the string representation.
  8958  //
  8959  // API parameter values that are decorated as "sensitive" in the API will not
  8960  // be included in the string output. The member name will be present, but the
  8961  // value will be replaced with "sensitive".
  8962  func (s InvalidInputException) GoString() string {
  8963  	return s.String()
  8964  }
  8965  
  8966  func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
  8967  	return &InvalidInputException{
  8968  		RespMetadata: v,
  8969  	}
  8970  }
  8971  
  8972  // Code returns the exception type name.
  8973  func (s *InvalidInputException) Code() string {
  8974  	return "InvalidInputException"
  8975  }
  8976  
  8977  // Message returns the exception's message.
  8978  func (s *InvalidInputException) Message() string {
  8979  	if s.Message_ != nil {
  8980  		return *s.Message_
  8981  	}
  8982  	return ""
  8983  }
  8984  
  8985  // OrigErr always returns nil, satisfies awserr.Error interface.
  8986  func (s *InvalidInputException) OrigErr() error {
  8987  	return nil
  8988  }
  8989  
  8990  func (s *InvalidInputException) Error() string {
  8991  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8992  }
  8993  
  8994  // Status code returns the HTTP status code for the request's response error.
  8995  func (s *InvalidInputException) StatusCode() int {
  8996  	return s.RespMetadata.StatusCode
  8997  }
  8998  
  8999  // RequestID returns the service's response RequestID for request.
  9000  func (s *InvalidInputException) RequestID() string {
  9001  	return s.RespMetadata.RequestID
  9002  }
  9003  
  9004  // The token is not valid. Tokens expire after 24 hours.
  9005  type InvalidNextTokenException struct {
  9006  	_            struct{}                  `type:"structure"`
  9007  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9008  
  9009  	Message_ *string `locationName:"Message" type:"string"`
  9010  }
  9011  
  9012  // String returns the string representation.
  9013  //
  9014  // API parameter values that are decorated as "sensitive" in the API will not
  9015  // be included in the string output. The member name will be present, but the
  9016  // value will be replaced with "sensitive".
  9017  func (s InvalidNextTokenException) String() string {
  9018  	return awsutil.Prettify(s)
  9019  }
  9020  
  9021  // GoString returns the string representation.
  9022  //
  9023  // API parameter values that are decorated as "sensitive" in the API will not
  9024  // be included in the string output. The member name will be present, but the
  9025  // value will be replaced with "sensitive".
  9026  func (s InvalidNextTokenException) GoString() string {
  9027  	return s.String()
  9028  }
  9029  
  9030  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
  9031  	return &InvalidNextTokenException{
  9032  		RespMetadata: v,
  9033  	}
  9034  }
  9035  
  9036  // Code returns the exception type name.
  9037  func (s *InvalidNextTokenException) Code() string {
  9038  	return "InvalidNextTokenException"
  9039  }
  9040  
  9041  // Message returns the exception's message.
  9042  func (s *InvalidNextTokenException) Message() string {
  9043  	if s.Message_ != nil {
  9044  		return *s.Message_
  9045  	}
  9046  	return ""
  9047  }
  9048  
  9049  // OrigErr always returns nil, satisfies awserr.Error interface.
  9050  func (s *InvalidNextTokenException) OrigErr() error {
  9051  	return nil
  9052  }
  9053  
  9054  func (s *InvalidNextTokenException) Error() string {
  9055  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9056  }
  9057  
  9058  // Status code returns the HTTP status code for the request's response error.
  9059  func (s *InvalidNextTokenException) StatusCode() int {
  9060  	return s.RespMetadata.StatusCode
  9061  }
  9062  
  9063  // RequestID returns the service's response RequestID for request.
  9064  func (s *InvalidNextTokenException) RequestID() string {
  9065  	return s.RespMetadata.RequestID
  9066  }
  9067  
  9068  // The limit on the number of resources per account has been exceeded.
  9069  type LimitExceededException struct {
  9070  	_            struct{}                  `type:"structure"`
  9071  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9072  
  9073  	Message_ *string `locationName:"Message" type:"string"`
  9074  }
  9075  
  9076  // String returns the string representation.
  9077  //
  9078  // API parameter values that are decorated as "sensitive" in the API will not
  9079  // be included in the string output. The member name will be present, but the
  9080  // value will be replaced with "sensitive".
  9081  func (s LimitExceededException) String() string {
  9082  	return awsutil.Prettify(s)
  9083  }
  9084  
  9085  // GoString returns the string representation.
  9086  //
  9087  // API parameter values that are decorated as "sensitive" in the API will not
  9088  // be included in the string output. The member name will be present, but the
  9089  // value will be replaced with "sensitive".
  9090  func (s LimitExceededException) GoString() string {
  9091  	return s.String()
  9092  }
  9093  
  9094  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
  9095  	return &LimitExceededException{
  9096  		RespMetadata: v,
  9097  	}
  9098  }
  9099  
  9100  // Code returns the exception type name.
  9101  func (s *LimitExceededException) Code() string {
  9102  	return "LimitExceededException"
  9103  }
  9104  
  9105  // Message returns the exception's message.
  9106  func (s *LimitExceededException) Message() string {
  9107  	if s.Message_ != nil {
  9108  		return *s.Message_
  9109  	}
  9110  	return ""
  9111  }
  9112  
  9113  // OrigErr always returns nil, satisfies awserr.Error interface.
  9114  func (s *LimitExceededException) OrigErr() error {
  9115  	return nil
  9116  }
  9117  
  9118  func (s *LimitExceededException) Error() string {
  9119  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9120  }
  9121  
  9122  // Status code returns the HTTP status code for the request's response error.
  9123  func (s *LimitExceededException) StatusCode() int {
  9124  	return s.RespMetadata.StatusCode
  9125  }
  9126  
  9127  // RequestID returns the service's response RequestID for request.
  9128  func (s *LimitExceededException) RequestID() string {
  9129  	return s.RespMetadata.RequestID
  9130  }
  9131  
  9132  type ListDatasetGroupsInput struct {
  9133  	_ struct{} `type:"structure"`
  9134  
  9135  	// The number of items to return in the response.
  9136  	MaxResults *int64 `min:"1" type:"integer"`
  9137  
  9138  	// If the result of the previous request was truncated, the response includes
  9139  	// a NextToken. To retrieve the next set of results, use the token in the next
  9140  	// request. Tokens expire after 24 hours.
  9141  	NextToken *string `min:"1" type:"string"`
  9142  }
  9143  
  9144  // String returns the string representation.
  9145  //
  9146  // API parameter values that are decorated as "sensitive" in the API will not
  9147  // be included in the string output. The member name will be present, but the
  9148  // value will be replaced with "sensitive".
  9149  func (s ListDatasetGroupsInput) String() string {
  9150  	return awsutil.Prettify(s)
  9151  }
  9152  
  9153  // GoString returns the string representation.
  9154  //
  9155  // API parameter values that are decorated as "sensitive" in the API will not
  9156  // be included in the string output. The member name will be present, but the
  9157  // value will be replaced with "sensitive".
  9158  func (s ListDatasetGroupsInput) GoString() string {
  9159  	return s.String()
  9160  }
  9161  
  9162  // Validate inspects the fields of the type to determine if they are valid.
  9163  func (s *ListDatasetGroupsInput) Validate() error {
  9164  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetGroupsInput"}
  9165  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9166  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9167  	}
  9168  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9169  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9170  	}
  9171  
  9172  	if invalidParams.Len() > 0 {
  9173  		return invalidParams
  9174  	}
  9175  	return nil
  9176  }
  9177  
  9178  // SetMaxResults sets the MaxResults field's value.
  9179  func (s *ListDatasetGroupsInput) SetMaxResults(v int64) *ListDatasetGroupsInput {
  9180  	s.MaxResults = &v
  9181  	return s
  9182  }
  9183  
  9184  // SetNextToken sets the NextToken field's value.
  9185  func (s *ListDatasetGroupsInput) SetNextToken(v string) *ListDatasetGroupsInput {
  9186  	s.NextToken = &v
  9187  	return s
  9188  }
  9189  
  9190  type ListDatasetGroupsOutput struct {
  9191  	_ struct{} `type:"structure"`
  9192  
  9193  	// An array of objects that summarize each dataset group's properties.
  9194  	DatasetGroups []*DatasetGroupSummary `type:"list"`
  9195  
  9196  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9197  	// the next set of results, use the token in the next request.
  9198  	NextToken *string `min:"1" type:"string"`
  9199  }
  9200  
  9201  // String returns the string representation.
  9202  //
  9203  // API parameter values that are decorated as "sensitive" in the API will not
  9204  // be included in the string output. The member name will be present, but the
  9205  // value will be replaced with "sensitive".
  9206  func (s ListDatasetGroupsOutput) String() string {
  9207  	return awsutil.Prettify(s)
  9208  }
  9209  
  9210  // GoString returns the string representation.
  9211  //
  9212  // API parameter values that are decorated as "sensitive" in the API will not
  9213  // be included in the string output. The member name will be present, but the
  9214  // value will be replaced with "sensitive".
  9215  func (s ListDatasetGroupsOutput) GoString() string {
  9216  	return s.String()
  9217  }
  9218  
  9219  // SetDatasetGroups sets the DatasetGroups field's value.
  9220  func (s *ListDatasetGroupsOutput) SetDatasetGroups(v []*DatasetGroupSummary) *ListDatasetGroupsOutput {
  9221  	s.DatasetGroups = v
  9222  	return s
  9223  }
  9224  
  9225  // SetNextToken sets the NextToken field's value.
  9226  func (s *ListDatasetGroupsOutput) SetNextToken(v string) *ListDatasetGroupsOutput {
  9227  	s.NextToken = &v
  9228  	return s
  9229  }
  9230  
  9231  type ListDatasetImportJobsInput struct {
  9232  	_ struct{} `type:"structure"`
  9233  
  9234  	// An array of filters. For each filter, you provide a condition and a match
  9235  	// statement. The condition is either IS or IS_NOT, which specifies whether
  9236  	// to include or exclude the datasets that match the statement from the list,
  9237  	// respectively. The match statement consists of a key and a value.
  9238  	//
  9239  	// Filter properties
  9240  	//
  9241  	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
  9242  	//    To include the datasets that match the statement, specify IS. To exclude
  9243  	//    matching datasets, specify IS_NOT.
  9244  	//
  9245  	//    * Key - The name of the parameter to filter on. Valid values are DatasetArn
  9246  	//    and Status.
  9247  	//
  9248  	//    * Value - The value to match.
  9249  	//
  9250  	// For example, to list all dataset import jobs whose status is ACTIVE, you
  9251  	// specify the following filter:
  9252  	//
  9253  	// "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ]
  9254  	Filters []*Filter `type:"list"`
  9255  
  9256  	// The number of items to return in the response.
  9257  	MaxResults *int64 `min:"1" type:"integer"`
  9258  
  9259  	// If the result of the previous request was truncated, the response includes
  9260  	// a NextToken. To retrieve the next set of results, use the token in the next
  9261  	// request. Tokens expire after 24 hours.
  9262  	NextToken *string `min:"1" type:"string"`
  9263  }
  9264  
  9265  // String returns the string representation.
  9266  //
  9267  // API parameter values that are decorated as "sensitive" in the API will not
  9268  // be included in the string output. The member name will be present, but the
  9269  // value will be replaced with "sensitive".
  9270  func (s ListDatasetImportJobsInput) String() string {
  9271  	return awsutil.Prettify(s)
  9272  }
  9273  
  9274  // GoString returns the string representation.
  9275  //
  9276  // API parameter values that are decorated as "sensitive" in the API will not
  9277  // be included in the string output. The member name will be present, but the
  9278  // value will be replaced with "sensitive".
  9279  func (s ListDatasetImportJobsInput) GoString() string {
  9280  	return s.String()
  9281  }
  9282  
  9283  // Validate inspects the fields of the type to determine if they are valid.
  9284  func (s *ListDatasetImportJobsInput) Validate() error {
  9285  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetImportJobsInput"}
  9286  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9287  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9288  	}
  9289  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9290  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9291  	}
  9292  	if s.Filters != nil {
  9293  		for i, v := range s.Filters {
  9294  			if v == nil {
  9295  				continue
  9296  			}
  9297  			if err := v.Validate(); err != nil {
  9298  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9299  			}
  9300  		}
  9301  	}
  9302  
  9303  	if invalidParams.Len() > 0 {
  9304  		return invalidParams
  9305  	}
  9306  	return nil
  9307  }
  9308  
  9309  // SetFilters sets the Filters field's value.
  9310  func (s *ListDatasetImportJobsInput) SetFilters(v []*Filter) *ListDatasetImportJobsInput {
  9311  	s.Filters = v
  9312  	return s
  9313  }
  9314  
  9315  // SetMaxResults sets the MaxResults field's value.
  9316  func (s *ListDatasetImportJobsInput) SetMaxResults(v int64) *ListDatasetImportJobsInput {
  9317  	s.MaxResults = &v
  9318  	return s
  9319  }
  9320  
  9321  // SetNextToken sets the NextToken field's value.
  9322  func (s *ListDatasetImportJobsInput) SetNextToken(v string) *ListDatasetImportJobsInput {
  9323  	s.NextToken = &v
  9324  	return s
  9325  }
  9326  
  9327  type ListDatasetImportJobsOutput struct {
  9328  	_ struct{} `type:"structure"`
  9329  
  9330  	// An array of objects that summarize each dataset import job's properties.
  9331  	DatasetImportJobs []*DatasetImportJobSummary `type:"list"`
  9332  
  9333  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9334  	// the next set of results, use the token in the next request.
  9335  	NextToken *string `min:"1" type:"string"`
  9336  }
  9337  
  9338  // String returns the string representation.
  9339  //
  9340  // API parameter values that are decorated as "sensitive" in the API will not
  9341  // be included in the string output. The member name will be present, but the
  9342  // value will be replaced with "sensitive".
  9343  func (s ListDatasetImportJobsOutput) String() string {
  9344  	return awsutil.Prettify(s)
  9345  }
  9346  
  9347  // GoString returns the string representation.
  9348  //
  9349  // API parameter values that are decorated as "sensitive" in the API will not
  9350  // be included in the string output. The member name will be present, but the
  9351  // value will be replaced with "sensitive".
  9352  func (s ListDatasetImportJobsOutput) GoString() string {
  9353  	return s.String()
  9354  }
  9355  
  9356  // SetDatasetImportJobs sets the DatasetImportJobs field's value.
  9357  func (s *ListDatasetImportJobsOutput) SetDatasetImportJobs(v []*DatasetImportJobSummary) *ListDatasetImportJobsOutput {
  9358  	s.DatasetImportJobs = v
  9359  	return s
  9360  }
  9361  
  9362  // SetNextToken sets the NextToken field's value.
  9363  func (s *ListDatasetImportJobsOutput) SetNextToken(v string) *ListDatasetImportJobsOutput {
  9364  	s.NextToken = &v
  9365  	return s
  9366  }
  9367  
  9368  type ListDatasetsInput struct {
  9369  	_ struct{} `type:"structure"`
  9370  
  9371  	// The number of items to return in the response.
  9372  	MaxResults *int64 `min:"1" type:"integer"`
  9373  
  9374  	// If the result of the previous request was truncated, the response includes
  9375  	// a NextToken. To retrieve the next set of results, use the token in the next
  9376  	// request. Tokens expire after 24 hours.
  9377  	NextToken *string `min:"1" type:"string"`
  9378  }
  9379  
  9380  // String returns the string representation.
  9381  //
  9382  // API parameter values that are decorated as "sensitive" in the API will not
  9383  // be included in the string output. The member name will be present, but the
  9384  // value will be replaced with "sensitive".
  9385  func (s ListDatasetsInput) String() string {
  9386  	return awsutil.Prettify(s)
  9387  }
  9388  
  9389  // GoString returns the string representation.
  9390  //
  9391  // API parameter values that are decorated as "sensitive" in the API will not
  9392  // be included in the string output. The member name will be present, but the
  9393  // value will be replaced with "sensitive".
  9394  func (s ListDatasetsInput) GoString() string {
  9395  	return s.String()
  9396  }
  9397  
  9398  // Validate inspects the fields of the type to determine if they are valid.
  9399  func (s *ListDatasetsInput) Validate() error {
  9400  	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
  9401  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9402  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9403  	}
  9404  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9405  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9406  	}
  9407  
  9408  	if invalidParams.Len() > 0 {
  9409  		return invalidParams
  9410  	}
  9411  	return nil
  9412  }
  9413  
  9414  // SetMaxResults sets the MaxResults field's value.
  9415  func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
  9416  	s.MaxResults = &v
  9417  	return s
  9418  }
  9419  
  9420  // SetNextToken sets the NextToken field's value.
  9421  func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
  9422  	s.NextToken = &v
  9423  	return s
  9424  }
  9425  
  9426  type ListDatasetsOutput struct {
  9427  	_ struct{} `type:"structure"`
  9428  
  9429  	// An array of objects that summarize each dataset's properties.
  9430  	Datasets []*DatasetSummary `type:"list"`
  9431  
  9432  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9433  	// the next set of results, use the token in the next request.
  9434  	NextToken *string `min:"1" type:"string"`
  9435  }
  9436  
  9437  // String returns the string representation.
  9438  //
  9439  // API parameter values that are decorated as "sensitive" in the API will not
  9440  // be included in the string output. The member name will be present, but the
  9441  // value will be replaced with "sensitive".
  9442  func (s ListDatasetsOutput) String() string {
  9443  	return awsutil.Prettify(s)
  9444  }
  9445  
  9446  // GoString returns the string representation.
  9447  //
  9448  // API parameter values that are decorated as "sensitive" in the API will not
  9449  // be included in the string output. The member name will be present, but the
  9450  // value will be replaced with "sensitive".
  9451  func (s ListDatasetsOutput) GoString() string {
  9452  	return s.String()
  9453  }
  9454  
  9455  // SetDatasets sets the Datasets field's value.
  9456  func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput {
  9457  	s.Datasets = v
  9458  	return s
  9459  }
  9460  
  9461  // SetNextToken sets the NextToken field's value.
  9462  func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
  9463  	s.NextToken = &v
  9464  	return s
  9465  }
  9466  
  9467  type ListForecastExportJobsInput struct {
  9468  	_ struct{} `type:"structure"`
  9469  
  9470  	// An array of filters. For each filter, you provide a condition and a match
  9471  	// statement. The condition is either IS or IS_NOT, which specifies whether
  9472  	// to include or exclude the forecast export jobs that match the statement from
  9473  	// the list, respectively. The match statement consists of a key and a value.
  9474  	//
  9475  	// Filter properties
  9476  	//
  9477  	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
  9478  	//    To include the forecast export jobs that match the statement, specify
  9479  	//    IS. To exclude matching forecast export jobs, specify IS_NOT.
  9480  	//
  9481  	//    * Key - The name of the parameter to filter on. Valid values are ForecastArn
  9482  	//    and Status.
  9483  	//
  9484  	//    * Value - The value to match.
  9485  	//
  9486  	// For example, to list all jobs that export a forecast named electricityforecast,
  9487  	// specify the following filter:
  9488  	//
  9489  	// "Filters": [ { "Condition": "IS", "Key": "ForecastArn", "Value": "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityforecast"
  9490  	// } ]
  9491  	Filters []*Filter `type:"list"`
  9492  
  9493  	// The number of items to return in the response.
  9494  	MaxResults *int64 `min:"1" type:"integer"`
  9495  
  9496  	// If the result of the previous request was truncated, the response includes
  9497  	// a NextToken. To retrieve the next set of results, use the token in the next
  9498  	// request. Tokens expire after 24 hours.
  9499  	NextToken *string `min:"1" type:"string"`
  9500  }
  9501  
  9502  // String returns the string representation.
  9503  //
  9504  // API parameter values that are decorated as "sensitive" in the API will not
  9505  // be included in the string output. The member name will be present, but the
  9506  // value will be replaced with "sensitive".
  9507  func (s ListForecastExportJobsInput) String() string {
  9508  	return awsutil.Prettify(s)
  9509  }
  9510  
  9511  // GoString returns the string representation.
  9512  //
  9513  // API parameter values that are decorated as "sensitive" in the API will not
  9514  // be included in the string output. The member name will be present, but the
  9515  // value will be replaced with "sensitive".
  9516  func (s ListForecastExportJobsInput) GoString() string {
  9517  	return s.String()
  9518  }
  9519  
  9520  // Validate inspects the fields of the type to determine if they are valid.
  9521  func (s *ListForecastExportJobsInput) Validate() error {
  9522  	invalidParams := request.ErrInvalidParams{Context: "ListForecastExportJobsInput"}
  9523  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9524  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9525  	}
  9526  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9527  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9528  	}
  9529  	if s.Filters != nil {
  9530  		for i, v := range s.Filters {
  9531  			if v == nil {
  9532  				continue
  9533  			}
  9534  			if err := v.Validate(); err != nil {
  9535  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9536  			}
  9537  		}
  9538  	}
  9539  
  9540  	if invalidParams.Len() > 0 {
  9541  		return invalidParams
  9542  	}
  9543  	return nil
  9544  }
  9545  
  9546  // SetFilters sets the Filters field's value.
  9547  func (s *ListForecastExportJobsInput) SetFilters(v []*Filter) *ListForecastExportJobsInput {
  9548  	s.Filters = v
  9549  	return s
  9550  }
  9551  
  9552  // SetMaxResults sets the MaxResults field's value.
  9553  func (s *ListForecastExportJobsInput) SetMaxResults(v int64) *ListForecastExportJobsInput {
  9554  	s.MaxResults = &v
  9555  	return s
  9556  }
  9557  
  9558  // SetNextToken sets the NextToken field's value.
  9559  func (s *ListForecastExportJobsInput) SetNextToken(v string) *ListForecastExportJobsInput {
  9560  	s.NextToken = &v
  9561  	return s
  9562  }
  9563  
  9564  type ListForecastExportJobsOutput struct {
  9565  	_ struct{} `type:"structure"`
  9566  
  9567  	// An array of objects that summarize each export job's properties.
  9568  	ForecastExportJobs []*ForecastExportJobSummary `type:"list"`
  9569  
  9570  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9571  	// the next set of results, use the token in the next request.
  9572  	NextToken *string `min:"1" type:"string"`
  9573  }
  9574  
  9575  // String returns the string representation.
  9576  //
  9577  // API parameter values that are decorated as "sensitive" in the API will not
  9578  // be included in the string output. The member name will be present, but the
  9579  // value will be replaced with "sensitive".
  9580  func (s ListForecastExportJobsOutput) String() string {
  9581  	return awsutil.Prettify(s)
  9582  }
  9583  
  9584  // GoString returns the string representation.
  9585  //
  9586  // API parameter values that are decorated as "sensitive" in the API will not
  9587  // be included in the string output. The member name will be present, but the
  9588  // value will be replaced with "sensitive".
  9589  func (s ListForecastExportJobsOutput) GoString() string {
  9590  	return s.String()
  9591  }
  9592  
  9593  // SetForecastExportJobs sets the ForecastExportJobs field's value.
  9594  func (s *ListForecastExportJobsOutput) SetForecastExportJobs(v []*ForecastExportJobSummary) *ListForecastExportJobsOutput {
  9595  	s.ForecastExportJobs = v
  9596  	return s
  9597  }
  9598  
  9599  // SetNextToken sets the NextToken field's value.
  9600  func (s *ListForecastExportJobsOutput) SetNextToken(v string) *ListForecastExportJobsOutput {
  9601  	s.NextToken = &v
  9602  	return s
  9603  }
  9604  
  9605  type ListForecastsInput struct {
  9606  	_ struct{} `type:"structure"`
  9607  
  9608  	// An array of filters. For each filter, you provide a condition and a match
  9609  	// statement. The condition is either IS or IS_NOT, which specifies whether
  9610  	// to include or exclude the forecasts that match the statement from the list,
  9611  	// respectively. The match statement consists of a key and a value.
  9612  	//
  9613  	// Filter properties
  9614  	//
  9615  	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
  9616  	//    To include the forecasts that match the statement, specify IS. To exclude
  9617  	//    matching forecasts, specify IS_NOT.
  9618  	//
  9619  	//    * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn,
  9620  	//    PredictorArn, and Status.
  9621  	//
  9622  	//    * Value - The value to match.
  9623  	//
  9624  	// For example, to list all forecasts whose status is not ACTIVE, you would
  9625  	// specify:
  9626  	//
  9627  	// "Filters": [ { "Condition": "IS_NOT", "Key": "Status", "Value": "ACTIVE"
  9628  	// } ]
  9629  	Filters []*Filter `type:"list"`
  9630  
  9631  	// The number of items to return in the response.
  9632  	MaxResults *int64 `min:"1" type:"integer"`
  9633  
  9634  	// If the result of the previous request was truncated, the response includes
  9635  	// a NextToken. To retrieve the next set of results, use the token in the next
  9636  	// request. Tokens expire after 24 hours.
  9637  	NextToken *string `min:"1" type:"string"`
  9638  }
  9639  
  9640  // String returns the string representation.
  9641  //
  9642  // API parameter values that are decorated as "sensitive" in the API will not
  9643  // be included in the string output. The member name will be present, but the
  9644  // value will be replaced with "sensitive".
  9645  func (s ListForecastsInput) String() string {
  9646  	return awsutil.Prettify(s)
  9647  }
  9648  
  9649  // GoString returns the string representation.
  9650  //
  9651  // API parameter values that are decorated as "sensitive" in the API will not
  9652  // be included in the string output. The member name will be present, but the
  9653  // value will be replaced with "sensitive".
  9654  func (s ListForecastsInput) GoString() string {
  9655  	return s.String()
  9656  }
  9657  
  9658  // Validate inspects the fields of the type to determine if they are valid.
  9659  func (s *ListForecastsInput) Validate() error {
  9660  	invalidParams := request.ErrInvalidParams{Context: "ListForecastsInput"}
  9661  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9662  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9663  	}
  9664  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9665  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9666  	}
  9667  	if s.Filters != nil {
  9668  		for i, v := range s.Filters {
  9669  			if v == nil {
  9670  				continue
  9671  			}
  9672  			if err := v.Validate(); err != nil {
  9673  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9674  			}
  9675  		}
  9676  	}
  9677  
  9678  	if invalidParams.Len() > 0 {
  9679  		return invalidParams
  9680  	}
  9681  	return nil
  9682  }
  9683  
  9684  // SetFilters sets the Filters field's value.
  9685  func (s *ListForecastsInput) SetFilters(v []*Filter) *ListForecastsInput {
  9686  	s.Filters = v
  9687  	return s
  9688  }
  9689  
  9690  // SetMaxResults sets the MaxResults field's value.
  9691  func (s *ListForecastsInput) SetMaxResults(v int64) *ListForecastsInput {
  9692  	s.MaxResults = &v
  9693  	return s
  9694  }
  9695  
  9696  // SetNextToken sets the NextToken field's value.
  9697  func (s *ListForecastsInput) SetNextToken(v string) *ListForecastsInput {
  9698  	s.NextToken = &v
  9699  	return s
  9700  }
  9701  
  9702  type ListForecastsOutput struct {
  9703  	_ struct{} `type:"structure"`
  9704  
  9705  	// An array of objects that summarize each forecast's properties.
  9706  	Forecasts []*ForecastSummary `type:"list"`
  9707  
  9708  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9709  	// the next set of results, use the token in the next request.
  9710  	NextToken *string `min:"1" type:"string"`
  9711  }
  9712  
  9713  // String returns the string representation.
  9714  //
  9715  // API parameter values that are decorated as "sensitive" in the API will not
  9716  // be included in the string output. The member name will be present, but the
  9717  // value will be replaced with "sensitive".
  9718  func (s ListForecastsOutput) String() string {
  9719  	return awsutil.Prettify(s)
  9720  }
  9721  
  9722  // GoString returns the string representation.
  9723  //
  9724  // API parameter values that are decorated as "sensitive" in the API will not
  9725  // be included in the string output. The member name will be present, but the
  9726  // value will be replaced with "sensitive".
  9727  func (s ListForecastsOutput) GoString() string {
  9728  	return s.String()
  9729  }
  9730  
  9731  // SetForecasts sets the Forecasts field's value.
  9732  func (s *ListForecastsOutput) SetForecasts(v []*ForecastSummary) *ListForecastsOutput {
  9733  	s.Forecasts = v
  9734  	return s
  9735  }
  9736  
  9737  // SetNextToken sets the NextToken field's value.
  9738  func (s *ListForecastsOutput) SetNextToken(v string) *ListForecastsOutput {
  9739  	s.NextToken = &v
  9740  	return s
  9741  }
  9742  
  9743  type ListPredictorBacktestExportJobsInput struct {
  9744  	_ struct{} `type:"structure"`
  9745  
  9746  	// An array of filters. For each filter, provide a condition and a match statement.
  9747  	// The condition is either IS or IS_NOT, which specifies whether to include
  9748  	// or exclude the predictor backtest export jobs that match the statement from
  9749  	// the list. The match statement consists of a key and a value.
  9750  	//
  9751  	// Filter properties
  9752  	//
  9753  	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
  9754  	//    To include the predictor backtest export jobs that match the statement,
  9755  	//    specify IS. To exclude matching predictor backtest export jobs, specify
  9756  	//    IS_NOT.
  9757  	//
  9758  	//    * Key - The name of the parameter to filter on. Valid values are PredictorArn
  9759  	//    and Status.
  9760  	//
  9761  	//    * Value - The value to match.
  9762  	Filters []*Filter `type:"list"`
  9763  
  9764  	// The number of items to return in the response.
  9765  	MaxResults *int64 `min:"1" type:"integer"`
  9766  
  9767  	// If the result of the previous request was truncated, the response includes
  9768  	// a NextToken. To retrieve the next set of results, use the token in the next
  9769  	// request. Tokens expire after 24 hours.
  9770  	NextToken *string `min:"1" type:"string"`
  9771  }
  9772  
  9773  // String returns the string representation.
  9774  //
  9775  // API parameter values that are decorated as "sensitive" in the API will not
  9776  // be included in the string output. The member name will be present, but the
  9777  // value will be replaced with "sensitive".
  9778  func (s ListPredictorBacktestExportJobsInput) String() string {
  9779  	return awsutil.Prettify(s)
  9780  }
  9781  
  9782  // GoString returns the string representation.
  9783  //
  9784  // API parameter values that are decorated as "sensitive" in the API will not
  9785  // be included in the string output. The member name will be present, but the
  9786  // value will be replaced with "sensitive".
  9787  func (s ListPredictorBacktestExportJobsInput) GoString() string {
  9788  	return s.String()
  9789  }
  9790  
  9791  // Validate inspects the fields of the type to determine if they are valid.
  9792  func (s *ListPredictorBacktestExportJobsInput) Validate() error {
  9793  	invalidParams := request.ErrInvalidParams{Context: "ListPredictorBacktestExportJobsInput"}
  9794  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9795  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9796  	}
  9797  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9798  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9799  	}
  9800  	if s.Filters != nil {
  9801  		for i, v := range s.Filters {
  9802  			if v == nil {
  9803  				continue
  9804  			}
  9805  			if err := v.Validate(); err != nil {
  9806  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9807  			}
  9808  		}
  9809  	}
  9810  
  9811  	if invalidParams.Len() > 0 {
  9812  		return invalidParams
  9813  	}
  9814  	return nil
  9815  }
  9816  
  9817  // SetFilters sets the Filters field's value.
  9818  func (s *ListPredictorBacktestExportJobsInput) SetFilters(v []*Filter) *ListPredictorBacktestExportJobsInput {
  9819  	s.Filters = v
  9820  	return s
  9821  }
  9822  
  9823  // SetMaxResults sets the MaxResults field's value.
  9824  func (s *ListPredictorBacktestExportJobsInput) SetMaxResults(v int64) *ListPredictorBacktestExportJobsInput {
  9825  	s.MaxResults = &v
  9826  	return s
  9827  }
  9828  
  9829  // SetNextToken sets the NextToken field's value.
  9830  func (s *ListPredictorBacktestExportJobsInput) SetNextToken(v string) *ListPredictorBacktestExportJobsInput {
  9831  	s.NextToken = &v
  9832  	return s
  9833  }
  9834  
  9835  type ListPredictorBacktestExportJobsOutput struct {
  9836  	_ struct{} `type:"structure"`
  9837  
  9838  	// Returns this token if the response is truncated. To retrieve the next set
  9839  	// of results, use the token in the next request.
  9840  	NextToken *string `min:"1" type:"string"`
  9841  
  9842  	// An array of objects that summarize the properties of each predictor backtest
  9843  	// export job.
  9844  	PredictorBacktestExportJobs []*PredictorBacktestExportJobSummary `type:"list"`
  9845  }
  9846  
  9847  // String returns the string representation.
  9848  //
  9849  // API parameter values that are decorated as "sensitive" in the API will not
  9850  // be included in the string output. The member name will be present, but the
  9851  // value will be replaced with "sensitive".
  9852  func (s ListPredictorBacktestExportJobsOutput) String() string {
  9853  	return awsutil.Prettify(s)
  9854  }
  9855  
  9856  // GoString returns the string representation.
  9857  //
  9858  // API parameter values that are decorated as "sensitive" in the API will not
  9859  // be included in the string output. The member name will be present, but the
  9860  // value will be replaced with "sensitive".
  9861  func (s ListPredictorBacktestExportJobsOutput) GoString() string {
  9862  	return s.String()
  9863  }
  9864  
  9865  // SetNextToken sets the NextToken field's value.
  9866  func (s *ListPredictorBacktestExportJobsOutput) SetNextToken(v string) *ListPredictorBacktestExportJobsOutput {
  9867  	s.NextToken = &v
  9868  	return s
  9869  }
  9870  
  9871  // SetPredictorBacktestExportJobs sets the PredictorBacktestExportJobs field's value.
  9872  func (s *ListPredictorBacktestExportJobsOutput) SetPredictorBacktestExportJobs(v []*PredictorBacktestExportJobSummary) *ListPredictorBacktestExportJobsOutput {
  9873  	s.PredictorBacktestExportJobs = v
  9874  	return s
  9875  }
  9876  
  9877  type ListPredictorsInput struct {
  9878  	_ struct{} `type:"structure"`
  9879  
  9880  	// An array of filters. For each filter, you provide a condition and a match
  9881  	// statement. The condition is either IS or IS_NOT, which specifies whether
  9882  	// to include or exclude the predictors that match the statement from the list,
  9883  	// respectively. The match statement consists of a key and a value.
  9884  	//
  9885  	// Filter properties
  9886  	//
  9887  	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
  9888  	//    To include the predictors that match the statement, specify IS. To exclude
  9889  	//    matching predictors, specify IS_NOT.
  9890  	//
  9891  	//    * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn
  9892  	//    and Status.
  9893  	//
  9894  	//    * Value - The value to match.
  9895  	//
  9896  	// For example, to list all predictors whose status is ACTIVE, you would specify:
  9897  	//
  9898  	// "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ]
  9899  	Filters []*Filter `type:"list"`
  9900  
  9901  	// The number of items to return in the response.
  9902  	MaxResults *int64 `min:"1" type:"integer"`
  9903  
  9904  	// If the result of the previous request was truncated, the response includes
  9905  	// a NextToken. To retrieve the next set of results, use the token in the next
  9906  	// request. Tokens expire after 24 hours.
  9907  	NextToken *string `min:"1" type:"string"`
  9908  }
  9909  
  9910  // String returns the string representation.
  9911  //
  9912  // API parameter values that are decorated as "sensitive" in the API will not
  9913  // be included in the string output. The member name will be present, but the
  9914  // value will be replaced with "sensitive".
  9915  func (s ListPredictorsInput) String() string {
  9916  	return awsutil.Prettify(s)
  9917  }
  9918  
  9919  // GoString returns the string representation.
  9920  //
  9921  // API parameter values that are decorated as "sensitive" in the API will not
  9922  // be included in the string output. The member name will be present, but the
  9923  // value will be replaced with "sensitive".
  9924  func (s ListPredictorsInput) GoString() string {
  9925  	return s.String()
  9926  }
  9927  
  9928  // Validate inspects the fields of the type to determine if they are valid.
  9929  func (s *ListPredictorsInput) Validate() error {
  9930  	invalidParams := request.ErrInvalidParams{Context: "ListPredictorsInput"}
  9931  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9932  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9933  	}
  9934  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9935  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9936  	}
  9937  	if s.Filters != nil {
  9938  		for i, v := range s.Filters {
  9939  			if v == nil {
  9940  				continue
  9941  			}
  9942  			if err := v.Validate(); err != nil {
  9943  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
  9944  			}
  9945  		}
  9946  	}
  9947  
  9948  	if invalidParams.Len() > 0 {
  9949  		return invalidParams
  9950  	}
  9951  	return nil
  9952  }
  9953  
  9954  // SetFilters sets the Filters field's value.
  9955  func (s *ListPredictorsInput) SetFilters(v []*Filter) *ListPredictorsInput {
  9956  	s.Filters = v
  9957  	return s
  9958  }
  9959  
  9960  // SetMaxResults sets the MaxResults field's value.
  9961  func (s *ListPredictorsInput) SetMaxResults(v int64) *ListPredictorsInput {
  9962  	s.MaxResults = &v
  9963  	return s
  9964  }
  9965  
  9966  // SetNextToken sets the NextToken field's value.
  9967  func (s *ListPredictorsInput) SetNextToken(v string) *ListPredictorsInput {
  9968  	s.NextToken = &v
  9969  	return s
  9970  }
  9971  
  9972  type ListPredictorsOutput struct {
  9973  	_ struct{} `type:"structure"`
  9974  
  9975  	// If the response is truncated, Amazon Forecast returns this token. To retrieve
  9976  	// the next set of results, use the token in the next request.
  9977  	NextToken *string `min:"1" type:"string"`
  9978  
  9979  	// An array of objects that summarize each predictor's properties.
  9980  	Predictors []*PredictorSummary `type:"list"`
  9981  }
  9982  
  9983  // String returns the string representation.
  9984  //
  9985  // API parameter values that are decorated as "sensitive" in the API will not
  9986  // be included in the string output. The member name will be present, but the
  9987  // value will be replaced with "sensitive".
  9988  func (s ListPredictorsOutput) String() string {
  9989  	return awsutil.Prettify(s)
  9990  }
  9991  
  9992  // GoString returns the string representation.
  9993  //
  9994  // API parameter values that are decorated as "sensitive" in the API will not
  9995  // be included in the string output. The member name will be present, but the
  9996  // value will be replaced with "sensitive".
  9997  func (s ListPredictorsOutput) GoString() string {
  9998  	return s.String()
  9999  }
 10000  
 10001  // SetNextToken sets the NextToken field's value.
 10002  func (s *ListPredictorsOutput) SetNextToken(v string) *ListPredictorsOutput {
 10003  	s.NextToken = &v
 10004  	return s
 10005  }
 10006  
 10007  // SetPredictors sets the Predictors field's value.
 10008  func (s *ListPredictorsOutput) SetPredictors(v []*PredictorSummary) *ListPredictorsOutput {
 10009  	s.Predictors = v
 10010  	return s
 10011  }
 10012  
 10013  type ListTagsForResourceInput struct {
 10014  	_ struct{} `type:"structure"`
 10015  
 10016  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 10017  	// list the tags. Currently, the supported resources are Forecast dataset groups,
 10018  	// datasets, dataset import jobs, predictors, forecasts, and forecast export
 10019  	// jobs.
 10020  	//
 10021  	// ResourceArn is a required field
 10022  	ResourceArn *string `type:"string" required:"true"`
 10023  }
 10024  
 10025  // String returns the string representation.
 10026  //
 10027  // API parameter values that are decorated as "sensitive" in the API will not
 10028  // be included in the string output. The member name will be present, but the
 10029  // value will be replaced with "sensitive".
 10030  func (s ListTagsForResourceInput) String() string {
 10031  	return awsutil.Prettify(s)
 10032  }
 10033  
 10034  // GoString returns the string representation.
 10035  //
 10036  // API parameter values that are decorated as "sensitive" in the API will not
 10037  // be included in the string output. The member name will be present, but the
 10038  // value will be replaced with "sensitive".
 10039  func (s ListTagsForResourceInput) GoString() string {
 10040  	return s.String()
 10041  }
 10042  
 10043  // Validate inspects the fields of the type to determine if they are valid.
 10044  func (s *ListTagsForResourceInput) Validate() error {
 10045  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10046  	if s.ResourceArn == nil {
 10047  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10048  	}
 10049  
 10050  	if invalidParams.Len() > 0 {
 10051  		return invalidParams
 10052  	}
 10053  	return nil
 10054  }
 10055  
 10056  // SetResourceArn sets the ResourceArn field's value.
 10057  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 10058  	s.ResourceArn = &v
 10059  	return s
 10060  }
 10061  
 10062  type ListTagsForResourceOutput struct {
 10063  	_ struct{} `type:"structure"`
 10064  
 10065  	// The tags for the resource.
 10066  	Tags []*Tag `type:"list"`
 10067  }
 10068  
 10069  // String returns the string representation.
 10070  //
 10071  // API parameter values that are decorated as "sensitive" in the API will not
 10072  // be included in the string output. The member name will be present, but the
 10073  // value will be replaced with "sensitive".
 10074  func (s ListTagsForResourceOutput) String() string {
 10075  	return awsutil.Prettify(s)
 10076  }
 10077  
 10078  // GoString returns the string representation.
 10079  //
 10080  // API parameter values that are decorated as "sensitive" in the API will not
 10081  // be included in the string output. The member name will be present, but the
 10082  // value will be replaced with "sensitive".
 10083  func (s ListTagsForResourceOutput) GoString() string {
 10084  	return s.String()
 10085  }
 10086  
 10087  // SetTags sets the Tags field's value.
 10088  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 10089  	s.Tags = v
 10090  	return s
 10091  }
 10092  
 10093  // Provides metrics that are used to evaluate the performance of a predictor.
 10094  // This object is part of the WindowSummary object.
 10095  type Metrics struct {
 10096  	_ struct{} `type:"structure"`
 10097  
 10098  	// The average value of all weighted quantile losses.
 10099  	AverageWeightedQuantileLoss *float64 `type:"double"`
 10100  
 10101  	// Provides detailed error metrics for each forecast type. Metrics include root-mean
 10102  	// square-error (RMSE), mean absolute percentage error (MAPE), mean absolute
 10103  	// scaled error (MASE), and weighted average percentage error (WAPE).
 10104  	ErrorMetrics []*ErrorMetric `type:"list"`
 10105  
 10106  	// The root-mean-square error (RMSE).
 10107  	//
 10108  	// Deprecated: This property is deprecated, please refer to ErrorMetrics for both RMSE and WAPE
 10109  	RMSE *float64 `deprecated:"true" type:"double"`
 10110  
 10111  	// An array of weighted quantile losses. Quantiles divide a probability distribution
 10112  	// into regions of equal probability. The distribution in this case is the loss
 10113  	// function.
 10114  	WeightedQuantileLosses []*WeightedQuantileLoss `type:"list"`
 10115  }
 10116  
 10117  // String returns the string representation.
 10118  //
 10119  // API parameter values that are decorated as "sensitive" in the API will not
 10120  // be included in the string output. The member name will be present, but the
 10121  // value will be replaced with "sensitive".
 10122  func (s Metrics) String() string {
 10123  	return awsutil.Prettify(s)
 10124  }
 10125  
 10126  // GoString returns the string representation.
 10127  //
 10128  // API parameter values that are decorated as "sensitive" in the API will not
 10129  // be included in the string output. The member name will be present, but the
 10130  // value will be replaced with "sensitive".
 10131  func (s Metrics) GoString() string {
 10132  	return s.String()
 10133  }
 10134  
 10135  // SetAverageWeightedQuantileLoss sets the AverageWeightedQuantileLoss field's value.
 10136  func (s *Metrics) SetAverageWeightedQuantileLoss(v float64) *Metrics {
 10137  	s.AverageWeightedQuantileLoss = &v
 10138  	return s
 10139  }
 10140  
 10141  // SetErrorMetrics sets the ErrorMetrics field's value.
 10142  func (s *Metrics) SetErrorMetrics(v []*ErrorMetric) *Metrics {
 10143  	s.ErrorMetrics = v
 10144  	return s
 10145  }
 10146  
 10147  // SetRMSE sets the RMSE field's value.
 10148  func (s *Metrics) SetRMSE(v float64) *Metrics {
 10149  	s.RMSE = &v
 10150  	return s
 10151  }
 10152  
 10153  // SetWeightedQuantileLosses sets the WeightedQuantileLosses field's value.
 10154  func (s *Metrics) SetWeightedQuantileLosses(v []*WeightedQuantileLoss) *Metrics {
 10155  	s.WeightedQuantileLosses = v
 10156  	return s
 10157  }
 10158  
 10159  // Specifies the categorical, continuous, and integer hyperparameters, and their
 10160  // ranges of tunable values. The range of tunable values determines which values
 10161  // that a hyperparameter tuning job can choose for the specified hyperparameter.
 10162  // This object is part of the HyperParameterTuningJobConfig object.
 10163  type ParameterRanges struct {
 10164  	_ struct{} `type:"structure"`
 10165  
 10166  	// Specifies the tunable range for each categorical hyperparameter.
 10167  	CategoricalParameterRanges []*CategoricalParameterRange `min:"1" type:"list"`
 10168  
 10169  	// Specifies the tunable range for each continuous hyperparameter.
 10170  	ContinuousParameterRanges []*ContinuousParameterRange `min:"1" type:"list"`
 10171  
 10172  	// Specifies the tunable range for each integer hyperparameter.
 10173  	IntegerParameterRanges []*IntegerParameterRange `min:"1" type:"list"`
 10174  }
 10175  
 10176  // String returns the string representation.
 10177  //
 10178  // API parameter values that are decorated as "sensitive" in the API will not
 10179  // be included in the string output. The member name will be present, but the
 10180  // value will be replaced with "sensitive".
 10181  func (s ParameterRanges) String() string {
 10182  	return awsutil.Prettify(s)
 10183  }
 10184  
 10185  // GoString returns the string representation.
 10186  //
 10187  // API parameter values that are decorated as "sensitive" in the API will not
 10188  // be included in the string output. The member name will be present, but the
 10189  // value will be replaced with "sensitive".
 10190  func (s ParameterRanges) GoString() string {
 10191  	return s.String()
 10192  }
 10193  
 10194  // Validate inspects the fields of the type to determine if they are valid.
 10195  func (s *ParameterRanges) Validate() error {
 10196  	invalidParams := request.ErrInvalidParams{Context: "ParameterRanges"}
 10197  	if s.CategoricalParameterRanges != nil && len(s.CategoricalParameterRanges) < 1 {
 10198  		invalidParams.Add(request.NewErrParamMinLen("CategoricalParameterRanges", 1))
 10199  	}
 10200  	if s.ContinuousParameterRanges != nil && len(s.ContinuousParameterRanges) < 1 {
 10201  		invalidParams.Add(request.NewErrParamMinLen("ContinuousParameterRanges", 1))
 10202  	}
 10203  	if s.IntegerParameterRanges != nil && len(s.IntegerParameterRanges) < 1 {
 10204  		invalidParams.Add(request.NewErrParamMinLen("IntegerParameterRanges", 1))
 10205  	}
 10206  	if s.CategoricalParameterRanges != nil {
 10207  		for i, v := range s.CategoricalParameterRanges {
 10208  			if v == nil {
 10209  				continue
 10210  			}
 10211  			if err := v.Validate(); err != nil {
 10212  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CategoricalParameterRanges", i), err.(request.ErrInvalidParams))
 10213  			}
 10214  		}
 10215  	}
 10216  	if s.ContinuousParameterRanges != nil {
 10217  		for i, v := range s.ContinuousParameterRanges {
 10218  			if v == nil {
 10219  				continue
 10220  			}
 10221  			if err := v.Validate(); err != nil {
 10222  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousParameterRanges", i), err.(request.ErrInvalidParams))
 10223  			}
 10224  		}
 10225  	}
 10226  	if s.IntegerParameterRanges != nil {
 10227  		for i, v := range s.IntegerParameterRanges {
 10228  			if v == nil {
 10229  				continue
 10230  			}
 10231  			if err := v.Validate(); err != nil {
 10232  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameterRanges", i), err.(request.ErrInvalidParams))
 10233  			}
 10234  		}
 10235  	}
 10236  
 10237  	if invalidParams.Len() > 0 {
 10238  		return invalidParams
 10239  	}
 10240  	return nil
 10241  }
 10242  
 10243  // SetCategoricalParameterRanges sets the CategoricalParameterRanges field's value.
 10244  func (s *ParameterRanges) SetCategoricalParameterRanges(v []*CategoricalParameterRange) *ParameterRanges {
 10245  	s.CategoricalParameterRanges = v
 10246  	return s
 10247  }
 10248  
 10249  // SetContinuousParameterRanges sets the ContinuousParameterRanges field's value.
 10250  func (s *ParameterRanges) SetContinuousParameterRanges(v []*ContinuousParameterRange) *ParameterRanges {
 10251  	s.ContinuousParameterRanges = v
 10252  	return s
 10253  }
 10254  
 10255  // SetIntegerParameterRanges sets the IntegerParameterRanges field's value.
 10256  func (s *ParameterRanges) SetIntegerParameterRanges(v []*IntegerParameterRange) *ParameterRanges {
 10257  	s.IntegerParameterRanges = v
 10258  	return s
 10259  }
 10260  
 10261  // Provides a summary of the predictor backtest export job properties used in
 10262  // the ListPredictorBacktestExportJobs operation. To get a complete set of properties,
 10263  // call the DescribePredictorBacktestExportJob operation, and provide the listed
 10264  // PredictorBacktestExportJobArn.
 10265  type PredictorBacktestExportJobSummary struct {
 10266  	_ struct{} `type:"structure"`
 10267  
 10268  	// When the predictor backtest export job was created.
 10269  	CreationTime *time.Time `type:"timestamp"`
 10270  
 10271  	// The destination for an export job. Provide an S3 path, an AWS Identity and
 10272  	// Access Management (IAM) role that allows Amazon Forecast to access the location,
 10273  	// and an AWS Key Management Service (KMS) key (optional).
 10274  	Destination *DataDestination `type:"structure"`
 10275  
 10276  	// The last time the resource was modified. The timestamp depends on the status
 10277  	// of the job:
 10278  	//
 10279  	//    * CREATE_PENDING - The CreationTime.
 10280  	//
 10281  	//    * CREATE_IN_PROGRESS - The current timestamp.
 10282  	//
 10283  	//    * CREATE_STOPPING - The current timestamp.
 10284  	//
 10285  	//    * CREATE_STOPPED - When the job stopped.
 10286  	//
 10287  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
 10288  	LastModificationTime *time.Time `type:"timestamp"`
 10289  
 10290  	// Information about any errors that may have occurred during the backtest export.
 10291  	Message *string `type:"string"`
 10292  
 10293  	// The Amazon Resource Name (ARN) of the predictor backtest export job.
 10294  	PredictorBacktestExportJobArn *string `type:"string"`
 10295  
 10296  	// The name of the predictor backtest export job.
 10297  	PredictorBacktestExportJobName *string `min:"1" type:"string"`
 10298  
 10299  	// The status of the predictor backtest export job. States include:
 10300  	//
 10301  	//    * ACTIVE
 10302  	//
 10303  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
 10304  	//
 10305  	//    * CREATE_STOPPING, CREATE_STOPPED
 10306  	//
 10307  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
 10308  	Status *string `type:"string"`
 10309  }
 10310  
 10311  // String returns the string representation.
 10312  //
 10313  // API parameter values that are decorated as "sensitive" in the API will not
 10314  // be included in the string output. The member name will be present, but the
 10315  // value will be replaced with "sensitive".
 10316  func (s PredictorBacktestExportJobSummary) String() string {
 10317  	return awsutil.Prettify(s)
 10318  }
 10319  
 10320  // GoString returns the string representation.
 10321  //
 10322  // API parameter values that are decorated as "sensitive" in the API will not
 10323  // be included in the string output. The member name will be present, but the
 10324  // value will be replaced with "sensitive".
 10325  func (s PredictorBacktestExportJobSummary) GoString() string {
 10326  	return s.String()
 10327  }
 10328  
 10329  // SetCreationTime sets the CreationTime field's value.
 10330  func (s *PredictorBacktestExportJobSummary) SetCreationTime(v time.Time) *PredictorBacktestExportJobSummary {
 10331  	s.CreationTime = &v
 10332  	return s
 10333  }
 10334  
 10335  // SetDestination sets the Destination field's value.
 10336  func (s *PredictorBacktestExportJobSummary) SetDestination(v *DataDestination) *PredictorBacktestExportJobSummary {
 10337  	s.Destination = v
 10338  	return s
 10339  }
 10340  
 10341  // SetLastModificationTime sets the LastModificationTime field's value.
 10342  func (s *PredictorBacktestExportJobSummary) SetLastModificationTime(v time.Time) *PredictorBacktestExportJobSummary {
 10343  	s.LastModificationTime = &v
 10344  	return s
 10345  }
 10346  
 10347  // SetMessage sets the Message field's value.
 10348  func (s *PredictorBacktestExportJobSummary) SetMessage(v string) *PredictorBacktestExportJobSummary {
 10349  	s.Message = &v
 10350  	return s
 10351  }
 10352  
 10353  // SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
 10354  func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobArn(v string) *PredictorBacktestExportJobSummary {
 10355  	s.PredictorBacktestExportJobArn = &v
 10356  	return s
 10357  }
 10358  
 10359  // SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
 10360  func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobName(v string) *PredictorBacktestExportJobSummary {
 10361  	s.PredictorBacktestExportJobName = &v
 10362  	return s
 10363  }
 10364  
 10365  // SetStatus sets the Status field's value.
 10366  func (s *PredictorBacktestExportJobSummary) SetStatus(v string) *PredictorBacktestExportJobSummary {
 10367  	s.Status = &v
 10368  	return s
 10369  }
 10370  
 10371  // The algorithm used to perform a backtest and the status of those tests.
 10372  type PredictorExecution struct {
 10373  	_ struct{} `type:"structure"`
 10374  
 10375  	// The ARN of the algorithm used to test the predictor.
 10376  	AlgorithmArn *string `type:"string"`
 10377  
 10378  	// An array of test windows used to evaluate the algorithm. The NumberOfBacktestWindows
 10379  	// from the object determines the number of windows in the array.
 10380  	TestWindows []*TestWindowSummary `type:"list"`
 10381  }
 10382  
 10383  // String returns the string representation.
 10384  //
 10385  // API parameter values that are decorated as "sensitive" in the API will not
 10386  // be included in the string output. The member name will be present, but the
 10387  // value will be replaced with "sensitive".
 10388  func (s PredictorExecution) String() string {
 10389  	return awsutil.Prettify(s)
 10390  }
 10391  
 10392  // GoString returns the string representation.
 10393  //
 10394  // API parameter values that are decorated as "sensitive" in the API will not
 10395  // be included in the string output. The member name will be present, but the
 10396  // value will be replaced with "sensitive".
 10397  func (s PredictorExecution) GoString() string {
 10398  	return s.String()
 10399  }
 10400  
 10401  // SetAlgorithmArn sets the AlgorithmArn field's value.
 10402  func (s *PredictorExecution) SetAlgorithmArn(v string) *PredictorExecution {
 10403  	s.AlgorithmArn = &v
 10404  	return s
 10405  }
 10406  
 10407  // SetTestWindows sets the TestWindows field's value.
 10408  func (s *PredictorExecution) SetTestWindows(v []*TestWindowSummary) *PredictorExecution {
 10409  	s.TestWindows = v
 10410  	return s
 10411  }
 10412  
 10413  // Contains details on the backtests performed to evaluate the accuracy of the
 10414  // predictor. The tests are returned in descending order of accuracy, with the
 10415  // most accurate backtest appearing first. You specify the number of backtests
 10416  // to perform when you call the operation.
 10417  type PredictorExecutionDetails struct {
 10418  	_ struct{} `type:"structure"`
 10419  
 10420  	// An array of the backtests performed to evaluate the accuracy of the predictor
 10421  	// against a particular algorithm. The NumberOfBacktestWindows from the object
 10422  	// determines the number of windows in the array.
 10423  	PredictorExecutions []*PredictorExecution `min:"1" type:"list"`
 10424  }
 10425  
 10426  // String returns the string representation.
 10427  //
 10428  // API parameter values that are decorated as "sensitive" in the API will not
 10429  // be included in the string output. The member name will be present, but the
 10430  // value will be replaced with "sensitive".
 10431  func (s PredictorExecutionDetails) String() string {
 10432  	return awsutil.Prettify(s)
 10433  }
 10434  
 10435  // GoString returns the string representation.
 10436  //
 10437  // API parameter values that are decorated as "sensitive" in the API will not
 10438  // be included in the string output. The member name will be present, but the
 10439  // value will be replaced with "sensitive".
 10440  func (s PredictorExecutionDetails) GoString() string {
 10441  	return s.String()
 10442  }
 10443  
 10444  // SetPredictorExecutions sets the PredictorExecutions field's value.
 10445  func (s *PredictorExecutionDetails) SetPredictorExecutions(v []*PredictorExecution) *PredictorExecutionDetails {
 10446  	s.PredictorExecutions = v
 10447  	return s
 10448  }
 10449  
 10450  // Provides a summary of the predictor properties that are used in the ListPredictors
 10451  // operation. To get the complete set of properties, call the DescribePredictor
 10452  // operation, and provide the listed PredictorArn.
 10453  type PredictorSummary struct {
 10454  	_ struct{} `type:"structure"`
 10455  
 10456  	// When the model training task was created.
 10457  	CreationTime *time.Time `type:"timestamp"`
 10458  
 10459  	// The Amazon Resource Name (ARN) of the dataset group that contains the data
 10460  	// used to train the predictor.
 10461  	DatasetGroupArn *string `type:"string"`
 10462  
 10463  	// The last time the resource was modified. The timestamp depends on the status
 10464  	// of the job:
 10465  	//
 10466  	//    * CREATE_PENDING - The CreationTime.
 10467  	//
 10468  	//    * CREATE_IN_PROGRESS - The current timestamp.
 10469  	//
 10470  	//    * CREATE_STOPPING - The current timestamp.
 10471  	//
 10472  	//    * CREATE_STOPPED - When the job stopped.
 10473  	//
 10474  	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
 10475  	LastModificationTime *time.Time `type:"timestamp"`
 10476  
 10477  	// If an error occurred, an informational message about the error.
 10478  	Message *string `type:"string"`
 10479  
 10480  	// The ARN of the predictor.
 10481  	PredictorArn *string `type:"string"`
 10482  
 10483  	// The name of the predictor.
 10484  	PredictorName *string `min:"1" type:"string"`
 10485  
 10486  	// The status of the predictor. States include:
 10487  	//
 10488  	//    * ACTIVE
 10489  	//
 10490  	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
 10491  	//
 10492  	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
 10493  	//
 10494  	//    * CREATE_STOPPING, CREATE_STOPPED
 10495  	//
 10496  	// The Status of the predictor must be ACTIVE before you can use the predictor
 10497  	// to create a forecast.
 10498  	Status *string `type:"string"`
 10499  }
 10500  
 10501  // String returns the string representation.
 10502  //
 10503  // API parameter values that are decorated as "sensitive" in the API will not
 10504  // be included in the string output. The member name will be present, but the
 10505  // value will be replaced with "sensitive".
 10506  func (s PredictorSummary) String() string {
 10507  	return awsutil.Prettify(s)
 10508  }
 10509  
 10510  // GoString returns the string representation.
 10511  //
 10512  // API parameter values that are decorated as "sensitive" in the API will not
 10513  // be included in the string output. The member name will be present, but the
 10514  // value will be replaced with "sensitive".
 10515  func (s PredictorSummary) GoString() string {
 10516  	return s.String()
 10517  }
 10518  
 10519  // SetCreationTime sets the CreationTime field's value.
 10520  func (s *PredictorSummary) SetCreationTime(v time.Time) *PredictorSummary {
 10521  	s.CreationTime = &v
 10522  	return s
 10523  }
 10524  
 10525  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
 10526  func (s *PredictorSummary) SetDatasetGroupArn(v string) *PredictorSummary {
 10527  	s.DatasetGroupArn = &v
 10528  	return s
 10529  }
 10530  
 10531  // SetLastModificationTime sets the LastModificationTime field's value.
 10532  func (s *PredictorSummary) SetLastModificationTime(v time.Time) *PredictorSummary {
 10533  	s.LastModificationTime = &v
 10534  	return s
 10535  }
 10536  
 10537  // SetMessage sets the Message field's value.
 10538  func (s *PredictorSummary) SetMessage(v string) *PredictorSummary {
 10539  	s.Message = &v
 10540  	return s
 10541  }
 10542  
 10543  // SetPredictorArn sets the PredictorArn field's value.
 10544  func (s *PredictorSummary) SetPredictorArn(v string) *PredictorSummary {
 10545  	s.PredictorArn = &v
 10546  	return s
 10547  }
 10548  
 10549  // SetPredictorName sets the PredictorName field's value.
 10550  func (s *PredictorSummary) SetPredictorName(v string) *PredictorSummary {
 10551  	s.PredictorName = &v
 10552  	return s
 10553  }
 10554  
 10555  // SetStatus sets the Status field's value.
 10556  func (s *PredictorSummary) SetStatus(v string) *PredictorSummary {
 10557  	s.Status = &v
 10558  	return s
 10559  }
 10560  
 10561  // There is already a resource with this name. Try again with a different name.
 10562  type ResourceAlreadyExistsException struct {
 10563  	_            struct{}                  `type:"structure"`
 10564  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10565  
 10566  	Message_ *string `locationName:"Message" type:"string"`
 10567  }
 10568  
 10569  // String returns the string representation.
 10570  //
 10571  // API parameter values that are decorated as "sensitive" in the API will not
 10572  // be included in the string output. The member name will be present, but the
 10573  // value will be replaced with "sensitive".
 10574  func (s ResourceAlreadyExistsException) String() string {
 10575  	return awsutil.Prettify(s)
 10576  }
 10577  
 10578  // GoString returns the string representation.
 10579  //
 10580  // API parameter values that are decorated as "sensitive" in the API will not
 10581  // be included in the string output. The member name will be present, but the
 10582  // value will be replaced with "sensitive".
 10583  func (s ResourceAlreadyExistsException) GoString() string {
 10584  	return s.String()
 10585  }
 10586  
 10587  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 10588  	return &ResourceAlreadyExistsException{
 10589  		RespMetadata: v,
 10590  	}
 10591  }
 10592  
 10593  // Code returns the exception type name.
 10594  func (s *ResourceAlreadyExistsException) Code() string {
 10595  	return "ResourceAlreadyExistsException"
 10596  }
 10597  
 10598  // Message returns the exception's message.
 10599  func (s *ResourceAlreadyExistsException) Message() string {
 10600  	if s.Message_ != nil {
 10601  		return *s.Message_
 10602  	}
 10603  	return ""
 10604  }
 10605  
 10606  // OrigErr always returns nil, satisfies awserr.Error interface.
 10607  func (s *ResourceAlreadyExistsException) OrigErr() error {
 10608  	return nil
 10609  }
 10610  
 10611  func (s *ResourceAlreadyExistsException) Error() string {
 10612  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10613  }
 10614  
 10615  // Status code returns the HTTP status code for the request's response error.
 10616  func (s *ResourceAlreadyExistsException) StatusCode() int {
 10617  	return s.RespMetadata.StatusCode
 10618  }
 10619  
 10620  // RequestID returns the service's response RequestID for request.
 10621  func (s *ResourceAlreadyExistsException) RequestID() string {
 10622  	return s.RespMetadata.RequestID
 10623  }
 10624  
 10625  // The specified resource is in use.
 10626  type ResourceInUseException struct {
 10627  	_            struct{}                  `type:"structure"`
 10628  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10629  
 10630  	Message_ *string `locationName:"Message" type:"string"`
 10631  }
 10632  
 10633  // String returns the string representation.
 10634  //
 10635  // API parameter values that are decorated as "sensitive" in the API will not
 10636  // be included in the string output. The member name will be present, but the
 10637  // value will be replaced with "sensitive".
 10638  func (s ResourceInUseException) String() string {
 10639  	return awsutil.Prettify(s)
 10640  }
 10641  
 10642  // GoString returns the string representation.
 10643  //
 10644  // API parameter values that are decorated as "sensitive" in the API will not
 10645  // be included in the string output. The member name will be present, but the
 10646  // value will be replaced with "sensitive".
 10647  func (s ResourceInUseException) GoString() string {
 10648  	return s.String()
 10649  }
 10650  
 10651  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 10652  	return &ResourceInUseException{
 10653  		RespMetadata: v,
 10654  	}
 10655  }
 10656  
 10657  // Code returns the exception type name.
 10658  func (s *ResourceInUseException) Code() string {
 10659  	return "ResourceInUseException"
 10660  }
 10661  
 10662  // Message returns the exception's message.
 10663  func (s *ResourceInUseException) Message() string {
 10664  	if s.Message_ != nil {
 10665  		return *s.Message_
 10666  	}
 10667  	return ""
 10668  }
 10669  
 10670  // OrigErr always returns nil, satisfies awserr.Error interface.
 10671  func (s *ResourceInUseException) OrigErr() error {
 10672  	return nil
 10673  }
 10674  
 10675  func (s *ResourceInUseException) Error() string {
 10676  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10677  }
 10678  
 10679  // Status code returns the HTTP status code for the request's response error.
 10680  func (s *ResourceInUseException) StatusCode() int {
 10681  	return s.RespMetadata.StatusCode
 10682  }
 10683  
 10684  // RequestID returns the service's response RequestID for request.
 10685  func (s *ResourceInUseException) RequestID() string {
 10686  	return s.RespMetadata.RequestID
 10687  }
 10688  
 10689  // We can't find a resource with that Amazon Resource Name (ARN). Check the
 10690  // ARN and try again.
 10691  type ResourceNotFoundException struct {
 10692  	_            struct{}                  `type:"structure"`
 10693  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10694  
 10695  	Message_ *string `locationName:"Message" type:"string"`
 10696  }
 10697  
 10698  // String returns the string representation.
 10699  //
 10700  // API parameter values that are decorated as "sensitive" in the API will not
 10701  // be included in the string output. The member name will be present, but the
 10702  // value will be replaced with "sensitive".
 10703  func (s ResourceNotFoundException) String() string {
 10704  	return awsutil.Prettify(s)
 10705  }
 10706  
 10707  // GoString returns the string representation.
 10708  //
 10709  // API parameter values that are decorated as "sensitive" in the API will not
 10710  // be included in the string output. The member name will be present, but the
 10711  // value will be replaced with "sensitive".
 10712  func (s ResourceNotFoundException) GoString() string {
 10713  	return s.String()
 10714  }
 10715  
 10716  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 10717  	return &ResourceNotFoundException{
 10718  		RespMetadata: v,
 10719  	}
 10720  }
 10721  
 10722  // Code returns the exception type name.
 10723  func (s *ResourceNotFoundException) Code() string {
 10724  	return "ResourceNotFoundException"
 10725  }
 10726  
 10727  // Message returns the exception's message.
 10728  func (s *ResourceNotFoundException) Message() string {
 10729  	if s.Message_ != nil {
 10730  		return *s.Message_
 10731  	}
 10732  	return ""
 10733  }
 10734  
 10735  // OrigErr always returns nil, satisfies awserr.Error interface.
 10736  func (s *ResourceNotFoundException) OrigErr() error {
 10737  	return nil
 10738  }
 10739  
 10740  func (s *ResourceNotFoundException) Error() string {
 10741  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10742  }
 10743  
 10744  // Status code returns the HTTP status code for the request's response error.
 10745  func (s *ResourceNotFoundException) StatusCode() int {
 10746  	return s.RespMetadata.StatusCode
 10747  }
 10748  
 10749  // RequestID returns the service's response RequestID for request.
 10750  func (s *ResourceNotFoundException) RequestID() string {
 10751  	return s.RespMetadata.RequestID
 10752  }
 10753  
 10754  // The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket,
 10755  // and an AWS Identity and Access Management (IAM) role that Amazon Forecast
 10756  // can assume to access the file(s). Optionally, includes an AWS Key Management
 10757  // Service (KMS) key. This object is part of the DataSource object that is submitted
 10758  // in the CreateDatasetImportJob request, and part of the DataDestination object.
 10759  type S3Config struct {
 10760  	_ struct{} `type:"structure"`
 10761  
 10762  	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key.
 10763  	KMSKeyArn *string `type:"string"`
 10764  
 10765  	// The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s)
 10766  	// in an Amazon S3 bucket.
 10767  	//
 10768  	// Path is a required field
 10769  	Path *string `type:"string" required:"true"`
 10770  
 10771  	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
 10772  	// Forecast can assume to access the Amazon S3 bucket or files. If you provide
 10773  	// a value for the KMSKeyArn key, the role must allow access to the key.
 10774  	//
 10775  	// Passing a role across AWS accounts is not allowed. If you pass a role that
 10776  	// isn't in your account, you get an InvalidInputException error.
 10777  	//
 10778  	// RoleArn is a required field
 10779  	RoleArn *string `type:"string" required:"true"`
 10780  }
 10781  
 10782  // String returns the string representation.
 10783  //
 10784  // API parameter values that are decorated as "sensitive" in the API will not
 10785  // be included in the string output. The member name will be present, but the
 10786  // value will be replaced with "sensitive".
 10787  func (s S3Config) String() string {
 10788  	return awsutil.Prettify(s)
 10789  }
 10790  
 10791  // GoString returns the string representation.
 10792  //
 10793  // API parameter values that are decorated as "sensitive" in the API will not
 10794  // be included in the string output. The member name will be present, but the
 10795  // value will be replaced with "sensitive".
 10796  func (s S3Config) GoString() string {
 10797  	return s.String()
 10798  }
 10799  
 10800  // Validate inspects the fields of the type to determine if they are valid.
 10801  func (s *S3Config) Validate() error {
 10802  	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
 10803  	if s.Path == nil {
 10804  		invalidParams.Add(request.NewErrParamRequired("Path"))
 10805  	}
 10806  	if s.RoleArn == nil {
 10807  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 10808  	}
 10809  
 10810  	if invalidParams.Len() > 0 {
 10811  		return invalidParams
 10812  	}
 10813  	return nil
 10814  }
 10815  
 10816  // SetKMSKeyArn sets the KMSKeyArn field's value.
 10817  func (s *S3Config) SetKMSKeyArn(v string) *S3Config {
 10818  	s.KMSKeyArn = &v
 10819  	return s
 10820  }
 10821  
 10822  // SetPath sets the Path field's value.
 10823  func (s *S3Config) SetPath(v string) *S3Config {
 10824  	s.Path = &v
 10825  	return s
 10826  }
 10827  
 10828  // SetRoleArn sets the RoleArn field's value.
 10829  func (s *S3Config) SetRoleArn(v string) *S3Config {
 10830  	s.RoleArn = &v
 10831  	return s
 10832  }
 10833  
 10834  // Defines the fields of a dataset. You specify this object in the CreateDataset
 10835  // request.
 10836  type Schema struct {
 10837  	_ struct{} `type:"structure"`
 10838  
 10839  	// An array of attributes specifying the name and type of each field in a dataset.
 10840  	Attributes []*SchemaAttribute `min:"1" type:"list"`
 10841  }
 10842  
 10843  // String returns the string representation.
 10844  //
 10845  // API parameter values that are decorated as "sensitive" in the API will not
 10846  // be included in the string output. The member name will be present, but the
 10847  // value will be replaced with "sensitive".
 10848  func (s Schema) String() string {
 10849  	return awsutil.Prettify(s)
 10850  }
 10851  
 10852  // GoString returns the string representation.
 10853  //
 10854  // API parameter values that are decorated as "sensitive" in the API will not
 10855  // be included in the string output. The member name will be present, but the
 10856  // value will be replaced with "sensitive".
 10857  func (s Schema) GoString() string {
 10858  	return s.String()
 10859  }
 10860  
 10861  // Validate inspects the fields of the type to determine if they are valid.
 10862  func (s *Schema) Validate() error {
 10863  	invalidParams := request.ErrInvalidParams{Context: "Schema"}
 10864  	if s.Attributes != nil && len(s.Attributes) < 1 {
 10865  		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
 10866  	}
 10867  	if s.Attributes != nil {
 10868  		for i, v := range s.Attributes {
 10869  			if v == nil {
 10870  				continue
 10871  			}
 10872  			if err := v.Validate(); err != nil {
 10873  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
 10874  			}
 10875  		}
 10876  	}
 10877  
 10878  	if invalidParams.Len() > 0 {
 10879  		return invalidParams
 10880  	}
 10881  	return nil
 10882  }
 10883  
 10884  // SetAttributes sets the Attributes field's value.
 10885  func (s *Schema) SetAttributes(v []*SchemaAttribute) *Schema {
 10886  	s.Attributes = v
 10887  	return s
 10888  }
 10889  
 10890  // An attribute of a schema, which defines a dataset field. A schema attribute
 10891  // is required for every field in a dataset. The Schema object contains an array
 10892  // of SchemaAttribute objects.
 10893  type SchemaAttribute struct {
 10894  	_ struct{} `type:"structure"`
 10895  
 10896  	// The name of the dataset field.
 10897  	AttributeName *string `min:"1" type:"string"`
 10898  
 10899  	// The data type of the field.
 10900  	AttributeType *string `type:"string" enum:"AttributeType"`
 10901  }
 10902  
 10903  // String returns the string representation.
 10904  //
 10905  // API parameter values that are decorated as "sensitive" in the API will not
 10906  // be included in the string output. The member name will be present, but the
 10907  // value will be replaced with "sensitive".
 10908  func (s SchemaAttribute) String() string {
 10909  	return awsutil.Prettify(s)
 10910  }
 10911  
 10912  // GoString returns the string representation.
 10913  //
 10914  // API parameter values that are decorated as "sensitive" in the API will not
 10915  // be included in the string output. The member name will be present, but the
 10916  // value will be replaced with "sensitive".
 10917  func (s SchemaAttribute) GoString() string {
 10918  	return s.String()
 10919  }
 10920  
 10921  // Validate inspects the fields of the type to determine if they are valid.
 10922  func (s *SchemaAttribute) Validate() error {
 10923  	invalidParams := request.ErrInvalidParams{Context: "SchemaAttribute"}
 10924  	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
 10925  		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
 10926  	}
 10927  
 10928  	if invalidParams.Len() > 0 {
 10929  		return invalidParams
 10930  	}
 10931  	return nil
 10932  }
 10933  
 10934  // SetAttributeName sets the AttributeName field's value.
 10935  func (s *SchemaAttribute) SetAttributeName(v string) *SchemaAttribute {
 10936  	s.AttributeName = &v
 10937  	return s
 10938  }
 10939  
 10940  // SetAttributeType sets the AttributeType field's value.
 10941  func (s *SchemaAttribute) SetAttributeType(v string) *SchemaAttribute {
 10942  	s.AttributeType = &v
 10943  	return s
 10944  }
 10945  
 10946  // Provides statistics for each data field imported into to an Amazon Forecast
 10947  // dataset with the CreateDatasetImportJob operation.
 10948  type Statistics struct {
 10949  	_ struct{} `type:"structure"`
 10950  
 10951  	// For a numeric field, the average value in the field.
 10952  	Avg *float64 `type:"double"`
 10953  
 10954  	// The number of values in the field. If the response value is -1, refer to
 10955  	// CountLong.
 10956  	Count *int64 `type:"integer"`
 10957  
 10958  	// The number of distinct values in the field. If the response value is -1,
 10959  	// refer to CountDistinctLong.
 10960  	CountDistinct *int64 `type:"integer"`
 10961  
 10962  	// The number of distinct values in the field. CountDistinctLong is used instead
 10963  	// of CountDistinct if the value is greater than 2,147,483,647.
 10964  	CountDistinctLong *int64 `type:"long"`
 10965  
 10966  	// The number of values in the field. CountLong is used instead of Count if
 10967  	// the value is greater than 2,147,483,647.
 10968  	CountLong *int64 `type:"long"`
 10969  
 10970  	// The number of NAN (not a number) values in the field. If the response value
 10971  	// is -1, refer to CountNanLong.
 10972  	CountNan *int64 `type:"integer"`
 10973  
 10974  	// The number of NAN (not a number) values in the field. CountNanLong is used
 10975  	// instead of CountNan if the value is greater than 2,147,483,647.
 10976  	CountNanLong *int64 `type:"long"`
 10977  
 10978  	// The number of null values in the field. If the response value is -1, refer
 10979  	// to CountNullLong.
 10980  	CountNull *int64 `type:"integer"`
 10981  
 10982  	// The number of null values in the field. CountNullLong is used instead of
 10983  	// CountNull if the value is greater than 2,147,483,647.
 10984  	CountNullLong *int64 `type:"long"`
 10985  
 10986  	// For a numeric field, the maximum value in the field.
 10987  	Max *string `type:"string"`
 10988  
 10989  	// For a numeric field, the minimum value in the field.
 10990  	Min *string `type:"string"`
 10991  
 10992  	// For a numeric field, the standard deviation.
 10993  	Stddev *float64 `type:"double"`
 10994  }
 10995  
 10996  // String returns the string representation.
 10997  //
 10998  // API parameter values that are decorated as "sensitive" in the API will not
 10999  // be included in the string output. The member name will be present, but the
 11000  // value will be replaced with "sensitive".
 11001  func (s Statistics) String() string {
 11002  	return awsutil.Prettify(s)
 11003  }
 11004  
 11005  // GoString returns the string representation.
 11006  //
 11007  // API parameter values that are decorated as "sensitive" in the API will not
 11008  // be included in the string output. The member name will be present, but the
 11009  // value will be replaced with "sensitive".
 11010  func (s Statistics) GoString() string {
 11011  	return s.String()
 11012  }
 11013  
 11014  // SetAvg sets the Avg field's value.
 11015  func (s *Statistics) SetAvg(v float64) *Statistics {
 11016  	s.Avg = &v
 11017  	return s
 11018  }
 11019  
 11020  // SetCount sets the Count field's value.
 11021  func (s *Statistics) SetCount(v int64) *Statistics {
 11022  	s.Count = &v
 11023  	return s
 11024  }
 11025  
 11026  // SetCountDistinct sets the CountDistinct field's value.
 11027  func (s *Statistics) SetCountDistinct(v int64) *Statistics {
 11028  	s.CountDistinct = &v
 11029  	return s
 11030  }
 11031  
 11032  // SetCountDistinctLong sets the CountDistinctLong field's value.
 11033  func (s *Statistics) SetCountDistinctLong(v int64) *Statistics {
 11034  	s.CountDistinctLong = &v
 11035  	return s
 11036  }
 11037  
 11038  // SetCountLong sets the CountLong field's value.
 11039  func (s *Statistics) SetCountLong(v int64) *Statistics {
 11040  	s.CountLong = &v
 11041  	return s
 11042  }
 11043  
 11044  // SetCountNan sets the CountNan field's value.
 11045  func (s *Statistics) SetCountNan(v int64) *Statistics {
 11046  	s.CountNan = &v
 11047  	return s
 11048  }
 11049  
 11050  // SetCountNanLong sets the CountNanLong field's value.
 11051  func (s *Statistics) SetCountNanLong(v int64) *Statistics {
 11052  	s.CountNanLong = &v
 11053  	return s
 11054  }
 11055  
 11056  // SetCountNull sets the CountNull field's value.
 11057  func (s *Statistics) SetCountNull(v int64) *Statistics {
 11058  	s.CountNull = &v
 11059  	return s
 11060  }
 11061  
 11062  // SetCountNullLong sets the CountNullLong field's value.
 11063  func (s *Statistics) SetCountNullLong(v int64) *Statistics {
 11064  	s.CountNullLong = &v
 11065  	return s
 11066  }
 11067  
 11068  // SetMax sets the Max field's value.
 11069  func (s *Statistics) SetMax(v string) *Statistics {
 11070  	s.Max = &v
 11071  	return s
 11072  }
 11073  
 11074  // SetMin sets the Min field's value.
 11075  func (s *Statistics) SetMin(v string) *Statistics {
 11076  	s.Min = &v
 11077  	return s
 11078  }
 11079  
 11080  // SetStddev sets the Stddev field's value.
 11081  func (s *Statistics) SetStddev(v float64) *Statistics {
 11082  	s.Stddev = &v
 11083  	return s
 11084  }
 11085  
 11086  type StopResourceInput struct {
 11087  	_ struct{} `type:"structure"`
 11088  
 11089  	// The Amazon Resource Name (ARN) that identifies the resource to stop. The
 11090  	// supported ARNs are DatasetImportJobArn, PredictorArn, PredictorBacktestExportJobArn,
 11091  	// ForecastArn, and ForecastExportJobArn.
 11092  	//
 11093  	// ResourceArn is a required field
 11094  	ResourceArn *string `type:"string" required:"true"`
 11095  }
 11096  
 11097  // String returns the string representation.
 11098  //
 11099  // API parameter values that are decorated as "sensitive" in the API will not
 11100  // be included in the string output. The member name will be present, but the
 11101  // value will be replaced with "sensitive".
 11102  func (s StopResourceInput) String() string {
 11103  	return awsutil.Prettify(s)
 11104  }
 11105  
 11106  // GoString returns the string representation.
 11107  //
 11108  // API parameter values that are decorated as "sensitive" in the API will not
 11109  // be included in the string output. The member name will be present, but the
 11110  // value will be replaced with "sensitive".
 11111  func (s StopResourceInput) GoString() string {
 11112  	return s.String()
 11113  }
 11114  
 11115  // Validate inspects the fields of the type to determine if they are valid.
 11116  func (s *StopResourceInput) Validate() error {
 11117  	invalidParams := request.ErrInvalidParams{Context: "StopResourceInput"}
 11118  	if s.ResourceArn == nil {
 11119  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11120  	}
 11121  
 11122  	if invalidParams.Len() > 0 {
 11123  		return invalidParams
 11124  	}
 11125  	return nil
 11126  }
 11127  
 11128  // SetResourceArn sets the ResourceArn field's value.
 11129  func (s *StopResourceInput) SetResourceArn(v string) *StopResourceInput {
 11130  	s.ResourceArn = &v
 11131  	return s
 11132  }
 11133  
 11134  type StopResourceOutput struct {
 11135  	_ struct{} `type:"structure"`
 11136  }
 11137  
 11138  // String returns the string representation.
 11139  //
 11140  // API parameter values that are decorated as "sensitive" in the API will not
 11141  // be included in the string output. The member name will be present, but the
 11142  // value will be replaced with "sensitive".
 11143  func (s StopResourceOutput) String() string {
 11144  	return awsutil.Prettify(s)
 11145  }
 11146  
 11147  // GoString returns the string representation.
 11148  //
 11149  // API parameter values that are decorated as "sensitive" in the API will not
 11150  // be included in the string output. The member name will be present, but the
 11151  // value will be replaced with "sensitive".
 11152  func (s StopResourceOutput) GoString() string {
 11153  	return s.String()
 11154  }
 11155  
 11156  // Describes a supplementary feature of a dataset group. This object is part
 11157  // of the InputDataConfig object. Forecast supports the Weather Index and Holidays
 11158  // built-in featurizations.
 11159  //
 11160  // Weather Index
 11161  //
 11162  // The Amazon Forecast Weather Index is a built-in featurization that incorporates
 11163  // historical and projected weather information into your model. The Weather
 11164  // Index supplements your datasets with over two years of historical weather
 11165  // data and up to 14 days of projected weather data. For more information, see
 11166  // Amazon Forecast Weather Index (https://docs.aws.amazon.com/forecast/latest/dg/weather.html).
 11167  //
 11168  // Holidays
 11169  //
 11170  // Holidays is a built-in featurization that incorporates a feature-engineered
 11171  // dataset of national holiday information into your model. It provides native
 11172  // support for the holiday calendars of 66 countries. To view the holiday calendars,
 11173  // refer to the Jollyday (http://jollyday.sourceforge.net/data.html) library.
 11174  // For more information, see Holidays Featurization (https://docs.aws.amazon.com/forecast/latest/dg/holidays.html).
 11175  type SupplementaryFeature struct {
 11176  	_ struct{} `type:"structure"`
 11177  
 11178  	// The name of the feature. Valid values: "holiday" and "weather".
 11179  	//
 11180  	// Name is a required field
 11181  	Name *string `min:"1" type:"string" required:"true"`
 11182  
 11183  	// Weather Index
 11184  	//
 11185  	// To enable the Weather Index, set the value to "true"
 11186  	//
 11187  	// Holidays
 11188  	//
 11189  	// To enable Holidays, specify a country with one of the following two-letter
 11190  	// country codes:
 11191  	//
 11192  	//    * "AL" - ALBANIA
 11193  	//
 11194  	//    * "AR" - ARGENTINA
 11195  	//
 11196  	//    * "AT" - AUSTRIA
 11197  	//
 11198  	//    * "AU" - AUSTRALIA
 11199  	//
 11200  	//    * "BA" - BOSNIA HERZEGOVINA
 11201  	//
 11202  	//    * "BE" - BELGIUM
 11203  	//
 11204  	//    * "BG" - BULGARIA
 11205  	//
 11206  	//    * "BO" - BOLIVIA
 11207  	//
 11208  	//    * "BR" - BRAZIL
 11209  	//
 11210  	//    * "BY" - BELARUS
 11211  	//
 11212  	//    * "CA" - CANADA
 11213  	//
 11214  	//    * "CL" - CHILE
 11215  	//
 11216  	//    * "CO" - COLOMBIA
 11217  	//
 11218  	//    * "CR" - COSTA RICA
 11219  	//
 11220  	//    * "HR" - CROATIA
 11221  	//
 11222  	//    * "CZ" - CZECH REPUBLIC
 11223  	//
 11224  	//    * "DK" - DENMARK
 11225  	//
 11226  	//    * "EC" - ECUADOR
 11227  	//
 11228  	//    * "EE" - ESTONIA
 11229  	//
 11230  	//    * "ET" - ETHIOPIA
 11231  	//
 11232  	//    * "FI" - FINLAND
 11233  	//
 11234  	//    * "FR" - FRANCE
 11235  	//
 11236  	//    * "DE" - GERMANY
 11237  	//
 11238  	//    * "GR" - GREECE
 11239  	//
 11240  	//    * "HU" - HUNGARY
 11241  	//
 11242  	//    * "IS" - ICELAND
 11243  	//
 11244  	//    * "IN" - INDIA
 11245  	//
 11246  	//    * "IE" - IRELAND
 11247  	//
 11248  	//    * "IT" - ITALY
 11249  	//
 11250  	//    * "JP" - JAPAN
 11251  	//
 11252  	//    * "KZ" - KAZAKHSTAN
 11253  	//
 11254  	//    * "KR" - KOREA
 11255  	//
 11256  	//    * "LV" - LATVIA
 11257  	//
 11258  	//    * "LI" - LIECHTENSTEIN
 11259  	//
 11260  	//    * "LT" - LITHUANIA
 11261  	//
 11262  	//    * "LU" - LUXEMBOURG
 11263  	//
 11264  	//    * "MK" - MACEDONIA
 11265  	//
 11266  	//    * "MT" - MALTA
 11267  	//
 11268  	//    * "MX" - MEXICO
 11269  	//
 11270  	//    * "MD" - MOLDOVA
 11271  	//
 11272  	//    * "ME" - MONTENEGRO
 11273  	//
 11274  	//    * "NL" - NETHERLANDS
 11275  	//
 11276  	//    * "NZ" - NEW ZEALAND
 11277  	//
 11278  	//    * "NI" - NICARAGUA
 11279  	//
 11280  	//    * "NG" - NIGERIA
 11281  	//
 11282  	//    * "NO" - NORWAY
 11283  	//
 11284  	//    * "PA" - PANAMA
 11285  	//
 11286  	//    * "PY" - PARAGUAY
 11287  	//
 11288  	//    * "PE" - PERU
 11289  	//
 11290  	//    * "PL" - POLAND
 11291  	//
 11292  	//    * "PT" - PORTUGAL
 11293  	//
 11294  	//    * "RO" - ROMANIA
 11295  	//
 11296  	//    * "RU" - RUSSIA
 11297  	//
 11298  	//    * "RS" - SERBIA
 11299  	//
 11300  	//    * "SK" - SLOVAKIA
 11301  	//
 11302  	//    * "SI" - SLOVENIA
 11303  	//
 11304  	//    * "ZA" - SOUTH AFRICA
 11305  	//
 11306  	//    * "ES" - SPAIN
 11307  	//
 11308  	//    * "SE" - SWEDEN
 11309  	//
 11310  	//    * "CH" - SWITZERLAND
 11311  	//
 11312  	//    * "UA" - UKRAINE
 11313  	//
 11314  	//    * "AE" - UNITED ARAB EMIRATES
 11315  	//
 11316  	//    * "US" - UNITED STATES
 11317  	//
 11318  	//    * "UK" - UNITED KINGDOM
 11319  	//
 11320  	//    * "UY" - URUGUAY
 11321  	//
 11322  	//    * "VE" - VENEZUELA
 11323  	//
 11324  	// Value is a required field
 11325  	Value *string `type:"string" required:"true"`
 11326  }
 11327  
 11328  // String returns the string representation.
 11329  //
 11330  // API parameter values that are decorated as "sensitive" in the API will not
 11331  // be included in the string output. The member name will be present, but the
 11332  // value will be replaced with "sensitive".
 11333  func (s SupplementaryFeature) String() string {
 11334  	return awsutil.Prettify(s)
 11335  }
 11336  
 11337  // GoString returns the string representation.
 11338  //
 11339  // API parameter values that are decorated as "sensitive" in the API will not
 11340  // be included in the string output. The member name will be present, but the
 11341  // value will be replaced with "sensitive".
 11342  func (s SupplementaryFeature) GoString() string {
 11343  	return s.String()
 11344  }
 11345  
 11346  // Validate inspects the fields of the type to determine if they are valid.
 11347  func (s *SupplementaryFeature) Validate() error {
 11348  	invalidParams := request.ErrInvalidParams{Context: "SupplementaryFeature"}
 11349  	if s.Name == nil {
 11350  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11351  	}
 11352  	if s.Name != nil && len(*s.Name) < 1 {
 11353  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11354  	}
 11355  	if s.Value == nil {
 11356  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11357  	}
 11358  
 11359  	if invalidParams.Len() > 0 {
 11360  		return invalidParams
 11361  	}
 11362  	return nil
 11363  }
 11364  
 11365  // SetName sets the Name field's value.
 11366  func (s *SupplementaryFeature) SetName(v string) *SupplementaryFeature {
 11367  	s.Name = &v
 11368  	return s
 11369  }
 11370  
 11371  // SetValue sets the Value field's value.
 11372  func (s *SupplementaryFeature) SetValue(v string) *SupplementaryFeature {
 11373  	s.Value = &v
 11374  	return s
 11375  }
 11376  
 11377  // The optional metadata that you apply to a resource to help you categorize
 11378  // and organize them. Each tag consists of a key and an optional value, both
 11379  // of which you define.
 11380  //
 11381  // The following basic restrictions apply to tags:
 11382  //
 11383  //    * Maximum number of tags per resource - 50.
 11384  //
 11385  //    * For each resource, each tag key must be unique, and each tag key can
 11386  //    have only one value.
 11387  //
 11388  //    * Maximum key length - 128 Unicode characters in UTF-8.
 11389  //
 11390  //    * Maximum value length - 256 Unicode characters in UTF-8.
 11391  //
 11392  //    * If your tagging schema is used across multiple services and resources,
 11393  //    remember that other services may have restrictions on allowed characters.
 11394  //    Generally allowed characters are: letters, numbers, and spaces representable
 11395  //    in UTF-8, and the following characters: + - = . _ : / @.
 11396  //
 11397  //    * Tag keys and values are case sensitive.
 11398  //
 11399  //    * Do not use aws:, AWS:, or any upper or lowercase combination of such
 11400  //    as a prefix for keys as it is reserved for AWS use. You cannot edit or
 11401  //    delete tag keys with this prefix. Values can have this prefix. If a tag
 11402  //    value has aws as its prefix but the key does not, then Forecast considers
 11403  //    it to be a user tag and will count against the limit of 50 tags. Tags
 11404  //    with only the key prefix of aws do not count against your tags per resource
 11405  //    limit.
 11406  type Tag struct {
 11407  	_ struct{} `type:"structure"`
 11408  
 11409  	// One part of a key-value pair that makes up a tag. A key is a general label
 11410  	// that acts like a category for more specific tag values.
 11411  	//
 11412  	// Key is a sensitive parameter and its value will be
 11413  	// replaced with "sensitive" in string returned by Tag's
 11414  	// String and GoString methods.
 11415  	//
 11416  	// Key is a required field
 11417  	Key *string `min:"1" type:"string" required:"true" sensitive:"true"`
 11418  
 11419  	// The optional part of a key-value pair that makes up a tag. A value acts as
 11420  	// a descriptor within a tag category (key).
 11421  	//
 11422  	// Value is a sensitive parameter and its value will be
 11423  	// replaced with "sensitive" in string returned by Tag's
 11424  	// String and GoString methods.
 11425  	//
 11426  	// Value is a required field
 11427  	Value *string `type:"string" required:"true" sensitive:"true"`
 11428  }
 11429  
 11430  // String returns the string representation.
 11431  //
 11432  // API parameter values that are decorated as "sensitive" in the API will not
 11433  // be included in the string output. The member name will be present, but the
 11434  // value will be replaced with "sensitive".
 11435  func (s Tag) String() string {
 11436  	return awsutil.Prettify(s)
 11437  }
 11438  
 11439  // GoString returns the string representation.
 11440  //
 11441  // API parameter values that are decorated as "sensitive" in the API will not
 11442  // be included in the string output. The member name will be present, but the
 11443  // value will be replaced with "sensitive".
 11444  func (s Tag) GoString() string {
 11445  	return s.String()
 11446  }
 11447  
 11448  // Validate inspects the fields of the type to determine if they are valid.
 11449  func (s *Tag) Validate() error {
 11450  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 11451  	if s.Key == nil {
 11452  		invalidParams.Add(request.NewErrParamRequired("Key"))
 11453  	}
 11454  	if s.Key != nil && len(*s.Key) < 1 {
 11455  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 11456  	}
 11457  	if s.Value == nil {
 11458  		invalidParams.Add(request.NewErrParamRequired("Value"))
 11459  	}
 11460  
 11461  	if invalidParams.Len() > 0 {
 11462  		return invalidParams
 11463  	}
 11464  	return nil
 11465  }
 11466  
 11467  // SetKey sets the Key field's value.
 11468  func (s *Tag) SetKey(v string) *Tag {
 11469  	s.Key = &v
 11470  	return s
 11471  }
 11472  
 11473  // SetValue sets the Value field's value.
 11474  func (s *Tag) SetValue(v string) *Tag {
 11475  	s.Value = &v
 11476  	return s
 11477  }
 11478  
 11479  type TagResourceInput struct {
 11480  	_ struct{} `type:"structure"`
 11481  
 11482  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 11483  	// list the tags. Currently, the supported resources are Forecast dataset groups,
 11484  	// datasets, dataset import jobs, predictors, forecasts, and forecast export
 11485  	// jobs.
 11486  	//
 11487  	// ResourceArn is a required field
 11488  	ResourceArn *string `type:"string" required:"true"`
 11489  
 11490  	// The tags to add to the resource. A tag is an array of key-value pairs.
 11491  	//
 11492  	// The following basic restrictions apply to tags:
 11493  	//
 11494  	//    * Maximum number of tags per resource - 50.
 11495  	//
 11496  	//    * For each resource, each tag key must be unique, and each tag key can
 11497  	//    have only one value.
 11498  	//
 11499  	//    * Maximum key length - 128 Unicode characters in UTF-8.
 11500  	//
 11501  	//    * Maximum value length - 256 Unicode characters in UTF-8.
 11502  	//
 11503  	//    * If your tagging schema is used across multiple services and resources,
 11504  	//    remember that other services may have restrictions on allowed characters.
 11505  	//    Generally allowed characters are: letters, numbers, and spaces representable
 11506  	//    in UTF-8, and the following characters: + - = . _ : / @.
 11507  	//
 11508  	//    * Tag keys and values are case sensitive.
 11509  	//
 11510  	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
 11511  	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
 11512  	//    delete tag keys with this prefix. Values can have this prefix. If a tag
 11513  	//    value has aws as its prefix but the key does not, then Forecast considers
 11514  	//    it to be a user tag and will count against the limit of 50 tags. Tags
 11515  	//    with only the key prefix of aws do not count against your tags per resource
 11516  	//    limit.
 11517  	//
 11518  	// Tags is a required field
 11519  	Tags []*Tag `type:"list" required:"true"`
 11520  }
 11521  
 11522  // String returns the string representation.
 11523  //
 11524  // API parameter values that are decorated as "sensitive" in the API will not
 11525  // be included in the string output. The member name will be present, but the
 11526  // value will be replaced with "sensitive".
 11527  func (s TagResourceInput) String() string {
 11528  	return awsutil.Prettify(s)
 11529  }
 11530  
 11531  // GoString returns the string representation.
 11532  //
 11533  // API parameter values that are decorated as "sensitive" in the API will not
 11534  // be included in the string output. The member name will be present, but the
 11535  // value will be replaced with "sensitive".
 11536  func (s TagResourceInput) GoString() string {
 11537  	return s.String()
 11538  }
 11539  
 11540  // Validate inspects the fields of the type to determine if they are valid.
 11541  func (s *TagResourceInput) Validate() error {
 11542  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 11543  	if s.ResourceArn == nil {
 11544  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11545  	}
 11546  	if s.Tags == nil {
 11547  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 11548  	}
 11549  	if s.Tags != nil {
 11550  		for i, v := range s.Tags {
 11551  			if v == nil {
 11552  				continue
 11553  			}
 11554  			if err := v.Validate(); err != nil {
 11555  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 11556  			}
 11557  		}
 11558  	}
 11559  
 11560  	if invalidParams.Len() > 0 {
 11561  		return invalidParams
 11562  	}
 11563  	return nil
 11564  }
 11565  
 11566  // SetResourceArn sets the ResourceArn field's value.
 11567  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 11568  	s.ResourceArn = &v
 11569  	return s
 11570  }
 11571  
 11572  // SetTags sets the Tags field's value.
 11573  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 11574  	s.Tags = v
 11575  	return s
 11576  }
 11577  
 11578  type TagResourceOutput struct {
 11579  	_ struct{} `type:"structure"`
 11580  }
 11581  
 11582  // String returns the string representation.
 11583  //
 11584  // API parameter values that are decorated as "sensitive" in the API will not
 11585  // be included in the string output. The member name will be present, but the
 11586  // value will be replaced with "sensitive".
 11587  func (s TagResourceOutput) String() string {
 11588  	return awsutil.Prettify(s)
 11589  }
 11590  
 11591  // GoString returns the string representation.
 11592  //
 11593  // API parameter values that are decorated as "sensitive" in the API will not
 11594  // be included in the string output. The member name will be present, but the
 11595  // value will be replaced with "sensitive".
 11596  func (s TagResourceOutput) GoString() string {
 11597  	return s.String()
 11598  }
 11599  
 11600  // The status, start time, and end time of a backtest, as well as a failure
 11601  // reason if applicable.
 11602  type TestWindowSummary struct {
 11603  	_ struct{} `type:"structure"`
 11604  
 11605  	// If the test failed, the reason why it failed.
 11606  	Message *string `type:"string"`
 11607  
 11608  	// The status of the test. Possible status values are:
 11609  	//
 11610  	//    * ACTIVE
 11611  	//
 11612  	//    * CREATE_IN_PROGRESS
 11613  	//
 11614  	//    * CREATE_FAILED
 11615  	Status *string `type:"string"`
 11616  
 11617  	// The time at which the test ended.
 11618  	TestWindowEnd *time.Time `type:"timestamp"`
 11619  
 11620  	// The time at which the test began.
 11621  	TestWindowStart *time.Time `type:"timestamp"`
 11622  }
 11623  
 11624  // String returns the string representation.
 11625  //
 11626  // API parameter values that are decorated as "sensitive" in the API will not
 11627  // be included in the string output. The member name will be present, but the
 11628  // value will be replaced with "sensitive".
 11629  func (s TestWindowSummary) String() string {
 11630  	return awsutil.Prettify(s)
 11631  }
 11632  
 11633  // GoString returns the string representation.
 11634  //
 11635  // API parameter values that are decorated as "sensitive" in the API will not
 11636  // be included in the string output. The member name will be present, but the
 11637  // value will be replaced with "sensitive".
 11638  func (s TestWindowSummary) GoString() string {
 11639  	return s.String()
 11640  }
 11641  
 11642  // SetMessage sets the Message field's value.
 11643  func (s *TestWindowSummary) SetMessage(v string) *TestWindowSummary {
 11644  	s.Message = &v
 11645  	return s
 11646  }
 11647  
 11648  // SetStatus sets the Status field's value.
 11649  func (s *TestWindowSummary) SetStatus(v string) *TestWindowSummary {
 11650  	s.Status = &v
 11651  	return s
 11652  }
 11653  
 11654  // SetTestWindowEnd sets the TestWindowEnd field's value.
 11655  func (s *TestWindowSummary) SetTestWindowEnd(v time.Time) *TestWindowSummary {
 11656  	s.TestWindowEnd = &v
 11657  	return s
 11658  }
 11659  
 11660  // SetTestWindowStart sets the TestWindowStart field's value.
 11661  func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary {
 11662  	s.TestWindowStart = &v
 11663  	return s
 11664  }
 11665  
 11666  type UntagResourceInput struct {
 11667  	_ struct{} `type:"structure"`
 11668  
 11669  	// The Amazon Resource Name (ARN) that identifies the resource for which to
 11670  	// list the tags. Currently, the supported resources are Forecast dataset groups,
 11671  	// datasets, dataset import jobs, predictors, forecasts, and forecast exports.
 11672  	//
 11673  	// ResourceArn is a required field
 11674  	ResourceArn *string `type:"string" required:"true"`
 11675  
 11676  	// The keys of the tags to be removed.
 11677  	//
 11678  	// TagKeys is a required field
 11679  	TagKeys []*string `type:"list" required:"true"`
 11680  }
 11681  
 11682  // String returns the string representation.
 11683  //
 11684  // API parameter values that are decorated as "sensitive" in the API will not
 11685  // be included in the string output. The member name will be present, but the
 11686  // value will be replaced with "sensitive".
 11687  func (s UntagResourceInput) String() string {
 11688  	return awsutil.Prettify(s)
 11689  }
 11690  
 11691  // GoString returns the string representation.
 11692  //
 11693  // API parameter values that are decorated as "sensitive" in the API will not
 11694  // be included in the string output. The member name will be present, but the
 11695  // value will be replaced with "sensitive".
 11696  func (s UntagResourceInput) GoString() string {
 11697  	return s.String()
 11698  }
 11699  
 11700  // Validate inspects the fields of the type to determine if they are valid.
 11701  func (s *UntagResourceInput) Validate() error {
 11702  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 11703  	if s.ResourceArn == nil {
 11704  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 11705  	}
 11706  	if s.TagKeys == nil {
 11707  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 11708  	}
 11709  
 11710  	if invalidParams.Len() > 0 {
 11711  		return invalidParams
 11712  	}
 11713  	return nil
 11714  }
 11715  
 11716  // SetResourceArn sets the ResourceArn field's value.
 11717  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 11718  	s.ResourceArn = &v
 11719  	return s
 11720  }
 11721  
 11722  // SetTagKeys sets the TagKeys field's value.
 11723  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 11724  	s.TagKeys = v
 11725  	return s
 11726  }
 11727  
 11728  type UntagResourceOutput struct {
 11729  	_ struct{} `type:"structure"`
 11730  }
 11731  
 11732  // String returns the string representation.
 11733  //
 11734  // API parameter values that are decorated as "sensitive" in the API will not
 11735  // be included in the string output. The member name will be present, but the
 11736  // value will be replaced with "sensitive".
 11737  func (s UntagResourceOutput) String() string {
 11738  	return awsutil.Prettify(s)
 11739  }
 11740  
 11741  // GoString returns the string representation.
 11742  //
 11743  // API parameter values that are decorated as "sensitive" in the API will not
 11744  // be included in the string output. The member name will be present, but the
 11745  // value will be replaced with "sensitive".
 11746  func (s UntagResourceOutput) GoString() string {
 11747  	return s.String()
 11748  }
 11749  
 11750  type UpdateDatasetGroupInput struct {
 11751  	_ struct{} `type:"structure"`
 11752  
 11753  	// An array of the Amazon Resource Names (ARNs) of the datasets to add to the
 11754  	// dataset group.
 11755  	//
 11756  	// DatasetArns is a required field
 11757  	DatasetArns []*string `type:"list" required:"true"`
 11758  
 11759  	// The ARN of the dataset group.
 11760  	//
 11761  	// DatasetGroupArn is a required field
 11762  	DatasetGroupArn *string `type:"string" required:"true"`
 11763  }
 11764  
 11765  // String returns the string representation.
 11766  //
 11767  // API parameter values that are decorated as "sensitive" in the API will not
 11768  // be included in the string output. The member name will be present, but the
 11769  // value will be replaced with "sensitive".
 11770  func (s UpdateDatasetGroupInput) String() string {
 11771  	return awsutil.Prettify(s)
 11772  }
 11773  
 11774  // GoString returns the string representation.
 11775  //
 11776  // API parameter values that are decorated as "sensitive" in the API will not
 11777  // be included in the string output. The member name will be present, but the
 11778  // value will be replaced with "sensitive".
 11779  func (s UpdateDatasetGroupInput) GoString() string {
 11780  	return s.String()
 11781  }
 11782  
 11783  // Validate inspects the fields of the type to determine if they are valid.
 11784  func (s *UpdateDatasetGroupInput) Validate() error {
 11785  	invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetGroupInput"}
 11786  	if s.DatasetArns == nil {
 11787  		invalidParams.Add(request.NewErrParamRequired("DatasetArns"))
 11788  	}
 11789  	if s.DatasetGroupArn == nil {
 11790  		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
 11791  	}
 11792  
 11793  	if invalidParams.Len() > 0 {
 11794  		return invalidParams
 11795  	}
 11796  	return nil
 11797  }
 11798  
 11799  // SetDatasetArns sets the DatasetArns field's value.
 11800  func (s *UpdateDatasetGroupInput) SetDatasetArns(v []*string) *UpdateDatasetGroupInput {
 11801  	s.DatasetArns = v
 11802  	return s
 11803  }
 11804  
 11805  // SetDatasetGroupArn sets the DatasetGroupArn field's value.
 11806  func (s *UpdateDatasetGroupInput) SetDatasetGroupArn(v string) *UpdateDatasetGroupInput {
 11807  	s.DatasetGroupArn = &v
 11808  	return s
 11809  }
 11810  
 11811  type UpdateDatasetGroupOutput struct {
 11812  	_ struct{} `type:"structure"`
 11813  }
 11814  
 11815  // String returns the string representation.
 11816  //
 11817  // API parameter values that are decorated as "sensitive" in the API will not
 11818  // be included in the string output. The member name will be present, but the
 11819  // value will be replaced with "sensitive".
 11820  func (s UpdateDatasetGroupOutput) String() string {
 11821  	return awsutil.Prettify(s)
 11822  }
 11823  
 11824  // GoString returns the string representation.
 11825  //
 11826  // API parameter values that are decorated as "sensitive" in the API will not
 11827  // be included in the string output. The member name will be present, but the
 11828  // value will be replaced with "sensitive".
 11829  func (s UpdateDatasetGroupOutput) GoString() string {
 11830  	return s.String()
 11831  }
 11832  
 11833  // The weighted loss value for a quantile. This object is part of the Metrics
 11834  // object.
 11835  type WeightedQuantileLoss struct {
 11836  	_ struct{} `type:"structure"`
 11837  
 11838  	// The difference between the predicted value and the actual value over the
 11839  	// quantile, weighted (normalized) by dividing by the sum over all quantiles.
 11840  	LossValue *float64 `type:"double"`
 11841  
 11842  	// The quantile. Quantiles divide a probability distribution into regions of
 11843  	// equal probability. For example, if the distribution was divided into 5 regions
 11844  	// of equal probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.
 11845  	Quantile *float64 `type:"double"`
 11846  }
 11847  
 11848  // String returns the string representation.
 11849  //
 11850  // API parameter values that are decorated as "sensitive" in the API will not
 11851  // be included in the string output. The member name will be present, but the
 11852  // value will be replaced with "sensitive".
 11853  func (s WeightedQuantileLoss) String() string {
 11854  	return awsutil.Prettify(s)
 11855  }
 11856  
 11857  // GoString returns the string representation.
 11858  //
 11859  // API parameter values that are decorated as "sensitive" in the API will not
 11860  // be included in the string output. The member name will be present, but the
 11861  // value will be replaced with "sensitive".
 11862  func (s WeightedQuantileLoss) GoString() string {
 11863  	return s.String()
 11864  }
 11865  
 11866  // SetLossValue sets the LossValue field's value.
 11867  func (s *WeightedQuantileLoss) SetLossValue(v float64) *WeightedQuantileLoss {
 11868  	s.LossValue = &v
 11869  	return s
 11870  }
 11871  
 11872  // SetQuantile sets the Quantile field's value.
 11873  func (s *WeightedQuantileLoss) SetQuantile(v float64) *WeightedQuantileLoss {
 11874  	s.Quantile = &v
 11875  	return s
 11876  }
 11877  
 11878  // The metrics for a time range within the evaluation portion of a dataset.
 11879  // This object is part of the EvaluationResult object.
 11880  //
 11881  // The TestWindowStart and TestWindowEnd parameters are determined by the BackTestWindowOffset
 11882  // parameter of the EvaluationParameters object.
 11883  type WindowSummary struct {
 11884  	_ struct{} `type:"structure"`
 11885  
 11886  	// The type of evaluation.
 11887  	//
 11888  	//    * SUMMARY - The average metrics across all windows.
 11889  	//
 11890  	//    * COMPUTED - The metrics for the specified window.
 11891  	EvaluationType *string `type:"string" enum:"EvaluationType"`
 11892  
 11893  	// The number of data points within the window.
 11894  	ItemCount *int64 `type:"integer"`
 11895  
 11896  	// Provides metrics used to evaluate the performance of a predictor.
 11897  	Metrics *Metrics `type:"structure"`
 11898  
 11899  	// The timestamp that defines the end of the window.
 11900  	TestWindowEnd *time.Time `type:"timestamp"`
 11901  
 11902  	// The timestamp that defines the start of the window.
 11903  	TestWindowStart *time.Time `type:"timestamp"`
 11904  }
 11905  
 11906  // String returns the string representation.
 11907  //
 11908  // API parameter values that are decorated as "sensitive" in the API will not
 11909  // be included in the string output. The member name will be present, but the
 11910  // value will be replaced with "sensitive".
 11911  func (s WindowSummary) String() string {
 11912  	return awsutil.Prettify(s)
 11913  }
 11914  
 11915  // GoString returns the string representation.
 11916  //
 11917  // API parameter values that are decorated as "sensitive" in the API will not
 11918  // be included in the string output. The member name will be present, but the
 11919  // value will be replaced with "sensitive".
 11920  func (s WindowSummary) GoString() string {
 11921  	return s.String()
 11922  }
 11923  
 11924  // SetEvaluationType sets the EvaluationType field's value.
 11925  func (s *WindowSummary) SetEvaluationType(v string) *WindowSummary {
 11926  	s.EvaluationType = &v
 11927  	return s
 11928  }
 11929  
 11930  // SetItemCount sets the ItemCount field's value.
 11931  func (s *WindowSummary) SetItemCount(v int64) *WindowSummary {
 11932  	s.ItemCount = &v
 11933  	return s
 11934  }
 11935  
 11936  // SetMetrics sets the Metrics field's value.
 11937  func (s *WindowSummary) SetMetrics(v *Metrics) *WindowSummary {
 11938  	s.Metrics = v
 11939  	return s
 11940  }
 11941  
 11942  // SetTestWindowEnd sets the TestWindowEnd field's value.
 11943  func (s *WindowSummary) SetTestWindowEnd(v time.Time) *WindowSummary {
 11944  	s.TestWindowEnd = &v
 11945  	return s
 11946  }
 11947  
 11948  // SetTestWindowStart sets the TestWindowStart field's value.
 11949  func (s *WindowSummary) SetTestWindowStart(v time.Time) *WindowSummary {
 11950  	s.TestWindowStart = &v
 11951  	return s
 11952  }
 11953  
 11954  const (
 11955  	// AttributeTypeString is a AttributeType enum value
 11956  	AttributeTypeString = "string"
 11957  
 11958  	// AttributeTypeInteger is a AttributeType enum value
 11959  	AttributeTypeInteger = "integer"
 11960  
 11961  	// AttributeTypeFloat is a AttributeType enum value
 11962  	AttributeTypeFloat = "float"
 11963  
 11964  	// AttributeTypeTimestamp is a AttributeType enum value
 11965  	AttributeTypeTimestamp = "timestamp"
 11966  
 11967  	// AttributeTypeGeolocation is a AttributeType enum value
 11968  	AttributeTypeGeolocation = "geolocation"
 11969  )
 11970  
 11971  // AttributeType_Values returns all elements of the AttributeType enum
 11972  func AttributeType_Values() []string {
 11973  	return []string{
 11974  		AttributeTypeString,
 11975  		AttributeTypeInteger,
 11976  		AttributeTypeFloat,
 11977  		AttributeTypeTimestamp,
 11978  		AttributeTypeGeolocation,
 11979  	}
 11980  }
 11981  
 11982  const (
 11983  	// AutoMLOverrideStrategyLatencyOptimized is a AutoMLOverrideStrategy enum value
 11984  	AutoMLOverrideStrategyLatencyOptimized = "LatencyOptimized"
 11985  )
 11986  
 11987  // AutoMLOverrideStrategy_Values returns all elements of the AutoMLOverrideStrategy enum
 11988  func AutoMLOverrideStrategy_Values() []string {
 11989  	return []string{
 11990  		AutoMLOverrideStrategyLatencyOptimized,
 11991  	}
 11992  }
 11993  
 11994  const (
 11995  	// DatasetTypeTargetTimeSeries is a DatasetType enum value
 11996  	DatasetTypeTargetTimeSeries = "TARGET_TIME_SERIES"
 11997  
 11998  	// DatasetTypeRelatedTimeSeries is a DatasetType enum value
 11999  	DatasetTypeRelatedTimeSeries = "RELATED_TIME_SERIES"
 12000  
 12001  	// DatasetTypeItemMetadata is a DatasetType enum value
 12002  	DatasetTypeItemMetadata = "ITEM_METADATA"
 12003  )
 12004  
 12005  // DatasetType_Values returns all elements of the DatasetType enum
 12006  func DatasetType_Values() []string {
 12007  	return []string{
 12008  		DatasetTypeTargetTimeSeries,
 12009  		DatasetTypeRelatedTimeSeries,
 12010  		DatasetTypeItemMetadata,
 12011  	}
 12012  }
 12013  
 12014  const (
 12015  	// DomainRetail is a Domain enum value
 12016  	DomainRetail = "RETAIL"
 12017  
 12018  	// DomainCustom is a Domain enum value
 12019  	DomainCustom = "CUSTOM"
 12020  
 12021  	// DomainInventoryPlanning is a Domain enum value
 12022  	DomainInventoryPlanning = "INVENTORY_PLANNING"
 12023  
 12024  	// DomainEc2Capacity is a Domain enum value
 12025  	DomainEc2Capacity = "EC2_CAPACITY"
 12026  
 12027  	// DomainWorkForce is a Domain enum value
 12028  	DomainWorkForce = "WORK_FORCE"
 12029  
 12030  	// DomainWebTraffic is a Domain enum value
 12031  	DomainWebTraffic = "WEB_TRAFFIC"
 12032  
 12033  	// DomainMetrics is a Domain enum value
 12034  	DomainMetrics = "METRICS"
 12035  )
 12036  
 12037  // Domain_Values returns all elements of the Domain enum
 12038  func Domain_Values() []string {
 12039  	return []string{
 12040  		DomainRetail,
 12041  		DomainCustom,
 12042  		DomainInventoryPlanning,
 12043  		DomainEc2Capacity,
 12044  		DomainWorkForce,
 12045  		DomainWebTraffic,
 12046  		DomainMetrics,
 12047  	}
 12048  }
 12049  
 12050  const (
 12051  	// EvaluationTypeSummary is a EvaluationType enum value
 12052  	EvaluationTypeSummary = "SUMMARY"
 12053  
 12054  	// EvaluationTypeComputed is a EvaluationType enum value
 12055  	EvaluationTypeComputed = "COMPUTED"
 12056  )
 12057  
 12058  // EvaluationType_Values returns all elements of the EvaluationType enum
 12059  func EvaluationType_Values() []string {
 12060  	return []string{
 12061  		EvaluationTypeSummary,
 12062  		EvaluationTypeComputed,
 12063  	}
 12064  }
 12065  
 12066  const (
 12067  	// FeaturizationMethodNameFilling is a FeaturizationMethodName enum value
 12068  	FeaturizationMethodNameFilling = "filling"
 12069  )
 12070  
 12071  // FeaturizationMethodName_Values returns all elements of the FeaturizationMethodName enum
 12072  func FeaturizationMethodName_Values() []string {
 12073  	return []string{
 12074  		FeaturizationMethodNameFilling,
 12075  	}
 12076  }
 12077  
 12078  const (
 12079  	// FilterConditionStringIs is a FilterConditionString enum value
 12080  	FilterConditionStringIs = "IS"
 12081  
 12082  	// FilterConditionStringIsNot is a FilterConditionString enum value
 12083  	FilterConditionStringIsNot = "IS_NOT"
 12084  )
 12085  
 12086  // FilterConditionString_Values returns all elements of the FilterConditionString enum
 12087  func FilterConditionString_Values() []string {
 12088  	return []string{
 12089  		FilterConditionStringIs,
 12090  		FilterConditionStringIsNot,
 12091  	}
 12092  }
 12093  
 12094  const (
 12095  	// OptimizationMetricWape is a OptimizationMetric enum value
 12096  	OptimizationMetricWape = "WAPE"
 12097  
 12098  	// OptimizationMetricRmse is a OptimizationMetric enum value
 12099  	OptimizationMetricRmse = "RMSE"
 12100  
 12101  	// OptimizationMetricAverageWeightedQuantileLoss is a OptimizationMetric enum value
 12102  	OptimizationMetricAverageWeightedQuantileLoss = "AverageWeightedQuantileLoss"
 12103  
 12104  	// OptimizationMetricMase is a OptimizationMetric enum value
 12105  	OptimizationMetricMase = "MASE"
 12106  
 12107  	// OptimizationMetricMape is a OptimizationMetric enum value
 12108  	OptimizationMetricMape = "MAPE"
 12109  )
 12110  
 12111  // OptimizationMetric_Values returns all elements of the OptimizationMetric enum
 12112  func OptimizationMetric_Values() []string {
 12113  	return []string{
 12114  		OptimizationMetricWape,
 12115  		OptimizationMetricRmse,
 12116  		OptimizationMetricAverageWeightedQuantileLoss,
 12117  		OptimizationMetricMase,
 12118  		OptimizationMetricMape,
 12119  	}
 12120  }
 12121  
 12122  const (
 12123  	// ScalingTypeAuto is a ScalingType enum value
 12124  	ScalingTypeAuto = "Auto"
 12125  
 12126  	// ScalingTypeLinear is a ScalingType enum value
 12127  	ScalingTypeLinear = "Linear"
 12128  
 12129  	// ScalingTypeLogarithmic is a ScalingType enum value
 12130  	ScalingTypeLogarithmic = "Logarithmic"
 12131  
 12132  	// ScalingTypeReverseLogarithmic is a ScalingType enum value
 12133  	ScalingTypeReverseLogarithmic = "ReverseLogarithmic"
 12134  )
 12135  
 12136  // ScalingType_Values returns all elements of the ScalingType enum
 12137  func ScalingType_Values() []string {
 12138  	return []string{
 12139  		ScalingTypeAuto,
 12140  		ScalingTypeLinear,
 12141  		ScalingTypeLogarithmic,
 12142  		ScalingTypeReverseLogarithmic,
 12143  	}
 12144  }