1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package forecastservice
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const 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
42func (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/aws-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
106func (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.
120func (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
127const 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
153func (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
210func (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.
224func (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
231const 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
257func (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
326func (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.
340func (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
347const 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
373func (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
437func (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.
451func (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
458const 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
484func (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
549func (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.
563func (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
570const 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
596func (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
689func (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.
703func (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
710const 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
736func (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
798func (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.
812func (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
819const 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
845func (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
892func (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.
906func (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
913const 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
939func (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
984func (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.
998func (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
1005const 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
1031func (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
1074func (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.
1088func (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
1095const 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
1121func (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
1167func (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.
1181func (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
1188const 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
1214func (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
1257func (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.
1271func (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
1278const 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
1304func (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
1347func (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.
1361func (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
1368const 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
1394func (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
1435func (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.
1449func (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
1456const 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
1482func (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 Group: predictors, predictor backtest export jobs, forecasts,
1511//    forecast export jobs
1512//
1513//    * Dataset: dataset import 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
1543func (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.
1557func (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
1564const 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
1590func (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
1636func (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.
1650func (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
1657const 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
1683func (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
1731func (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.
1745func (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
1752const 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
1778func (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
1830func (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.
1844func (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
1851const 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
1877func (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
1927func (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.
1941func (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
1948const 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
1974func (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
2023func (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.
2037func (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
2044const 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
2070func (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
2124func (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.
2138func (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
2145const 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
2171func (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
2220func (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.
2234func (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
2241const 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
2267func (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
2325func (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.
2339func (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
2346const 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
2372func (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
2414func (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.
2428func (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//
2452func (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.
2463func (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
2487const 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
2513func (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
2559func (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.
2573func (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//
2597func (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.
2608func (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
2632const 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
2658func (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
2699func (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.
2713func (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//
2737func (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.
2748func (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
2772const 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
2798func (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
2844func (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.
2858func (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//
2882func (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.
2893func (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
2917const 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
2943func (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
2989func (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.
3003func (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//
3027func (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.
3038func (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
3062const 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
3088func (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
3135func (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.
3149func (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//
3173func (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.
3184func (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
3208const 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
3234func (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
3280func (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.
3294func (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//
3318func (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.
3329func (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
3353const 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
3379func (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
3416func (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.
3430func (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
3437const 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
3463func (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
3520func (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.
3534func (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
3541const 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
3567func (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
3611func (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.
3625func (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
3632const 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
3658func (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
3696func (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.
3710func (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
3717const 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
3743func (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
3788func (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.
3802func (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.
3811type 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
3826func (s CategoricalParameterRange) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation
3831func (s CategoricalParameterRange) GoString() string {
3832	return s.String()
3833}
3834
3835// Validate inspects the fields of the type to determine if they are valid.
3836func (s *CategoricalParameterRange) Validate() error {
3837	invalidParams := request.ErrInvalidParams{Context: "CategoricalParameterRange"}
3838	if s.Name == nil {
3839		invalidParams.Add(request.NewErrParamRequired("Name"))
3840	}
3841	if s.Name != nil && len(*s.Name) < 1 {
3842		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3843	}
3844	if s.Values == nil {
3845		invalidParams.Add(request.NewErrParamRequired("Values"))
3846	}
3847	if s.Values != nil && len(s.Values) < 1 {
3848		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
3849	}
3850
3851	if invalidParams.Len() > 0 {
3852		return invalidParams
3853	}
3854	return nil
3855}
3856
3857// SetName sets the Name field's value.
3858func (s *CategoricalParameterRange) SetName(v string) *CategoricalParameterRange {
3859	s.Name = &v
3860	return s
3861}
3862
3863// SetValues sets the Values field's value.
3864func (s *CategoricalParameterRange) SetValues(v []*string) *CategoricalParameterRange {
3865	s.Values = v
3866	return s
3867}
3868
3869// Specifies a continuous hyperparameter and it's range of tunable values. This
3870// object is part of the ParameterRanges object.
3871type ContinuousParameterRange struct {
3872	_ struct{} `type:"structure"`
3873
3874	// The maximum tunable value of the hyperparameter.
3875	//
3876	// MaxValue is a required field
3877	MaxValue *float64 `type:"double" required:"true"`
3878
3879	// The minimum tunable value of the hyperparameter.
3880	//
3881	// MinValue is a required field
3882	MinValue *float64 `type:"double" required:"true"`
3883
3884	// The name of the hyperparameter to tune.
3885	//
3886	// Name is a required field
3887	Name *string `min:"1" type:"string" required:"true"`
3888
3889	// The scale that hyperparameter tuning uses to search the hyperparameter range.
3890	// Valid values:
3891	//
3892	// Auto
3893	//
3894	// Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.
3895	//
3896	// Linear
3897	//
3898	// Hyperparameter tuning searches the values in the hyperparameter range by
3899	// using a linear scale.
3900	//
3901	// Logarithmic
3902	//
3903	// Hyperparameter tuning searches the values in the hyperparameter range by
3904	// using a logarithmic scale.
3905	//
3906	// Logarithmic scaling works only for ranges that have values greater than 0.
3907	//
3908	// ReverseLogarithmic
3909	//
3910	// hyperparameter tuning searches the values in the hyperparameter range by
3911	// using a reverse logarithmic scale.
3912	//
3913	// Reverse logarithmic scaling works only for ranges that are entirely within
3914	// the range 0 <= x < 1.0.
3915	//
3916	// For information about choosing a hyperparameter scale, see Hyperparameter
3917	// Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type).
3918	// One of the following values:
3919	ScalingType *string `type:"string" enum:"ScalingType"`
3920}
3921
3922// String returns the string representation
3923func (s ContinuousParameterRange) String() string {
3924	return awsutil.Prettify(s)
3925}
3926
3927// GoString returns the string representation
3928func (s ContinuousParameterRange) GoString() string {
3929	return s.String()
3930}
3931
3932// Validate inspects the fields of the type to determine if they are valid.
3933func (s *ContinuousParameterRange) Validate() error {
3934	invalidParams := request.ErrInvalidParams{Context: "ContinuousParameterRange"}
3935	if s.MaxValue == nil {
3936		invalidParams.Add(request.NewErrParamRequired("MaxValue"))
3937	}
3938	if s.MinValue == nil {
3939		invalidParams.Add(request.NewErrParamRequired("MinValue"))
3940	}
3941	if s.Name == nil {
3942		invalidParams.Add(request.NewErrParamRequired("Name"))
3943	}
3944	if s.Name != nil && len(*s.Name) < 1 {
3945		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3946	}
3947
3948	if invalidParams.Len() > 0 {
3949		return invalidParams
3950	}
3951	return nil
3952}
3953
3954// SetMaxValue sets the MaxValue field's value.
3955func (s *ContinuousParameterRange) SetMaxValue(v float64) *ContinuousParameterRange {
3956	s.MaxValue = &v
3957	return s
3958}
3959
3960// SetMinValue sets the MinValue field's value.
3961func (s *ContinuousParameterRange) SetMinValue(v float64) *ContinuousParameterRange {
3962	s.MinValue = &v
3963	return s
3964}
3965
3966// SetName sets the Name field's value.
3967func (s *ContinuousParameterRange) SetName(v string) *ContinuousParameterRange {
3968	s.Name = &v
3969	return s
3970}
3971
3972// SetScalingType sets the ScalingType field's value.
3973func (s *ContinuousParameterRange) SetScalingType(v string) *ContinuousParameterRange {
3974	s.ScalingType = &v
3975	return s
3976}
3977
3978type CreateDatasetGroupInput struct {
3979	_ struct{} `type:"structure"`
3980
3981	// An array of Amazon Resource Names (ARNs) of the datasets that you want to
3982	// include in the dataset group.
3983	DatasetArns []*string `type:"list"`
3984
3985	// A name for the dataset group.
3986	//
3987	// DatasetGroupName is a required field
3988	DatasetGroupName *string `min:"1" type:"string" required:"true"`
3989
3990	// The domain associated with the dataset group. When you add a dataset to a
3991	// dataset group, this value and the value specified for the Domain parameter
3992	// of the CreateDataset operation must match.
3993	//
3994	// The Domain and DatasetType that you choose determine the fields that must
3995	// be present in training data that you import to a dataset. For example, if
3996	// you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon
3997	// Forecast requires that item_id, timestamp, and demand fields are present
3998	// in your data. For more information, see howitworks-datasets-groups.
3999	//
4000	// Domain is a required field
4001	Domain *string `type:"string" required:"true" enum:"Domain"`
4002
4003	// The optional metadata that you apply to the dataset group to help you categorize
4004	// and organize them. Each tag consists of a key and an optional value, both
4005	// of which you define.
4006	//
4007	// The following basic restrictions apply to tags:
4008	//
4009	//    * Maximum number of tags per resource - 50.
4010	//
4011	//    * For each resource, each tag key must be unique, and each tag key can
4012	//    have only one value.
4013	//
4014	//    * Maximum key length - 128 Unicode characters in UTF-8.
4015	//
4016	//    * Maximum value length - 256 Unicode characters in UTF-8.
4017	//
4018	//    * If your tagging schema is used across multiple services and resources,
4019	//    remember that other services may have restrictions on allowed characters.
4020	//    Generally allowed characters are: letters, numbers, and spaces representable
4021	//    in UTF-8, and the following characters: + - = . _ : / @.
4022	//
4023	//    * Tag keys and values are case sensitive.
4024	//
4025	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
4026	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
4027	//    delete tag keys with this prefix. Values can have this prefix. If a tag
4028	//    value has aws as its prefix but the key does not, then Forecast considers
4029	//    it to be a user tag and will count against the limit of 50 tags. Tags
4030	//    with only the key prefix of aws do not count against your tags per resource
4031	//    limit.
4032	Tags []*Tag `type:"list"`
4033}
4034
4035// String returns the string representation
4036func (s CreateDatasetGroupInput) String() string {
4037	return awsutil.Prettify(s)
4038}
4039
4040// GoString returns the string representation
4041func (s CreateDatasetGroupInput) GoString() string {
4042	return s.String()
4043}
4044
4045// Validate inspects the fields of the type to determine if they are valid.
4046func (s *CreateDatasetGroupInput) Validate() error {
4047	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetGroupInput"}
4048	if s.DatasetGroupName == nil {
4049		invalidParams.Add(request.NewErrParamRequired("DatasetGroupName"))
4050	}
4051	if s.DatasetGroupName != nil && len(*s.DatasetGroupName) < 1 {
4052		invalidParams.Add(request.NewErrParamMinLen("DatasetGroupName", 1))
4053	}
4054	if s.Domain == nil {
4055		invalidParams.Add(request.NewErrParamRequired("Domain"))
4056	}
4057	if s.Tags != nil {
4058		for i, v := range s.Tags {
4059			if v == nil {
4060				continue
4061			}
4062			if err := v.Validate(); err != nil {
4063				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4064			}
4065		}
4066	}
4067
4068	if invalidParams.Len() > 0 {
4069		return invalidParams
4070	}
4071	return nil
4072}
4073
4074// SetDatasetArns sets the DatasetArns field's value.
4075func (s *CreateDatasetGroupInput) SetDatasetArns(v []*string) *CreateDatasetGroupInput {
4076	s.DatasetArns = v
4077	return s
4078}
4079
4080// SetDatasetGroupName sets the DatasetGroupName field's value.
4081func (s *CreateDatasetGroupInput) SetDatasetGroupName(v string) *CreateDatasetGroupInput {
4082	s.DatasetGroupName = &v
4083	return s
4084}
4085
4086// SetDomain sets the Domain field's value.
4087func (s *CreateDatasetGroupInput) SetDomain(v string) *CreateDatasetGroupInput {
4088	s.Domain = &v
4089	return s
4090}
4091
4092// SetTags sets the Tags field's value.
4093func (s *CreateDatasetGroupInput) SetTags(v []*Tag) *CreateDatasetGroupInput {
4094	s.Tags = v
4095	return s
4096}
4097
4098type CreateDatasetGroupOutput struct {
4099	_ struct{} `type:"structure"`
4100
4101	// The Amazon Resource Name (ARN) of the dataset group.
4102	DatasetGroupArn *string `type:"string"`
4103}
4104
4105// String returns the string representation
4106func (s CreateDatasetGroupOutput) String() string {
4107	return awsutil.Prettify(s)
4108}
4109
4110// GoString returns the string representation
4111func (s CreateDatasetGroupOutput) GoString() string {
4112	return s.String()
4113}
4114
4115// SetDatasetGroupArn sets the DatasetGroupArn field's value.
4116func (s *CreateDatasetGroupOutput) SetDatasetGroupArn(v string) *CreateDatasetGroupOutput {
4117	s.DatasetGroupArn = &v
4118	return s
4119}
4120
4121type CreateDatasetImportJobInput struct {
4122	_ struct{} `type:"structure"`
4123
4124	// The location of the training data to import and an AWS Identity and Access
4125	// Management (IAM) role that Amazon Forecast can assume to access the data.
4126	// The training data must be stored in an Amazon S3 bucket.
4127	//
4128	// If encryption is used, DataSource must include an AWS Key Management Service
4129	// (KMS) key and the IAM role must allow Amazon Forecast permission to access
4130	// the key. The KMS key and IAM role must match those specified in the EncryptionConfig
4131	// parameter of the CreateDataset operation.
4132	//
4133	// DataSource is a required field
4134	DataSource *DataSource `type:"structure" required:"true"`
4135
4136	// The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want
4137	// to import data to.
4138	//
4139	// DatasetArn is a required field
4140	DatasetArn *string `type:"string" required:"true"`
4141
4142	// The name for the dataset import job. We recommend including the current timestamp
4143	// in the name, for example, 20190721DatasetImport. This can help you avoid
4144	// getting a ResourceAlreadyExistsException exception.
4145	//
4146	// DatasetImportJobName is a required field
4147	DatasetImportJobName *string `min:"1" type:"string" required:"true"`
4148
4149	// The format of the geolocation attribute. The geolocation attribute can be
4150	// formatted in one of two ways:
4151	//
4152	//    * LAT_LONG - the latitude and longitude in decimal format (Example: 47.61_-122.33).
4153	//
4154	//    * CC_POSTALCODE (US Only) - the country code (US), followed by the 5-digit
4155	//    ZIP code (Example: US_98121).
4156	GeolocationFormat *string `type:"string"`
4157
4158	// The optional metadata that you apply to the dataset import job to help you
4159	// categorize and organize them. Each tag consists of a key and an optional
4160	// value, both of which you define.
4161	//
4162	// The following basic restrictions apply to tags:
4163	//
4164	//    * Maximum number of tags per resource - 50.
4165	//
4166	//    * For each resource, each tag key must be unique, and each tag key can
4167	//    have only one value.
4168	//
4169	//    * Maximum key length - 128 Unicode characters in UTF-8.
4170	//
4171	//    * Maximum value length - 256 Unicode characters in UTF-8.
4172	//
4173	//    * If your tagging schema is used across multiple services and resources,
4174	//    remember that other services may have restrictions on allowed characters.
4175	//    Generally allowed characters are: letters, numbers, and spaces representable
4176	//    in UTF-8, and the following characters: + - = . _ : / @.
4177	//
4178	//    * Tag keys and values are case sensitive.
4179	//
4180	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
4181	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
4182	//    delete tag keys with this prefix. Values can have this prefix. If a tag
4183	//    value has aws as its prefix but the key does not, then Forecast considers
4184	//    it to be a user tag and will count against the limit of 50 tags. Tags
4185	//    with only the key prefix of aws do not count against your tags per resource
4186	//    limit.
4187	Tags []*Tag `type:"list"`
4188
4189	// A single time zone for every item in your dataset. This option is ideal for
4190	// datasets with all timestamps within a single time zone, or if all timestamps
4191	// are normalized to a single time zone.
4192	//
4193	// Refer to the Joda-Time API (http://joda-time.sourceforge.net/timezones.html)
4194	// for a complete list of valid time zone names.
4195	TimeZone *string `type:"string"`
4196
4197	// The format of timestamps in the dataset. The format that you specify depends
4198	// on the DataFrequency specified when the dataset was created. The following
4199	// formats are supported
4200	//
4201	//    * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D
4202	//
4203	//    * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min,
4204	//    15min, and 1min; and optionally, for: Y, M, W, and D
4205	//
4206	// If the format isn't specified, Amazon Forecast expects the format to be "yyyy-MM-dd
4207	// HH:mm:ss".
4208	TimestampFormat *string `type:"string"`
4209
4210	// Automatically derive time zone information from the geolocation attribute.
4211	// This option is ideal for datasets that contain timestamps in multiple time
4212	// zones and those timestamps are expressed in local time.
4213	UseGeolocationForTimeZone *bool `type:"boolean"`
4214}
4215
4216// String returns the string representation
4217func (s CreateDatasetImportJobInput) String() string {
4218	return awsutil.Prettify(s)
4219}
4220
4221// GoString returns the string representation
4222func (s CreateDatasetImportJobInput) GoString() string {
4223	return s.String()
4224}
4225
4226// Validate inspects the fields of the type to determine if they are valid.
4227func (s *CreateDatasetImportJobInput) Validate() error {
4228	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetImportJobInput"}
4229	if s.DataSource == nil {
4230		invalidParams.Add(request.NewErrParamRequired("DataSource"))
4231	}
4232	if s.DatasetArn == nil {
4233		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
4234	}
4235	if s.DatasetImportJobName == nil {
4236		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobName"))
4237	}
4238	if s.DatasetImportJobName != nil && len(*s.DatasetImportJobName) < 1 {
4239		invalidParams.Add(request.NewErrParamMinLen("DatasetImportJobName", 1))
4240	}
4241	if s.DataSource != nil {
4242		if err := s.DataSource.Validate(); err != nil {
4243			invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams))
4244		}
4245	}
4246	if s.Tags != nil {
4247		for i, v := range s.Tags {
4248			if v == nil {
4249				continue
4250			}
4251			if err := v.Validate(); err != nil {
4252				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4253			}
4254		}
4255	}
4256
4257	if invalidParams.Len() > 0 {
4258		return invalidParams
4259	}
4260	return nil
4261}
4262
4263// SetDataSource sets the DataSource field's value.
4264func (s *CreateDatasetImportJobInput) SetDataSource(v *DataSource) *CreateDatasetImportJobInput {
4265	s.DataSource = v
4266	return s
4267}
4268
4269// SetDatasetArn sets the DatasetArn field's value.
4270func (s *CreateDatasetImportJobInput) SetDatasetArn(v string) *CreateDatasetImportJobInput {
4271	s.DatasetArn = &v
4272	return s
4273}
4274
4275// SetDatasetImportJobName sets the DatasetImportJobName field's value.
4276func (s *CreateDatasetImportJobInput) SetDatasetImportJobName(v string) *CreateDatasetImportJobInput {
4277	s.DatasetImportJobName = &v
4278	return s
4279}
4280
4281// SetGeolocationFormat sets the GeolocationFormat field's value.
4282func (s *CreateDatasetImportJobInput) SetGeolocationFormat(v string) *CreateDatasetImportJobInput {
4283	s.GeolocationFormat = &v
4284	return s
4285}
4286
4287// SetTags sets the Tags field's value.
4288func (s *CreateDatasetImportJobInput) SetTags(v []*Tag) *CreateDatasetImportJobInput {
4289	s.Tags = v
4290	return s
4291}
4292
4293// SetTimeZone sets the TimeZone field's value.
4294func (s *CreateDatasetImportJobInput) SetTimeZone(v string) *CreateDatasetImportJobInput {
4295	s.TimeZone = &v
4296	return s
4297}
4298
4299// SetTimestampFormat sets the TimestampFormat field's value.
4300func (s *CreateDatasetImportJobInput) SetTimestampFormat(v string) *CreateDatasetImportJobInput {
4301	s.TimestampFormat = &v
4302	return s
4303}
4304
4305// SetUseGeolocationForTimeZone sets the UseGeolocationForTimeZone field's value.
4306func (s *CreateDatasetImportJobInput) SetUseGeolocationForTimeZone(v bool) *CreateDatasetImportJobInput {
4307	s.UseGeolocationForTimeZone = &v
4308	return s
4309}
4310
4311type CreateDatasetImportJobOutput struct {
4312	_ struct{} `type:"structure"`
4313
4314	// The Amazon Resource Name (ARN) of the dataset import job.
4315	DatasetImportJobArn *string `type:"string"`
4316}
4317
4318// String returns the string representation
4319func (s CreateDatasetImportJobOutput) String() string {
4320	return awsutil.Prettify(s)
4321}
4322
4323// GoString returns the string representation
4324func (s CreateDatasetImportJobOutput) GoString() string {
4325	return s.String()
4326}
4327
4328// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
4329func (s *CreateDatasetImportJobOutput) SetDatasetImportJobArn(v string) *CreateDatasetImportJobOutput {
4330	s.DatasetImportJobArn = &v
4331	return s
4332}
4333
4334type CreateDatasetInput struct {
4335	_ struct{} `type:"structure"`
4336
4337	// The frequency of data collection. This parameter is required for RELATED_TIME_SERIES
4338	// datasets.
4339	//
4340	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
4341	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
4342	// 1min (1 minute). For example, "D" indicates every day and "15min" indicates
4343	// every 15 minutes.
4344	DataFrequency *string `type:"string"`
4345
4346	// A name for the dataset.
4347	//
4348	// DatasetName is a required field
4349	DatasetName *string `min:"1" type:"string" required:"true"`
4350
4351	// The dataset type. Valid values depend on the chosen Domain.
4352	//
4353	// DatasetType is a required field
4354	DatasetType *string `type:"string" required:"true" enum:"DatasetType"`
4355
4356	// The domain associated with the dataset. When you add a dataset to a dataset
4357	// group, this value and the value specified for the Domain parameter of the
4358	// CreateDatasetGroup operation must match.
4359	//
4360	// The Domain and DatasetType that you choose determine the fields that must
4361	// be present in the training data that you import to the dataset. For example,
4362	// if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType,
4363	// Amazon Forecast requires item_id, timestamp, and demand fields to be present
4364	// in your data. For more information, see howitworks-datasets-groups.
4365	//
4366	// Domain is a required field
4367	Domain *string `type:"string" required:"true" enum:"Domain"`
4368
4369	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
4370	// (IAM) role that Amazon Forecast can assume to access the key.
4371	EncryptionConfig *EncryptionConfig `type:"structure"`
4372
4373	// The schema for the dataset. The schema attributes and their order must match
4374	// the fields in your data. The dataset Domain and DatasetType that you choose
4375	// determine the minimum required fields in your training data. For information
4376	// about the required fields for a specific dataset domain and type, see howitworks-domains-ds-types.
4377	//
4378	// Schema is a required field
4379	Schema *Schema `type:"structure" required:"true"`
4380
4381	// The optional metadata that you apply to the dataset to help you categorize
4382	// and organize them. Each tag consists of a key and an optional value, both
4383	// of which you define.
4384	//
4385	// The following basic restrictions apply to tags:
4386	//
4387	//    * Maximum number of tags per resource - 50.
4388	//
4389	//    * For each resource, each tag key must be unique, and each tag key can
4390	//    have only one value.
4391	//
4392	//    * Maximum key length - 128 Unicode characters in UTF-8.
4393	//
4394	//    * Maximum value length - 256 Unicode characters in UTF-8.
4395	//
4396	//    * If your tagging schema is used across multiple services and resources,
4397	//    remember that other services may have restrictions on allowed characters.
4398	//    Generally allowed characters are: letters, numbers, and spaces representable
4399	//    in UTF-8, and the following characters: + - = . _ : / @.
4400	//
4401	//    * Tag keys and values are case sensitive.
4402	//
4403	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
4404	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
4405	//    delete tag keys with this prefix. Values can have this prefix. If a tag
4406	//    value has aws as its prefix but the key does not, then Forecast considers
4407	//    it to be a user tag and will count against the limit of 50 tags. Tags
4408	//    with only the key prefix of aws do not count against your tags per resource
4409	//    limit.
4410	Tags []*Tag `type:"list"`
4411}
4412
4413// String returns the string representation
4414func (s CreateDatasetInput) String() string {
4415	return awsutil.Prettify(s)
4416}
4417
4418// GoString returns the string representation
4419func (s CreateDatasetInput) GoString() string {
4420	return s.String()
4421}
4422
4423// Validate inspects the fields of the type to determine if they are valid.
4424func (s *CreateDatasetInput) Validate() error {
4425	invalidParams := request.ErrInvalidParams{Context: "CreateDatasetInput"}
4426	if s.DatasetName == nil {
4427		invalidParams.Add(request.NewErrParamRequired("DatasetName"))
4428	}
4429	if s.DatasetName != nil && len(*s.DatasetName) < 1 {
4430		invalidParams.Add(request.NewErrParamMinLen("DatasetName", 1))
4431	}
4432	if s.DatasetType == nil {
4433		invalidParams.Add(request.NewErrParamRequired("DatasetType"))
4434	}
4435	if s.Domain == nil {
4436		invalidParams.Add(request.NewErrParamRequired("Domain"))
4437	}
4438	if s.Schema == nil {
4439		invalidParams.Add(request.NewErrParamRequired("Schema"))
4440	}
4441	if s.EncryptionConfig != nil {
4442		if err := s.EncryptionConfig.Validate(); err != nil {
4443			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
4444		}
4445	}
4446	if s.Schema != nil {
4447		if err := s.Schema.Validate(); err != nil {
4448			invalidParams.AddNested("Schema", err.(request.ErrInvalidParams))
4449		}
4450	}
4451	if s.Tags != nil {
4452		for i, v := range s.Tags {
4453			if v == nil {
4454				continue
4455			}
4456			if err := v.Validate(); err != nil {
4457				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4458			}
4459		}
4460	}
4461
4462	if invalidParams.Len() > 0 {
4463		return invalidParams
4464	}
4465	return nil
4466}
4467
4468// SetDataFrequency sets the DataFrequency field's value.
4469func (s *CreateDatasetInput) SetDataFrequency(v string) *CreateDatasetInput {
4470	s.DataFrequency = &v
4471	return s
4472}
4473
4474// SetDatasetName sets the DatasetName field's value.
4475func (s *CreateDatasetInput) SetDatasetName(v string) *CreateDatasetInput {
4476	s.DatasetName = &v
4477	return s
4478}
4479
4480// SetDatasetType sets the DatasetType field's value.
4481func (s *CreateDatasetInput) SetDatasetType(v string) *CreateDatasetInput {
4482	s.DatasetType = &v
4483	return s
4484}
4485
4486// SetDomain sets the Domain field's value.
4487func (s *CreateDatasetInput) SetDomain(v string) *CreateDatasetInput {
4488	s.Domain = &v
4489	return s
4490}
4491
4492// SetEncryptionConfig sets the EncryptionConfig field's value.
4493func (s *CreateDatasetInput) SetEncryptionConfig(v *EncryptionConfig) *CreateDatasetInput {
4494	s.EncryptionConfig = v
4495	return s
4496}
4497
4498// SetSchema sets the Schema field's value.
4499func (s *CreateDatasetInput) SetSchema(v *Schema) *CreateDatasetInput {
4500	s.Schema = v
4501	return s
4502}
4503
4504// SetTags sets the Tags field's value.
4505func (s *CreateDatasetInput) SetTags(v []*Tag) *CreateDatasetInput {
4506	s.Tags = v
4507	return s
4508}
4509
4510type CreateDatasetOutput struct {
4511	_ struct{} `type:"structure"`
4512
4513	// The Amazon Resource Name (ARN) of the dataset.
4514	DatasetArn *string `type:"string"`
4515}
4516
4517// String returns the string representation
4518func (s CreateDatasetOutput) String() string {
4519	return awsutil.Prettify(s)
4520}
4521
4522// GoString returns the string representation
4523func (s CreateDatasetOutput) GoString() string {
4524	return s.String()
4525}
4526
4527// SetDatasetArn sets the DatasetArn field's value.
4528func (s *CreateDatasetOutput) SetDatasetArn(v string) *CreateDatasetOutput {
4529	s.DatasetArn = &v
4530	return s
4531}
4532
4533type CreateForecastExportJobInput struct {
4534	_ struct{} `type:"structure"`
4535
4536	// The location where you want to save the forecast and an AWS Identity and
4537	// Access Management (IAM) role that Amazon Forecast can assume to access the
4538	// location. The forecast must be exported to an Amazon S3 bucket.
4539	//
4540	// If encryption is used, Destination must include an AWS Key Management Service
4541	// (KMS) key. The IAM role must allow Amazon Forecast permission to access the
4542	// key.
4543	//
4544	// Destination is a required field
4545	Destination *DataDestination `type:"structure" required:"true"`
4546
4547	// The Amazon Resource Name (ARN) of the forecast that you want to export.
4548	//
4549	// ForecastArn is a required field
4550	ForecastArn *string `type:"string" required:"true"`
4551
4552	// The name for the forecast export job.
4553	//
4554	// ForecastExportJobName is a required field
4555	ForecastExportJobName *string `min:"1" type:"string" required:"true"`
4556
4557	// The optional metadata that you apply to the forecast export job to help you
4558	// categorize and organize them. Each tag consists of a key and an optional
4559	// value, both of which you define.
4560	//
4561	// The following basic restrictions apply to tags:
4562	//
4563	//    * Maximum number of tags per resource - 50.
4564	//
4565	//    * For each resource, each tag key must be unique, and each tag key can
4566	//    have only one value.
4567	//
4568	//    * Maximum key length - 128 Unicode characters in UTF-8.
4569	//
4570	//    * Maximum value length - 256 Unicode characters in UTF-8.
4571	//
4572	//    * If your tagging schema is used across multiple services and resources,
4573	//    remember that other services may have restrictions on allowed characters.
4574	//    Generally allowed characters are: letters, numbers, and spaces representable
4575	//    in UTF-8, and the following characters: + - = . _ : / @.
4576	//
4577	//    * Tag keys and values are case sensitive.
4578	//
4579	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
4580	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
4581	//    delete tag keys with this prefix. Values can have this prefix. If a tag
4582	//    value has aws as its prefix but the key does not, then Forecast considers
4583	//    it to be a user tag and will count against the limit of 50 tags. Tags
4584	//    with only the key prefix of aws do not count against your tags per resource
4585	//    limit.
4586	Tags []*Tag `type:"list"`
4587}
4588
4589// String returns the string representation
4590func (s CreateForecastExportJobInput) String() string {
4591	return awsutil.Prettify(s)
4592}
4593
4594// GoString returns the string representation
4595func (s CreateForecastExportJobInput) GoString() string {
4596	return s.String()
4597}
4598
4599// Validate inspects the fields of the type to determine if they are valid.
4600func (s *CreateForecastExportJobInput) Validate() error {
4601	invalidParams := request.ErrInvalidParams{Context: "CreateForecastExportJobInput"}
4602	if s.Destination == nil {
4603		invalidParams.Add(request.NewErrParamRequired("Destination"))
4604	}
4605	if s.ForecastArn == nil {
4606		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
4607	}
4608	if s.ForecastExportJobName == nil {
4609		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobName"))
4610	}
4611	if s.ForecastExportJobName != nil && len(*s.ForecastExportJobName) < 1 {
4612		invalidParams.Add(request.NewErrParamMinLen("ForecastExportJobName", 1))
4613	}
4614	if s.Destination != nil {
4615		if err := s.Destination.Validate(); err != nil {
4616			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
4617		}
4618	}
4619	if s.Tags != nil {
4620		for i, v := range s.Tags {
4621			if v == nil {
4622				continue
4623			}
4624			if err := v.Validate(); err != nil {
4625				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4626			}
4627		}
4628	}
4629
4630	if invalidParams.Len() > 0 {
4631		return invalidParams
4632	}
4633	return nil
4634}
4635
4636// SetDestination sets the Destination field's value.
4637func (s *CreateForecastExportJobInput) SetDestination(v *DataDestination) *CreateForecastExportJobInput {
4638	s.Destination = v
4639	return s
4640}
4641
4642// SetForecastArn sets the ForecastArn field's value.
4643func (s *CreateForecastExportJobInput) SetForecastArn(v string) *CreateForecastExportJobInput {
4644	s.ForecastArn = &v
4645	return s
4646}
4647
4648// SetForecastExportJobName sets the ForecastExportJobName field's value.
4649func (s *CreateForecastExportJobInput) SetForecastExportJobName(v string) *CreateForecastExportJobInput {
4650	s.ForecastExportJobName = &v
4651	return s
4652}
4653
4654// SetTags sets the Tags field's value.
4655func (s *CreateForecastExportJobInput) SetTags(v []*Tag) *CreateForecastExportJobInput {
4656	s.Tags = v
4657	return s
4658}
4659
4660type CreateForecastExportJobOutput struct {
4661	_ struct{} `type:"structure"`
4662
4663	// The Amazon Resource Name (ARN) of the export job.
4664	ForecastExportJobArn *string `type:"string"`
4665}
4666
4667// String returns the string representation
4668func (s CreateForecastExportJobOutput) String() string {
4669	return awsutil.Prettify(s)
4670}
4671
4672// GoString returns the string representation
4673func (s CreateForecastExportJobOutput) GoString() string {
4674	return s.String()
4675}
4676
4677// SetForecastExportJobArn sets the ForecastExportJobArn field's value.
4678func (s *CreateForecastExportJobOutput) SetForecastExportJobArn(v string) *CreateForecastExportJobOutput {
4679	s.ForecastExportJobArn = &v
4680	return s
4681}
4682
4683type CreateForecastInput struct {
4684	_ struct{} `type:"structure"`
4685
4686	// A name for the forecast.
4687	//
4688	// ForecastName is a required field
4689	ForecastName *string `min:"1" type:"string" required:"true"`
4690
4691	// The quantiles at which probabilistic forecasts are generated. You can currently
4692	// specify up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99
4693	// (increments of .01 only) and mean. The mean forecast is different from the
4694	// median (0.50) when the distribution is not symmetric (for example, Beta and
4695	// Negative Binomial). The default value is ["0.1", "0.5", "0.9"].
4696	ForecastTypes []*string `min:"1" type:"list"`
4697
4698	// The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.
4699	//
4700	// PredictorArn is a required field
4701	PredictorArn *string `type:"string" required:"true"`
4702
4703	// The optional metadata that you apply to the forecast to help you categorize
4704	// and organize them. Each tag consists of a key and an optional value, both
4705	// of which you define.
4706	//
4707	// The following basic restrictions apply to tags:
4708	//
4709	//    * Maximum number of tags per resource - 50.
4710	//
4711	//    * For each resource, each tag key must be unique, and each tag key can
4712	//    have only one value.
4713	//
4714	//    * Maximum key length - 128 Unicode characters in UTF-8.
4715	//
4716	//    * Maximum value length - 256 Unicode characters in UTF-8.
4717	//
4718	//    * If your tagging schema is used across multiple services and resources,
4719	//    remember that other services may have restrictions on allowed characters.
4720	//    Generally allowed characters are: letters, numbers, and spaces representable
4721	//    in UTF-8, and the following characters: + - = . _ : / @.
4722	//
4723	//    * Tag keys and values are case sensitive.
4724	//
4725	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
4726	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
4727	//    delete tag keys with this prefix. Values can have this prefix. If a tag
4728	//    value has aws as its prefix but the key does not, then Forecast considers
4729	//    it to be a user tag and will count against the limit of 50 tags. Tags
4730	//    with only the key prefix of aws do not count against your tags per resource
4731	//    limit.
4732	Tags []*Tag `type:"list"`
4733}
4734
4735// String returns the string representation
4736func (s CreateForecastInput) String() string {
4737	return awsutil.Prettify(s)
4738}
4739
4740// GoString returns the string representation
4741func (s CreateForecastInput) GoString() string {
4742	return s.String()
4743}
4744
4745// Validate inspects the fields of the type to determine if they are valid.
4746func (s *CreateForecastInput) Validate() error {
4747	invalidParams := request.ErrInvalidParams{Context: "CreateForecastInput"}
4748	if s.ForecastName == nil {
4749		invalidParams.Add(request.NewErrParamRequired("ForecastName"))
4750	}
4751	if s.ForecastName != nil && len(*s.ForecastName) < 1 {
4752		invalidParams.Add(request.NewErrParamMinLen("ForecastName", 1))
4753	}
4754	if s.ForecastTypes != nil && len(s.ForecastTypes) < 1 {
4755		invalidParams.Add(request.NewErrParamMinLen("ForecastTypes", 1))
4756	}
4757	if s.PredictorArn == nil {
4758		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
4759	}
4760	if s.Tags != nil {
4761		for i, v := range s.Tags {
4762			if v == nil {
4763				continue
4764			}
4765			if err := v.Validate(); err != nil {
4766				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4767			}
4768		}
4769	}
4770
4771	if invalidParams.Len() > 0 {
4772		return invalidParams
4773	}
4774	return nil
4775}
4776
4777// SetForecastName sets the ForecastName field's value.
4778func (s *CreateForecastInput) SetForecastName(v string) *CreateForecastInput {
4779	s.ForecastName = &v
4780	return s
4781}
4782
4783// SetForecastTypes sets the ForecastTypes field's value.
4784func (s *CreateForecastInput) SetForecastTypes(v []*string) *CreateForecastInput {
4785	s.ForecastTypes = v
4786	return s
4787}
4788
4789// SetPredictorArn sets the PredictorArn field's value.
4790func (s *CreateForecastInput) SetPredictorArn(v string) *CreateForecastInput {
4791	s.PredictorArn = &v
4792	return s
4793}
4794
4795// SetTags sets the Tags field's value.
4796func (s *CreateForecastInput) SetTags(v []*Tag) *CreateForecastInput {
4797	s.Tags = v
4798	return s
4799}
4800
4801type CreateForecastOutput struct {
4802	_ struct{} `type:"structure"`
4803
4804	// The Amazon Resource Name (ARN) of the forecast.
4805	ForecastArn *string `type:"string"`
4806}
4807
4808// String returns the string representation
4809func (s CreateForecastOutput) String() string {
4810	return awsutil.Prettify(s)
4811}
4812
4813// GoString returns the string representation
4814func (s CreateForecastOutput) GoString() string {
4815	return s.String()
4816}
4817
4818// SetForecastArn sets the ForecastArn field's value.
4819func (s *CreateForecastOutput) SetForecastArn(v string) *CreateForecastOutput {
4820	s.ForecastArn = &v
4821	return s
4822}
4823
4824type CreatePredictorBacktestExportJobInput struct {
4825	_ struct{} `type:"structure"`
4826
4827	// The destination for an export job. Provide an S3 path, an AWS Identity and
4828	// Access Management (IAM) role that allows Amazon Forecast to access the location,
4829	// and an AWS Key Management Service (KMS) key (optional).
4830	//
4831	// Destination is a required field
4832	Destination *DataDestination `type:"structure" required:"true"`
4833
4834	// The Amazon Resource Name (ARN) of the predictor that you want to export.
4835	//
4836	// PredictorArn is a required field
4837	PredictorArn *string `type:"string" required:"true"`
4838
4839	// The name for the backtest export job.
4840	//
4841	// PredictorBacktestExportJobName is a required field
4842	PredictorBacktestExportJobName *string `min:"1" type:"string" required:"true"`
4843
4844	// Optional metadata to help you categorize and organize your backtests. Each
4845	// tag consists of a key and an optional value, both of which you define. Tag
4846	// keys and values are case sensitive.
4847	//
4848	// The following restrictions apply to tags:
4849	//
4850	//    * For each resource, each tag key must be unique and each tag key must
4851	//    have one value.
4852	//
4853	//    * Maximum number of tags per resource: 50.
4854	//
4855	//    * Maximum key length: 128 Unicode characters in UTF-8.
4856	//
4857	//    * Maximum value length: 256 Unicode characters in UTF-8.
4858	//
4859	//    * Accepted characters: all letters and numbers, spaces representable in
4860	//    UTF-8, and + - = . _ : / @. If your tagging schema is used across other
4861	//    services and resources, the character restrictions of those services also
4862	//    apply.
4863	//
4864	//    * Key prefixes cannot include any upper or lowercase combination of aws:
4865	//    or AWS:. Values can have this prefix. If a tag value has aws as its prefix
4866	//    but the key does not, Forecast considers it to be a user tag and will
4867	//    count against the limit of 50 tags. Tags with only the key prefix of aws
4868	//    do not count against your tags per resource limit. You cannot edit or
4869	//    delete tag keys with this prefix.
4870	Tags []*Tag `type:"list"`
4871}
4872
4873// String returns the string representation
4874func (s CreatePredictorBacktestExportJobInput) String() string {
4875	return awsutil.Prettify(s)
4876}
4877
4878// GoString returns the string representation
4879func (s CreatePredictorBacktestExportJobInput) GoString() string {
4880	return s.String()
4881}
4882
4883// Validate inspects the fields of the type to determine if they are valid.
4884func (s *CreatePredictorBacktestExportJobInput) Validate() error {
4885	invalidParams := request.ErrInvalidParams{Context: "CreatePredictorBacktestExportJobInput"}
4886	if s.Destination == nil {
4887		invalidParams.Add(request.NewErrParamRequired("Destination"))
4888	}
4889	if s.PredictorArn == nil {
4890		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
4891	}
4892	if s.PredictorBacktestExportJobName == nil {
4893		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobName"))
4894	}
4895	if s.PredictorBacktestExportJobName != nil && len(*s.PredictorBacktestExportJobName) < 1 {
4896		invalidParams.Add(request.NewErrParamMinLen("PredictorBacktestExportJobName", 1))
4897	}
4898	if s.Destination != nil {
4899		if err := s.Destination.Validate(); err != nil {
4900			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
4901		}
4902	}
4903	if s.Tags != nil {
4904		for i, v := range s.Tags {
4905			if v == nil {
4906				continue
4907			}
4908			if err := v.Validate(); err != nil {
4909				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4910			}
4911		}
4912	}
4913
4914	if invalidParams.Len() > 0 {
4915		return invalidParams
4916	}
4917	return nil
4918}
4919
4920// SetDestination sets the Destination field's value.
4921func (s *CreatePredictorBacktestExportJobInput) SetDestination(v *DataDestination) *CreatePredictorBacktestExportJobInput {
4922	s.Destination = v
4923	return s
4924}
4925
4926// SetPredictorArn sets the PredictorArn field's value.
4927func (s *CreatePredictorBacktestExportJobInput) SetPredictorArn(v string) *CreatePredictorBacktestExportJobInput {
4928	s.PredictorArn = &v
4929	return s
4930}
4931
4932// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
4933func (s *CreatePredictorBacktestExportJobInput) SetPredictorBacktestExportJobName(v string) *CreatePredictorBacktestExportJobInput {
4934	s.PredictorBacktestExportJobName = &v
4935	return s
4936}
4937
4938// SetTags sets the Tags field's value.
4939func (s *CreatePredictorBacktestExportJobInput) SetTags(v []*Tag) *CreatePredictorBacktestExportJobInput {
4940	s.Tags = v
4941	return s
4942}
4943
4944type CreatePredictorBacktestExportJobOutput struct {
4945	_ struct{} `type:"structure"`
4946
4947	// The Amazon Resource Name (ARN) of the predictor backtest export job that
4948	// you want to export.
4949	PredictorBacktestExportJobArn *string `type:"string"`
4950}
4951
4952// String returns the string representation
4953func (s CreatePredictorBacktestExportJobOutput) String() string {
4954	return awsutil.Prettify(s)
4955}
4956
4957// GoString returns the string representation
4958func (s CreatePredictorBacktestExportJobOutput) GoString() string {
4959	return s.String()
4960}
4961
4962// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
4963func (s *CreatePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *CreatePredictorBacktestExportJobOutput {
4964	s.PredictorBacktestExportJobArn = &v
4965	return s
4966}
4967
4968type CreatePredictorInput struct {
4969	_ struct{} `type:"structure"`
4970
4971	// The Amazon Resource Name (ARN) of the algorithm to use for model training.
4972	// Required if PerformAutoML is not set to true.
4973	//
4974	// Supported algorithms:
4975	//
4976	//    * arn:aws:forecast:::algorithm/ARIMA
4977	//
4978	//    * arn:aws:forecast:::algorithm/CNN-QR
4979	//
4980	//    * arn:aws:forecast:::algorithm/Deep_AR_Plus
4981	//
4982	//    * arn:aws:forecast:::algorithm/ETS
4983	//
4984	//    * arn:aws:forecast:::algorithm/NPTS
4985	//
4986	//    * arn:aws:forecast:::algorithm/Prophet
4987	AlgorithmArn *string `type:"string"`
4988
4989	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
4990	// (IAM) role that Amazon Forecast can assume to access the key.
4991	EncryptionConfig *EncryptionConfig `type:"structure"`
4992
4993	// Used to override the default evaluation parameters of the specified algorithm.
4994	// Amazon Forecast evaluates a predictor by splitting a dataset into training
4995	// data and testing data. The evaluation parameters define how to perform the
4996	// split and the number of iterations.
4997	EvaluationParameters *EvaluationParameters `type:"structure"`
4998
4999	// The featurization configuration.
5000	//
5001	// FeaturizationConfig is a required field
5002	FeaturizationConfig *FeaturizationConfig `type:"structure" required:"true"`
5003
5004	// Specifies the number of time-steps that the model is trained to predict.
5005	// The forecast horizon is also called the prediction length.
5006	//
5007	// For example, if you configure a dataset for daily data collection (using
5008	// the DataFrequency parameter of the CreateDataset operation) and set the forecast
5009	// horizon to 10, the model returns predictions for 10 days.
5010	//
5011	// The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the
5012	// TARGET_TIME_SERIES dataset length.
5013	//
5014	// ForecastHorizon is a required field
5015	ForecastHorizon *int64 `type:"integer" required:"true"`
5016
5017	// Specifies the forecast types used to train a predictor. You can specify up
5018	// to five forecast types. Forecast types can be quantiles from 0.01 to 0.99,
5019	// by increments of 0.01 or higher. You can also specify the mean forecast with
5020	// mean.
5021	//
5022	// The default value is ["0.10", "0.50", "0.9"].
5023	ForecastTypes []*string `min:"1" type:"list"`
5024
5025	// Provides hyperparameter override values for the algorithm. If you don't provide
5026	// this parameter, Amazon Forecast uses default values. The individual algorithms
5027	// specify which hyperparameters support hyperparameter optimization (HPO).
5028	// For more information, see aws-forecast-choosing-recipes.
5029	//
5030	// If you included the HPOConfig object, you must set PerformHPO to true.
5031	HPOConfig *HyperParameterTuningJobConfig `type:"structure"`
5032
5033	// Describes the dataset group that contains the data to use to train the predictor.
5034	//
5035	// InputDataConfig is a required field
5036	InputDataConfig *InputDataConfig `type:"structure" required:"true"`
5037
5038	// Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates
5039	// the algorithms it provides and chooses the best algorithm and configuration
5040	// for your training dataset.
5041	//
5042	// The default value is false. In this case, you are required to specify an
5043	// algorithm.
5044	//
5045	// Set PerformAutoML to true to have Amazon Forecast perform AutoML. This is
5046	// a good option if you aren't sure which algorithm is suitable for your training
5047	// data. In this case, PerformHPO must be false.
5048	PerformAutoML *bool `type:"boolean"`
5049
5050	// Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter
5051	// values for your training data. The process of performing HPO is known as
5052	// running a hyperparameter tuning job.
5053	//
5054	// The default value is false. In this case, Amazon Forecast uses default hyperparameter
5055	// values from the chosen algorithm.
5056	//
5057	// To override the default values, set PerformHPO to true and, optionally, supply
5058	// the HyperParameterTuningJobConfig object. The tuning job specifies a metric
5059	// to optimize, which hyperparameters participate in tuning, and the valid range
5060	// for each tunable hyperparameter. In this case, you are required to specify
5061	// an algorithm and PerformAutoML must be false.
5062	//
5063	// The following algorithms support HPO:
5064	//
5065	//    * DeepAR+
5066	//
5067	//    * CNN-QR
5068	PerformHPO *bool `type:"boolean"`
5069
5070	// A name for the predictor.
5071	//
5072	// PredictorName is a required field
5073	PredictorName *string `min:"1" type:"string" required:"true"`
5074
5075	// The optional metadata that you apply to the predictor to help you categorize
5076	// and organize them. Each tag consists of a key and an optional value, both
5077	// of which you define.
5078	//
5079	// The following basic restrictions apply to tags:
5080	//
5081	//    * Maximum number of tags per resource - 50.
5082	//
5083	//    * For each resource, each tag key must be unique, and each tag key can
5084	//    have only one value.
5085	//
5086	//    * Maximum key length - 128 Unicode characters in UTF-8.
5087	//
5088	//    * Maximum value length - 256 Unicode characters in UTF-8.
5089	//
5090	//    * If your tagging schema is used across multiple services and resources,
5091	//    remember that other services may have restrictions on allowed characters.
5092	//    Generally allowed characters are: letters, numbers, and spaces representable
5093	//    in UTF-8, and the following characters: + - = . _ : / @.
5094	//
5095	//    * Tag keys and values are case sensitive.
5096	//
5097	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
5098	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
5099	//    delete tag keys with this prefix. Values can have this prefix. If a tag
5100	//    value has aws as its prefix but the key does not, then Forecast considers
5101	//    it to be a user tag and will count against the limit of 50 tags. Tags
5102	//    with only the key prefix of aws do not count against your tags per resource
5103	//    limit.
5104	Tags []*Tag `type:"list"`
5105
5106	// The hyperparameters to override for model training. The hyperparameters that
5107	// you can override are listed in the individual algorithms. For the list of
5108	// supported algorithms, see aws-forecast-choosing-recipes.
5109	TrainingParameters map[string]*string `type:"map"`
5110}
5111
5112// String returns the string representation
5113func (s CreatePredictorInput) String() string {
5114	return awsutil.Prettify(s)
5115}
5116
5117// GoString returns the string representation
5118func (s CreatePredictorInput) GoString() string {
5119	return s.String()
5120}
5121
5122// Validate inspects the fields of the type to determine if they are valid.
5123func (s *CreatePredictorInput) Validate() error {
5124	invalidParams := request.ErrInvalidParams{Context: "CreatePredictorInput"}
5125	if s.FeaturizationConfig == nil {
5126		invalidParams.Add(request.NewErrParamRequired("FeaturizationConfig"))
5127	}
5128	if s.ForecastHorizon == nil {
5129		invalidParams.Add(request.NewErrParamRequired("ForecastHorizon"))
5130	}
5131	if s.ForecastTypes != nil && len(s.ForecastTypes) < 1 {
5132		invalidParams.Add(request.NewErrParamMinLen("ForecastTypes", 1))
5133	}
5134	if s.InputDataConfig == nil {
5135		invalidParams.Add(request.NewErrParamRequired("InputDataConfig"))
5136	}
5137	if s.PredictorName == nil {
5138		invalidParams.Add(request.NewErrParamRequired("PredictorName"))
5139	}
5140	if s.PredictorName != nil && len(*s.PredictorName) < 1 {
5141		invalidParams.Add(request.NewErrParamMinLen("PredictorName", 1))
5142	}
5143	if s.EncryptionConfig != nil {
5144		if err := s.EncryptionConfig.Validate(); err != nil {
5145			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
5146		}
5147	}
5148	if s.FeaturizationConfig != nil {
5149		if err := s.FeaturizationConfig.Validate(); err != nil {
5150			invalidParams.AddNested("FeaturizationConfig", err.(request.ErrInvalidParams))
5151		}
5152	}
5153	if s.HPOConfig != nil {
5154		if err := s.HPOConfig.Validate(); err != nil {
5155			invalidParams.AddNested("HPOConfig", err.(request.ErrInvalidParams))
5156		}
5157	}
5158	if s.InputDataConfig != nil {
5159		if err := s.InputDataConfig.Validate(); err != nil {
5160			invalidParams.AddNested("InputDataConfig", err.(request.ErrInvalidParams))
5161		}
5162	}
5163	if s.Tags != nil {
5164		for i, v := range s.Tags {
5165			if v == nil {
5166				continue
5167			}
5168			if err := v.Validate(); err != nil {
5169				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
5170			}
5171		}
5172	}
5173
5174	if invalidParams.Len() > 0 {
5175		return invalidParams
5176	}
5177	return nil
5178}
5179
5180// SetAlgorithmArn sets the AlgorithmArn field's value.
5181func (s *CreatePredictorInput) SetAlgorithmArn(v string) *CreatePredictorInput {
5182	s.AlgorithmArn = &v
5183	return s
5184}
5185
5186// SetEncryptionConfig sets the EncryptionConfig field's value.
5187func (s *CreatePredictorInput) SetEncryptionConfig(v *EncryptionConfig) *CreatePredictorInput {
5188	s.EncryptionConfig = v
5189	return s
5190}
5191
5192// SetEvaluationParameters sets the EvaluationParameters field's value.
5193func (s *CreatePredictorInput) SetEvaluationParameters(v *EvaluationParameters) *CreatePredictorInput {
5194	s.EvaluationParameters = v
5195	return s
5196}
5197
5198// SetFeaturizationConfig sets the FeaturizationConfig field's value.
5199func (s *CreatePredictorInput) SetFeaturizationConfig(v *FeaturizationConfig) *CreatePredictorInput {
5200	s.FeaturizationConfig = v
5201	return s
5202}
5203
5204// SetForecastHorizon sets the ForecastHorizon field's value.
5205func (s *CreatePredictorInput) SetForecastHorizon(v int64) *CreatePredictorInput {
5206	s.ForecastHorizon = &v
5207	return s
5208}
5209
5210// SetForecastTypes sets the ForecastTypes field's value.
5211func (s *CreatePredictorInput) SetForecastTypes(v []*string) *CreatePredictorInput {
5212	s.ForecastTypes = v
5213	return s
5214}
5215
5216// SetHPOConfig sets the HPOConfig field's value.
5217func (s *CreatePredictorInput) SetHPOConfig(v *HyperParameterTuningJobConfig) *CreatePredictorInput {
5218	s.HPOConfig = v
5219	return s
5220}
5221
5222// SetInputDataConfig sets the InputDataConfig field's value.
5223func (s *CreatePredictorInput) SetInputDataConfig(v *InputDataConfig) *CreatePredictorInput {
5224	s.InputDataConfig = v
5225	return s
5226}
5227
5228// SetPerformAutoML sets the PerformAutoML field's value.
5229func (s *CreatePredictorInput) SetPerformAutoML(v bool) *CreatePredictorInput {
5230	s.PerformAutoML = &v
5231	return s
5232}
5233
5234// SetPerformHPO sets the PerformHPO field's value.
5235func (s *CreatePredictorInput) SetPerformHPO(v bool) *CreatePredictorInput {
5236	s.PerformHPO = &v
5237	return s
5238}
5239
5240// SetPredictorName sets the PredictorName field's value.
5241func (s *CreatePredictorInput) SetPredictorName(v string) *CreatePredictorInput {
5242	s.PredictorName = &v
5243	return s
5244}
5245
5246// SetTags sets the Tags field's value.
5247func (s *CreatePredictorInput) SetTags(v []*Tag) *CreatePredictorInput {
5248	s.Tags = v
5249	return s
5250}
5251
5252// SetTrainingParameters sets the TrainingParameters field's value.
5253func (s *CreatePredictorInput) SetTrainingParameters(v map[string]*string) *CreatePredictorInput {
5254	s.TrainingParameters = v
5255	return s
5256}
5257
5258type CreatePredictorOutput struct {
5259	_ struct{} `type:"structure"`
5260
5261	// The Amazon Resource Name (ARN) of the predictor.
5262	PredictorArn *string `type:"string"`
5263}
5264
5265// String returns the string representation
5266func (s CreatePredictorOutput) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation
5271func (s CreatePredictorOutput) GoString() string {
5272	return s.String()
5273}
5274
5275// SetPredictorArn sets the PredictorArn field's value.
5276func (s *CreatePredictorOutput) SetPredictorArn(v string) *CreatePredictorOutput {
5277	s.PredictorArn = &v
5278	return s
5279}
5280
5281// The destination for an export job. Provide an S3 path, an AWS Identity and
5282// Access Management (IAM) role that allows Amazon Forecast to access the location,
5283// and an AWS Key Management Service (KMS) key (optional).
5284type DataDestination struct {
5285	_ struct{} `type:"structure"`
5286
5287	// The path to an Amazon Simple Storage Service (Amazon S3) bucket along with
5288	// the credentials to access the bucket.
5289	//
5290	// S3Config is a required field
5291	S3Config *S3Config `type:"structure" required:"true"`
5292}
5293
5294// String returns the string representation
5295func (s DataDestination) String() string {
5296	return awsutil.Prettify(s)
5297}
5298
5299// GoString returns the string representation
5300func (s DataDestination) GoString() string {
5301	return s.String()
5302}
5303
5304// Validate inspects the fields of the type to determine if they are valid.
5305func (s *DataDestination) Validate() error {
5306	invalidParams := request.ErrInvalidParams{Context: "DataDestination"}
5307	if s.S3Config == nil {
5308		invalidParams.Add(request.NewErrParamRequired("S3Config"))
5309	}
5310	if s.S3Config != nil {
5311		if err := s.S3Config.Validate(); err != nil {
5312			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
5313		}
5314	}
5315
5316	if invalidParams.Len() > 0 {
5317		return invalidParams
5318	}
5319	return nil
5320}
5321
5322// SetS3Config sets the S3Config field's value.
5323func (s *DataDestination) SetS3Config(v *S3Config) *DataDestination {
5324	s.S3Config = v
5325	return s
5326}
5327
5328// The source of your training data, an AWS Identity and Access Management (IAM)
5329// role that allows Amazon Forecast to access the data and, optionally, an AWS
5330// Key Management Service (KMS) key. This object is submitted in the CreateDatasetImportJob
5331// request.
5332type DataSource struct {
5333	_ struct{} `type:"structure"`
5334
5335	// The path to the training data stored in an Amazon Simple Storage Service
5336	// (Amazon S3) bucket along with the credentials to access the data.
5337	//
5338	// S3Config is a required field
5339	S3Config *S3Config `type:"structure" required:"true"`
5340}
5341
5342// String returns the string representation
5343func (s DataSource) String() string {
5344	return awsutil.Prettify(s)
5345}
5346
5347// GoString returns the string representation
5348func (s DataSource) GoString() string {
5349	return s.String()
5350}
5351
5352// Validate inspects the fields of the type to determine if they are valid.
5353func (s *DataSource) Validate() error {
5354	invalidParams := request.ErrInvalidParams{Context: "DataSource"}
5355	if s.S3Config == nil {
5356		invalidParams.Add(request.NewErrParamRequired("S3Config"))
5357	}
5358	if s.S3Config != nil {
5359		if err := s.S3Config.Validate(); err != nil {
5360			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
5361		}
5362	}
5363
5364	if invalidParams.Len() > 0 {
5365		return invalidParams
5366	}
5367	return nil
5368}
5369
5370// SetS3Config sets the S3Config field's value.
5371func (s *DataSource) SetS3Config(v *S3Config) *DataSource {
5372	s.S3Config = v
5373	return s
5374}
5375
5376// Provides a summary of the dataset group properties used in the ListDatasetGroups
5377// operation. To get the complete set of properties, call the DescribeDatasetGroup
5378// operation, and provide the DatasetGroupArn.
5379type DatasetGroupSummary struct {
5380	_ struct{} `type:"structure"`
5381
5382	// When the dataset group was created.
5383	CreationTime *time.Time `type:"timestamp"`
5384
5385	// The Amazon Resource Name (ARN) of the dataset group.
5386	DatasetGroupArn *string `type:"string"`
5387
5388	// The name of the dataset group.
5389	DatasetGroupName *string `min:"1" type:"string"`
5390
5391	// When the dataset group was created or last updated from a call to the UpdateDatasetGroup
5392	// operation. While the dataset group is being updated, LastModificationTime
5393	// is the current time of the ListDatasetGroups call.
5394	LastModificationTime *time.Time `type:"timestamp"`
5395}
5396
5397// String returns the string representation
5398func (s DatasetGroupSummary) String() string {
5399	return awsutil.Prettify(s)
5400}
5401
5402// GoString returns the string representation
5403func (s DatasetGroupSummary) GoString() string {
5404	return s.String()
5405}
5406
5407// SetCreationTime sets the CreationTime field's value.
5408func (s *DatasetGroupSummary) SetCreationTime(v time.Time) *DatasetGroupSummary {
5409	s.CreationTime = &v
5410	return s
5411}
5412
5413// SetDatasetGroupArn sets the DatasetGroupArn field's value.
5414func (s *DatasetGroupSummary) SetDatasetGroupArn(v string) *DatasetGroupSummary {
5415	s.DatasetGroupArn = &v
5416	return s
5417}
5418
5419// SetDatasetGroupName sets the DatasetGroupName field's value.
5420func (s *DatasetGroupSummary) SetDatasetGroupName(v string) *DatasetGroupSummary {
5421	s.DatasetGroupName = &v
5422	return s
5423}
5424
5425// SetLastModificationTime sets the LastModificationTime field's value.
5426func (s *DatasetGroupSummary) SetLastModificationTime(v time.Time) *DatasetGroupSummary {
5427	s.LastModificationTime = &v
5428	return s
5429}
5430
5431// Provides a summary of the dataset import job properties used in the ListDatasetImportJobs
5432// operation. To get the complete set of properties, call the DescribeDatasetImportJob
5433// operation, and provide the DatasetImportJobArn.
5434type DatasetImportJobSummary struct {
5435	_ struct{} `type:"structure"`
5436
5437	// When the dataset import job was created.
5438	CreationTime *time.Time `type:"timestamp"`
5439
5440	// The location of the training data to import and an AWS Identity and Access
5441	// Management (IAM) role that Amazon Forecast can assume to access the data.
5442	// The training data must be stored in an Amazon S3 bucket.
5443	//
5444	// If encryption is used, DataSource includes an AWS Key Management Service
5445	// (KMS) key.
5446	DataSource *DataSource `type:"structure"`
5447
5448	// The Amazon Resource Name (ARN) of the dataset import job.
5449	DatasetImportJobArn *string `type:"string"`
5450
5451	// The name of the dataset import job.
5452	DatasetImportJobName *string `min:"1" type:"string"`
5453
5454	// The last time the resource was modified. The timestamp depends on the status
5455	// of the job:
5456	//
5457	//    * CREATE_PENDING - The CreationTime.
5458	//
5459	//    * CREATE_IN_PROGRESS - The current timestamp.
5460	//
5461	//    * CREATE_STOPPING - The current timestamp.
5462	//
5463	//    * CREATE_STOPPED - When the job stopped.
5464	//
5465	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
5466	LastModificationTime *time.Time `type:"timestamp"`
5467
5468	// If an error occurred, an informational message about the error.
5469	Message *string `type:"string"`
5470
5471	// The status of the dataset import job. States include:
5472	//
5473	//    * ACTIVE
5474	//
5475	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
5476	//
5477	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
5478	//
5479	//    * CREATE_STOPPING, CREATE_STOPPED
5480	Status *string `type:"string"`
5481}
5482
5483// String returns the string representation
5484func (s DatasetImportJobSummary) String() string {
5485	return awsutil.Prettify(s)
5486}
5487
5488// GoString returns the string representation
5489func (s DatasetImportJobSummary) GoString() string {
5490	return s.String()
5491}
5492
5493// SetCreationTime sets the CreationTime field's value.
5494func (s *DatasetImportJobSummary) SetCreationTime(v time.Time) *DatasetImportJobSummary {
5495	s.CreationTime = &v
5496	return s
5497}
5498
5499// SetDataSource sets the DataSource field's value.
5500func (s *DatasetImportJobSummary) SetDataSource(v *DataSource) *DatasetImportJobSummary {
5501	s.DataSource = v
5502	return s
5503}
5504
5505// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
5506func (s *DatasetImportJobSummary) SetDatasetImportJobArn(v string) *DatasetImportJobSummary {
5507	s.DatasetImportJobArn = &v
5508	return s
5509}
5510
5511// SetDatasetImportJobName sets the DatasetImportJobName field's value.
5512func (s *DatasetImportJobSummary) SetDatasetImportJobName(v string) *DatasetImportJobSummary {
5513	s.DatasetImportJobName = &v
5514	return s
5515}
5516
5517// SetLastModificationTime sets the LastModificationTime field's value.
5518func (s *DatasetImportJobSummary) SetLastModificationTime(v time.Time) *DatasetImportJobSummary {
5519	s.LastModificationTime = &v
5520	return s
5521}
5522
5523// SetMessage sets the Message field's value.
5524func (s *DatasetImportJobSummary) SetMessage(v string) *DatasetImportJobSummary {
5525	s.Message = &v
5526	return s
5527}
5528
5529// SetStatus sets the Status field's value.
5530func (s *DatasetImportJobSummary) SetStatus(v string) *DatasetImportJobSummary {
5531	s.Status = &v
5532	return s
5533}
5534
5535// Provides a summary of the dataset properties used in the ListDatasets operation.
5536// To get the complete set of properties, call the DescribeDataset operation,
5537// and provide the DatasetArn.
5538type DatasetSummary struct {
5539	_ struct{} `type:"structure"`
5540
5541	// When the dataset was created.
5542	CreationTime *time.Time `type:"timestamp"`
5543
5544	// The Amazon Resource Name (ARN) of the dataset.
5545	DatasetArn *string `type:"string"`
5546
5547	// The name of the dataset.
5548	DatasetName *string `min:"1" type:"string"`
5549
5550	// The dataset type.
5551	DatasetType *string `type:"string" enum:"DatasetType"`
5552
5553	// The domain associated with the dataset.
5554	Domain *string `type:"string" enum:"Domain"`
5555
5556	// When you create a dataset, LastModificationTime is the same as CreationTime.
5557	// While data is being imported to the dataset, LastModificationTime is the
5558	// current time of the ListDatasets call. After a CreateDatasetImportJob operation
5559	// has finished, LastModificationTime is when the import job completed or failed.
5560	LastModificationTime *time.Time `type:"timestamp"`
5561}
5562
5563// String returns the string representation
5564func (s DatasetSummary) String() string {
5565	return awsutil.Prettify(s)
5566}
5567
5568// GoString returns the string representation
5569func (s DatasetSummary) GoString() string {
5570	return s.String()
5571}
5572
5573// SetCreationTime sets the CreationTime field's value.
5574func (s *DatasetSummary) SetCreationTime(v time.Time) *DatasetSummary {
5575	s.CreationTime = &v
5576	return s
5577}
5578
5579// SetDatasetArn sets the DatasetArn field's value.
5580func (s *DatasetSummary) SetDatasetArn(v string) *DatasetSummary {
5581	s.DatasetArn = &v
5582	return s
5583}
5584
5585// SetDatasetName sets the DatasetName field's value.
5586func (s *DatasetSummary) SetDatasetName(v string) *DatasetSummary {
5587	s.DatasetName = &v
5588	return s
5589}
5590
5591// SetDatasetType sets the DatasetType field's value.
5592func (s *DatasetSummary) SetDatasetType(v string) *DatasetSummary {
5593	s.DatasetType = &v
5594	return s
5595}
5596
5597// SetDomain sets the Domain field's value.
5598func (s *DatasetSummary) SetDomain(v string) *DatasetSummary {
5599	s.Domain = &v
5600	return s
5601}
5602
5603// SetLastModificationTime sets the LastModificationTime field's value.
5604func (s *DatasetSummary) SetLastModificationTime(v time.Time) *DatasetSummary {
5605	s.LastModificationTime = &v
5606	return s
5607}
5608
5609type DeleteDatasetGroupInput struct {
5610	_ struct{} `type:"structure"`
5611
5612	// The Amazon Resource Name (ARN) of the dataset group to delete.
5613	//
5614	// DatasetGroupArn is a required field
5615	DatasetGroupArn *string `type:"string" required:"true"`
5616}
5617
5618// String returns the string representation
5619func (s DeleteDatasetGroupInput) String() string {
5620	return awsutil.Prettify(s)
5621}
5622
5623// GoString returns the string representation
5624func (s DeleteDatasetGroupInput) GoString() string {
5625	return s.String()
5626}
5627
5628// Validate inspects the fields of the type to determine if they are valid.
5629func (s *DeleteDatasetGroupInput) Validate() error {
5630	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetGroupInput"}
5631	if s.DatasetGroupArn == nil {
5632		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
5633	}
5634
5635	if invalidParams.Len() > 0 {
5636		return invalidParams
5637	}
5638	return nil
5639}
5640
5641// SetDatasetGroupArn sets the DatasetGroupArn field's value.
5642func (s *DeleteDatasetGroupInput) SetDatasetGroupArn(v string) *DeleteDatasetGroupInput {
5643	s.DatasetGroupArn = &v
5644	return s
5645}
5646
5647type DeleteDatasetGroupOutput struct {
5648	_ struct{} `type:"structure"`
5649}
5650
5651// String returns the string representation
5652func (s DeleteDatasetGroupOutput) String() string {
5653	return awsutil.Prettify(s)
5654}
5655
5656// GoString returns the string representation
5657func (s DeleteDatasetGroupOutput) GoString() string {
5658	return s.String()
5659}
5660
5661type DeleteDatasetImportJobInput struct {
5662	_ struct{} `type:"structure"`
5663
5664	// The Amazon Resource Name (ARN) of the dataset import job to delete.
5665	//
5666	// DatasetImportJobArn is a required field
5667	DatasetImportJobArn *string `type:"string" required:"true"`
5668}
5669
5670// String returns the string representation
5671func (s DeleteDatasetImportJobInput) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation
5676func (s DeleteDatasetImportJobInput) GoString() string {
5677	return s.String()
5678}
5679
5680// Validate inspects the fields of the type to determine if they are valid.
5681func (s *DeleteDatasetImportJobInput) Validate() error {
5682	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetImportJobInput"}
5683	if s.DatasetImportJobArn == nil {
5684		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
5685	}
5686
5687	if invalidParams.Len() > 0 {
5688		return invalidParams
5689	}
5690	return nil
5691}
5692
5693// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
5694func (s *DeleteDatasetImportJobInput) SetDatasetImportJobArn(v string) *DeleteDatasetImportJobInput {
5695	s.DatasetImportJobArn = &v
5696	return s
5697}
5698
5699type DeleteDatasetImportJobOutput struct {
5700	_ struct{} `type:"structure"`
5701}
5702
5703// String returns the string representation
5704func (s DeleteDatasetImportJobOutput) String() string {
5705	return awsutil.Prettify(s)
5706}
5707
5708// GoString returns the string representation
5709func (s DeleteDatasetImportJobOutput) GoString() string {
5710	return s.String()
5711}
5712
5713type DeleteDatasetInput struct {
5714	_ struct{} `type:"structure"`
5715
5716	// The Amazon Resource Name (ARN) of the dataset to delete.
5717	//
5718	// DatasetArn is a required field
5719	DatasetArn *string `type:"string" required:"true"`
5720}
5721
5722// String returns the string representation
5723func (s DeleteDatasetInput) String() string {
5724	return awsutil.Prettify(s)
5725}
5726
5727// GoString returns the string representation
5728func (s DeleteDatasetInput) GoString() string {
5729	return s.String()
5730}
5731
5732// Validate inspects the fields of the type to determine if they are valid.
5733func (s *DeleteDatasetInput) Validate() error {
5734	invalidParams := request.ErrInvalidParams{Context: "DeleteDatasetInput"}
5735	if s.DatasetArn == nil {
5736		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
5737	}
5738
5739	if invalidParams.Len() > 0 {
5740		return invalidParams
5741	}
5742	return nil
5743}
5744
5745// SetDatasetArn sets the DatasetArn field's value.
5746func (s *DeleteDatasetInput) SetDatasetArn(v string) *DeleteDatasetInput {
5747	s.DatasetArn = &v
5748	return s
5749}
5750
5751type DeleteDatasetOutput struct {
5752	_ struct{} `type:"structure"`
5753}
5754
5755// String returns the string representation
5756func (s DeleteDatasetOutput) String() string {
5757	return awsutil.Prettify(s)
5758}
5759
5760// GoString returns the string representation
5761func (s DeleteDatasetOutput) GoString() string {
5762	return s.String()
5763}
5764
5765type DeleteForecastExportJobInput struct {
5766	_ struct{} `type:"structure"`
5767
5768	// The Amazon Resource Name (ARN) of the forecast export job to delete.
5769	//
5770	// ForecastExportJobArn is a required field
5771	ForecastExportJobArn *string `type:"string" required:"true"`
5772}
5773
5774// String returns the string representation
5775func (s DeleteForecastExportJobInput) String() string {
5776	return awsutil.Prettify(s)
5777}
5778
5779// GoString returns the string representation
5780func (s DeleteForecastExportJobInput) GoString() string {
5781	return s.String()
5782}
5783
5784// Validate inspects the fields of the type to determine if they are valid.
5785func (s *DeleteForecastExportJobInput) Validate() error {
5786	invalidParams := request.ErrInvalidParams{Context: "DeleteForecastExportJobInput"}
5787	if s.ForecastExportJobArn == nil {
5788		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobArn"))
5789	}
5790
5791	if invalidParams.Len() > 0 {
5792		return invalidParams
5793	}
5794	return nil
5795}
5796
5797// SetForecastExportJobArn sets the ForecastExportJobArn field's value.
5798func (s *DeleteForecastExportJobInput) SetForecastExportJobArn(v string) *DeleteForecastExportJobInput {
5799	s.ForecastExportJobArn = &v
5800	return s
5801}
5802
5803type DeleteForecastExportJobOutput struct {
5804	_ struct{} `type:"structure"`
5805}
5806
5807// String returns the string representation
5808func (s DeleteForecastExportJobOutput) String() string {
5809	return awsutil.Prettify(s)
5810}
5811
5812// GoString returns the string representation
5813func (s DeleteForecastExportJobOutput) GoString() string {
5814	return s.String()
5815}
5816
5817type DeleteForecastInput struct {
5818	_ struct{} `type:"structure"`
5819
5820	// The Amazon Resource Name (ARN) of the forecast to delete.
5821	//
5822	// ForecastArn is a required field
5823	ForecastArn *string `type:"string" required:"true"`
5824}
5825
5826// String returns the string representation
5827func (s DeleteForecastInput) String() string {
5828	return awsutil.Prettify(s)
5829}
5830
5831// GoString returns the string representation
5832func (s DeleteForecastInput) GoString() string {
5833	return s.String()
5834}
5835
5836// Validate inspects the fields of the type to determine if they are valid.
5837func (s *DeleteForecastInput) Validate() error {
5838	invalidParams := request.ErrInvalidParams{Context: "DeleteForecastInput"}
5839	if s.ForecastArn == nil {
5840		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
5841	}
5842
5843	if invalidParams.Len() > 0 {
5844		return invalidParams
5845	}
5846	return nil
5847}
5848
5849// SetForecastArn sets the ForecastArn field's value.
5850func (s *DeleteForecastInput) SetForecastArn(v string) *DeleteForecastInput {
5851	s.ForecastArn = &v
5852	return s
5853}
5854
5855type DeleteForecastOutput struct {
5856	_ struct{} `type:"structure"`
5857}
5858
5859// String returns the string representation
5860func (s DeleteForecastOutput) String() string {
5861	return awsutil.Prettify(s)
5862}
5863
5864// GoString returns the string representation
5865func (s DeleteForecastOutput) GoString() string {
5866	return s.String()
5867}
5868
5869type DeletePredictorBacktestExportJobInput struct {
5870	_ struct{} `type:"structure"`
5871
5872	// The Amazon Resource Name (ARN) of the predictor backtest export job to delete.
5873	//
5874	// PredictorBacktestExportJobArn is a required field
5875	PredictorBacktestExportJobArn *string `type:"string" required:"true"`
5876}
5877
5878// String returns the string representation
5879func (s DeletePredictorBacktestExportJobInput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s DeletePredictorBacktestExportJobInput) GoString() string {
5885	return s.String()
5886}
5887
5888// Validate inspects the fields of the type to determine if they are valid.
5889func (s *DeletePredictorBacktestExportJobInput) Validate() error {
5890	invalidParams := request.ErrInvalidParams{Context: "DeletePredictorBacktestExportJobInput"}
5891	if s.PredictorBacktestExportJobArn == nil {
5892		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn"))
5893	}
5894
5895	if invalidParams.Len() > 0 {
5896		return invalidParams
5897	}
5898	return nil
5899}
5900
5901// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
5902func (s *DeletePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DeletePredictorBacktestExportJobInput {
5903	s.PredictorBacktestExportJobArn = &v
5904	return s
5905}
5906
5907type DeletePredictorBacktestExportJobOutput struct {
5908	_ struct{} `type:"structure"`
5909}
5910
5911// String returns the string representation
5912func (s DeletePredictorBacktestExportJobOutput) String() string {
5913	return awsutil.Prettify(s)
5914}
5915
5916// GoString returns the string representation
5917func (s DeletePredictorBacktestExportJobOutput) GoString() string {
5918	return s.String()
5919}
5920
5921type DeletePredictorInput struct {
5922	_ struct{} `type:"structure"`
5923
5924	// The Amazon Resource Name (ARN) of the predictor to delete.
5925	//
5926	// PredictorArn is a required field
5927	PredictorArn *string `type:"string" required:"true"`
5928}
5929
5930// String returns the string representation
5931func (s DeletePredictorInput) String() string {
5932	return awsutil.Prettify(s)
5933}
5934
5935// GoString returns the string representation
5936func (s DeletePredictorInput) GoString() string {
5937	return s.String()
5938}
5939
5940// Validate inspects the fields of the type to determine if they are valid.
5941func (s *DeletePredictorInput) Validate() error {
5942	invalidParams := request.ErrInvalidParams{Context: "DeletePredictorInput"}
5943	if s.PredictorArn == nil {
5944		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
5945	}
5946
5947	if invalidParams.Len() > 0 {
5948		return invalidParams
5949	}
5950	return nil
5951}
5952
5953// SetPredictorArn sets the PredictorArn field's value.
5954func (s *DeletePredictorInput) SetPredictorArn(v string) *DeletePredictorInput {
5955	s.PredictorArn = &v
5956	return s
5957}
5958
5959type DeletePredictorOutput struct {
5960	_ struct{} `type:"structure"`
5961}
5962
5963// String returns the string representation
5964func (s DeletePredictorOutput) String() string {
5965	return awsutil.Prettify(s)
5966}
5967
5968// GoString returns the string representation
5969func (s DeletePredictorOutput) GoString() string {
5970	return s.String()
5971}
5972
5973type DeleteResourceTreeInput struct {
5974	_ struct{} `type:"structure"`
5975
5976	// The Amazon Resource Name (ARN) of the parent resource to delete. All child
5977	// resources of the parent resource will also be deleted.
5978	//
5979	// ResourceArn is a required field
5980	ResourceArn *string `type:"string" required:"true"`
5981}
5982
5983// String returns the string representation
5984func (s DeleteResourceTreeInput) String() string {
5985	return awsutil.Prettify(s)
5986}
5987
5988// GoString returns the string representation
5989func (s DeleteResourceTreeInput) GoString() string {
5990	return s.String()
5991}
5992
5993// Validate inspects the fields of the type to determine if they are valid.
5994func (s *DeleteResourceTreeInput) Validate() error {
5995	invalidParams := request.ErrInvalidParams{Context: "DeleteResourceTreeInput"}
5996	if s.ResourceArn == nil {
5997		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5998	}
5999
6000	if invalidParams.Len() > 0 {
6001		return invalidParams
6002	}
6003	return nil
6004}
6005
6006// SetResourceArn sets the ResourceArn field's value.
6007func (s *DeleteResourceTreeInput) SetResourceArn(v string) *DeleteResourceTreeInput {
6008	s.ResourceArn = &v
6009	return s
6010}
6011
6012type DeleteResourceTreeOutput struct {
6013	_ struct{} `type:"structure"`
6014}
6015
6016// String returns the string representation
6017func (s DeleteResourceTreeOutput) String() string {
6018	return awsutil.Prettify(s)
6019}
6020
6021// GoString returns the string representation
6022func (s DeleteResourceTreeOutput) GoString() string {
6023	return s.String()
6024}
6025
6026type DescribeDatasetGroupInput struct {
6027	_ struct{} `type:"structure"`
6028
6029	// The Amazon Resource Name (ARN) of the dataset group.
6030	//
6031	// DatasetGroupArn is a required field
6032	DatasetGroupArn *string `type:"string" required:"true"`
6033}
6034
6035// String returns the string representation
6036func (s DescribeDatasetGroupInput) String() string {
6037	return awsutil.Prettify(s)
6038}
6039
6040// GoString returns the string representation
6041func (s DescribeDatasetGroupInput) GoString() string {
6042	return s.String()
6043}
6044
6045// Validate inspects the fields of the type to determine if they are valid.
6046func (s *DescribeDatasetGroupInput) Validate() error {
6047	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetGroupInput"}
6048	if s.DatasetGroupArn == nil {
6049		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
6050	}
6051
6052	if invalidParams.Len() > 0 {
6053		return invalidParams
6054	}
6055	return nil
6056}
6057
6058// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6059func (s *DescribeDatasetGroupInput) SetDatasetGroupArn(v string) *DescribeDatasetGroupInput {
6060	s.DatasetGroupArn = &v
6061	return s
6062}
6063
6064type DescribeDatasetGroupOutput struct {
6065	_ struct{} `type:"structure"`
6066
6067	// When the dataset group was created.
6068	CreationTime *time.Time `type:"timestamp"`
6069
6070	// An array of Amazon Resource Names (ARNs) of the datasets contained in the
6071	// dataset group.
6072	DatasetArns []*string `type:"list"`
6073
6074	// The ARN of the dataset group.
6075	DatasetGroupArn *string `type:"string"`
6076
6077	// The name of the dataset group.
6078	DatasetGroupName *string `min:"1" type:"string"`
6079
6080	// The domain associated with the dataset group.
6081	Domain *string `type:"string" enum:"Domain"`
6082
6083	// When the dataset group was created or last updated from a call to the UpdateDatasetGroup
6084	// operation. While the dataset group is being updated, LastModificationTime
6085	// is the current time of the DescribeDatasetGroup call.
6086	LastModificationTime *time.Time `type:"timestamp"`
6087
6088	// The status of the dataset group. States include:
6089	//
6090	//    * ACTIVE
6091	//
6092	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6093	//
6094	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6095	//
6096	//    * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED
6097	//
6098	// The UPDATE states apply when you call the UpdateDatasetGroup operation.
6099	//
6100	// The Status of the dataset group must be ACTIVE before you can use the dataset
6101	// group to create a predictor.
6102	Status *string `type:"string"`
6103}
6104
6105// String returns the string representation
6106func (s DescribeDatasetGroupOutput) String() string {
6107	return awsutil.Prettify(s)
6108}
6109
6110// GoString returns the string representation
6111func (s DescribeDatasetGroupOutput) GoString() string {
6112	return s.String()
6113}
6114
6115// SetCreationTime sets the CreationTime field's value.
6116func (s *DescribeDatasetGroupOutput) SetCreationTime(v time.Time) *DescribeDatasetGroupOutput {
6117	s.CreationTime = &v
6118	return s
6119}
6120
6121// SetDatasetArns sets the DatasetArns field's value.
6122func (s *DescribeDatasetGroupOutput) SetDatasetArns(v []*string) *DescribeDatasetGroupOutput {
6123	s.DatasetArns = v
6124	return s
6125}
6126
6127// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6128func (s *DescribeDatasetGroupOutput) SetDatasetGroupArn(v string) *DescribeDatasetGroupOutput {
6129	s.DatasetGroupArn = &v
6130	return s
6131}
6132
6133// SetDatasetGroupName sets the DatasetGroupName field's value.
6134func (s *DescribeDatasetGroupOutput) SetDatasetGroupName(v string) *DescribeDatasetGroupOutput {
6135	s.DatasetGroupName = &v
6136	return s
6137}
6138
6139// SetDomain sets the Domain field's value.
6140func (s *DescribeDatasetGroupOutput) SetDomain(v string) *DescribeDatasetGroupOutput {
6141	s.Domain = &v
6142	return s
6143}
6144
6145// SetLastModificationTime sets the LastModificationTime field's value.
6146func (s *DescribeDatasetGroupOutput) SetLastModificationTime(v time.Time) *DescribeDatasetGroupOutput {
6147	s.LastModificationTime = &v
6148	return s
6149}
6150
6151// SetStatus sets the Status field's value.
6152func (s *DescribeDatasetGroupOutput) SetStatus(v string) *DescribeDatasetGroupOutput {
6153	s.Status = &v
6154	return s
6155}
6156
6157type DescribeDatasetImportJobInput struct {
6158	_ struct{} `type:"structure"`
6159
6160	// The Amazon Resource Name (ARN) of the dataset import job.
6161	//
6162	// DatasetImportJobArn is a required field
6163	DatasetImportJobArn *string `type:"string" required:"true"`
6164}
6165
6166// String returns the string representation
6167func (s DescribeDatasetImportJobInput) String() string {
6168	return awsutil.Prettify(s)
6169}
6170
6171// GoString returns the string representation
6172func (s DescribeDatasetImportJobInput) GoString() string {
6173	return s.String()
6174}
6175
6176// Validate inspects the fields of the type to determine if they are valid.
6177func (s *DescribeDatasetImportJobInput) Validate() error {
6178	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetImportJobInput"}
6179	if s.DatasetImportJobArn == nil {
6180		invalidParams.Add(request.NewErrParamRequired("DatasetImportJobArn"))
6181	}
6182
6183	if invalidParams.Len() > 0 {
6184		return invalidParams
6185	}
6186	return nil
6187}
6188
6189// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
6190func (s *DescribeDatasetImportJobInput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobInput {
6191	s.DatasetImportJobArn = &v
6192	return s
6193}
6194
6195type DescribeDatasetImportJobOutput struct {
6196	_ struct{} `type:"structure"`
6197
6198	// When the dataset import job was created.
6199	CreationTime *time.Time `type:"timestamp"`
6200
6201	// The size of the dataset in gigabytes (GB) after the import job has finished.
6202	DataSize *float64 `type:"double"`
6203
6204	// The location of the training data to import and an AWS Identity and Access
6205	// Management (IAM) role that Amazon Forecast can assume to access the data.
6206	//
6207	// If encryption is used, DataSource includes an AWS Key Management Service
6208	// (KMS) key.
6209	DataSource *DataSource `type:"structure"`
6210
6211	// The Amazon Resource Name (ARN) of the dataset that the training data was
6212	// imported to.
6213	DatasetArn *string `type:"string"`
6214
6215	// The ARN of the dataset import job.
6216	DatasetImportJobArn *string `type:"string"`
6217
6218	// The name of the dataset import job.
6219	DatasetImportJobName *string `min:"1" type:"string"`
6220
6221	// The estimated time remaining in minutes for the dataset import job to complete.
6222	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
6223
6224	// Statistical information about each field in the input data.
6225	FieldStatistics map[string]*Statistics `type:"map"`
6226
6227	// The format of the geolocation attribute. Valid Values:"LAT_LONG" and "CC_POSTALCODE".
6228	GeolocationFormat *string `type:"string"`
6229
6230	// The last time the resource was modified. The timestamp depends on the status
6231	// of the job:
6232	//
6233	//    * CREATE_PENDING - The CreationTime.
6234	//
6235	//    * CREATE_IN_PROGRESS - The current timestamp.
6236	//
6237	//    * CREATE_STOPPING - The current timestamp.
6238	//
6239	//    * CREATE_STOPPED - When the job stopped.
6240	//
6241	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
6242	LastModificationTime *time.Time `type:"timestamp"`
6243
6244	// If an error occurred, an informational message about the error.
6245	Message *string `type:"string"`
6246
6247	// The status of the dataset import job. States include:
6248	//
6249	//    * ACTIVE
6250	//
6251	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6252	//
6253	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6254	//
6255	//    * CREATE_STOPPING, CREATE_STOPPED
6256	Status *string `type:"string"`
6257
6258	// The single time zone applied to every item in the dataset
6259	TimeZone *string `type:"string"`
6260
6261	// The format of timestamps in the dataset. The format that you specify depends
6262	// on the DataFrequency specified when the dataset was created. The following
6263	// formats are supported
6264	//
6265	//    * "yyyy-MM-dd" For the following data frequencies: Y, M, W, and D
6266	//
6267	//    * "yyyy-MM-dd HH:mm:ss" For the following data frequencies: H, 30min,
6268	//    15min, and 1min; and optionally, for: Y, M, W, and D
6269	TimestampFormat *string `type:"string"`
6270
6271	// Whether TimeZone is automatically derived from the geolocation attribute.
6272	UseGeolocationForTimeZone *bool `type:"boolean"`
6273}
6274
6275// String returns the string representation
6276func (s DescribeDatasetImportJobOutput) String() string {
6277	return awsutil.Prettify(s)
6278}
6279
6280// GoString returns the string representation
6281func (s DescribeDatasetImportJobOutput) GoString() string {
6282	return s.String()
6283}
6284
6285// SetCreationTime sets the CreationTime field's value.
6286func (s *DescribeDatasetImportJobOutput) SetCreationTime(v time.Time) *DescribeDatasetImportJobOutput {
6287	s.CreationTime = &v
6288	return s
6289}
6290
6291// SetDataSize sets the DataSize field's value.
6292func (s *DescribeDatasetImportJobOutput) SetDataSize(v float64) *DescribeDatasetImportJobOutput {
6293	s.DataSize = &v
6294	return s
6295}
6296
6297// SetDataSource sets the DataSource field's value.
6298func (s *DescribeDatasetImportJobOutput) SetDataSource(v *DataSource) *DescribeDatasetImportJobOutput {
6299	s.DataSource = v
6300	return s
6301}
6302
6303// SetDatasetArn sets the DatasetArn field's value.
6304func (s *DescribeDatasetImportJobOutput) SetDatasetArn(v string) *DescribeDatasetImportJobOutput {
6305	s.DatasetArn = &v
6306	return s
6307}
6308
6309// SetDatasetImportJobArn sets the DatasetImportJobArn field's value.
6310func (s *DescribeDatasetImportJobOutput) SetDatasetImportJobArn(v string) *DescribeDatasetImportJobOutput {
6311	s.DatasetImportJobArn = &v
6312	return s
6313}
6314
6315// SetDatasetImportJobName sets the DatasetImportJobName field's value.
6316func (s *DescribeDatasetImportJobOutput) SetDatasetImportJobName(v string) *DescribeDatasetImportJobOutput {
6317	s.DatasetImportJobName = &v
6318	return s
6319}
6320
6321// SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
6322func (s *DescribeDatasetImportJobOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribeDatasetImportJobOutput {
6323	s.EstimatedTimeRemainingInMinutes = &v
6324	return s
6325}
6326
6327// SetFieldStatistics sets the FieldStatistics field's value.
6328func (s *DescribeDatasetImportJobOutput) SetFieldStatistics(v map[string]*Statistics) *DescribeDatasetImportJobOutput {
6329	s.FieldStatistics = v
6330	return s
6331}
6332
6333// SetGeolocationFormat sets the GeolocationFormat field's value.
6334func (s *DescribeDatasetImportJobOutput) SetGeolocationFormat(v string) *DescribeDatasetImportJobOutput {
6335	s.GeolocationFormat = &v
6336	return s
6337}
6338
6339// SetLastModificationTime sets the LastModificationTime field's value.
6340func (s *DescribeDatasetImportJobOutput) SetLastModificationTime(v time.Time) *DescribeDatasetImportJobOutput {
6341	s.LastModificationTime = &v
6342	return s
6343}
6344
6345// SetMessage sets the Message field's value.
6346func (s *DescribeDatasetImportJobOutput) SetMessage(v string) *DescribeDatasetImportJobOutput {
6347	s.Message = &v
6348	return s
6349}
6350
6351// SetStatus sets the Status field's value.
6352func (s *DescribeDatasetImportJobOutput) SetStatus(v string) *DescribeDatasetImportJobOutput {
6353	s.Status = &v
6354	return s
6355}
6356
6357// SetTimeZone sets the TimeZone field's value.
6358func (s *DescribeDatasetImportJobOutput) SetTimeZone(v string) *DescribeDatasetImportJobOutput {
6359	s.TimeZone = &v
6360	return s
6361}
6362
6363// SetTimestampFormat sets the TimestampFormat field's value.
6364func (s *DescribeDatasetImportJobOutput) SetTimestampFormat(v string) *DescribeDatasetImportJobOutput {
6365	s.TimestampFormat = &v
6366	return s
6367}
6368
6369// SetUseGeolocationForTimeZone sets the UseGeolocationForTimeZone field's value.
6370func (s *DescribeDatasetImportJobOutput) SetUseGeolocationForTimeZone(v bool) *DescribeDatasetImportJobOutput {
6371	s.UseGeolocationForTimeZone = &v
6372	return s
6373}
6374
6375type DescribeDatasetInput struct {
6376	_ struct{} `type:"structure"`
6377
6378	// The Amazon Resource Name (ARN) of the dataset.
6379	//
6380	// DatasetArn is a required field
6381	DatasetArn *string `type:"string" required:"true"`
6382}
6383
6384// String returns the string representation
6385func (s DescribeDatasetInput) String() string {
6386	return awsutil.Prettify(s)
6387}
6388
6389// GoString returns the string representation
6390func (s DescribeDatasetInput) GoString() string {
6391	return s.String()
6392}
6393
6394// Validate inspects the fields of the type to determine if they are valid.
6395func (s *DescribeDatasetInput) Validate() error {
6396	invalidParams := request.ErrInvalidParams{Context: "DescribeDatasetInput"}
6397	if s.DatasetArn == nil {
6398		invalidParams.Add(request.NewErrParamRequired("DatasetArn"))
6399	}
6400
6401	if invalidParams.Len() > 0 {
6402		return invalidParams
6403	}
6404	return nil
6405}
6406
6407// SetDatasetArn sets the DatasetArn field's value.
6408func (s *DescribeDatasetInput) SetDatasetArn(v string) *DescribeDatasetInput {
6409	s.DatasetArn = &v
6410	return s
6411}
6412
6413type DescribeDatasetOutput struct {
6414	_ struct{} `type:"structure"`
6415
6416	// When the dataset was created.
6417	CreationTime *time.Time `type:"timestamp"`
6418
6419	// The frequency of data collection.
6420	//
6421	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
6422	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
6423	// 1min (1 minute). For example, "M" indicates every month and "30min" indicates
6424	// every 30 minutes.
6425	DataFrequency *string `type:"string"`
6426
6427	// The Amazon Resource Name (ARN) of the dataset.
6428	DatasetArn *string `type:"string"`
6429
6430	// The name of the dataset.
6431	DatasetName *string `min:"1" type:"string"`
6432
6433	// The dataset type.
6434	DatasetType *string `type:"string" enum:"DatasetType"`
6435
6436	// The domain associated with the dataset.
6437	Domain *string `type:"string" enum:"Domain"`
6438
6439	// The AWS Key Management Service (KMS) key and the AWS Identity and Access
6440	// Management (IAM) role that Amazon Forecast can assume to access the key.
6441	EncryptionConfig *EncryptionConfig `type:"structure"`
6442
6443	// When you create a dataset, LastModificationTime is the same as CreationTime.
6444	// While data is being imported to the dataset, LastModificationTime is the
6445	// current time of the DescribeDataset call. After a CreateDatasetImportJob
6446	// operation has finished, LastModificationTime is when the import job completed
6447	// or failed.
6448	LastModificationTime *time.Time `type:"timestamp"`
6449
6450	// An array of SchemaAttribute objects that specify the dataset fields. Each
6451	// SchemaAttribute specifies the name and data type of a field.
6452	Schema *Schema `type:"structure"`
6453
6454	// The status of the dataset. States include:
6455	//
6456	//    * ACTIVE
6457	//
6458	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6459	//
6460	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6461	//
6462	//    * UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED
6463	//
6464	// The UPDATE states apply while data is imported to the dataset from a call
6465	// to the CreateDatasetImportJob operation and reflect the status of the dataset
6466	// import job. For example, when the import job status is CREATE_IN_PROGRESS,
6467	// the status of the dataset is UPDATE_IN_PROGRESS.
6468	//
6469	// The Status of the dataset must be ACTIVE before you can import training data.
6470	Status *string `type:"string"`
6471}
6472
6473// String returns the string representation
6474func (s DescribeDatasetOutput) String() string {
6475	return awsutil.Prettify(s)
6476}
6477
6478// GoString returns the string representation
6479func (s DescribeDatasetOutput) GoString() string {
6480	return s.String()
6481}
6482
6483// SetCreationTime sets the CreationTime field's value.
6484func (s *DescribeDatasetOutput) SetCreationTime(v time.Time) *DescribeDatasetOutput {
6485	s.CreationTime = &v
6486	return s
6487}
6488
6489// SetDataFrequency sets the DataFrequency field's value.
6490func (s *DescribeDatasetOutput) SetDataFrequency(v string) *DescribeDatasetOutput {
6491	s.DataFrequency = &v
6492	return s
6493}
6494
6495// SetDatasetArn sets the DatasetArn field's value.
6496func (s *DescribeDatasetOutput) SetDatasetArn(v string) *DescribeDatasetOutput {
6497	s.DatasetArn = &v
6498	return s
6499}
6500
6501// SetDatasetName sets the DatasetName field's value.
6502func (s *DescribeDatasetOutput) SetDatasetName(v string) *DescribeDatasetOutput {
6503	s.DatasetName = &v
6504	return s
6505}
6506
6507// SetDatasetType sets the DatasetType field's value.
6508func (s *DescribeDatasetOutput) SetDatasetType(v string) *DescribeDatasetOutput {
6509	s.DatasetType = &v
6510	return s
6511}
6512
6513// SetDomain sets the Domain field's value.
6514func (s *DescribeDatasetOutput) SetDomain(v string) *DescribeDatasetOutput {
6515	s.Domain = &v
6516	return s
6517}
6518
6519// SetEncryptionConfig sets the EncryptionConfig field's value.
6520func (s *DescribeDatasetOutput) SetEncryptionConfig(v *EncryptionConfig) *DescribeDatasetOutput {
6521	s.EncryptionConfig = v
6522	return s
6523}
6524
6525// SetLastModificationTime sets the LastModificationTime field's value.
6526func (s *DescribeDatasetOutput) SetLastModificationTime(v time.Time) *DescribeDatasetOutput {
6527	s.LastModificationTime = &v
6528	return s
6529}
6530
6531// SetSchema sets the Schema field's value.
6532func (s *DescribeDatasetOutput) SetSchema(v *Schema) *DescribeDatasetOutput {
6533	s.Schema = v
6534	return s
6535}
6536
6537// SetStatus sets the Status field's value.
6538func (s *DescribeDatasetOutput) SetStatus(v string) *DescribeDatasetOutput {
6539	s.Status = &v
6540	return s
6541}
6542
6543type DescribeForecastExportJobInput struct {
6544	_ struct{} `type:"structure"`
6545
6546	// The Amazon Resource Name (ARN) of the forecast export job.
6547	//
6548	// ForecastExportJobArn is a required field
6549	ForecastExportJobArn *string `type:"string" required:"true"`
6550}
6551
6552// String returns the string representation
6553func (s DescribeForecastExportJobInput) String() string {
6554	return awsutil.Prettify(s)
6555}
6556
6557// GoString returns the string representation
6558func (s DescribeForecastExportJobInput) GoString() string {
6559	return s.String()
6560}
6561
6562// Validate inspects the fields of the type to determine if they are valid.
6563func (s *DescribeForecastExportJobInput) Validate() error {
6564	invalidParams := request.ErrInvalidParams{Context: "DescribeForecastExportJobInput"}
6565	if s.ForecastExportJobArn == nil {
6566		invalidParams.Add(request.NewErrParamRequired("ForecastExportJobArn"))
6567	}
6568
6569	if invalidParams.Len() > 0 {
6570		return invalidParams
6571	}
6572	return nil
6573}
6574
6575// SetForecastExportJobArn sets the ForecastExportJobArn field's value.
6576func (s *DescribeForecastExportJobInput) SetForecastExportJobArn(v string) *DescribeForecastExportJobInput {
6577	s.ForecastExportJobArn = &v
6578	return s
6579}
6580
6581type DescribeForecastExportJobOutput struct {
6582	_ struct{} `type:"structure"`
6583
6584	// When the forecast export job was created.
6585	CreationTime *time.Time `type:"timestamp"`
6586
6587	// The path to the Amazon Simple Storage Service (Amazon S3) bucket where the
6588	// forecast is exported.
6589	Destination *DataDestination `type:"structure"`
6590
6591	// The Amazon Resource Name (ARN) of the exported forecast.
6592	ForecastArn *string `type:"string"`
6593
6594	// The ARN of the forecast export job.
6595	ForecastExportJobArn *string `type:"string"`
6596
6597	// The name of the forecast export job.
6598	ForecastExportJobName *string `min:"1" type:"string"`
6599
6600	// The last time the resource was modified. The timestamp depends on the status
6601	// of the job:
6602	//
6603	//    * CREATE_PENDING - The CreationTime.
6604	//
6605	//    * CREATE_IN_PROGRESS - The current timestamp.
6606	//
6607	//    * CREATE_STOPPING - The current timestamp.
6608	//
6609	//    * CREATE_STOPPED - When the job stopped.
6610	//
6611	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
6612	LastModificationTime *time.Time `type:"timestamp"`
6613
6614	// If an error occurred, an informational message about the error.
6615	Message *string `type:"string"`
6616
6617	// The status of the forecast export job. States include:
6618	//
6619	//    * ACTIVE
6620	//
6621	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6622	//
6623	//    * CREATE_STOPPING, CREATE_STOPPED
6624	//
6625	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6626	//
6627	// The Status of the forecast export job must be ACTIVE before you can access
6628	// the forecast in your S3 bucket.
6629	Status *string `type:"string"`
6630}
6631
6632// String returns the string representation
6633func (s DescribeForecastExportJobOutput) String() string {
6634	return awsutil.Prettify(s)
6635}
6636
6637// GoString returns the string representation
6638func (s DescribeForecastExportJobOutput) GoString() string {
6639	return s.String()
6640}
6641
6642// SetCreationTime sets the CreationTime field's value.
6643func (s *DescribeForecastExportJobOutput) SetCreationTime(v time.Time) *DescribeForecastExportJobOutput {
6644	s.CreationTime = &v
6645	return s
6646}
6647
6648// SetDestination sets the Destination field's value.
6649func (s *DescribeForecastExportJobOutput) SetDestination(v *DataDestination) *DescribeForecastExportJobOutput {
6650	s.Destination = v
6651	return s
6652}
6653
6654// SetForecastArn sets the ForecastArn field's value.
6655func (s *DescribeForecastExportJobOutput) SetForecastArn(v string) *DescribeForecastExportJobOutput {
6656	s.ForecastArn = &v
6657	return s
6658}
6659
6660// SetForecastExportJobArn sets the ForecastExportJobArn field's value.
6661func (s *DescribeForecastExportJobOutput) SetForecastExportJobArn(v string) *DescribeForecastExportJobOutput {
6662	s.ForecastExportJobArn = &v
6663	return s
6664}
6665
6666// SetForecastExportJobName sets the ForecastExportJobName field's value.
6667func (s *DescribeForecastExportJobOutput) SetForecastExportJobName(v string) *DescribeForecastExportJobOutput {
6668	s.ForecastExportJobName = &v
6669	return s
6670}
6671
6672// SetLastModificationTime sets the LastModificationTime field's value.
6673func (s *DescribeForecastExportJobOutput) SetLastModificationTime(v time.Time) *DescribeForecastExportJobOutput {
6674	s.LastModificationTime = &v
6675	return s
6676}
6677
6678// SetMessage sets the Message field's value.
6679func (s *DescribeForecastExportJobOutput) SetMessage(v string) *DescribeForecastExportJobOutput {
6680	s.Message = &v
6681	return s
6682}
6683
6684// SetStatus sets the Status field's value.
6685func (s *DescribeForecastExportJobOutput) SetStatus(v string) *DescribeForecastExportJobOutput {
6686	s.Status = &v
6687	return s
6688}
6689
6690type DescribeForecastInput struct {
6691	_ struct{} `type:"structure"`
6692
6693	// The Amazon Resource Name (ARN) of the forecast.
6694	//
6695	// ForecastArn is a required field
6696	ForecastArn *string `type:"string" required:"true"`
6697}
6698
6699// String returns the string representation
6700func (s DescribeForecastInput) String() string {
6701	return awsutil.Prettify(s)
6702}
6703
6704// GoString returns the string representation
6705func (s DescribeForecastInput) GoString() string {
6706	return s.String()
6707}
6708
6709// Validate inspects the fields of the type to determine if they are valid.
6710func (s *DescribeForecastInput) Validate() error {
6711	invalidParams := request.ErrInvalidParams{Context: "DescribeForecastInput"}
6712	if s.ForecastArn == nil {
6713		invalidParams.Add(request.NewErrParamRequired("ForecastArn"))
6714	}
6715
6716	if invalidParams.Len() > 0 {
6717		return invalidParams
6718	}
6719	return nil
6720}
6721
6722// SetForecastArn sets the ForecastArn field's value.
6723func (s *DescribeForecastInput) SetForecastArn(v string) *DescribeForecastInput {
6724	s.ForecastArn = &v
6725	return s
6726}
6727
6728type DescribeForecastOutput struct {
6729	_ struct{} `type:"structure"`
6730
6731	// When the forecast creation task was created.
6732	CreationTime *time.Time `type:"timestamp"`
6733
6734	// The ARN of the dataset group that provided the data used to train the predictor.
6735	DatasetGroupArn *string `type:"string"`
6736
6737	// The estimated time remaining in minutes for the forecast job to complete.
6738	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
6739
6740	// The forecast ARN as specified in the request.
6741	ForecastArn *string `type:"string"`
6742
6743	// The name of the forecast.
6744	ForecastName *string `min:"1" type:"string"`
6745
6746	// The quantiles at which probabilistic forecasts were generated.
6747	ForecastTypes []*string `min:"1" type:"list"`
6748
6749	// The last time the resource was modified. The timestamp depends on the status
6750	// of the job:
6751	//
6752	//    * CREATE_PENDING - The CreationTime.
6753	//
6754	//    * CREATE_IN_PROGRESS - The current timestamp.
6755	//
6756	//    * CREATE_STOPPING - The current timestamp.
6757	//
6758	//    * CREATE_STOPPED - When the job stopped.
6759	//
6760	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
6761	LastModificationTime *time.Time `type:"timestamp"`
6762
6763	// If an error occurred, an informational message about the error.
6764	Message *string `type:"string"`
6765
6766	// The ARN of the predictor used to generate the forecast.
6767	PredictorArn *string `type:"string"`
6768
6769	// The status of the forecast. States include:
6770	//
6771	//    * ACTIVE
6772	//
6773	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6774	//
6775	//    * CREATE_STOPPING, CREATE_STOPPED
6776	//
6777	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6778	//
6779	// The Status of the forecast must be ACTIVE before you can query or export
6780	// the forecast.
6781	Status *string `type:"string"`
6782}
6783
6784// String returns the string representation
6785func (s DescribeForecastOutput) String() string {
6786	return awsutil.Prettify(s)
6787}
6788
6789// GoString returns the string representation
6790func (s DescribeForecastOutput) GoString() string {
6791	return s.String()
6792}
6793
6794// SetCreationTime sets the CreationTime field's value.
6795func (s *DescribeForecastOutput) SetCreationTime(v time.Time) *DescribeForecastOutput {
6796	s.CreationTime = &v
6797	return s
6798}
6799
6800// SetDatasetGroupArn sets the DatasetGroupArn field's value.
6801func (s *DescribeForecastOutput) SetDatasetGroupArn(v string) *DescribeForecastOutput {
6802	s.DatasetGroupArn = &v
6803	return s
6804}
6805
6806// SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
6807func (s *DescribeForecastOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribeForecastOutput {
6808	s.EstimatedTimeRemainingInMinutes = &v
6809	return s
6810}
6811
6812// SetForecastArn sets the ForecastArn field's value.
6813func (s *DescribeForecastOutput) SetForecastArn(v string) *DescribeForecastOutput {
6814	s.ForecastArn = &v
6815	return s
6816}
6817
6818// SetForecastName sets the ForecastName field's value.
6819func (s *DescribeForecastOutput) SetForecastName(v string) *DescribeForecastOutput {
6820	s.ForecastName = &v
6821	return s
6822}
6823
6824// SetForecastTypes sets the ForecastTypes field's value.
6825func (s *DescribeForecastOutput) SetForecastTypes(v []*string) *DescribeForecastOutput {
6826	s.ForecastTypes = v
6827	return s
6828}
6829
6830// SetLastModificationTime sets the LastModificationTime field's value.
6831func (s *DescribeForecastOutput) SetLastModificationTime(v time.Time) *DescribeForecastOutput {
6832	s.LastModificationTime = &v
6833	return s
6834}
6835
6836// SetMessage sets the Message field's value.
6837func (s *DescribeForecastOutput) SetMessage(v string) *DescribeForecastOutput {
6838	s.Message = &v
6839	return s
6840}
6841
6842// SetPredictorArn sets the PredictorArn field's value.
6843func (s *DescribeForecastOutput) SetPredictorArn(v string) *DescribeForecastOutput {
6844	s.PredictorArn = &v
6845	return s
6846}
6847
6848// SetStatus sets the Status field's value.
6849func (s *DescribeForecastOutput) SetStatus(v string) *DescribeForecastOutput {
6850	s.Status = &v
6851	return s
6852}
6853
6854type DescribePredictorBacktestExportJobInput struct {
6855	_ struct{} `type:"structure"`
6856
6857	// The Amazon Resource Name (ARN) of the predictor backtest export job.
6858	//
6859	// PredictorBacktestExportJobArn is a required field
6860	PredictorBacktestExportJobArn *string `type:"string" required:"true"`
6861}
6862
6863// String returns the string representation
6864func (s DescribePredictorBacktestExportJobInput) String() string {
6865	return awsutil.Prettify(s)
6866}
6867
6868// GoString returns the string representation
6869func (s DescribePredictorBacktestExportJobInput) GoString() string {
6870	return s.String()
6871}
6872
6873// Validate inspects the fields of the type to determine if they are valid.
6874func (s *DescribePredictorBacktestExportJobInput) Validate() error {
6875	invalidParams := request.ErrInvalidParams{Context: "DescribePredictorBacktestExportJobInput"}
6876	if s.PredictorBacktestExportJobArn == nil {
6877		invalidParams.Add(request.NewErrParamRequired("PredictorBacktestExportJobArn"))
6878	}
6879
6880	if invalidParams.Len() > 0 {
6881		return invalidParams
6882	}
6883	return nil
6884}
6885
6886// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
6887func (s *DescribePredictorBacktestExportJobInput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobInput {
6888	s.PredictorBacktestExportJobArn = &v
6889	return s
6890}
6891
6892type DescribePredictorBacktestExportJobOutput struct {
6893	_ struct{} `type:"structure"`
6894
6895	// When the predictor backtest export job was created.
6896	CreationTime *time.Time `type:"timestamp"`
6897
6898	// The destination for an export job. Provide an S3 path, an AWS Identity and
6899	// Access Management (IAM) role that allows Amazon Forecast to access the location,
6900	// and an AWS Key Management Service (KMS) key (optional).
6901	Destination *DataDestination `type:"structure"`
6902
6903	// The last time the resource was modified. The timestamp depends on the status
6904	// of the job:
6905	//
6906	//    * CREATE_PENDING - The CreationTime.
6907	//
6908	//    * CREATE_IN_PROGRESS - The current timestamp.
6909	//
6910	//    * CREATE_STOPPING - The current timestamp.
6911	//
6912	//    * CREATE_STOPPED - When the job stopped.
6913	//
6914	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
6915	LastModificationTime *time.Time `type:"timestamp"`
6916
6917	// Information about any errors that may have occurred during the backtest export.
6918	Message *string `type:"string"`
6919
6920	// The Amazon Resource Name (ARN) of the predictor.
6921	PredictorArn *string `type:"string"`
6922
6923	// The Amazon Resource Name (ARN) of the predictor backtest export job.
6924	PredictorBacktestExportJobArn *string `type:"string"`
6925
6926	// The name of the predictor backtest export job.
6927	PredictorBacktestExportJobName *string `min:"1" type:"string"`
6928
6929	// The status of the predictor backtest export job. States include:
6930	//
6931	//    * ACTIVE
6932	//
6933	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
6934	//
6935	//    * CREATE_STOPPING, CREATE_STOPPED
6936	//
6937	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
6938	Status *string `type:"string"`
6939}
6940
6941// String returns the string representation
6942func (s DescribePredictorBacktestExportJobOutput) String() string {
6943	return awsutil.Prettify(s)
6944}
6945
6946// GoString returns the string representation
6947func (s DescribePredictorBacktestExportJobOutput) GoString() string {
6948	return s.String()
6949}
6950
6951// SetCreationTime sets the CreationTime field's value.
6952func (s *DescribePredictorBacktestExportJobOutput) SetCreationTime(v time.Time) *DescribePredictorBacktestExportJobOutput {
6953	s.CreationTime = &v
6954	return s
6955}
6956
6957// SetDestination sets the Destination field's value.
6958func (s *DescribePredictorBacktestExportJobOutput) SetDestination(v *DataDestination) *DescribePredictorBacktestExportJobOutput {
6959	s.Destination = v
6960	return s
6961}
6962
6963// SetLastModificationTime sets the LastModificationTime field's value.
6964func (s *DescribePredictorBacktestExportJobOutput) SetLastModificationTime(v time.Time) *DescribePredictorBacktestExportJobOutput {
6965	s.LastModificationTime = &v
6966	return s
6967}
6968
6969// SetMessage sets the Message field's value.
6970func (s *DescribePredictorBacktestExportJobOutput) SetMessage(v string) *DescribePredictorBacktestExportJobOutput {
6971	s.Message = &v
6972	return s
6973}
6974
6975// SetPredictorArn sets the PredictorArn field's value.
6976func (s *DescribePredictorBacktestExportJobOutput) SetPredictorArn(v string) *DescribePredictorBacktestExportJobOutput {
6977	s.PredictorArn = &v
6978	return s
6979}
6980
6981// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
6982func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobArn(v string) *DescribePredictorBacktestExportJobOutput {
6983	s.PredictorBacktestExportJobArn = &v
6984	return s
6985}
6986
6987// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
6988func (s *DescribePredictorBacktestExportJobOutput) SetPredictorBacktestExportJobName(v string) *DescribePredictorBacktestExportJobOutput {
6989	s.PredictorBacktestExportJobName = &v
6990	return s
6991}
6992
6993// SetStatus sets the Status field's value.
6994func (s *DescribePredictorBacktestExportJobOutput) SetStatus(v string) *DescribePredictorBacktestExportJobOutput {
6995	s.Status = &v
6996	return s
6997}
6998
6999type DescribePredictorInput struct {
7000	_ struct{} `type:"structure"`
7001
7002	// The Amazon Resource Name (ARN) of the predictor that you want information
7003	// about.
7004	//
7005	// PredictorArn is a required field
7006	PredictorArn *string `type:"string" required:"true"`
7007}
7008
7009// String returns the string representation
7010func (s DescribePredictorInput) String() string {
7011	return awsutil.Prettify(s)
7012}
7013
7014// GoString returns the string representation
7015func (s DescribePredictorInput) GoString() string {
7016	return s.String()
7017}
7018
7019// Validate inspects the fields of the type to determine if they are valid.
7020func (s *DescribePredictorInput) Validate() error {
7021	invalidParams := request.ErrInvalidParams{Context: "DescribePredictorInput"}
7022	if s.PredictorArn == nil {
7023		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
7024	}
7025
7026	if invalidParams.Len() > 0 {
7027		return invalidParams
7028	}
7029	return nil
7030}
7031
7032// SetPredictorArn sets the PredictorArn field's value.
7033func (s *DescribePredictorInput) SetPredictorArn(v string) *DescribePredictorInput {
7034	s.PredictorArn = &v
7035	return s
7036}
7037
7038type DescribePredictorOutput struct {
7039	_ struct{} `type:"structure"`
7040
7041	// The Amazon Resource Name (ARN) of the algorithm used for model training.
7042	AlgorithmArn *string `type:"string"`
7043
7044	// When PerformAutoML is specified, the ARN of the chosen algorithm.
7045	AutoMLAlgorithmArns []*string `type:"list"`
7046
7047	// When the model training task was created.
7048	CreationTime *time.Time `type:"timestamp"`
7049
7050	// An array of the ARNs of the dataset import jobs used to import training data
7051	// for the predictor.
7052	DatasetImportJobArns []*string `type:"list"`
7053
7054	// An AWS Key Management Service (KMS) key and the AWS Identity and Access Management
7055	// (IAM) role that Amazon Forecast can assume to access the key.
7056	EncryptionConfig *EncryptionConfig `type:"structure"`
7057
7058	// The estimated time remaining in minutes for the predictor training job to
7059	// complete.
7060	EstimatedTimeRemainingInMinutes *int64 `type:"long"`
7061
7062	// Used to override the default evaluation parameters of the specified algorithm.
7063	// Amazon Forecast evaluates a predictor by splitting a dataset into training
7064	// data and testing data. The evaluation parameters define how to perform the
7065	// split and the number of iterations.
7066	EvaluationParameters *EvaluationParameters `type:"structure"`
7067
7068	// The featurization configuration.
7069	FeaturizationConfig *FeaturizationConfig `type:"structure"`
7070
7071	// The number of time-steps of the forecast. The forecast horizon is also called
7072	// the prediction length.
7073	ForecastHorizon *int64 `type:"integer"`
7074
7075	// The forecast types used during predictor training. Default value is ["0.1","0.5","0.9"]
7076	ForecastTypes []*string `min:"1" type:"list"`
7077
7078	// The hyperparameter override values for the algorithm.
7079	HPOConfig *HyperParameterTuningJobConfig `type:"structure"`
7080
7081	// Describes the dataset group that contains the data to use to train the predictor.
7082	InputDataConfig *InputDataConfig `type:"structure"`
7083
7084	// The last time the resource was modified. The timestamp depends on the status
7085	// of the job:
7086	//
7087	//    * CREATE_PENDING - The CreationTime.
7088	//
7089	//    * CREATE_IN_PROGRESS - The current timestamp.
7090	//
7091	//    * CREATE_STOPPING - The current timestamp.
7092	//
7093	//    * CREATE_STOPPED - When the job stopped.
7094	//
7095	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
7096	LastModificationTime *time.Time `type:"timestamp"`
7097
7098	// If an error occurred, an informational message about the error.
7099	Message *string `type:"string"`
7100
7101	// Whether the predictor is set to perform AutoML.
7102	PerformAutoML *bool `type:"boolean"`
7103
7104	// Whether the predictor is set to perform hyperparameter optimization (HPO).
7105	PerformHPO *bool `type:"boolean"`
7106
7107	// The ARN of the predictor.
7108	PredictorArn *string `min:"1" type:"string"`
7109
7110	// Details on the the status and results of the backtests performed to evaluate
7111	// the accuracy of the predictor. You specify the number of backtests to perform
7112	// when you call the operation.
7113	PredictorExecutionDetails *PredictorExecutionDetails `type:"structure"`
7114
7115	// The name of the predictor.
7116	PredictorName *string `min:"1" type:"string"`
7117
7118	// The status of the predictor. States include:
7119	//
7120	//    * ACTIVE
7121	//
7122	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
7123	//
7124	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
7125	//
7126	//    * CREATE_STOPPING, CREATE_STOPPED
7127	//
7128	// The Status of the predictor must be ACTIVE before you can use the predictor
7129	// to create a forecast.
7130	Status *string `type:"string"`
7131
7132	// The default training parameters or overrides selected during model training.
7133	// When running AutoML or choosing HPO with CNN-QR or DeepAR+, the optimized
7134	// values for the chosen hyperparameters are returned. For more information,
7135	// see aws-forecast-choosing-recipes.
7136	TrainingParameters map[string]*string `type:"map"`
7137}
7138
7139// String returns the string representation
7140func (s DescribePredictorOutput) String() string {
7141	return awsutil.Prettify(s)
7142}
7143
7144// GoString returns the string representation
7145func (s DescribePredictorOutput) GoString() string {
7146	return s.String()
7147}
7148
7149// SetAlgorithmArn sets the AlgorithmArn field's value.
7150func (s *DescribePredictorOutput) SetAlgorithmArn(v string) *DescribePredictorOutput {
7151	s.AlgorithmArn = &v
7152	return s
7153}
7154
7155// SetAutoMLAlgorithmArns sets the AutoMLAlgorithmArns field's value.
7156func (s *DescribePredictorOutput) SetAutoMLAlgorithmArns(v []*string) *DescribePredictorOutput {
7157	s.AutoMLAlgorithmArns = v
7158	return s
7159}
7160
7161// SetCreationTime sets the CreationTime field's value.
7162func (s *DescribePredictorOutput) SetCreationTime(v time.Time) *DescribePredictorOutput {
7163	s.CreationTime = &v
7164	return s
7165}
7166
7167// SetDatasetImportJobArns sets the DatasetImportJobArns field's value.
7168func (s *DescribePredictorOutput) SetDatasetImportJobArns(v []*string) *DescribePredictorOutput {
7169	s.DatasetImportJobArns = v
7170	return s
7171}
7172
7173// SetEncryptionConfig sets the EncryptionConfig field's value.
7174func (s *DescribePredictorOutput) SetEncryptionConfig(v *EncryptionConfig) *DescribePredictorOutput {
7175	s.EncryptionConfig = v
7176	return s
7177}
7178
7179// SetEstimatedTimeRemainingInMinutes sets the EstimatedTimeRemainingInMinutes field's value.
7180func (s *DescribePredictorOutput) SetEstimatedTimeRemainingInMinutes(v int64) *DescribePredictorOutput {
7181	s.EstimatedTimeRemainingInMinutes = &v
7182	return s
7183}
7184
7185// SetEvaluationParameters sets the EvaluationParameters field's value.
7186func (s *DescribePredictorOutput) SetEvaluationParameters(v *EvaluationParameters) *DescribePredictorOutput {
7187	s.EvaluationParameters = v
7188	return s
7189}
7190
7191// SetFeaturizationConfig sets the FeaturizationConfig field's value.
7192func (s *DescribePredictorOutput) SetFeaturizationConfig(v *FeaturizationConfig) *DescribePredictorOutput {
7193	s.FeaturizationConfig = v
7194	return s
7195}
7196
7197// SetForecastHorizon sets the ForecastHorizon field's value.
7198func (s *DescribePredictorOutput) SetForecastHorizon(v int64) *DescribePredictorOutput {
7199	s.ForecastHorizon = &v
7200	return s
7201}
7202
7203// SetForecastTypes sets the ForecastTypes field's value.
7204func (s *DescribePredictorOutput) SetForecastTypes(v []*string) *DescribePredictorOutput {
7205	s.ForecastTypes = v
7206	return s
7207}
7208
7209// SetHPOConfig sets the HPOConfig field's value.
7210func (s *DescribePredictorOutput) SetHPOConfig(v *HyperParameterTuningJobConfig) *DescribePredictorOutput {
7211	s.HPOConfig = v
7212	return s
7213}
7214
7215// SetInputDataConfig sets the InputDataConfig field's value.
7216func (s *DescribePredictorOutput) SetInputDataConfig(v *InputDataConfig) *DescribePredictorOutput {
7217	s.InputDataConfig = v
7218	return s
7219}
7220
7221// SetLastModificationTime sets the LastModificationTime field's value.
7222func (s *DescribePredictorOutput) SetLastModificationTime(v time.Time) *DescribePredictorOutput {
7223	s.LastModificationTime = &v
7224	return s
7225}
7226
7227// SetMessage sets the Message field's value.
7228func (s *DescribePredictorOutput) SetMessage(v string) *DescribePredictorOutput {
7229	s.Message = &v
7230	return s
7231}
7232
7233// SetPerformAutoML sets the PerformAutoML field's value.
7234func (s *DescribePredictorOutput) SetPerformAutoML(v bool) *DescribePredictorOutput {
7235	s.PerformAutoML = &v
7236	return s
7237}
7238
7239// SetPerformHPO sets the PerformHPO field's value.
7240func (s *DescribePredictorOutput) SetPerformHPO(v bool) *DescribePredictorOutput {
7241	s.PerformHPO = &v
7242	return s
7243}
7244
7245// SetPredictorArn sets the PredictorArn field's value.
7246func (s *DescribePredictorOutput) SetPredictorArn(v string) *DescribePredictorOutput {
7247	s.PredictorArn = &v
7248	return s
7249}
7250
7251// SetPredictorExecutionDetails sets the PredictorExecutionDetails field's value.
7252func (s *DescribePredictorOutput) SetPredictorExecutionDetails(v *PredictorExecutionDetails) *DescribePredictorOutput {
7253	s.PredictorExecutionDetails = v
7254	return s
7255}
7256
7257// SetPredictorName sets the PredictorName field's value.
7258func (s *DescribePredictorOutput) SetPredictorName(v string) *DescribePredictorOutput {
7259	s.PredictorName = &v
7260	return s
7261}
7262
7263// SetStatus sets the Status field's value.
7264func (s *DescribePredictorOutput) SetStatus(v string) *DescribePredictorOutput {
7265	s.Status = &v
7266	return s
7267}
7268
7269// SetTrainingParameters sets the TrainingParameters field's value.
7270func (s *DescribePredictorOutput) SetTrainingParameters(v map[string]*string) *DescribePredictorOutput {
7271	s.TrainingParameters = v
7272	return s
7273}
7274
7275// An AWS Key Management Service (KMS) key and an AWS Identity and Access Management
7276// (IAM) role that Amazon Forecast can assume to access the key. You can specify
7277// this optional object in the CreateDataset and CreatePredictor requests.
7278type EncryptionConfig struct {
7279	_ struct{} `type:"structure"`
7280
7281	// The Amazon Resource Name (ARN) of the KMS key.
7282	//
7283	// KMSKeyArn is a required field
7284	KMSKeyArn *string `type:"string" required:"true"`
7285
7286	// The ARN of the IAM role that Amazon Forecast can assume to access the AWS
7287	// KMS key.
7288	//
7289	// Passing a role across AWS accounts is not allowed. If you pass a role that
7290	// isn't in your account, you get an InvalidInputException error.
7291	//
7292	// RoleArn is a required field
7293	RoleArn *string `type:"string" required:"true"`
7294}
7295
7296// String returns the string representation
7297func (s EncryptionConfig) String() string {
7298	return awsutil.Prettify(s)
7299}
7300
7301// GoString returns the string representation
7302func (s EncryptionConfig) GoString() string {
7303	return s.String()
7304}
7305
7306// Validate inspects the fields of the type to determine if they are valid.
7307func (s *EncryptionConfig) Validate() error {
7308	invalidParams := request.ErrInvalidParams{Context: "EncryptionConfig"}
7309	if s.KMSKeyArn == nil {
7310		invalidParams.Add(request.NewErrParamRequired("KMSKeyArn"))
7311	}
7312	if s.RoleArn == nil {
7313		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7314	}
7315
7316	if invalidParams.Len() > 0 {
7317		return invalidParams
7318	}
7319	return nil
7320}
7321
7322// SetKMSKeyArn sets the KMSKeyArn field's value.
7323func (s *EncryptionConfig) SetKMSKeyArn(v string) *EncryptionConfig {
7324	s.KMSKeyArn = &v
7325	return s
7326}
7327
7328// SetRoleArn sets the RoleArn field's value.
7329func (s *EncryptionConfig) SetRoleArn(v string) *EncryptionConfig {
7330	s.RoleArn = &v
7331	return s
7332}
7333
7334// Provides detailed error metrics to evaluate the performance of a predictor.
7335// This object is part of the Metrics object.
7336type ErrorMetric struct {
7337	_ struct{} `type:"structure"`
7338
7339	// The Forecast type used to compute WAPE and RMSE.
7340	ForecastType *string `type:"string"`
7341
7342	// The root-mean-square error (RMSE).
7343	RMSE *float64 `type:"double"`
7344
7345	// The weighted absolute percentage error (WAPE).
7346	WAPE *float64 `type:"double"`
7347}
7348
7349// String returns the string representation
7350func (s ErrorMetric) String() string {
7351	return awsutil.Prettify(s)
7352}
7353
7354// GoString returns the string representation
7355func (s ErrorMetric) GoString() string {
7356	return s.String()
7357}
7358
7359// SetForecastType sets the ForecastType field's value.
7360func (s *ErrorMetric) SetForecastType(v string) *ErrorMetric {
7361	s.ForecastType = &v
7362	return s
7363}
7364
7365// SetRMSE sets the RMSE field's value.
7366func (s *ErrorMetric) SetRMSE(v float64) *ErrorMetric {
7367	s.RMSE = &v
7368	return s
7369}
7370
7371// SetWAPE sets the WAPE field's value.
7372func (s *ErrorMetric) SetWAPE(v float64) *ErrorMetric {
7373	s.WAPE = &v
7374	return s
7375}
7376
7377// Parameters that define how to split a dataset into training data and testing
7378// data, and the number of iterations to perform. These parameters are specified
7379// in the predefined algorithms but you can override them in the CreatePredictor
7380// request.
7381type EvaluationParameters struct {
7382	_ struct{} `type:"structure"`
7383
7384	// The point from the end of the dataset where you want to split the data for
7385	// model training and testing (evaluation). Specify the value as the number
7386	// of data points. The default is the value of the forecast horizon. BackTestWindowOffset
7387	// can be used to mimic a past virtual forecast start date. This value must
7388	// be greater than or equal to the forecast horizon and less than half of the
7389	// TARGET_TIME_SERIES dataset length.
7390	//
7391	// ForecastHorizon <= BackTestWindowOffset < 1/2 * TARGET_TIME_SERIES dataset
7392	// length
7393	BackTestWindowOffset *int64 `type:"integer"`
7394
7395	// The number of times to split the input data. The default is 1. Valid values
7396	// are 1 through 5.
7397	NumberOfBacktestWindows *int64 `type:"integer"`
7398}
7399
7400// String returns the string representation
7401func (s EvaluationParameters) String() string {
7402	return awsutil.Prettify(s)
7403}
7404
7405// GoString returns the string representation
7406func (s EvaluationParameters) GoString() string {
7407	return s.String()
7408}
7409
7410// SetBackTestWindowOffset sets the BackTestWindowOffset field's value.
7411func (s *EvaluationParameters) SetBackTestWindowOffset(v int64) *EvaluationParameters {
7412	s.BackTestWindowOffset = &v
7413	return s
7414}
7415
7416// SetNumberOfBacktestWindows sets the NumberOfBacktestWindows field's value.
7417func (s *EvaluationParameters) SetNumberOfBacktestWindows(v int64) *EvaluationParameters {
7418	s.NumberOfBacktestWindows = &v
7419	return s
7420}
7421
7422// The results of evaluating an algorithm. Returned as part of the GetAccuracyMetrics
7423// response.
7424type EvaluationResult struct {
7425	_ struct{} `type:"structure"`
7426
7427	// The Amazon Resource Name (ARN) of the algorithm that was evaluated.
7428	AlgorithmArn *string `type:"string"`
7429
7430	// The array of test windows used for evaluating the algorithm. The NumberOfBacktestWindows
7431	// from the EvaluationParameters object determines the number of windows in
7432	// the array.
7433	TestWindows []*WindowSummary `type:"list"`
7434}
7435
7436// String returns the string representation
7437func (s EvaluationResult) String() string {
7438	return awsutil.Prettify(s)
7439}
7440
7441// GoString returns the string representation
7442func (s EvaluationResult) GoString() string {
7443	return s.String()
7444}
7445
7446// SetAlgorithmArn sets the AlgorithmArn field's value.
7447func (s *EvaluationResult) SetAlgorithmArn(v string) *EvaluationResult {
7448	s.AlgorithmArn = &v
7449	return s
7450}
7451
7452// SetTestWindows sets the TestWindows field's value.
7453func (s *EvaluationResult) SetTestWindows(v []*WindowSummary) *EvaluationResult {
7454	s.TestWindows = v
7455	return s
7456}
7457
7458// Provides featurization (transformation) information for a dataset field.
7459// This object is part of the FeaturizationConfig object.
7460//
7461// For example:
7462//
7463// {
7464//
7465// "AttributeName": "demand",
7466//
7467// FeaturizationPipeline [ {
7468//
7469// "FeaturizationMethodName": "filling",
7470//
7471// "FeaturizationMethodParameters": {"aggregation": "avg", "backfill": "nan"}
7472//
7473// } ]
7474//
7475// }
7476type Featurization struct {
7477	_ struct{} `type:"structure"`
7478
7479	// The name of the schema attribute that specifies the data field to be featurized.
7480	// Amazon Forecast supports the target field of the TARGET_TIME_SERIES and the
7481	// RELATED_TIME_SERIES datasets. For example, for the RETAIL domain, the target
7482	// is demand, and for the CUSTOM domain, the target is target_value. For more
7483	// information, see howitworks-missing-values.
7484	//
7485	// AttributeName is a required field
7486	AttributeName *string `min:"1" type:"string" required:"true"`
7487
7488	// An array of one FeaturizationMethod object that specifies the feature transformation
7489	// method.
7490	FeaturizationPipeline []*FeaturizationMethod `min:"1" type:"list"`
7491}
7492
7493// String returns the string representation
7494func (s Featurization) String() string {
7495	return awsutil.Prettify(s)
7496}
7497
7498// GoString returns the string representation
7499func (s Featurization) GoString() string {
7500	return s.String()
7501}
7502
7503// Validate inspects the fields of the type to determine if they are valid.
7504func (s *Featurization) Validate() error {
7505	invalidParams := request.ErrInvalidParams{Context: "Featurization"}
7506	if s.AttributeName == nil {
7507		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
7508	}
7509	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
7510		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
7511	}
7512	if s.FeaturizationPipeline != nil && len(s.FeaturizationPipeline) < 1 {
7513		invalidParams.Add(request.NewErrParamMinLen("FeaturizationPipeline", 1))
7514	}
7515	if s.FeaturizationPipeline != nil {
7516		for i, v := range s.FeaturizationPipeline {
7517			if v == nil {
7518				continue
7519			}
7520			if err := v.Validate(); err != nil {
7521				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FeaturizationPipeline", i), err.(request.ErrInvalidParams))
7522			}
7523		}
7524	}
7525
7526	if invalidParams.Len() > 0 {
7527		return invalidParams
7528	}
7529	return nil
7530}
7531
7532// SetAttributeName sets the AttributeName field's value.
7533func (s *Featurization) SetAttributeName(v string) *Featurization {
7534	s.AttributeName = &v
7535	return s
7536}
7537
7538// SetFeaturizationPipeline sets the FeaturizationPipeline field's value.
7539func (s *Featurization) SetFeaturizationPipeline(v []*FeaturizationMethod) *Featurization {
7540	s.FeaturizationPipeline = v
7541	return s
7542}
7543
7544// In a CreatePredictor operation, the specified algorithm trains a model using
7545// the specified dataset group. You can optionally tell the operation to modify
7546// data fields prior to training a model. These modifications are referred to
7547// as featurization.
7548//
7549// You define featurization using the FeaturizationConfig object. You specify
7550// an array of transformations, one for each field that you want to featurize.
7551// You then include the FeaturizationConfig object in your CreatePredictor request.
7552// Amazon Forecast applies the featurization to the TARGET_TIME_SERIES and RELATED_TIME_SERIES
7553// datasets before model training.
7554//
7555// You can create multiple featurization configurations. For example, you might
7556// call the CreatePredictor operation twice by specifying different featurization
7557// configurations.
7558type FeaturizationConfig struct {
7559	_ struct{} `type:"structure"`
7560
7561	// An array of featurization (transformation) information for the fields of
7562	// a dataset.
7563	Featurizations []*Featurization `min:"1" type:"list"`
7564
7565	// An array of dimension (field) names that specify how to group the generated
7566	// forecast.
7567	//
7568	// For example, suppose that you are generating a forecast for item sales across
7569	// all of your stores, and your dataset contains a store_id field. If you want
7570	// the sales forecast for each item by store, you would specify store_id as
7571	// the dimension.
7572	//
7573	// All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't
7574	// need to be specified in the CreatePredictor request. All forecast dimensions
7575	// specified in the RELATED_TIME_SERIES dataset must be specified in the CreatePredictor
7576	// request.
7577	ForecastDimensions []*string `min:"1" type:"list"`
7578
7579	// The frequency of predictions in a forecast.
7580	//
7581	// Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min
7582	// (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and
7583	// 1min (1 minute). For example, "Y" indicates every year and "5min" indicates
7584	// every five minutes.
7585	//
7586	// The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset
7587	// frequency.
7588	//
7589	// When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal
7590	// to the RELATED_TIME_SERIES dataset frequency.
7591	//
7592	// ForecastFrequency is a required field
7593	ForecastFrequency *string `type:"string" required:"true"`
7594}
7595
7596// String returns the string representation
7597func (s FeaturizationConfig) String() string {
7598	return awsutil.Prettify(s)
7599}
7600
7601// GoString returns the string representation
7602func (s FeaturizationConfig) GoString() string {
7603	return s.String()
7604}
7605
7606// Validate inspects the fields of the type to determine if they are valid.
7607func (s *FeaturizationConfig) Validate() error {
7608	invalidParams := request.ErrInvalidParams{Context: "FeaturizationConfig"}
7609	if s.Featurizations != nil && len(s.Featurizations) < 1 {
7610		invalidParams.Add(request.NewErrParamMinLen("Featurizations", 1))
7611	}
7612	if s.ForecastDimensions != nil && len(s.ForecastDimensions) < 1 {
7613		invalidParams.Add(request.NewErrParamMinLen("ForecastDimensions", 1))
7614	}
7615	if s.ForecastFrequency == nil {
7616		invalidParams.Add(request.NewErrParamRequired("ForecastFrequency"))
7617	}
7618	if s.Featurizations != nil {
7619		for i, v := range s.Featurizations {
7620			if v == nil {
7621				continue
7622			}
7623			if err := v.Validate(); err != nil {
7624				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Featurizations", i), err.(request.ErrInvalidParams))
7625			}
7626		}
7627	}
7628
7629	if invalidParams.Len() > 0 {
7630		return invalidParams
7631	}
7632	return nil
7633}
7634
7635// SetFeaturizations sets the Featurizations field's value.
7636func (s *FeaturizationConfig) SetFeaturizations(v []*Featurization) *FeaturizationConfig {
7637	s.Featurizations = v
7638	return s
7639}
7640
7641// SetForecastDimensions sets the ForecastDimensions field's value.
7642func (s *FeaturizationConfig) SetForecastDimensions(v []*string) *FeaturizationConfig {
7643	s.ForecastDimensions = v
7644	return s
7645}
7646
7647// SetForecastFrequency sets the ForecastFrequency field's value.
7648func (s *FeaturizationConfig) SetForecastFrequency(v string) *FeaturizationConfig {
7649	s.ForecastFrequency = &v
7650	return s
7651}
7652
7653// Provides information about the method that featurizes (transforms) a dataset
7654// field. The method is part of the FeaturizationPipeline of the Featurization
7655// object.
7656//
7657// The following is an example of how you specify a FeaturizationMethod object.
7658//
7659// {
7660//
7661// "FeaturizationMethodName": "filling",
7662//
7663// "FeaturizationMethodParameters": {"aggregation": "sum", "middlefill": "zero",
7664// "backfill": "zero"}
7665//
7666// }
7667type FeaturizationMethod struct {
7668	_ struct{} `type:"structure"`
7669
7670	// The name of the method. The "filling" method is the only supported method.
7671	//
7672	// FeaturizationMethodName is a required field
7673	FeaturizationMethodName *string `type:"string" required:"true" enum:"FeaturizationMethodName"`
7674
7675	// The method parameters (key-value pairs), which are a map of override parameters.
7676	// Specify these parameters to override the default values. Related Time Series
7677	// attributes do not accept aggregation parameters.
7678	//
7679	// The following list shows the parameters and their valid values for the "filling"
7680	// featurization method for a Target Time Series dataset. Bold signifies the
7681	// default value.
7682	//
7683	//    * aggregation: sum, avg, first, min, max
7684	//
7685	//    * frontfill: none
7686	//
7687	//    * middlefill: zero, nan (not a number), value, median, mean, min, max
7688	//
7689	//    * backfill: zero, nan, value, median, mean, min, max
7690	//
7691	// The following list shows the parameters and their valid values for a Related
7692	// Time Series featurization method (there are no defaults):
7693	//
7694	//    * middlefill: zero, value, median, mean, min, max
7695	//
7696	//    * backfill: zero, value, median, mean, min, max
7697	//
7698	//    * futurefill: zero, value, median, mean, min, max
7699	//
7700	// To set a filling method to a specific value, set the fill parameter to value
7701	// and define the value in a corresponding _value parameter. For example, to
7702	// set backfilling to a value of 2, include the following: "backfill": "value"
7703	// and "backfill_value":"2".
7704	FeaturizationMethodParameters map[string]*string `min:"1" type:"map"`
7705}
7706
7707// String returns the string representation
7708func (s FeaturizationMethod) String() string {
7709	return awsutil.Prettify(s)
7710}
7711
7712// GoString returns the string representation
7713func (s FeaturizationMethod) GoString() string {
7714	return s.String()
7715}
7716
7717// Validate inspects the fields of the type to determine if they are valid.
7718func (s *FeaturizationMethod) Validate() error {
7719	invalidParams := request.ErrInvalidParams{Context: "FeaturizationMethod"}
7720	if s.FeaturizationMethodName == nil {
7721		invalidParams.Add(request.NewErrParamRequired("FeaturizationMethodName"))
7722	}
7723	if s.FeaturizationMethodParameters != nil && len(s.FeaturizationMethodParameters) < 1 {
7724		invalidParams.Add(request.NewErrParamMinLen("FeaturizationMethodParameters", 1))
7725	}
7726
7727	if invalidParams.Len() > 0 {
7728		return invalidParams
7729	}
7730	return nil
7731}
7732
7733// SetFeaturizationMethodName sets the FeaturizationMethodName field's value.
7734func (s *FeaturizationMethod) SetFeaturizationMethodName(v string) *FeaturizationMethod {
7735	s.FeaturizationMethodName = &v
7736	return s
7737}
7738
7739// SetFeaturizationMethodParameters sets the FeaturizationMethodParameters field's value.
7740func (s *FeaturizationMethod) SetFeaturizationMethodParameters(v map[string]*string) *FeaturizationMethod {
7741	s.FeaturizationMethodParameters = v
7742	return s
7743}
7744
7745// Describes a filter for choosing a subset of objects. Each filter consists
7746// of a condition and a match statement. The condition is either IS or IS_NOT,
7747// which specifies whether to include or exclude the objects that match the
7748// statement, respectively. The match statement consists of a key and a value.
7749type Filter struct {
7750	_ struct{} `type:"structure"`
7751
7752	// The condition to apply. To include the objects that match the statement,
7753	// specify IS. To exclude matching objects, specify IS_NOT.
7754	//
7755	// Condition is a required field
7756	Condition *string `type:"string" required:"true" enum:"FilterConditionString"`
7757
7758	// The name of the parameter to filter on.
7759	//
7760	// Key is a required field
7761	Key *string `type:"string" required:"true"`
7762
7763	// The value to match.
7764	//
7765	// Value is a required field
7766	Value *string `type:"string" required:"true"`
7767}
7768
7769// String returns the string representation
7770func (s Filter) String() string {
7771	return awsutil.Prettify(s)
7772}
7773
7774// GoString returns the string representation
7775func (s Filter) GoString() string {
7776	return s.String()
7777}
7778
7779// Validate inspects the fields of the type to determine if they are valid.
7780func (s *Filter) Validate() error {
7781	invalidParams := request.ErrInvalidParams{Context: "Filter"}
7782	if s.Condition == nil {
7783		invalidParams.Add(request.NewErrParamRequired("Condition"))
7784	}
7785	if s.Key == nil {
7786		invalidParams.Add(request.NewErrParamRequired("Key"))
7787	}
7788	if s.Value == nil {
7789		invalidParams.Add(request.NewErrParamRequired("Value"))
7790	}
7791
7792	if invalidParams.Len() > 0 {
7793		return invalidParams
7794	}
7795	return nil
7796}
7797
7798// SetCondition sets the Condition field's value.
7799func (s *Filter) SetCondition(v string) *Filter {
7800	s.Condition = &v
7801	return s
7802}
7803
7804// SetKey sets the Key field's value.
7805func (s *Filter) SetKey(v string) *Filter {
7806	s.Key = &v
7807	return s
7808}
7809
7810// SetValue sets the Value field's value.
7811func (s *Filter) SetValue(v string) *Filter {
7812	s.Value = &v
7813	return s
7814}
7815
7816// Provides a summary of the forecast export job properties used in the ListForecastExportJobs
7817// operation. To get the complete set of properties, call the DescribeForecastExportJob
7818// operation, and provide the listed ForecastExportJobArn.
7819type ForecastExportJobSummary struct {
7820	_ struct{} `type:"structure"`
7821
7822	// When the forecast export job was created.
7823	CreationTime *time.Time `type:"timestamp"`
7824
7825	// The path to the Amazon Simple Storage Service (Amazon S3) bucket where the
7826	// forecast is exported.
7827	Destination *DataDestination `type:"structure"`
7828
7829	// The Amazon Resource Name (ARN) of the forecast export job.
7830	ForecastExportJobArn *string `type:"string"`
7831
7832	// The name of the forecast export job.
7833	ForecastExportJobName *string `min:"1" type:"string"`
7834
7835	// The last time the resource was modified. The timestamp depends on the status
7836	// of the job:
7837	//
7838	//    * CREATE_PENDING - The CreationTime.
7839	//
7840	//    * CREATE_IN_PROGRESS - The current timestamp.
7841	//
7842	//    * CREATE_STOPPING - The current timestamp.
7843	//
7844	//    * CREATE_STOPPED - When the job stopped.
7845	//
7846	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
7847	LastModificationTime *time.Time `type:"timestamp"`
7848
7849	// If an error occurred, an informational message about the error.
7850	Message *string `type:"string"`
7851
7852	// The status of the forecast export job. States include:
7853	//
7854	//    * ACTIVE
7855	//
7856	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
7857	//
7858	//    * CREATE_STOPPING, CREATE_STOPPED
7859	//
7860	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
7861	//
7862	// The Status of the forecast export job must be ACTIVE before you can access
7863	// the forecast in your S3 bucket.
7864	Status *string `type:"string"`
7865}
7866
7867// String returns the string representation
7868func (s ForecastExportJobSummary) String() string {
7869	return awsutil.Prettify(s)
7870}
7871
7872// GoString returns the string representation
7873func (s ForecastExportJobSummary) GoString() string {
7874	return s.String()
7875}
7876
7877// SetCreationTime sets the CreationTime field's value.
7878func (s *ForecastExportJobSummary) SetCreationTime(v time.Time) *ForecastExportJobSummary {
7879	s.CreationTime = &v
7880	return s
7881}
7882
7883// SetDestination sets the Destination field's value.
7884func (s *ForecastExportJobSummary) SetDestination(v *DataDestination) *ForecastExportJobSummary {
7885	s.Destination = v
7886	return s
7887}
7888
7889// SetForecastExportJobArn sets the ForecastExportJobArn field's value.
7890func (s *ForecastExportJobSummary) SetForecastExportJobArn(v string) *ForecastExportJobSummary {
7891	s.ForecastExportJobArn = &v
7892	return s
7893}
7894
7895// SetForecastExportJobName sets the ForecastExportJobName field's value.
7896func (s *ForecastExportJobSummary) SetForecastExportJobName(v string) *ForecastExportJobSummary {
7897	s.ForecastExportJobName = &v
7898	return s
7899}
7900
7901// SetLastModificationTime sets the LastModificationTime field's value.
7902func (s *ForecastExportJobSummary) SetLastModificationTime(v time.Time) *ForecastExportJobSummary {
7903	s.LastModificationTime = &v
7904	return s
7905}
7906
7907// SetMessage sets the Message field's value.
7908func (s *ForecastExportJobSummary) SetMessage(v string) *ForecastExportJobSummary {
7909	s.Message = &v
7910	return s
7911}
7912
7913// SetStatus sets the Status field's value.
7914func (s *ForecastExportJobSummary) SetStatus(v string) *ForecastExportJobSummary {
7915	s.Status = &v
7916	return s
7917}
7918
7919// Provides a summary of the forecast properties used in the ListForecasts operation.
7920// To get the complete set of properties, call the DescribeForecast operation,
7921// and provide the ForecastArn that is listed in the summary.
7922type ForecastSummary struct {
7923	_ struct{} `type:"structure"`
7924
7925	// When the forecast creation task was created.
7926	CreationTime *time.Time `type:"timestamp"`
7927
7928	// The Amazon Resource Name (ARN) of the dataset group that provided the data
7929	// used to train the predictor.
7930	DatasetGroupArn *string `type:"string"`
7931
7932	// The ARN of the forecast.
7933	ForecastArn *string `type:"string"`
7934
7935	// The name of the forecast.
7936	ForecastName *string `min:"1" type:"string"`
7937
7938	// The last time the resource was modified. The timestamp depends on the status
7939	// of the job:
7940	//
7941	//    * CREATE_PENDING - The CreationTime.
7942	//
7943	//    * CREATE_IN_PROGRESS - The current timestamp.
7944	//
7945	//    * CREATE_STOPPING - The current timestamp.
7946	//
7947	//    * CREATE_STOPPED - When the job stopped.
7948	//
7949	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
7950	LastModificationTime *time.Time `type:"timestamp"`
7951
7952	// If an error occurred, an informational message about the error.
7953	Message *string `type:"string"`
7954
7955	// The ARN of the predictor used to generate the forecast.
7956	PredictorArn *string `type:"string"`
7957
7958	// The status of the forecast. States include:
7959	//
7960	//    * ACTIVE
7961	//
7962	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
7963	//
7964	//    * CREATE_STOPPING, CREATE_STOPPED
7965	//
7966	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
7967	//
7968	// The Status of the forecast must be ACTIVE before you can query or export
7969	// the forecast.
7970	Status *string `type:"string"`
7971}
7972
7973// String returns the string representation
7974func (s ForecastSummary) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s ForecastSummary) GoString() string {
7980	return s.String()
7981}
7982
7983// SetCreationTime sets the CreationTime field's value.
7984func (s *ForecastSummary) SetCreationTime(v time.Time) *ForecastSummary {
7985	s.CreationTime = &v
7986	return s
7987}
7988
7989// SetDatasetGroupArn sets the DatasetGroupArn field's value.
7990func (s *ForecastSummary) SetDatasetGroupArn(v string) *ForecastSummary {
7991	s.DatasetGroupArn = &v
7992	return s
7993}
7994
7995// SetForecastArn sets the ForecastArn field's value.
7996func (s *ForecastSummary) SetForecastArn(v string) *ForecastSummary {
7997	s.ForecastArn = &v
7998	return s
7999}
8000
8001// SetForecastName sets the ForecastName field's value.
8002func (s *ForecastSummary) SetForecastName(v string) *ForecastSummary {
8003	s.ForecastName = &v
8004	return s
8005}
8006
8007// SetLastModificationTime sets the LastModificationTime field's value.
8008func (s *ForecastSummary) SetLastModificationTime(v time.Time) *ForecastSummary {
8009	s.LastModificationTime = &v
8010	return s
8011}
8012
8013// SetMessage sets the Message field's value.
8014func (s *ForecastSummary) SetMessage(v string) *ForecastSummary {
8015	s.Message = &v
8016	return s
8017}
8018
8019// SetPredictorArn sets the PredictorArn field's value.
8020func (s *ForecastSummary) SetPredictorArn(v string) *ForecastSummary {
8021	s.PredictorArn = &v
8022	return s
8023}
8024
8025// SetStatus sets the Status field's value.
8026func (s *ForecastSummary) SetStatus(v string) *ForecastSummary {
8027	s.Status = &v
8028	return s
8029}
8030
8031type GetAccuracyMetricsInput struct {
8032	_ struct{} `type:"structure"`
8033
8034	// The Amazon Resource Name (ARN) of the predictor to get metrics for.
8035	//
8036	// PredictorArn is a required field
8037	PredictorArn *string `type:"string" required:"true"`
8038}
8039
8040// String returns the string representation
8041func (s GetAccuracyMetricsInput) String() string {
8042	return awsutil.Prettify(s)
8043}
8044
8045// GoString returns the string representation
8046func (s GetAccuracyMetricsInput) GoString() string {
8047	return s.String()
8048}
8049
8050// Validate inspects the fields of the type to determine if they are valid.
8051func (s *GetAccuracyMetricsInput) Validate() error {
8052	invalidParams := request.ErrInvalidParams{Context: "GetAccuracyMetricsInput"}
8053	if s.PredictorArn == nil {
8054		invalidParams.Add(request.NewErrParamRequired("PredictorArn"))
8055	}
8056
8057	if invalidParams.Len() > 0 {
8058		return invalidParams
8059	}
8060	return nil
8061}
8062
8063// SetPredictorArn sets the PredictorArn field's value.
8064func (s *GetAccuracyMetricsInput) SetPredictorArn(v string) *GetAccuracyMetricsInput {
8065	s.PredictorArn = &v
8066	return s
8067}
8068
8069type GetAccuracyMetricsOutput struct {
8070	_ struct{} `type:"structure"`
8071
8072	// An array of results from evaluating the predictor.
8073	PredictorEvaluationResults []*EvaluationResult `type:"list"`
8074}
8075
8076// String returns the string representation
8077func (s GetAccuracyMetricsOutput) String() string {
8078	return awsutil.Prettify(s)
8079}
8080
8081// GoString returns the string representation
8082func (s GetAccuracyMetricsOutput) GoString() string {
8083	return s.String()
8084}
8085
8086// SetPredictorEvaluationResults sets the PredictorEvaluationResults field's value.
8087func (s *GetAccuracyMetricsOutput) SetPredictorEvaluationResults(v []*EvaluationResult) *GetAccuracyMetricsOutput {
8088	s.PredictorEvaluationResults = v
8089	return s
8090}
8091
8092// Configuration information for a hyperparameter tuning job. You specify this
8093// object in the CreatePredictor request.
8094//
8095// A hyperparameter is a parameter that governs the model training process.
8096// You set hyperparameters before training starts, unlike model parameters,
8097// which are determined during training. The values of the hyperparameters effect
8098// which values are chosen for the model parameters.
8099//
8100// In a hyperparameter tuning job, Amazon Forecast chooses the set of hyperparameter
8101// values that optimize a specified metric. Forecast accomplishes this by running
8102// many training jobs over a range of hyperparameter values. The optimum set
8103// of values depends on the algorithm, the training data, and the specified
8104// metric objective.
8105type HyperParameterTuningJobConfig struct {
8106	_ struct{} `type:"structure"`
8107
8108	// Specifies the ranges of valid values for the hyperparameters.
8109	ParameterRanges *ParameterRanges `type:"structure"`
8110}
8111
8112// String returns the string representation
8113func (s HyperParameterTuningJobConfig) String() string {
8114	return awsutil.Prettify(s)
8115}
8116
8117// GoString returns the string representation
8118func (s HyperParameterTuningJobConfig) GoString() string {
8119	return s.String()
8120}
8121
8122// Validate inspects the fields of the type to determine if they are valid.
8123func (s *HyperParameterTuningJobConfig) Validate() error {
8124	invalidParams := request.ErrInvalidParams{Context: "HyperParameterTuningJobConfig"}
8125	if s.ParameterRanges != nil {
8126		if err := s.ParameterRanges.Validate(); err != nil {
8127			invalidParams.AddNested("ParameterRanges", err.(request.ErrInvalidParams))
8128		}
8129	}
8130
8131	if invalidParams.Len() > 0 {
8132		return invalidParams
8133	}
8134	return nil
8135}
8136
8137// SetParameterRanges sets the ParameterRanges field's value.
8138func (s *HyperParameterTuningJobConfig) SetParameterRanges(v *ParameterRanges) *HyperParameterTuningJobConfig {
8139	s.ParameterRanges = v
8140	return s
8141}
8142
8143// The data used to train a predictor. The data includes a dataset group and
8144// any supplementary features. You specify this object in the CreatePredictor
8145// request.
8146type InputDataConfig struct {
8147	_ struct{} `type:"structure"`
8148
8149	// The Amazon Resource Name (ARN) of the dataset group.
8150	//
8151	// DatasetGroupArn is a required field
8152	DatasetGroupArn *string `type:"string" required:"true"`
8153
8154	// An array of supplementary features. The only supported feature is a holiday
8155	// calendar.
8156	SupplementaryFeatures []*SupplementaryFeature `min:"1" type:"list"`
8157}
8158
8159// String returns the string representation
8160func (s InputDataConfig) String() string {
8161	return awsutil.Prettify(s)
8162}
8163
8164// GoString returns the string representation
8165func (s InputDataConfig) GoString() string {
8166	return s.String()
8167}
8168
8169// Validate inspects the fields of the type to determine if they are valid.
8170func (s *InputDataConfig) Validate() error {
8171	invalidParams := request.ErrInvalidParams{Context: "InputDataConfig"}
8172	if s.DatasetGroupArn == nil {
8173		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
8174	}
8175	if s.SupplementaryFeatures != nil && len(s.SupplementaryFeatures) < 1 {
8176		invalidParams.Add(request.NewErrParamMinLen("SupplementaryFeatures", 1))
8177	}
8178	if s.SupplementaryFeatures != nil {
8179		for i, v := range s.SupplementaryFeatures {
8180			if v == nil {
8181				continue
8182			}
8183			if err := v.Validate(); err != nil {
8184				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SupplementaryFeatures", i), err.(request.ErrInvalidParams))
8185			}
8186		}
8187	}
8188
8189	if invalidParams.Len() > 0 {
8190		return invalidParams
8191	}
8192	return nil
8193}
8194
8195// SetDatasetGroupArn sets the DatasetGroupArn field's value.
8196func (s *InputDataConfig) SetDatasetGroupArn(v string) *InputDataConfig {
8197	s.DatasetGroupArn = &v
8198	return s
8199}
8200
8201// SetSupplementaryFeatures sets the SupplementaryFeatures field's value.
8202func (s *InputDataConfig) SetSupplementaryFeatures(v []*SupplementaryFeature) *InputDataConfig {
8203	s.SupplementaryFeatures = v
8204	return s
8205}
8206
8207// Specifies an integer hyperparameter and it's range of tunable values. This
8208// object is part of the ParameterRanges object.
8209type IntegerParameterRange struct {
8210	_ struct{} `type:"structure"`
8211
8212	// The maximum tunable value of the hyperparameter.
8213	//
8214	// MaxValue is a required field
8215	MaxValue *int64 `type:"integer" required:"true"`
8216
8217	// The minimum tunable value of the hyperparameter.
8218	//
8219	// MinValue is a required field
8220	MinValue *int64 `type:"integer" required:"true"`
8221
8222	// The name of the hyperparameter to tune.
8223	//
8224	// Name is a required field
8225	Name *string `min:"1" type:"string" required:"true"`
8226
8227	// The scale that hyperparameter tuning uses to search the hyperparameter range.
8228	// Valid values:
8229	//
8230	// Auto
8231	//
8232	// Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.
8233	//
8234	// Linear
8235	//
8236	// Hyperparameter tuning searches the values in the hyperparameter range by
8237	// using a linear scale.
8238	//
8239	// Logarithmic
8240	//
8241	// Hyperparameter tuning searches the values in the hyperparameter range by
8242	// using a logarithmic scale.
8243	//
8244	// Logarithmic scaling works only for ranges that have values greater than 0.
8245	//
8246	// ReverseLogarithmic
8247	//
8248	// Not supported for IntegerParameterRange.
8249	//
8250	// Reverse logarithmic scaling works only for ranges that are entirely within
8251	// the range 0 <= x < 1.0.
8252	//
8253	// For information about choosing a hyperparameter scale, see Hyperparameter
8254	// Scaling (http://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning-define-ranges.html#scaling-type).
8255	// One of the following values:
8256	ScalingType *string `type:"string" enum:"ScalingType"`
8257}
8258
8259// String returns the string representation
8260func (s IntegerParameterRange) String() string {
8261	return awsutil.Prettify(s)
8262}
8263
8264// GoString returns the string representation
8265func (s IntegerParameterRange) GoString() string {
8266	return s.String()
8267}
8268
8269// Validate inspects the fields of the type to determine if they are valid.
8270func (s *IntegerParameterRange) Validate() error {
8271	invalidParams := request.ErrInvalidParams{Context: "IntegerParameterRange"}
8272	if s.MaxValue == nil {
8273		invalidParams.Add(request.NewErrParamRequired("MaxValue"))
8274	}
8275	if s.MinValue == nil {
8276		invalidParams.Add(request.NewErrParamRequired("MinValue"))
8277	}
8278	if s.Name == nil {
8279		invalidParams.Add(request.NewErrParamRequired("Name"))
8280	}
8281	if s.Name != nil && len(*s.Name) < 1 {
8282		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8283	}
8284
8285	if invalidParams.Len() > 0 {
8286		return invalidParams
8287	}
8288	return nil
8289}
8290
8291// SetMaxValue sets the MaxValue field's value.
8292func (s *IntegerParameterRange) SetMaxValue(v int64) *IntegerParameterRange {
8293	s.MaxValue = &v
8294	return s
8295}
8296
8297// SetMinValue sets the MinValue field's value.
8298func (s *IntegerParameterRange) SetMinValue(v int64) *IntegerParameterRange {
8299	s.MinValue = &v
8300	return s
8301}
8302
8303// SetName sets the Name field's value.
8304func (s *IntegerParameterRange) SetName(v string) *IntegerParameterRange {
8305	s.Name = &v
8306	return s
8307}
8308
8309// SetScalingType sets the ScalingType field's value.
8310func (s *IntegerParameterRange) SetScalingType(v string) *IntegerParameterRange {
8311	s.ScalingType = &v
8312	return s
8313}
8314
8315// We can't process the request because it includes an invalid value or a value
8316// that exceeds the valid range.
8317type InvalidInputException struct {
8318	_            struct{}                  `type:"structure"`
8319	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8320
8321	Message_ *string `locationName:"Message" type:"string"`
8322}
8323
8324// String returns the string representation
8325func (s InvalidInputException) String() string {
8326	return awsutil.Prettify(s)
8327}
8328
8329// GoString returns the string representation
8330func (s InvalidInputException) GoString() string {
8331	return s.String()
8332}
8333
8334func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
8335	return &InvalidInputException{
8336		RespMetadata: v,
8337	}
8338}
8339
8340// Code returns the exception type name.
8341func (s *InvalidInputException) Code() string {
8342	return "InvalidInputException"
8343}
8344
8345// Message returns the exception's message.
8346func (s *InvalidInputException) Message() string {
8347	if s.Message_ != nil {
8348		return *s.Message_
8349	}
8350	return ""
8351}
8352
8353// OrigErr always returns nil, satisfies awserr.Error interface.
8354func (s *InvalidInputException) OrigErr() error {
8355	return nil
8356}
8357
8358func (s *InvalidInputException) Error() string {
8359	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8360}
8361
8362// Status code returns the HTTP status code for the request's response error.
8363func (s *InvalidInputException) StatusCode() int {
8364	return s.RespMetadata.StatusCode
8365}
8366
8367// RequestID returns the service's response RequestID for request.
8368func (s *InvalidInputException) RequestID() string {
8369	return s.RespMetadata.RequestID
8370}
8371
8372// The token is not valid. Tokens expire after 24 hours.
8373type InvalidNextTokenException struct {
8374	_            struct{}                  `type:"structure"`
8375	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8376
8377	Message_ *string `locationName:"Message" type:"string"`
8378}
8379
8380// String returns the string representation
8381func (s InvalidNextTokenException) String() string {
8382	return awsutil.Prettify(s)
8383}
8384
8385// GoString returns the string representation
8386func (s InvalidNextTokenException) GoString() string {
8387	return s.String()
8388}
8389
8390func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
8391	return &InvalidNextTokenException{
8392		RespMetadata: v,
8393	}
8394}
8395
8396// Code returns the exception type name.
8397func (s *InvalidNextTokenException) Code() string {
8398	return "InvalidNextTokenException"
8399}
8400
8401// Message returns the exception's message.
8402func (s *InvalidNextTokenException) Message() string {
8403	if s.Message_ != nil {
8404		return *s.Message_
8405	}
8406	return ""
8407}
8408
8409// OrigErr always returns nil, satisfies awserr.Error interface.
8410func (s *InvalidNextTokenException) OrigErr() error {
8411	return nil
8412}
8413
8414func (s *InvalidNextTokenException) Error() string {
8415	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8416}
8417
8418// Status code returns the HTTP status code for the request's response error.
8419func (s *InvalidNextTokenException) StatusCode() int {
8420	return s.RespMetadata.StatusCode
8421}
8422
8423// RequestID returns the service's response RequestID for request.
8424func (s *InvalidNextTokenException) RequestID() string {
8425	return s.RespMetadata.RequestID
8426}
8427
8428// The limit on the number of resources per account has been exceeded.
8429type LimitExceededException struct {
8430	_            struct{}                  `type:"structure"`
8431	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8432
8433	Message_ *string `locationName:"Message" type:"string"`
8434}
8435
8436// String returns the string representation
8437func (s LimitExceededException) String() string {
8438	return awsutil.Prettify(s)
8439}
8440
8441// GoString returns the string representation
8442func (s LimitExceededException) GoString() string {
8443	return s.String()
8444}
8445
8446func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
8447	return &LimitExceededException{
8448		RespMetadata: v,
8449	}
8450}
8451
8452// Code returns the exception type name.
8453func (s *LimitExceededException) Code() string {
8454	return "LimitExceededException"
8455}
8456
8457// Message returns the exception's message.
8458func (s *LimitExceededException) Message() string {
8459	if s.Message_ != nil {
8460		return *s.Message_
8461	}
8462	return ""
8463}
8464
8465// OrigErr always returns nil, satisfies awserr.Error interface.
8466func (s *LimitExceededException) OrigErr() error {
8467	return nil
8468}
8469
8470func (s *LimitExceededException) Error() string {
8471	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8472}
8473
8474// Status code returns the HTTP status code for the request's response error.
8475func (s *LimitExceededException) StatusCode() int {
8476	return s.RespMetadata.StatusCode
8477}
8478
8479// RequestID returns the service's response RequestID for request.
8480func (s *LimitExceededException) RequestID() string {
8481	return s.RespMetadata.RequestID
8482}
8483
8484type ListDatasetGroupsInput struct {
8485	_ struct{} `type:"structure"`
8486
8487	// The number of items to return in the response.
8488	MaxResults *int64 `min:"1" type:"integer"`
8489
8490	// If the result of the previous request was truncated, the response includes
8491	// a NextToken. To retrieve the next set of results, use the token in the next
8492	// request. Tokens expire after 24 hours.
8493	NextToken *string `min:"1" type:"string"`
8494}
8495
8496// String returns the string representation
8497func (s ListDatasetGroupsInput) String() string {
8498	return awsutil.Prettify(s)
8499}
8500
8501// GoString returns the string representation
8502func (s ListDatasetGroupsInput) GoString() string {
8503	return s.String()
8504}
8505
8506// Validate inspects the fields of the type to determine if they are valid.
8507func (s *ListDatasetGroupsInput) Validate() error {
8508	invalidParams := request.ErrInvalidParams{Context: "ListDatasetGroupsInput"}
8509	if s.MaxResults != nil && *s.MaxResults < 1 {
8510		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8511	}
8512	if s.NextToken != nil && len(*s.NextToken) < 1 {
8513		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8514	}
8515
8516	if invalidParams.Len() > 0 {
8517		return invalidParams
8518	}
8519	return nil
8520}
8521
8522// SetMaxResults sets the MaxResults field's value.
8523func (s *ListDatasetGroupsInput) SetMaxResults(v int64) *ListDatasetGroupsInput {
8524	s.MaxResults = &v
8525	return s
8526}
8527
8528// SetNextToken sets the NextToken field's value.
8529func (s *ListDatasetGroupsInput) SetNextToken(v string) *ListDatasetGroupsInput {
8530	s.NextToken = &v
8531	return s
8532}
8533
8534type ListDatasetGroupsOutput struct {
8535	_ struct{} `type:"structure"`
8536
8537	// An array of objects that summarize each dataset group's properties.
8538	DatasetGroups []*DatasetGroupSummary `type:"list"`
8539
8540	// If the response is truncated, Amazon Forecast returns this token. To retrieve
8541	// the next set of results, use the token in the next request.
8542	NextToken *string `min:"1" type:"string"`
8543}
8544
8545// String returns the string representation
8546func (s ListDatasetGroupsOutput) String() string {
8547	return awsutil.Prettify(s)
8548}
8549
8550// GoString returns the string representation
8551func (s ListDatasetGroupsOutput) GoString() string {
8552	return s.String()
8553}
8554
8555// SetDatasetGroups sets the DatasetGroups field's value.
8556func (s *ListDatasetGroupsOutput) SetDatasetGroups(v []*DatasetGroupSummary) *ListDatasetGroupsOutput {
8557	s.DatasetGroups = v
8558	return s
8559}
8560
8561// SetNextToken sets the NextToken field's value.
8562func (s *ListDatasetGroupsOutput) SetNextToken(v string) *ListDatasetGroupsOutput {
8563	s.NextToken = &v
8564	return s
8565}
8566
8567type ListDatasetImportJobsInput struct {
8568	_ struct{} `type:"structure"`
8569
8570	// An array of filters. For each filter, you provide a condition and a match
8571	// statement. The condition is either IS or IS_NOT, which specifies whether
8572	// to include or exclude the datasets that match the statement from the list,
8573	// respectively. The match statement consists of a key and a value.
8574	//
8575	// Filter properties
8576	//
8577	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
8578	//    To include the datasets that match the statement, specify IS. To exclude
8579	//    matching datasets, specify IS_NOT.
8580	//
8581	//    * Key - The name of the parameter to filter on. Valid values are DatasetArn
8582	//    and Status.
8583	//
8584	//    * Value - The value to match.
8585	//
8586	// For example, to list all dataset import jobs whose status is ACTIVE, you
8587	// specify the following filter:
8588	//
8589	// "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ]
8590	Filters []*Filter `type:"list"`
8591
8592	// The number of items to return in the response.
8593	MaxResults *int64 `min:"1" type:"integer"`
8594
8595	// If the result of the previous request was truncated, the response includes
8596	// a NextToken. To retrieve the next set of results, use the token in the next
8597	// request. Tokens expire after 24 hours.
8598	NextToken *string `min:"1" type:"string"`
8599}
8600
8601// String returns the string representation
8602func (s ListDatasetImportJobsInput) String() string {
8603	return awsutil.Prettify(s)
8604}
8605
8606// GoString returns the string representation
8607func (s ListDatasetImportJobsInput) GoString() string {
8608	return s.String()
8609}
8610
8611// Validate inspects the fields of the type to determine if they are valid.
8612func (s *ListDatasetImportJobsInput) Validate() error {
8613	invalidParams := request.ErrInvalidParams{Context: "ListDatasetImportJobsInput"}
8614	if s.MaxResults != nil && *s.MaxResults < 1 {
8615		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8616	}
8617	if s.NextToken != nil && len(*s.NextToken) < 1 {
8618		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8619	}
8620	if s.Filters != nil {
8621		for i, v := range s.Filters {
8622			if v == nil {
8623				continue
8624			}
8625			if err := v.Validate(); err != nil {
8626				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8627			}
8628		}
8629	}
8630
8631	if invalidParams.Len() > 0 {
8632		return invalidParams
8633	}
8634	return nil
8635}
8636
8637// SetFilters sets the Filters field's value.
8638func (s *ListDatasetImportJobsInput) SetFilters(v []*Filter) *ListDatasetImportJobsInput {
8639	s.Filters = v
8640	return s
8641}
8642
8643// SetMaxResults sets the MaxResults field's value.
8644func (s *ListDatasetImportJobsInput) SetMaxResults(v int64) *ListDatasetImportJobsInput {
8645	s.MaxResults = &v
8646	return s
8647}
8648
8649// SetNextToken sets the NextToken field's value.
8650func (s *ListDatasetImportJobsInput) SetNextToken(v string) *ListDatasetImportJobsInput {
8651	s.NextToken = &v
8652	return s
8653}
8654
8655type ListDatasetImportJobsOutput struct {
8656	_ struct{} `type:"structure"`
8657
8658	// An array of objects that summarize each dataset import job's properties.
8659	DatasetImportJobs []*DatasetImportJobSummary `type:"list"`
8660
8661	// If the response is truncated, Amazon Forecast returns this token. To retrieve
8662	// the next set of results, use the token in the next request.
8663	NextToken *string `min:"1" type:"string"`
8664}
8665
8666// String returns the string representation
8667func (s ListDatasetImportJobsOutput) String() string {
8668	return awsutil.Prettify(s)
8669}
8670
8671// GoString returns the string representation
8672func (s ListDatasetImportJobsOutput) GoString() string {
8673	return s.String()
8674}
8675
8676// SetDatasetImportJobs sets the DatasetImportJobs field's value.
8677func (s *ListDatasetImportJobsOutput) SetDatasetImportJobs(v []*DatasetImportJobSummary) *ListDatasetImportJobsOutput {
8678	s.DatasetImportJobs = v
8679	return s
8680}
8681
8682// SetNextToken sets the NextToken field's value.
8683func (s *ListDatasetImportJobsOutput) SetNextToken(v string) *ListDatasetImportJobsOutput {
8684	s.NextToken = &v
8685	return s
8686}
8687
8688type ListDatasetsInput struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The number of items to return in the response.
8692	MaxResults *int64 `min:"1" type:"integer"`
8693
8694	// If the result of the previous request was truncated, the response includes
8695	// a NextToken. To retrieve the next set of results, use the token in the next
8696	// request. Tokens expire after 24 hours.
8697	NextToken *string `min:"1" type:"string"`
8698}
8699
8700// String returns the string representation
8701func (s ListDatasetsInput) String() string {
8702	return awsutil.Prettify(s)
8703}
8704
8705// GoString returns the string representation
8706func (s ListDatasetsInput) GoString() string {
8707	return s.String()
8708}
8709
8710// Validate inspects the fields of the type to determine if they are valid.
8711func (s *ListDatasetsInput) Validate() error {
8712	invalidParams := request.ErrInvalidParams{Context: "ListDatasetsInput"}
8713	if s.MaxResults != nil && *s.MaxResults < 1 {
8714		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8715	}
8716	if s.NextToken != nil && len(*s.NextToken) < 1 {
8717		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8718	}
8719
8720	if invalidParams.Len() > 0 {
8721		return invalidParams
8722	}
8723	return nil
8724}
8725
8726// SetMaxResults sets the MaxResults field's value.
8727func (s *ListDatasetsInput) SetMaxResults(v int64) *ListDatasetsInput {
8728	s.MaxResults = &v
8729	return s
8730}
8731
8732// SetNextToken sets the NextToken field's value.
8733func (s *ListDatasetsInput) SetNextToken(v string) *ListDatasetsInput {
8734	s.NextToken = &v
8735	return s
8736}
8737
8738type ListDatasetsOutput struct {
8739	_ struct{} `type:"structure"`
8740
8741	// An array of objects that summarize each dataset's properties.
8742	Datasets []*DatasetSummary `type:"list"`
8743
8744	// If the response is truncated, Amazon Forecast returns this token. To retrieve
8745	// the next set of results, use the token in the next request.
8746	NextToken *string `min:"1" type:"string"`
8747}
8748
8749// String returns the string representation
8750func (s ListDatasetsOutput) String() string {
8751	return awsutil.Prettify(s)
8752}
8753
8754// GoString returns the string representation
8755func (s ListDatasetsOutput) GoString() string {
8756	return s.String()
8757}
8758
8759// SetDatasets sets the Datasets field's value.
8760func (s *ListDatasetsOutput) SetDatasets(v []*DatasetSummary) *ListDatasetsOutput {
8761	s.Datasets = v
8762	return s
8763}
8764
8765// SetNextToken sets the NextToken field's value.
8766func (s *ListDatasetsOutput) SetNextToken(v string) *ListDatasetsOutput {
8767	s.NextToken = &v
8768	return s
8769}
8770
8771type ListForecastExportJobsInput struct {
8772	_ struct{} `type:"structure"`
8773
8774	// An array of filters. For each filter, you provide a condition and a match
8775	// statement. The condition is either IS or IS_NOT, which specifies whether
8776	// to include or exclude the forecast export jobs that match the statement from
8777	// the list, respectively. The match statement consists of a key and a value.
8778	//
8779	// Filter properties
8780	//
8781	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
8782	//    To include the forecast export jobs that match the statement, specify
8783	//    IS. To exclude matching forecast export jobs, specify IS_NOT.
8784	//
8785	//    * Key - The name of the parameter to filter on. Valid values are ForecastArn
8786	//    and Status.
8787	//
8788	//    * Value - The value to match.
8789	//
8790	// For example, to list all jobs that export a forecast named electricityforecast,
8791	// specify the following filter:
8792	//
8793	// "Filters": [ { "Condition": "IS", "Key": "ForecastArn", "Value": "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityforecast"
8794	// } ]
8795	Filters []*Filter `type:"list"`
8796
8797	// The number of items to return in the response.
8798	MaxResults *int64 `min:"1" type:"integer"`
8799
8800	// If the result of the previous request was truncated, the response includes
8801	// a NextToken. To retrieve the next set of results, use the token in the next
8802	// request. Tokens expire after 24 hours.
8803	NextToken *string `min:"1" type:"string"`
8804}
8805
8806// String returns the string representation
8807func (s ListForecastExportJobsInput) String() string {
8808	return awsutil.Prettify(s)
8809}
8810
8811// GoString returns the string representation
8812func (s ListForecastExportJobsInput) GoString() string {
8813	return s.String()
8814}
8815
8816// Validate inspects the fields of the type to determine if they are valid.
8817func (s *ListForecastExportJobsInput) Validate() error {
8818	invalidParams := request.ErrInvalidParams{Context: "ListForecastExportJobsInput"}
8819	if s.MaxResults != nil && *s.MaxResults < 1 {
8820		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8821	}
8822	if s.NextToken != nil && len(*s.NextToken) < 1 {
8823		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8824	}
8825	if s.Filters != nil {
8826		for i, v := range s.Filters {
8827			if v == nil {
8828				continue
8829			}
8830			if err := v.Validate(); err != nil {
8831				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8832			}
8833		}
8834	}
8835
8836	if invalidParams.Len() > 0 {
8837		return invalidParams
8838	}
8839	return nil
8840}
8841
8842// SetFilters sets the Filters field's value.
8843func (s *ListForecastExportJobsInput) SetFilters(v []*Filter) *ListForecastExportJobsInput {
8844	s.Filters = v
8845	return s
8846}
8847
8848// SetMaxResults sets the MaxResults field's value.
8849func (s *ListForecastExportJobsInput) SetMaxResults(v int64) *ListForecastExportJobsInput {
8850	s.MaxResults = &v
8851	return s
8852}
8853
8854// SetNextToken sets the NextToken field's value.
8855func (s *ListForecastExportJobsInput) SetNextToken(v string) *ListForecastExportJobsInput {
8856	s.NextToken = &v
8857	return s
8858}
8859
8860type ListForecastExportJobsOutput struct {
8861	_ struct{} `type:"structure"`
8862
8863	// An array of objects that summarize each export job's properties.
8864	ForecastExportJobs []*ForecastExportJobSummary `type:"list"`
8865
8866	// If the response is truncated, Amazon Forecast returns this token. To retrieve
8867	// the next set of results, use the token in the next request.
8868	NextToken *string `min:"1" type:"string"`
8869}
8870
8871// String returns the string representation
8872func (s ListForecastExportJobsOutput) String() string {
8873	return awsutil.Prettify(s)
8874}
8875
8876// GoString returns the string representation
8877func (s ListForecastExportJobsOutput) GoString() string {
8878	return s.String()
8879}
8880
8881// SetForecastExportJobs sets the ForecastExportJobs field's value.
8882func (s *ListForecastExportJobsOutput) SetForecastExportJobs(v []*ForecastExportJobSummary) *ListForecastExportJobsOutput {
8883	s.ForecastExportJobs = v
8884	return s
8885}
8886
8887// SetNextToken sets the NextToken field's value.
8888func (s *ListForecastExportJobsOutput) SetNextToken(v string) *ListForecastExportJobsOutput {
8889	s.NextToken = &v
8890	return s
8891}
8892
8893type ListForecastsInput struct {
8894	_ struct{} `type:"structure"`
8895
8896	// An array of filters. For each filter, you provide a condition and a match
8897	// statement. The condition is either IS or IS_NOT, which specifies whether
8898	// to include or exclude the forecasts that match the statement from the list,
8899	// respectively. The match statement consists of a key and a value.
8900	//
8901	// Filter properties
8902	//
8903	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
8904	//    To include the forecasts that match the statement, specify IS. To exclude
8905	//    matching forecasts, specify IS_NOT.
8906	//
8907	//    * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn,
8908	//    PredictorArn, and Status.
8909	//
8910	//    * Value - The value to match.
8911	//
8912	// For example, to list all forecasts whose status is not ACTIVE, you would
8913	// specify:
8914	//
8915	// "Filters": [ { "Condition": "IS_NOT", "Key": "Status", "Value": "ACTIVE"
8916	// } ]
8917	Filters []*Filter `type:"list"`
8918
8919	// The number of items to return in the response.
8920	MaxResults *int64 `min:"1" type:"integer"`
8921
8922	// If the result of the previous request was truncated, the response includes
8923	// a NextToken. To retrieve the next set of results, use the token in the next
8924	// request. Tokens expire after 24 hours.
8925	NextToken *string `min:"1" type:"string"`
8926}
8927
8928// String returns the string representation
8929func (s ListForecastsInput) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation
8934func (s ListForecastsInput) GoString() string {
8935	return s.String()
8936}
8937
8938// Validate inspects the fields of the type to determine if they are valid.
8939func (s *ListForecastsInput) Validate() error {
8940	invalidParams := request.ErrInvalidParams{Context: "ListForecastsInput"}
8941	if s.MaxResults != nil && *s.MaxResults < 1 {
8942		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8943	}
8944	if s.NextToken != nil && len(*s.NextToken) < 1 {
8945		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8946	}
8947	if s.Filters != nil {
8948		for i, v := range s.Filters {
8949			if v == nil {
8950				continue
8951			}
8952			if err := v.Validate(); err != nil {
8953				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8954			}
8955		}
8956	}
8957
8958	if invalidParams.Len() > 0 {
8959		return invalidParams
8960	}
8961	return nil
8962}
8963
8964// SetFilters sets the Filters field's value.
8965func (s *ListForecastsInput) SetFilters(v []*Filter) *ListForecastsInput {
8966	s.Filters = v
8967	return s
8968}
8969
8970// SetMaxResults sets the MaxResults field's value.
8971func (s *ListForecastsInput) SetMaxResults(v int64) *ListForecastsInput {
8972	s.MaxResults = &v
8973	return s
8974}
8975
8976// SetNextToken sets the NextToken field's value.
8977func (s *ListForecastsInput) SetNextToken(v string) *ListForecastsInput {
8978	s.NextToken = &v
8979	return s
8980}
8981
8982type ListForecastsOutput struct {
8983	_ struct{} `type:"structure"`
8984
8985	// An array of objects that summarize each forecast's properties.
8986	Forecasts []*ForecastSummary `type:"list"`
8987
8988	// If the response is truncated, Amazon Forecast returns this token. To retrieve
8989	// the next set of results, use the token in the next request.
8990	NextToken *string `min:"1" type:"string"`
8991}
8992
8993// String returns the string representation
8994func (s ListForecastsOutput) String() string {
8995	return awsutil.Prettify(s)
8996}
8997
8998// GoString returns the string representation
8999func (s ListForecastsOutput) GoString() string {
9000	return s.String()
9001}
9002
9003// SetForecasts sets the Forecasts field's value.
9004func (s *ListForecastsOutput) SetForecasts(v []*ForecastSummary) *ListForecastsOutput {
9005	s.Forecasts = v
9006	return s
9007}
9008
9009// SetNextToken sets the NextToken field's value.
9010func (s *ListForecastsOutput) SetNextToken(v string) *ListForecastsOutput {
9011	s.NextToken = &v
9012	return s
9013}
9014
9015type ListPredictorBacktestExportJobsInput struct {
9016	_ struct{} `type:"structure"`
9017
9018	// An array of filters. For each filter, provide a condition and a match statement.
9019	// The condition is either IS or IS_NOT, which specifies whether to include
9020	// or exclude the predictor backtest export jobs that match the statement from
9021	// the list. The match statement consists of a key and a value.
9022	//
9023	// Filter properties
9024	//
9025	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
9026	//    To include the predictor backtest export jobs that match the statement,
9027	//    specify IS. To exclude matching predictor backtest export jobs, specify
9028	//    IS_NOT.
9029	//
9030	//    * Key - The name of the parameter to filter on. Valid values are PredictorArn
9031	//    and Status.
9032	//
9033	//    * Value - The value to match.
9034	Filters []*Filter `type:"list"`
9035
9036	// The number of items to return in the response.
9037	MaxResults *int64 `min:"1" type:"integer"`
9038
9039	// If the result of the previous request was truncated, the response includes
9040	// a NextToken. To retrieve the next set of results, use the token in the next
9041	// request. Tokens expire after 24 hours.
9042	NextToken *string `min:"1" type:"string"`
9043}
9044
9045// String returns the string representation
9046func (s ListPredictorBacktestExportJobsInput) String() string {
9047	return awsutil.Prettify(s)
9048}
9049
9050// GoString returns the string representation
9051func (s ListPredictorBacktestExportJobsInput) GoString() string {
9052	return s.String()
9053}
9054
9055// Validate inspects the fields of the type to determine if they are valid.
9056func (s *ListPredictorBacktestExportJobsInput) Validate() error {
9057	invalidParams := request.ErrInvalidParams{Context: "ListPredictorBacktestExportJobsInput"}
9058	if s.MaxResults != nil && *s.MaxResults < 1 {
9059		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9060	}
9061	if s.NextToken != nil && len(*s.NextToken) < 1 {
9062		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9063	}
9064	if s.Filters != nil {
9065		for i, v := range s.Filters {
9066			if v == nil {
9067				continue
9068			}
9069			if err := v.Validate(); err != nil {
9070				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9071			}
9072		}
9073	}
9074
9075	if invalidParams.Len() > 0 {
9076		return invalidParams
9077	}
9078	return nil
9079}
9080
9081// SetFilters sets the Filters field's value.
9082func (s *ListPredictorBacktestExportJobsInput) SetFilters(v []*Filter) *ListPredictorBacktestExportJobsInput {
9083	s.Filters = v
9084	return s
9085}
9086
9087// SetMaxResults sets the MaxResults field's value.
9088func (s *ListPredictorBacktestExportJobsInput) SetMaxResults(v int64) *ListPredictorBacktestExportJobsInput {
9089	s.MaxResults = &v
9090	return s
9091}
9092
9093// SetNextToken sets the NextToken field's value.
9094func (s *ListPredictorBacktestExportJobsInput) SetNextToken(v string) *ListPredictorBacktestExportJobsInput {
9095	s.NextToken = &v
9096	return s
9097}
9098
9099type ListPredictorBacktestExportJobsOutput struct {
9100	_ struct{} `type:"structure"`
9101
9102	// Returns this token if the response is truncated. To retrieve the next set
9103	// of results, use the token in the next request.
9104	NextToken *string `min:"1" type:"string"`
9105
9106	// An array of objects that summarize the properties of each predictor backtest
9107	// export job.
9108	PredictorBacktestExportJobs []*PredictorBacktestExportJobSummary `type:"list"`
9109}
9110
9111// String returns the string representation
9112func (s ListPredictorBacktestExportJobsOutput) String() string {
9113	return awsutil.Prettify(s)
9114}
9115
9116// GoString returns the string representation
9117func (s ListPredictorBacktestExportJobsOutput) GoString() string {
9118	return s.String()
9119}
9120
9121// SetNextToken sets the NextToken field's value.
9122func (s *ListPredictorBacktestExportJobsOutput) SetNextToken(v string) *ListPredictorBacktestExportJobsOutput {
9123	s.NextToken = &v
9124	return s
9125}
9126
9127// SetPredictorBacktestExportJobs sets the PredictorBacktestExportJobs field's value.
9128func (s *ListPredictorBacktestExportJobsOutput) SetPredictorBacktestExportJobs(v []*PredictorBacktestExportJobSummary) *ListPredictorBacktestExportJobsOutput {
9129	s.PredictorBacktestExportJobs = v
9130	return s
9131}
9132
9133type ListPredictorsInput struct {
9134	_ struct{} `type:"structure"`
9135
9136	// An array of filters. For each filter, you provide a condition and a match
9137	// statement. The condition is either IS or IS_NOT, which specifies whether
9138	// to include or exclude the predictors that match the statement from the list,
9139	// respectively. The match statement consists of a key and a value.
9140	//
9141	// Filter properties
9142	//
9143	//    * Condition - The condition to apply. Valid values are IS and IS_NOT.
9144	//    To include the predictors that match the statement, specify IS. To exclude
9145	//    matching predictors, specify IS_NOT.
9146	//
9147	//    * Key - The name of the parameter to filter on. Valid values are DatasetGroupArn
9148	//    and Status.
9149	//
9150	//    * Value - The value to match.
9151	//
9152	// For example, to list all predictors whose status is ACTIVE, you would specify:
9153	//
9154	// "Filters": [ { "Condition": "IS", "Key": "Status", "Value": "ACTIVE" } ]
9155	Filters []*Filter `type:"list"`
9156
9157	// The number of items to return in the response.
9158	MaxResults *int64 `min:"1" type:"integer"`
9159
9160	// If the result of the previous request was truncated, the response includes
9161	// a NextToken. To retrieve the next set of results, use the token in the next
9162	// request. Tokens expire after 24 hours.
9163	NextToken *string `min:"1" type:"string"`
9164}
9165
9166// String returns the string representation
9167func (s ListPredictorsInput) String() string {
9168	return awsutil.Prettify(s)
9169}
9170
9171// GoString returns the string representation
9172func (s ListPredictorsInput) GoString() string {
9173	return s.String()
9174}
9175
9176// Validate inspects the fields of the type to determine if they are valid.
9177func (s *ListPredictorsInput) Validate() error {
9178	invalidParams := request.ErrInvalidParams{Context: "ListPredictorsInput"}
9179	if s.MaxResults != nil && *s.MaxResults < 1 {
9180		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9181	}
9182	if s.NextToken != nil && len(*s.NextToken) < 1 {
9183		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9184	}
9185	if s.Filters != nil {
9186		for i, v := range s.Filters {
9187			if v == nil {
9188				continue
9189			}
9190			if err := v.Validate(); err != nil {
9191				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9192			}
9193		}
9194	}
9195
9196	if invalidParams.Len() > 0 {
9197		return invalidParams
9198	}
9199	return nil
9200}
9201
9202// SetFilters sets the Filters field's value.
9203func (s *ListPredictorsInput) SetFilters(v []*Filter) *ListPredictorsInput {
9204	s.Filters = v
9205	return s
9206}
9207
9208// SetMaxResults sets the MaxResults field's value.
9209func (s *ListPredictorsInput) SetMaxResults(v int64) *ListPredictorsInput {
9210	s.MaxResults = &v
9211	return s
9212}
9213
9214// SetNextToken sets the NextToken field's value.
9215func (s *ListPredictorsInput) SetNextToken(v string) *ListPredictorsInput {
9216	s.NextToken = &v
9217	return s
9218}
9219
9220type ListPredictorsOutput struct {
9221	_ struct{} `type:"structure"`
9222
9223	// If the response is truncated, Amazon Forecast returns this token. To retrieve
9224	// the next set of results, use the token in the next request.
9225	NextToken *string `min:"1" type:"string"`
9226
9227	// An array of objects that summarize each predictor's properties.
9228	Predictors []*PredictorSummary `type:"list"`
9229}
9230
9231// String returns the string representation
9232func (s ListPredictorsOutput) String() string {
9233	return awsutil.Prettify(s)
9234}
9235
9236// GoString returns the string representation
9237func (s ListPredictorsOutput) GoString() string {
9238	return s.String()
9239}
9240
9241// SetNextToken sets the NextToken field's value.
9242func (s *ListPredictorsOutput) SetNextToken(v string) *ListPredictorsOutput {
9243	s.NextToken = &v
9244	return s
9245}
9246
9247// SetPredictors sets the Predictors field's value.
9248func (s *ListPredictorsOutput) SetPredictors(v []*PredictorSummary) *ListPredictorsOutput {
9249	s.Predictors = v
9250	return s
9251}
9252
9253type ListTagsForResourceInput struct {
9254	_ struct{} `type:"structure"`
9255
9256	// The Amazon Resource Name (ARN) that identifies the resource for which to
9257	// list the tags. Currently, the supported resources are Forecast dataset groups,
9258	// datasets, dataset import jobs, predictors, forecasts, and forecast export
9259	// jobs.
9260	//
9261	// ResourceArn is a required field
9262	ResourceArn *string `type:"string" required:"true"`
9263}
9264
9265// String returns the string representation
9266func (s ListTagsForResourceInput) String() string {
9267	return awsutil.Prettify(s)
9268}
9269
9270// GoString returns the string representation
9271func (s ListTagsForResourceInput) GoString() string {
9272	return s.String()
9273}
9274
9275// Validate inspects the fields of the type to determine if they are valid.
9276func (s *ListTagsForResourceInput) Validate() error {
9277	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9278	if s.ResourceArn == nil {
9279		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9280	}
9281
9282	if invalidParams.Len() > 0 {
9283		return invalidParams
9284	}
9285	return nil
9286}
9287
9288// SetResourceArn sets the ResourceArn field's value.
9289func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9290	s.ResourceArn = &v
9291	return s
9292}
9293
9294type ListTagsForResourceOutput struct {
9295	_ struct{} `type:"structure"`
9296
9297	// The tags for the resource.
9298	Tags []*Tag `type:"list"`
9299}
9300
9301// String returns the string representation
9302func (s ListTagsForResourceOutput) String() string {
9303	return awsutil.Prettify(s)
9304}
9305
9306// GoString returns the string representation
9307func (s ListTagsForResourceOutput) GoString() string {
9308	return s.String()
9309}
9310
9311// SetTags sets the Tags field's value.
9312func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
9313	s.Tags = v
9314	return s
9315}
9316
9317// Provides metrics that are used to evaluate the performance of a predictor.
9318// This object is part of the WindowSummary object.
9319type Metrics struct {
9320	_ struct{} `type:"structure"`
9321
9322	// Provides detailed error metrics on forecast type, root-mean square-error
9323	// (RMSE), and weighted average percentage error (WAPE).
9324	ErrorMetrics []*ErrorMetric `type:"list"`
9325
9326	// The root-mean-square error (RMSE).
9327	//
9328	// Deprecated: This property is deprecated, please refer to ErrorMetrics for both RMSE and WAPE
9329	RMSE *float64 `deprecated:"true" type:"double"`
9330
9331	// An array of weighted quantile losses. Quantiles divide a probability distribution
9332	// into regions of equal probability. The distribution in this case is the loss
9333	// function.
9334	WeightedQuantileLosses []*WeightedQuantileLoss `type:"list"`
9335}
9336
9337// String returns the string representation
9338func (s Metrics) String() string {
9339	return awsutil.Prettify(s)
9340}
9341
9342// GoString returns the string representation
9343func (s Metrics) GoString() string {
9344	return s.String()
9345}
9346
9347// SetErrorMetrics sets the ErrorMetrics field's value.
9348func (s *Metrics) SetErrorMetrics(v []*ErrorMetric) *Metrics {
9349	s.ErrorMetrics = v
9350	return s
9351}
9352
9353// SetRMSE sets the RMSE field's value.
9354func (s *Metrics) SetRMSE(v float64) *Metrics {
9355	s.RMSE = &v
9356	return s
9357}
9358
9359// SetWeightedQuantileLosses sets the WeightedQuantileLosses field's value.
9360func (s *Metrics) SetWeightedQuantileLosses(v []*WeightedQuantileLoss) *Metrics {
9361	s.WeightedQuantileLosses = v
9362	return s
9363}
9364
9365// Specifies the categorical, continuous, and integer hyperparameters, and their
9366// ranges of tunable values. The range of tunable values determines which values
9367// that a hyperparameter tuning job can choose for the specified hyperparameter.
9368// This object is part of the HyperParameterTuningJobConfig object.
9369type ParameterRanges struct {
9370	_ struct{} `type:"structure"`
9371
9372	// Specifies the tunable range for each categorical hyperparameter.
9373	CategoricalParameterRanges []*CategoricalParameterRange `min:"1" type:"list"`
9374
9375	// Specifies the tunable range for each continuous hyperparameter.
9376	ContinuousParameterRanges []*ContinuousParameterRange `min:"1" type:"list"`
9377
9378	// Specifies the tunable range for each integer hyperparameter.
9379	IntegerParameterRanges []*IntegerParameterRange `min:"1" type:"list"`
9380}
9381
9382// String returns the string representation
9383func (s ParameterRanges) String() string {
9384	return awsutil.Prettify(s)
9385}
9386
9387// GoString returns the string representation
9388func (s ParameterRanges) GoString() string {
9389	return s.String()
9390}
9391
9392// Validate inspects the fields of the type to determine if they are valid.
9393func (s *ParameterRanges) Validate() error {
9394	invalidParams := request.ErrInvalidParams{Context: "ParameterRanges"}
9395	if s.CategoricalParameterRanges != nil && len(s.CategoricalParameterRanges) < 1 {
9396		invalidParams.Add(request.NewErrParamMinLen("CategoricalParameterRanges", 1))
9397	}
9398	if s.ContinuousParameterRanges != nil && len(s.ContinuousParameterRanges) < 1 {
9399		invalidParams.Add(request.NewErrParamMinLen("ContinuousParameterRanges", 1))
9400	}
9401	if s.IntegerParameterRanges != nil && len(s.IntegerParameterRanges) < 1 {
9402		invalidParams.Add(request.NewErrParamMinLen("IntegerParameterRanges", 1))
9403	}
9404	if s.CategoricalParameterRanges != nil {
9405		for i, v := range s.CategoricalParameterRanges {
9406			if v == nil {
9407				continue
9408			}
9409			if err := v.Validate(); err != nil {
9410				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CategoricalParameterRanges", i), err.(request.ErrInvalidParams))
9411			}
9412		}
9413	}
9414	if s.ContinuousParameterRanges != nil {
9415		for i, v := range s.ContinuousParameterRanges {
9416			if v == nil {
9417				continue
9418			}
9419			if err := v.Validate(); err != nil {
9420				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContinuousParameterRanges", i), err.(request.ErrInvalidParams))
9421			}
9422		}
9423	}
9424	if s.IntegerParameterRanges != nil {
9425		for i, v := range s.IntegerParameterRanges {
9426			if v == nil {
9427				continue
9428			}
9429			if err := v.Validate(); err != nil {
9430				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "IntegerParameterRanges", i), err.(request.ErrInvalidParams))
9431			}
9432		}
9433	}
9434
9435	if invalidParams.Len() > 0 {
9436		return invalidParams
9437	}
9438	return nil
9439}
9440
9441// SetCategoricalParameterRanges sets the CategoricalParameterRanges field's value.
9442func (s *ParameterRanges) SetCategoricalParameterRanges(v []*CategoricalParameterRange) *ParameterRanges {
9443	s.CategoricalParameterRanges = v
9444	return s
9445}
9446
9447// SetContinuousParameterRanges sets the ContinuousParameterRanges field's value.
9448func (s *ParameterRanges) SetContinuousParameterRanges(v []*ContinuousParameterRange) *ParameterRanges {
9449	s.ContinuousParameterRanges = v
9450	return s
9451}
9452
9453// SetIntegerParameterRanges sets the IntegerParameterRanges field's value.
9454func (s *ParameterRanges) SetIntegerParameterRanges(v []*IntegerParameterRange) *ParameterRanges {
9455	s.IntegerParameterRanges = v
9456	return s
9457}
9458
9459// Provides a summary of the predictor backtest export job properties used in
9460// the ListPredictorBacktestExportJobs operation. To get a complete set of properties,
9461// call the DescribePredictorBacktestExportJob operation, and provide the listed
9462// PredictorBacktestExportJobArn.
9463type PredictorBacktestExportJobSummary struct {
9464	_ struct{} `type:"structure"`
9465
9466	// When the predictor backtest export job was created.
9467	CreationTime *time.Time `type:"timestamp"`
9468
9469	// The destination for an export job. Provide an S3 path, an AWS Identity and
9470	// Access Management (IAM) role that allows Amazon Forecast to access the location,
9471	// and an AWS Key Management Service (KMS) key (optional).
9472	Destination *DataDestination `type:"structure"`
9473
9474	// The last time the resource was modified. The timestamp depends on the status
9475	// of the job:
9476	//
9477	//    * CREATE_PENDING - The CreationTime.
9478	//
9479	//    * CREATE_IN_PROGRESS - The current timestamp.
9480	//
9481	//    * CREATE_STOPPING - The current timestamp.
9482	//
9483	//    * CREATE_STOPPED - When the job stopped.
9484	//
9485	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
9486	LastModificationTime *time.Time `type:"timestamp"`
9487
9488	// Information about any errors that may have occurred during the backtest export.
9489	Message *string `type:"string"`
9490
9491	// The Amazon Resource Name (ARN) of the predictor backtest export job.
9492	PredictorBacktestExportJobArn *string `type:"string"`
9493
9494	// The name of the predictor backtest export job.
9495	PredictorBacktestExportJobName *string `min:"1" type:"string"`
9496
9497	// The status of the predictor backtest export job. States include:
9498	//
9499	//    * ACTIVE
9500	//
9501	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
9502	//
9503	//    * CREATE_STOPPING, CREATE_STOPPED
9504	//
9505	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
9506	Status *string `type:"string"`
9507}
9508
9509// String returns the string representation
9510func (s PredictorBacktestExportJobSummary) String() string {
9511	return awsutil.Prettify(s)
9512}
9513
9514// GoString returns the string representation
9515func (s PredictorBacktestExportJobSummary) GoString() string {
9516	return s.String()
9517}
9518
9519// SetCreationTime sets the CreationTime field's value.
9520func (s *PredictorBacktestExportJobSummary) SetCreationTime(v time.Time) *PredictorBacktestExportJobSummary {
9521	s.CreationTime = &v
9522	return s
9523}
9524
9525// SetDestination sets the Destination field's value.
9526func (s *PredictorBacktestExportJobSummary) SetDestination(v *DataDestination) *PredictorBacktestExportJobSummary {
9527	s.Destination = v
9528	return s
9529}
9530
9531// SetLastModificationTime sets the LastModificationTime field's value.
9532func (s *PredictorBacktestExportJobSummary) SetLastModificationTime(v time.Time) *PredictorBacktestExportJobSummary {
9533	s.LastModificationTime = &v
9534	return s
9535}
9536
9537// SetMessage sets the Message field's value.
9538func (s *PredictorBacktestExportJobSummary) SetMessage(v string) *PredictorBacktestExportJobSummary {
9539	s.Message = &v
9540	return s
9541}
9542
9543// SetPredictorBacktestExportJobArn sets the PredictorBacktestExportJobArn field's value.
9544func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobArn(v string) *PredictorBacktestExportJobSummary {
9545	s.PredictorBacktestExportJobArn = &v
9546	return s
9547}
9548
9549// SetPredictorBacktestExportJobName sets the PredictorBacktestExportJobName field's value.
9550func (s *PredictorBacktestExportJobSummary) SetPredictorBacktestExportJobName(v string) *PredictorBacktestExportJobSummary {
9551	s.PredictorBacktestExportJobName = &v
9552	return s
9553}
9554
9555// SetStatus sets the Status field's value.
9556func (s *PredictorBacktestExportJobSummary) SetStatus(v string) *PredictorBacktestExportJobSummary {
9557	s.Status = &v
9558	return s
9559}
9560
9561// The algorithm used to perform a backtest and the status of those tests.
9562type PredictorExecution struct {
9563	_ struct{} `type:"structure"`
9564
9565	// The ARN of the algorithm used to test the predictor.
9566	AlgorithmArn *string `type:"string"`
9567
9568	// An array of test windows used to evaluate the algorithm. The NumberOfBacktestWindows
9569	// from the object determines the number of windows in the array.
9570	TestWindows []*TestWindowSummary `type:"list"`
9571}
9572
9573// String returns the string representation
9574func (s PredictorExecution) String() string {
9575	return awsutil.Prettify(s)
9576}
9577
9578// GoString returns the string representation
9579func (s PredictorExecution) GoString() string {
9580	return s.String()
9581}
9582
9583// SetAlgorithmArn sets the AlgorithmArn field's value.
9584func (s *PredictorExecution) SetAlgorithmArn(v string) *PredictorExecution {
9585	s.AlgorithmArn = &v
9586	return s
9587}
9588
9589// SetTestWindows sets the TestWindows field's value.
9590func (s *PredictorExecution) SetTestWindows(v []*TestWindowSummary) *PredictorExecution {
9591	s.TestWindows = v
9592	return s
9593}
9594
9595// Contains details on the backtests performed to evaluate the accuracy of the
9596// predictor. The tests are returned in descending order of accuracy, with the
9597// most accurate backtest appearing first. You specify the number of backtests
9598// to perform when you call the operation.
9599type PredictorExecutionDetails struct {
9600	_ struct{} `type:"structure"`
9601
9602	// An array of the backtests performed to evaluate the accuracy of the predictor
9603	// against a particular algorithm. The NumberOfBacktestWindows from the object
9604	// determines the number of windows in the array.
9605	PredictorExecutions []*PredictorExecution `min:"1" type:"list"`
9606}
9607
9608// String returns the string representation
9609func (s PredictorExecutionDetails) String() string {
9610	return awsutil.Prettify(s)
9611}
9612
9613// GoString returns the string representation
9614func (s PredictorExecutionDetails) GoString() string {
9615	return s.String()
9616}
9617
9618// SetPredictorExecutions sets the PredictorExecutions field's value.
9619func (s *PredictorExecutionDetails) SetPredictorExecutions(v []*PredictorExecution) *PredictorExecutionDetails {
9620	s.PredictorExecutions = v
9621	return s
9622}
9623
9624// Provides a summary of the predictor properties that are used in the ListPredictors
9625// operation. To get the complete set of properties, call the DescribePredictor
9626// operation, and provide the listed PredictorArn.
9627type PredictorSummary struct {
9628	_ struct{} `type:"structure"`
9629
9630	// When the model training task was created.
9631	CreationTime *time.Time `type:"timestamp"`
9632
9633	// The Amazon Resource Name (ARN) of the dataset group that contains the data
9634	// used to train the predictor.
9635	DatasetGroupArn *string `type:"string"`
9636
9637	// The last time the resource was modified. The timestamp depends on the status
9638	// of the job:
9639	//
9640	//    * CREATE_PENDING - The CreationTime.
9641	//
9642	//    * CREATE_IN_PROGRESS - The current timestamp.
9643	//
9644	//    * CREATE_STOPPING - The current timestamp.
9645	//
9646	//    * CREATE_STOPPED - When the job stopped.
9647	//
9648	//    * ACTIVE or CREATE_FAILED - When the job finished or failed.
9649	LastModificationTime *time.Time `type:"timestamp"`
9650
9651	// If an error occurred, an informational message about the error.
9652	Message *string `type:"string"`
9653
9654	// The ARN of the predictor.
9655	PredictorArn *string `type:"string"`
9656
9657	// The name of the predictor.
9658	PredictorName *string `min:"1" type:"string"`
9659
9660	// The status of the predictor. States include:
9661	//
9662	//    * ACTIVE
9663	//
9664	//    * CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED
9665	//
9666	//    * DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED
9667	//
9668	//    * CREATE_STOPPING, CREATE_STOPPED
9669	//
9670	// The Status of the predictor must be ACTIVE before you can use the predictor
9671	// to create a forecast.
9672	Status *string `type:"string"`
9673}
9674
9675// String returns the string representation
9676func (s PredictorSummary) String() string {
9677	return awsutil.Prettify(s)
9678}
9679
9680// GoString returns the string representation
9681func (s PredictorSummary) GoString() string {
9682	return s.String()
9683}
9684
9685// SetCreationTime sets the CreationTime field's value.
9686func (s *PredictorSummary) SetCreationTime(v time.Time) *PredictorSummary {
9687	s.CreationTime = &v
9688	return s
9689}
9690
9691// SetDatasetGroupArn sets the DatasetGroupArn field's value.
9692func (s *PredictorSummary) SetDatasetGroupArn(v string) *PredictorSummary {
9693	s.DatasetGroupArn = &v
9694	return s
9695}
9696
9697// SetLastModificationTime sets the LastModificationTime field's value.
9698func (s *PredictorSummary) SetLastModificationTime(v time.Time) *PredictorSummary {
9699	s.LastModificationTime = &v
9700	return s
9701}
9702
9703// SetMessage sets the Message field's value.
9704func (s *PredictorSummary) SetMessage(v string) *PredictorSummary {
9705	s.Message = &v
9706	return s
9707}
9708
9709// SetPredictorArn sets the PredictorArn field's value.
9710func (s *PredictorSummary) SetPredictorArn(v string) *PredictorSummary {
9711	s.PredictorArn = &v
9712	return s
9713}
9714
9715// SetPredictorName sets the PredictorName field's value.
9716func (s *PredictorSummary) SetPredictorName(v string) *PredictorSummary {
9717	s.PredictorName = &v
9718	return s
9719}
9720
9721// SetStatus sets the Status field's value.
9722func (s *PredictorSummary) SetStatus(v string) *PredictorSummary {
9723	s.Status = &v
9724	return s
9725}
9726
9727// There is already a resource with this name. Try again with a different name.
9728type ResourceAlreadyExistsException struct {
9729	_            struct{}                  `type:"structure"`
9730	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9731
9732	Message_ *string `locationName:"Message" type:"string"`
9733}
9734
9735// String returns the string representation
9736func (s ResourceAlreadyExistsException) String() string {
9737	return awsutil.Prettify(s)
9738}
9739
9740// GoString returns the string representation
9741func (s ResourceAlreadyExistsException) GoString() string {
9742	return s.String()
9743}
9744
9745func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
9746	return &ResourceAlreadyExistsException{
9747		RespMetadata: v,
9748	}
9749}
9750
9751// Code returns the exception type name.
9752func (s *ResourceAlreadyExistsException) Code() string {
9753	return "ResourceAlreadyExistsException"
9754}
9755
9756// Message returns the exception's message.
9757func (s *ResourceAlreadyExistsException) Message() string {
9758	if s.Message_ != nil {
9759		return *s.Message_
9760	}
9761	return ""
9762}
9763
9764// OrigErr always returns nil, satisfies awserr.Error interface.
9765func (s *ResourceAlreadyExistsException) OrigErr() error {
9766	return nil
9767}
9768
9769func (s *ResourceAlreadyExistsException) Error() string {
9770	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9771}
9772
9773// Status code returns the HTTP status code for the request's response error.
9774func (s *ResourceAlreadyExistsException) StatusCode() int {
9775	return s.RespMetadata.StatusCode
9776}
9777
9778// RequestID returns the service's response RequestID for request.
9779func (s *ResourceAlreadyExistsException) RequestID() string {
9780	return s.RespMetadata.RequestID
9781}
9782
9783// The specified resource is in use.
9784type ResourceInUseException struct {
9785	_            struct{}                  `type:"structure"`
9786	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9787
9788	Message_ *string `locationName:"Message" type:"string"`
9789}
9790
9791// String returns the string representation
9792func (s ResourceInUseException) String() string {
9793	return awsutil.Prettify(s)
9794}
9795
9796// GoString returns the string representation
9797func (s ResourceInUseException) GoString() string {
9798	return s.String()
9799}
9800
9801func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
9802	return &ResourceInUseException{
9803		RespMetadata: v,
9804	}
9805}
9806
9807// Code returns the exception type name.
9808func (s *ResourceInUseException) Code() string {
9809	return "ResourceInUseException"
9810}
9811
9812// Message returns the exception's message.
9813func (s *ResourceInUseException) Message() string {
9814	if s.Message_ != nil {
9815		return *s.Message_
9816	}
9817	return ""
9818}
9819
9820// OrigErr always returns nil, satisfies awserr.Error interface.
9821func (s *ResourceInUseException) OrigErr() error {
9822	return nil
9823}
9824
9825func (s *ResourceInUseException) Error() string {
9826	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9827}
9828
9829// Status code returns the HTTP status code for the request's response error.
9830func (s *ResourceInUseException) StatusCode() int {
9831	return s.RespMetadata.StatusCode
9832}
9833
9834// RequestID returns the service's response RequestID for request.
9835func (s *ResourceInUseException) RequestID() string {
9836	return s.RespMetadata.RequestID
9837}
9838
9839// We can't find a resource with that Amazon Resource Name (ARN). Check the
9840// ARN and try again.
9841type ResourceNotFoundException struct {
9842	_            struct{}                  `type:"structure"`
9843	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9844
9845	Message_ *string `locationName:"Message" type:"string"`
9846}
9847
9848// String returns the string representation
9849func (s ResourceNotFoundException) String() string {
9850	return awsutil.Prettify(s)
9851}
9852
9853// GoString returns the string representation
9854func (s ResourceNotFoundException) GoString() string {
9855	return s.String()
9856}
9857
9858func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
9859	return &ResourceNotFoundException{
9860		RespMetadata: v,
9861	}
9862}
9863
9864// Code returns the exception type name.
9865func (s *ResourceNotFoundException) Code() string {
9866	return "ResourceNotFoundException"
9867}
9868
9869// Message returns the exception's message.
9870func (s *ResourceNotFoundException) Message() string {
9871	if s.Message_ != nil {
9872		return *s.Message_
9873	}
9874	return ""
9875}
9876
9877// OrigErr always returns nil, satisfies awserr.Error interface.
9878func (s *ResourceNotFoundException) OrigErr() error {
9879	return nil
9880}
9881
9882func (s *ResourceNotFoundException) Error() string {
9883	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9884}
9885
9886// Status code returns the HTTP status code for the request's response error.
9887func (s *ResourceNotFoundException) StatusCode() int {
9888	return s.RespMetadata.StatusCode
9889}
9890
9891// RequestID returns the service's response RequestID for request.
9892func (s *ResourceNotFoundException) RequestID() string {
9893	return s.RespMetadata.RequestID
9894}
9895
9896// The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket,
9897// and an AWS Identity and Access Management (IAM) role that Amazon Forecast
9898// can assume to access the file(s). Optionally, includes an AWS Key Management
9899// Service (KMS) key. This object is part of the DataSource object that is submitted
9900// in the CreateDatasetImportJob request, and part of the DataDestination object.
9901type S3Config struct {
9902	_ struct{} `type:"structure"`
9903
9904	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key.
9905	KMSKeyArn *string `type:"string"`
9906
9907	// The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s)
9908	// in an Amazon S3 bucket.
9909	//
9910	// Path is a required field
9911	Path *string `type:"string" required:"true"`
9912
9913	// The ARN of the AWS Identity and Access Management (IAM) role that Amazon
9914	// Forecast can assume to access the Amazon S3 bucket or files. If you provide
9915	// a value for the KMSKeyArn key, the role must allow access to the key.
9916	//
9917	// Passing a role across AWS accounts is not allowed. If you pass a role that
9918	// isn't in your account, you get an InvalidInputException error.
9919	//
9920	// RoleArn is a required field
9921	RoleArn *string `type:"string" required:"true"`
9922}
9923
9924// String returns the string representation
9925func (s S3Config) String() string {
9926	return awsutil.Prettify(s)
9927}
9928
9929// GoString returns the string representation
9930func (s S3Config) GoString() string {
9931	return s.String()
9932}
9933
9934// Validate inspects the fields of the type to determine if they are valid.
9935func (s *S3Config) Validate() error {
9936	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
9937	if s.Path == nil {
9938		invalidParams.Add(request.NewErrParamRequired("Path"))
9939	}
9940	if s.RoleArn == nil {
9941		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
9942	}
9943
9944	if invalidParams.Len() > 0 {
9945		return invalidParams
9946	}
9947	return nil
9948}
9949
9950// SetKMSKeyArn sets the KMSKeyArn field's value.
9951func (s *S3Config) SetKMSKeyArn(v string) *S3Config {
9952	s.KMSKeyArn = &v
9953	return s
9954}
9955
9956// SetPath sets the Path field's value.
9957func (s *S3Config) SetPath(v string) *S3Config {
9958	s.Path = &v
9959	return s
9960}
9961
9962// SetRoleArn sets the RoleArn field's value.
9963func (s *S3Config) SetRoleArn(v string) *S3Config {
9964	s.RoleArn = &v
9965	return s
9966}
9967
9968// Defines the fields of a dataset. You specify this object in the CreateDataset
9969// request.
9970type Schema struct {
9971	_ struct{} `type:"structure"`
9972
9973	// An array of attributes specifying the name and type of each field in a dataset.
9974	Attributes []*SchemaAttribute `min:"1" type:"list"`
9975}
9976
9977// String returns the string representation
9978func (s Schema) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s Schema) GoString() string {
9984	return s.String()
9985}
9986
9987// Validate inspects the fields of the type to determine if they are valid.
9988func (s *Schema) Validate() error {
9989	invalidParams := request.ErrInvalidParams{Context: "Schema"}
9990	if s.Attributes != nil && len(s.Attributes) < 1 {
9991		invalidParams.Add(request.NewErrParamMinLen("Attributes", 1))
9992	}
9993	if s.Attributes != nil {
9994		for i, v := range s.Attributes {
9995			if v == nil {
9996				continue
9997			}
9998			if err := v.Validate(); err != nil {
9999				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams))
10000			}
10001		}
10002	}
10003
10004	if invalidParams.Len() > 0 {
10005		return invalidParams
10006	}
10007	return nil
10008}
10009
10010// SetAttributes sets the Attributes field's value.
10011func (s *Schema) SetAttributes(v []*SchemaAttribute) *Schema {
10012	s.Attributes = v
10013	return s
10014}
10015
10016// An attribute of a schema, which defines a dataset field. A schema attribute
10017// is required for every field in a dataset. The Schema object contains an array
10018// of SchemaAttribute objects.
10019type SchemaAttribute struct {
10020	_ struct{} `type:"structure"`
10021
10022	// The name of the dataset field.
10023	AttributeName *string `min:"1" type:"string"`
10024
10025	// The data type of the field.
10026	AttributeType *string `type:"string" enum:"AttributeType"`
10027}
10028
10029// String returns the string representation
10030func (s SchemaAttribute) String() string {
10031	return awsutil.Prettify(s)
10032}
10033
10034// GoString returns the string representation
10035func (s SchemaAttribute) GoString() string {
10036	return s.String()
10037}
10038
10039// Validate inspects the fields of the type to determine if they are valid.
10040func (s *SchemaAttribute) Validate() error {
10041	invalidParams := request.ErrInvalidParams{Context: "SchemaAttribute"}
10042	if s.AttributeName != nil && len(*s.AttributeName) < 1 {
10043		invalidParams.Add(request.NewErrParamMinLen("AttributeName", 1))
10044	}
10045
10046	if invalidParams.Len() > 0 {
10047		return invalidParams
10048	}
10049	return nil
10050}
10051
10052// SetAttributeName sets the AttributeName field's value.
10053func (s *SchemaAttribute) SetAttributeName(v string) *SchemaAttribute {
10054	s.AttributeName = &v
10055	return s
10056}
10057
10058// SetAttributeType sets the AttributeType field's value.
10059func (s *SchemaAttribute) SetAttributeType(v string) *SchemaAttribute {
10060	s.AttributeType = &v
10061	return s
10062}
10063
10064// Provides statistics for each data field imported into to an Amazon Forecast
10065// dataset with the CreateDatasetImportJob operation.
10066type Statistics struct {
10067	_ struct{} `type:"structure"`
10068
10069	// For a numeric field, the average value in the field.
10070	Avg *float64 `type:"double"`
10071
10072	// The number of values in the field.
10073	Count *int64 `type:"integer"`
10074
10075	// The number of distinct values in the field.
10076	CountDistinct *int64 `type:"integer"`
10077
10078	// The number of NAN (not a number) values in the field.
10079	CountNan *int64 `type:"integer"`
10080
10081	// The number of null values in the field.
10082	CountNull *int64 `type:"integer"`
10083
10084	// For a numeric field, the maximum value in the field.
10085	Max *string `type:"string"`
10086
10087	// For a numeric field, the minimum value in the field.
10088	Min *string `type:"string"`
10089
10090	// For a numeric field, the standard deviation.
10091	Stddev *float64 `type:"double"`
10092}
10093
10094// String returns the string representation
10095func (s Statistics) String() string {
10096	return awsutil.Prettify(s)
10097}
10098
10099// GoString returns the string representation
10100func (s Statistics) GoString() string {
10101	return s.String()
10102}
10103
10104// SetAvg sets the Avg field's value.
10105func (s *Statistics) SetAvg(v float64) *Statistics {
10106	s.Avg = &v
10107	return s
10108}
10109
10110// SetCount sets the Count field's value.
10111func (s *Statistics) SetCount(v int64) *Statistics {
10112	s.Count = &v
10113	return s
10114}
10115
10116// SetCountDistinct sets the CountDistinct field's value.
10117func (s *Statistics) SetCountDistinct(v int64) *Statistics {
10118	s.CountDistinct = &v
10119	return s
10120}
10121
10122// SetCountNan sets the CountNan field's value.
10123func (s *Statistics) SetCountNan(v int64) *Statistics {
10124	s.CountNan = &v
10125	return s
10126}
10127
10128// SetCountNull sets the CountNull field's value.
10129func (s *Statistics) SetCountNull(v int64) *Statistics {
10130	s.CountNull = &v
10131	return s
10132}
10133
10134// SetMax sets the Max field's value.
10135func (s *Statistics) SetMax(v string) *Statistics {
10136	s.Max = &v
10137	return s
10138}
10139
10140// SetMin sets the Min field's value.
10141func (s *Statistics) SetMin(v string) *Statistics {
10142	s.Min = &v
10143	return s
10144}
10145
10146// SetStddev sets the Stddev field's value.
10147func (s *Statistics) SetStddev(v float64) *Statistics {
10148	s.Stddev = &v
10149	return s
10150}
10151
10152type StopResourceInput struct {
10153	_ struct{} `type:"structure"`
10154
10155	// The Amazon Resource Name (ARN) that identifies the resource to stop. The
10156	// supported ARNs are DatasetImportJobArn, PredictorArn, PredictorBacktestExportJobArn,
10157	// ForecastArn, and ForecastExportJobArn.
10158	//
10159	// ResourceArn is a required field
10160	ResourceArn *string `type:"string" required:"true"`
10161}
10162
10163// String returns the string representation
10164func (s StopResourceInput) String() string {
10165	return awsutil.Prettify(s)
10166}
10167
10168// GoString returns the string representation
10169func (s StopResourceInput) GoString() string {
10170	return s.String()
10171}
10172
10173// Validate inspects the fields of the type to determine if they are valid.
10174func (s *StopResourceInput) Validate() error {
10175	invalidParams := request.ErrInvalidParams{Context: "StopResourceInput"}
10176	if s.ResourceArn == nil {
10177		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10178	}
10179
10180	if invalidParams.Len() > 0 {
10181		return invalidParams
10182	}
10183	return nil
10184}
10185
10186// SetResourceArn sets the ResourceArn field's value.
10187func (s *StopResourceInput) SetResourceArn(v string) *StopResourceInput {
10188	s.ResourceArn = &v
10189	return s
10190}
10191
10192type StopResourceOutput struct {
10193	_ struct{} `type:"structure"`
10194}
10195
10196// String returns the string representation
10197func (s StopResourceOutput) String() string {
10198	return awsutil.Prettify(s)
10199}
10200
10201// GoString returns the string representation
10202func (s StopResourceOutput) GoString() string {
10203	return s.String()
10204}
10205
10206// Describes a supplementary feature of a dataset group. This object is part
10207// of the InputDataConfig object. Forecast supports the Weather Index and Holidays
10208// built-in featurizations.
10209//
10210// Weather Index
10211//
10212// The Amazon Forecast Weather Index is a built-in featurization that incorporates
10213// historical and projected weather information into your model. The Weather
10214// Index supplements your datasets with over two years of historical weather
10215// data and up to 14 days of projected weather data. For more information, see
10216// Amazon Forecast Weather Index (https://docs.aws.amazon.com/forecast/latest/dg/weather.html).
10217//
10218// Holidays
10219//
10220// Holidays is a built-in featurization that incorporates a feature-engineered
10221// dataset of national holiday information into your model. It provides native
10222// support for the holiday calendars of 66 countries. To view the holiday calendars,
10223// refer to the Jollyday (http://jollyday.sourceforge.net/data.html) library.
10224// For more information, see Holidays Featurization (https://docs.aws.amazon.com/forecast/latest/dg/holidays.html).
10225type SupplementaryFeature struct {
10226	_ struct{} `type:"structure"`
10227
10228	// The name of the feature. Valid values: "holiday" and "weather".
10229	//
10230	// Name is a required field
10231	Name *string `min:"1" type:"string" required:"true"`
10232
10233	// Weather Index
10234	//
10235	// To enable the Weather Index, set the value to "true"
10236	//
10237	// Holidays
10238	//
10239	// To enable Holidays, specify a country with one of the following two-letter
10240	// country codes:
10241	//
10242	//    * "AL" - ALBANIA
10243	//
10244	//    * "AR" - ARGENTINA
10245	//
10246	//    * "AT" - AUSTRIA
10247	//
10248	//    * "AU" - AUSTRALIA
10249	//
10250	//    * "BA" - BOSNIA HERZEGOVINA
10251	//
10252	//    * "BE" - BELGIUM
10253	//
10254	//    * "BG" - BULGARIA
10255	//
10256	//    * "BO" - BOLIVIA
10257	//
10258	//    * "BR" - BRAZIL
10259	//
10260	//    * "BY" - BELARUS
10261	//
10262	//    * "CA" - CANADA
10263	//
10264	//    * "CL" - CHILE
10265	//
10266	//    * "CO" - COLOMBIA
10267	//
10268	//    * "CR" - COSTA RICA
10269	//
10270	//    * "HR" - CROATIA
10271	//
10272	//    * "CZ" - CZECH REPUBLIC
10273	//
10274	//    * "DK" - DENMARK
10275	//
10276	//    * "EC" - ECUADOR
10277	//
10278	//    * "EE" - ESTONIA
10279	//
10280	//    * "ET" - ETHIOPIA
10281	//
10282	//    * "FI" - FINLAND
10283	//
10284	//    * "FR" - FRANCE
10285	//
10286	//    * "DE" - GERMANY
10287	//
10288	//    * "GR" - GREECE
10289	//
10290	//    * "HU" - HUNGARY
10291	//
10292	//    * "IS" - ICELAND
10293	//
10294	//    * "IN" - INDIA
10295	//
10296	//    * "IE" - IRELAND
10297	//
10298	//    * "IT" - ITALY
10299	//
10300	//    * "JP" - JAPAN
10301	//
10302	//    * "KZ" - KAZAKHSTAN
10303	//
10304	//    * "KR" - KOREA
10305	//
10306	//    * "LV" - LATVIA
10307	//
10308	//    * "LI" - LIECHTENSTEIN
10309	//
10310	//    * "LT" - LITHUANIA
10311	//
10312	//    * "LU" - LUXEMBOURG
10313	//
10314	//    * "MK" - MACEDONIA
10315	//
10316	//    * "MT" - MALTA
10317	//
10318	//    * "MX" - MEXICO
10319	//
10320	//    * "MD" - MOLDOVA
10321	//
10322	//    * "ME" - MONTENEGRO
10323	//
10324	//    * "NL" - NETHERLANDS
10325	//
10326	//    * "NZ" - NEW ZEALAND
10327	//
10328	//    * "NI" - NICARAGUA
10329	//
10330	//    * "NG" - NIGERIA
10331	//
10332	//    * "NO" - NORWAY
10333	//
10334	//    * "PA" - PANAMA
10335	//
10336	//    * "PY" - PARAGUAY
10337	//
10338	//    * "PE" - PERU
10339	//
10340	//    * "PL" - POLAND
10341	//
10342	//    * "PT" - PORTUGAL
10343	//
10344	//    * "RO" - ROMANIA
10345	//
10346	//    * "RU" - RUSSIA
10347	//
10348	//    * "RS" - SERBIA
10349	//
10350	//    * "SK" - SLOVAKIA
10351	//
10352	//    * "SI" - SLOVENIA
10353	//
10354	//    * "ZA" - SOUTH AFRICA
10355	//
10356	//    * "ES" - SPAIN
10357	//
10358	//    * "SE" - SWEDEN
10359	//
10360	//    * "CH" - SWITZERLAND
10361	//
10362	//    * "UA" - UKRAINE
10363	//
10364	//    * "AE" - UNITED ARAB EMIRATES
10365	//
10366	//    * "US" - UNITED STATES
10367	//
10368	//    * "UK" - UNITED KINGDOM
10369	//
10370	//    * "UY" - URUGUAY
10371	//
10372	//    * "VE" - VENEZUELA
10373	//
10374	// Value is a required field
10375	Value *string `type:"string" required:"true"`
10376}
10377
10378// String returns the string representation
10379func (s SupplementaryFeature) String() string {
10380	return awsutil.Prettify(s)
10381}
10382
10383// GoString returns the string representation
10384func (s SupplementaryFeature) GoString() string {
10385	return s.String()
10386}
10387
10388// Validate inspects the fields of the type to determine if they are valid.
10389func (s *SupplementaryFeature) Validate() error {
10390	invalidParams := request.ErrInvalidParams{Context: "SupplementaryFeature"}
10391	if s.Name == nil {
10392		invalidParams.Add(request.NewErrParamRequired("Name"))
10393	}
10394	if s.Name != nil && len(*s.Name) < 1 {
10395		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10396	}
10397	if s.Value == nil {
10398		invalidParams.Add(request.NewErrParamRequired("Value"))
10399	}
10400
10401	if invalidParams.Len() > 0 {
10402		return invalidParams
10403	}
10404	return nil
10405}
10406
10407// SetName sets the Name field's value.
10408func (s *SupplementaryFeature) SetName(v string) *SupplementaryFeature {
10409	s.Name = &v
10410	return s
10411}
10412
10413// SetValue sets the Value field's value.
10414func (s *SupplementaryFeature) SetValue(v string) *SupplementaryFeature {
10415	s.Value = &v
10416	return s
10417}
10418
10419// The optional metadata that you apply to a resource to help you categorize
10420// and organize them. Each tag consists of a key and an optional value, both
10421// of which you define.
10422//
10423// The following basic restrictions apply to tags:
10424//
10425//    * Maximum number of tags per resource - 50.
10426//
10427//    * For each resource, each tag key must be unique, and each tag key can
10428//    have only one value.
10429//
10430//    * Maximum key length - 128 Unicode characters in UTF-8.
10431//
10432//    * Maximum value length - 256 Unicode characters in UTF-8.
10433//
10434//    * If your tagging schema is used across multiple services and resources,
10435//    remember that other services may have restrictions on allowed characters.
10436//    Generally allowed characters are: letters, numbers, and spaces representable
10437//    in UTF-8, and the following characters: + - = . _ : / @.
10438//
10439//    * Tag keys and values are case sensitive.
10440//
10441//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
10442//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
10443//    delete tag keys with this prefix. Values can have this prefix. If a tag
10444//    value has aws as its prefix but the key does not, then Forecast considers
10445//    it to be a user tag and will count against the limit of 50 tags. Tags
10446//    with only the key prefix of aws do not count against your tags per resource
10447//    limit.
10448type Tag struct {
10449	_ struct{} `type:"structure"`
10450
10451	// One part of a key-value pair that makes up a tag. A key is a general label
10452	// that acts like a category for more specific tag values.
10453	//
10454	// Key is a required field
10455	Key *string `min:"1" type:"string" required:"true" sensitive:"true"`
10456
10457	// The optional part of a key-value pair that makes up a tag. A value acts as
10458	// a descriptor within a tag category (key).
10459	//
10460	// Value is a required field
10461	Value *string `type:"string" required:"true" sensitive:"true"`
10462}
10463
10464// String returns the string representation
10465func (s Tag) String() string {
10466	return awsutil.Prettify(s)
10467}
10468
10469// GoString returns the string representation
10470func (s Tag) GoString() string {
10471	return s.String()
10472}
10473
10474// Validate inspects the fields of the type to determine if they are valid.
10475func (s *Tag) Validate() error {
10476	invalidParams := request.ErrInvalidParams{Context: "Tag"}
10477	if s.Key == nil {
10478		invalidParams.Add(request.NewErrParamRequired("Key"))
10479	}
10480	if s.Key != nil && len(*s.Key) < 1 {
10481		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10482	}
10483	if s.Value == nil {
10484		invalidParams.Add(request.NewErrParamRequired("Value"))
10485	}
10486
10487	if invalidParams.Len() > 0 {
10488		return invalidParams
10489	}
10490	return nil
10491}
10492
10493// SetKey sets the Key field's value.
10494func (s *Tag) SetKey(v string) *Tag {
10495	s.Key = &v
10496	return s
10497}
10498
10499// SetValue sets the Value field's value.
10500func (s *Tag) SetValue(v string) *Tag {
10501	s.Value = &v
10502	return s
10503}
10504
10505type TagResourceInput struct {
10506	_ struct{} `type:"structure"`
10507
10508	// The Amazon Resource Name (ARN) that identifies the resource for which to
10509	// list the tags. Currently, the supported resources are Forecast dataset groups,
10510	// datasets, dataset import jobs, predictors, forecasts, and forecast export
10511	// jobs.
10512	//
10513	// ResourceArn is a required field
10514	ResourceArn *string `type:"string" required:"true"`
10515
10516	// The tags to add to the resource. A tag is an array of key-value pairs.
10517	//
10518	// The following basic restrictions apply to tags:
10519	//
10520	//    * Maximum number of tags per resource - 50.
10521	//
10522	//    * For each resource, each tag key must be unique, and each tag key can
10523	//    have only one value.
10524	//
10525	//    * Maximum key length - 128 Unicode characters in UTF-8.
10526	//
10527	//    * Maximum value length - 256 Unicode characters in UTF-8.
10528	//
10529	//    * If your tagging schema is used across multiple services and resources,
10530	//    remember that other services may have restrictions on allowed characters.
10531	//    Generally allowed characters are: letters, numbers, and spaces representable
10532	//    in UTF-8, and the following characters: + - = . _ : / @.
10533	//
10534	//    * Tag keys and values are case sensitive.
10535	//
10536	//    * Do not use aws:, AWS:, or any upper or lowercase combination of such
10537	//    as a prefix for keys as it is reserved for AWS use. You cannot edit or
10538	//    delete tag keys with this prefix. Values can have this prefix. If a tag
10539	//    value has aws as its prefix but the key does not, then Forecast considers
10540	//    it to be a user tag and will count against the limit of 50 tags. Tags
10541	//    with only the key prefix of aws do not count against your tags per resource
10542	//    limit.
10543	//
10544	// Tags is a required field
10545	Tags []*Tag `type:"list" required:"true"`
10546}
10547
10548// String returns the string representation
10549func (s TagResourceInput) String() string {
10550	return awsutil.Prettify(s)
10551}
10552
10553// GoString returns the string representation
10554func (s TagResourceInput) GoString() string {
10555	return s.String()
10556}
10557
10558// Validate inspects the fields of the type to determine if they are valid.
10559func (s *TagResourceInput) Validate() error {
10560	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10561	if s.ResourceArn == nil {
10562		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10563	}
10564	if s.Tags == nil {
10565		invalidParams.Add(request.NewErrParamRequired("Tags"))
10566	}
10567	if s.Tags != nil {
10568		for i, v := range s.Tags {
10569			if v == nil {
10570				continue
10571			}
10572			if err := v.Validate(); err != nil {
10573				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10574			}
10575		}
10576	}
10577
10578	if invalidParams.Len() > 0 {
10579		return invalidParams
10580	}
10581	return nil
10582}
10583
10584// SetResourceArn sets the ResourceArn field's value.
10585func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10586	s.ResourceArn = &v
10587	return s
10588}
10589
10590// SetTags sets the Tags field's value.
10591func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
10592	s.Tags = v
10593	return s
10594}
10595
10596type TagResourceOutput struct {
10597	_ struct{} `type:"structure"`
10598}
10599
10600// String returns the string representation
10601func (s TagResourceOutput) String() string {
10602	return awsutil.Prettify(s)
10603}
10604
10605// GoString returns the string representation
10606func (s TagResourceOutput) GoString() string {
10607	return s.String()
10608}
10609
10610// The status, start time, and end time of a backtest, as well as a failure
10611// reason if applicable.
10612type TestWindowSummary struct {
10613	_ struct{} `type:"structure"`
10614
10615	// If the test failed, the reason why it failed.
10616	Message *string `type:"string"`
10617
10618	// The status of the test. Possible status values are:
10619	//
10620	//    * ACTIVE
10621	//
10622	//    * CREATE_IN_PROGRESS
10623	//
10624	//    * CREATE_FAILED
10625	Status *string `type:"string"`
10626
10627	// The time at which the test ended.
10628	TestWindowEnd *time.Time `type:"timestamp"`
10629
10630	// The time at which the test began.
10631	TestWindowStart *time.Time `type:"timestamp"`
10632}
10633
10634// String returns the string representation
10635func (s TestWindowSummary) String() string {
10636	return awsutil.Prettify(s)
10637}
10638
10639// GoString returns the string representation
10640func (s TestWindowSummary) GoString() string {
10641	return s.String()
10642}
10643
10644// SetMessage sets the Message field's value.
10645func (s *TestWindowSummary) SetMessage(v string) *TestWindowSummary {
10646	s.Message = &v
10647	return s
10648}
10649
10650// SetStatus sets the Status field's value.
10651func (s *TestWindowSummary) SetStatus(v string) *TestWindowSummary {
10652	s.Status = &v
10653	return s
10654}
10655
10656// SetTestWindowEnd sets the TestWindowEnd field's value.
10657func (s *TestWindowSummary) SetTestWindowEnd(v time.Time) *TestWindowSummary {
10658	s.TestWindowEnd = &v
10659	return s
10660}
10661
10662// SetTestWindowStart sets the TestWindowStart field's value.
10663func (s *TestWindowSummary) SetTestWindowStart(v time.Time) *TestWindowSummary {
10664	s.TestWindowStart = &v
10665	return s
10666}
10667
10668type UntagResourceInput struct {
10669	_ struct{} `type:"structure"`
10670
10671	// The Amazon Resource Name (ARN) that identifies the resource for which to
10672	// list the tags. Currently, the supported resources are Forecast dataset groups,
10673	// datasets, dataset import jobs, predictors, forecasts, and forecast exports.
10674	//
10675	// ResourceArn is a required field
10676	ResourceArn *string `type:"string" required:"true"`
10677
10678	// The keys of the tags to be removed.
10679	//
10680	// TagKeys is a required field
10681	TagKeys []*string `type:"list" required:"true"`
10682}
10683
10684// String returns the string representation
10685func (s UntagResourceInput) String() string {
10686	return awsutil.Prettify(s)
10687}
10688
10689// GoString returns the string representation
10690func (s UntagResourceInput) GoString() string {
10691	return s.String()
10692}
10693
10694// Validate inspects the fields of the type to determine if they are valid.
10695func (s *UntagResourceInput) Validate() error {
10696	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10697	if s.ResourceArn == nil {
10698		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10699	}
10700	if s.TagKeys == nil {
10701		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10702	}
10703
10704	if invalidParams.Len() > 0 {
10705		return invalidParams
10706	}
10707	return nil
10708}
10709
10710// SetResourceArn sets the ResourceArn field's value.
10711func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10712	s.ResourceArn = &v
10713	return s
10714}
10715
10716// SetTagKeys sets the TagKeys field's value.
10717func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10718	s.TagKeys = v
10719	return s
10720}
10721
10722type UntagResourceOutput struct {
10723	_ struct{} `type:"structure"`
10724}
10725
10726// String returns the string representation
10727func (s UntagResourceOutput) String() string {
10728	return awsutil.Prettify(s)
10729}
10730
10731// GoString returns the string representation
10732func (s UntagResourceOutput) GoString() string {
10733	return s.String()
10734}
10735
10736type UpdateDatasetGroupInput struct {
10737	_ struct{} `type:"structure"`
10738
10739	// An array of the Amazon Resource Names (ARNs) of the datasets to add to the
10740	// dataset group.
10741	//
10742	// DatasetArns is a required field
10743	DatasetArns []*string `type:"list" required:"true"`
10744
10745	// The ARN of the dataset group.
10746	//
10747	// DatasetGroupArn is a required field
10748	DatasetGroupArn *string `type:"string" required:"true"`
10749}
10750
10751// String returns the string representation
10752func (s UpdateDatasetGroupInput) String() string {
10753	return awsutil.Prettify(s)
10754}
10755
10756// GoString returns the string representation
10757func (s UpdateDatasetGroupInput) GoString() string {
10758	return s.String()
10759}
10760
10761// Validate inspects the fields of the type to determine if they are valid.
10762func (s *UpdateDatasetGroupInput) Validate() error {
10763	invalidParams := request.ErrInvalidParams{Context: "UpdateDatasetGroupInput"}
10764	if s.DatasetArns == nil {
10765		invalidParams.Add(request.NewErrParamRequired("DatasetArns"))
10766	}
10767	if s.DatasetGroupArn == nil {
10768		invalidParams.Add(request.NewErrParamRequired("DatasetGroupArn"))
10769	}
10770
10771	if invalidParams.Len() > 0 {
10772		return invalidParams
10773	}
10774	return nil
10775}
10776
10777// SetDatasetArns sets the DatasetArns field's value.
10778func (s *UpdateDatasetGroupInput) SetDatasetArns(v []*string) *UpdateDatasetGroupInput {
10779	s.DatasetArns = v
10780	return s
10781}
10782
10783// SetDatasetGroupArn sets the DatasetGroupArn field's value.
10784func (s *UpdateDatasetGroupInput) SetDatasetGroupArn(v string) *UpdateDatasetGroupInput {
10785	s.DatasetGroupArn = &v
10786	return s
10787}
10788
10789type UpdateDatasetGroupOutput struct {
10790	_ struct{} `type:"structure"`
10791}
10792
10793// String returns the string representation
10794func (s UpdateDatasetGroupOutput) String() string {
10795	return awsutil.Prettify(s)
10796}
10797
10798// GoString returns the string representation
10799func (s UpdateDatasetGroupOutput) GoString() string {
10800	return s.String()
10801}
10802
10803// The weighted loss value for a quantile. This object is part of the Metrics
10804// object.
10805type WeightedQuantileLoss struct {
10806	_ struct{} `type:"structure"`
10807
10808	// The difference between the predicted value and the actual value over the
10809	// quantile, weighted (normalized) by dividing by the sum over all quantiles.
10810	LossValue *float64 `type:"double"`
10811
10812	// The quantile. Quantiles divide a probability distribution into regions of
10813	// equal probability. For example, if the distribution was divided into 5 regions
10814	// of equal probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.
10815	Quantile *float64 `type:"double"`
10816}
10817
10818// String returns the string representation
10819func (s WeightedQuantileLoss) String() string {
10820	return awsutil.Prettify(s)
10821}
10822
10823// GoString returns the string representation
10824func (s WeightedQuantileLoss) GoString() string {
10825	return s.String()
10826}
10827
10828// SetLossValue sets the LossValue field's value.
10829func (s *WeightedQuantileLoss) SetLossValue(v float64) *WeightedQuantileLoss {
10830	s.LossValue = &v
10831	return s
10832}
10833
10834// SetQuantile sets the Quantile field's value.
10835func (s *WeightedQuantileLoss) SetQuantile(v float64) *WeightedQuantileLoss {
10836	s.Quantile = &v
10837	return s
10838}
10839
10840// The metrics for a time range within the evaluation portion of a dataset.
10841// This object is part of the EvaluationResult object.
10842//
10843// The TestWindowStart and TestWindowEnd parameters are determined by the BackTestWindowOffset
10844// parameter of the EvaluationParameters object.
10845type WindowSummary struct {
10846	_ struct{} `type:"structure"`
10847
10848	// The type of evaluation.
10849	//
10850	//    * SUMMARY - The average metrics across all windows.
10851	//
10852	//    * COMPUTED - The metrics for the specified window.
10853	EvaluationType *string `type:"string" enum:"EvaluationType"`
10854
10855	// The number of data points within the window.
10856	ItemCount *int64 `type:"integer"`
10857
10858	// Provides metrics used to evaluate the performance of a predictor.
10859	Metrics *Metrics `type:"structure"`
10860
10861	// The timestamp that defines the end of the window.
10862	TestWindowEnd *time.Time `type:"timestamp"`
10863
10864	// The timestamp that defines the start of the window.
10865	TestWindowStart *time.Time `type:"timestamp"`
10866}
10867
10868// String returns the string representation
10869func (s WindowSummary) String() string {
10870	return awsutil.Prettify(s)
10871}
10872
10873// GoString returns the string representation
10874func (s WindowSummary) GoString() string {
10875	return s.String()
10876}
10877
10878// SetEvaluationType sets the EvaluationType field's value.
10879func (s *WindowSummary) SetEvaluationType(v string) *WindowSummary {
10880	s.EvaluationType = &v
10881	return s
10882}
10883
10884// SetItemCount sets the ItemCount field's value.
10885func (s *WindowSummary) SetItemCount(v int64) *WindowSummary {
10886	s.ItemCount = &v
10887	return s
10888}
10889
10890// SetMetrics sets the Metrics field's value.
10891func (s *WindowSummary) SetMetrics(v *Metrics) *WindowSummary {
10892	s.Metrics = v
10893	return s
10894}
10895
10896// SetTestWindowEnd sets the TestWindowEnd field's value.
10897func (s *WindowSummary) SetTestWindowEnd(v time.Time) *WindowSummary {
10898	s.TestWindowEnd = &v
10899	return s
10900}
10901
10902// SetTestWindowStart sets the TestWindowStart field's value.
10903func (s *WindowSummary) SetTestWindowStart(v time.Time) *WindowSummary {
10904	s.TestWindowStart = &v
10905	return s
10906}
10907
10908const (
10909	// AttributeTypeString is a AttributeType enum value
10910	AttributeTypeString = "string"
10911
10912	// AttributeTypeInteger is a AttributeType enum value
10913	AttributeTypeInteger = "integer"
10914
10915	// AttributeTypeFloat is a AttributeType enum value
10916	AttributeTypeFloat = "float"
10917
10918	// AttributeTypeTimestamp is a AttributeType enum value
10919	AttributeTypeTimestamp = "timestamp"
10920
10921	// AttributeTypeGeolocation is a AttributeType enum value
10922	AttributeTypeGeolocation = "geolocation"
10923)
10924
10925// AttributeType_Values returns all elements of the AttributeType enum
10926func AttributeType_Values() []string {
10927	return []string{
10928		AttributeTypeString,
10929		AttributeTypeInteger,
10930		AttributeTypeFloat,
10931		AttributeTypeTimestamp,
10932		AttributeTypeGeolocation,
10933	}
10934}
10935
10936const (
10937	// DatasetTypeTargetTimeSeries is a DatasetType enum value
10938	DatasetTypeTargetTimeSeries = "TARGET_TIME_SERIES"
10939
10940	// DatasetTypeRelatedTimeSeries is a DatasetType enum value
10941	DatasetTypeRelatedTimeSeries = "RELATED_TIME_SERIES"
10942
10943	// DatasetTypeItemMetadata is a DatasetType enum value
10944	DatasetTypeItemMetadata = "ITEM_METADATA"
10945)
10946
10947// DatasetType_Values returns all elements of the DatasetType enum
10948func DatasetType_Values() []string {
10949	return []string{
10950		DatasetTypeTargetTimeSeries,
10951		DatasetTypeRelatedTimeSeries,
10952		DatasetTypeItemMetadata,
10953	}
10954}
10955
10956const (
10957	// DomainRetail is a Domain enum value
10958	DomainRetail = "RETAIL"
10959
10960	// DomainCustom is a Domain enum value
10961	DomainCustom = "CUSTOM"
10962
10963	// DomainInventoryPlanning is a Domain enum value
10964	DomainInventoryPlanning = "INVENTORY_PLANNING"
10965
10966	// DomainEc2Capacity is a Domain enum value
10967	DomainEc2Capacity = "EC2_CAPACITY"
10968
10969	// DomainWorkForce is a Domain enum value
10970	DomainWorkForce = "WORK_FORCE"
10971
10972	// DomainWebTraffic is a Domain enum value
10973	DomainWebTraffic = "WEB_TRAFFIC"
10974
10975	// DomainMetrics is a Domain enum value
10976	DomainMetrics = "METRICS"
10977)
10978
10979// Domain_Values returns all elements of the Domain enum
10980func Domain_Values() []string {
10981	return []string{
10982		DomainRetail,
10983		DomainCustom,
10984		DomainInventoryPlanning,
10985		DomainEc2Capacity,
10986		DomainWorkForce,
10987		DomainWebTraffic,
10988		DomainMetrics,
10989	}
10990}
10991
10992const (
10993	// EvaluationTypeSummary is a EvaluationType enum value
10994	EvaluationTypeSummary = "SUMMARY"
10995
10996	// EvaluationTypeComputed is a EvaluationType enum value
10997	EvaluationTypeComputed = "COMPUTED"
10998)
10999
11000// EvaluationType_Values returns all elements of the EvaluationType enum
11001func EvaluationType_Values() []string {
11002	return []string{
11003		EvaluationTypeSummary,
11004		EvaluationTypeComputed,
11005	}
11006}
11007
11008const (
11009	// FeaturizationMethodNameFilling is a FeaturizationMethodName enum value
11010	FeaturizationMethodNameFilling = "filling"
11011)
11012
11013// FeaturizationMethodName_Values returns all elements of the FeaturizationMethodName enum
11014func FeaturizationMethodName_Values() []string {
11015	return []string{
11016		FeaturizationMethodNameFilling,
11017	}
11018}
11019
11020const (
11021	// FilterConditionStringIs is a FilterConditionString enum value
11022	FilterConditionStringIs = "IS"
11023
11024	// FilterConditionStringIsNot is a FilterConditionString enum value
11025	FilterConditionStringIsNot = "IS_NOT"
11026)
11027
11028// FilterConditionString_Values returns all elements of the FilterConditionString enum
11029func FilterConditionString_Values() []string {
11030	return []string{
11031		FilterConditionStringIs,
11032		FilterConditionStringIsNot,
11033	}
11034}
11035
11036const (
11037	// ScalingTypeAuto is a ScalingType enum value
11038	ScalingTypeAuto = "Auto"
11039
11040	// ScalingTypeLinear is a ScalingType enum value
11041	ScalingTypeLinear = "Linear"
11042
11043	// ScalingTypeLogarithmic is a ScalingType enum value
11044	ScalingTypeLogarithmic = "Logarithmic"
11045
11046	// ScalingTypeReverseLogarithmic is a ScalingType enum value
11047	ScalingTypeReverseLogarithmic = "ReverseLogarithmic"
11048)
11049
11050// ScalingType_Values returns all elements of the ScalingType enum
11051func ScalingType_Values() []string {
11052	return []string{
11053		ScalingTypeAuto,
11054		ScalingTypeLinear,
11055		ScalingTypeLogarithmic,
11056		ScalingTypeReverseLogarithmic,
11057	}
11058}
11059