// Code generated by smithy-go-codegen DO NOT EDIT. package forecast import ( "context" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/forecast/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Exports backtest forecasts and accuracy metrics generated by the // CreateAutoPredictor or CreatePredictor operations. Two folders containing CSV // or Parquet files are exported to your specified S3 bucket. The export file names // will match the following conventions: __.csv The component is in Java // SimpleDate format (yyyy-MM-ddTHH-mm-ssZ). You must specify a DataDestination // object that includes an Amazon S3 bucket and an Identity and Access Management // (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For // more information, see aws-forecast-iam-roles . The Status of the export job // must be ACTIVE before you can access the export in your Amazon S3 bucket. To // get the status, use the DescribePredictorBacktestExportJob operation. func (c *Client) CreatePredictorBacktestExportJob(ctx context.Context, params *CreatePredictorBacktestExportJobInput, optFns ...func(*Options)) (*CreatePredictorBacktestExportJobOutput, error) { if params == nil { params = &CreatePredictorBacktestExportJobInput{} } result, metadata, err := c.invokeOperation(ctx, "CreatePredictorBacktestExportJob", params, optFns, c.addOperationCreatePredictorBacktestExportJobMiddlewares) if err != nil { return nil, err } out := result.(*CreatePredictorBacktestExportJobOutput) out.ResultMetadata = metadata return out, nil } type CreatePredictorBacktestExportJobInput struct { // The destination for an export job. Provide an S3 path, an Identity and Access // Management (IAM) role that allows Amazon Forecast to access the location, and an // Key Management Service (KMS) key (optional). // // This member is required. Destination *types.DataDestination // The Amazon Resource Name (ARN) of the predictor that you want to export. // // This member is required. PredictorArn *string // The name for the backtest export job. // // This member is required. PredictorBacktestExportJobName *string // The format of the exported data, CSV or PARQUET. The default value is CSV. Format *string // Optional metadata to help you categorize and organize your backtests. Each tag // consists of a key and an optional value, both of which you define. Tag keys and // values are case sensitive. The following restrictions apply to tags: // - For each resource, each tag key must be unique and each tag key must have // one value. // - Maximum number of tags per resource: 50. // - Maximum key length: 128 Unicode characters in UTF-8. // - Maximum value length: 256 Unicode characters in UTF-8. // - Accepted characters: all letters and numbers, spaces representable in // UTF-8, and + - = . _ : / @. If your tagging schema is used across other services // and resources, the character restrictions of those services also apply. // - Key prefixes cannot include any upper or lowercase combination of aws: or // AWS: . Values can have this prefix. If a tag value has aws as its prefix but // the key does not, Forecast considers it to be a user tag and will count against // the limit of 50 tags. Tags with only the key prefix of aws do not count // against your tags per resource limit. You cannot edit or delete tag keys with // this prefix. Tags []types.Tag noSmithyDocumentSerde } type CreatePredictorBacktestExportJobOutput struct { // The Amazon Resource Name (ARN) of the predictor backtest export job that you // want to export. PredictorBacktestExportJobArn *string // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationCreatePredictorBacktestExportJobMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreatePredictorBacktestExportJob{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreatePredictorBacktestExportJob{}, middleware.After) if err != nil { return err } if err = addSetLoggerMiddleware(stack, options); err != nil { return err } if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { return err } if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { return err } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { return err } if err = addRetryMiddlewares(stack, options); err != nil { return err } if err = addHTTPSignerV4Middleware(stack, options); err != nil { return err } if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { return err } if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { return err } if err = addClientUserAgent(stack, options); err != nil { return err } if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { return err } if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } if err = addOpCreatePredictorBacktestExportJobValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreatePredictorBacktestExportJob(options.Region), middleware.Before); err != nil { return err } if err = awsmiddleware.AddRecursionDetection(stack); err != nil { return err } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } if err = addResponseErrorMiddleware(stack); err != nil { return err } if err = addRequestResponseLogging(stack, options); err != nil { return err } return nil } func newServiceMetadataMiddleware_opCreatePredictorBacktestExportJob(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "forecast", OperationName: "CreatePredictorBacktestExportJob", } }