1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package forecast
4
5import (
6	"context"
7	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
8	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
9	"github.com/aws/aws-sdk-go-v2/service/forecast/types"
10	"github.com/aws/smithy-go/middleware"
11	smithyhttp "github.com/aws/smithy-go/transport/http"
12	"time"
13)
14
15// Describes a predictor backtest export job created using the
16// CreatePredictorBacktestExportJob operation. In addition to listing the
17// properties provided by the user in the CreatePredictorBacktestExportJob request,
18// this operation lists the following properties:
19//
20// * CreationTime
21//
22// *
23// LastModificationTime
24//
25// * Status
26//
27// * Message (if an error occurred)
28func (c *Client) DescribePredictorBacktestExportJob(ctx context.Context, params *DescribePredictorBacktestExportJobInput, optFns ...func(*Options)) (*DescribePredictorBacktestExportJobOutput, error) {
29	if params == nil {
30		params = &DescribePredictorBacktestExportJobInput{}
31	}
32
33	result, metadata, err := c.invokeOperation(ctx, "DescribePredictorBacktestExportJob", params, optFns, addOperationDescribePredictorBacktestExportJobMiddlewares)
34	if err != nil {
35		return nil, err
36	}
37
38	out := result.(*DescribePredictorBacktestExportJobOutput)
39	out.ResultMetadata = metadata
40	return out, nil
41}
42
43type DescribePredictorBacktestExportJobInput struct {
44
45	// The Amazon Resource Name (ARN) of the predictor backtest export job.
46	//
47	// This member is required.
48	PredictorBacktestExportJobArn *string
49}
50
51type DescribePredictorBacktestExportJobOutput struct {
52
53	// When the predictor backtest export job was created.
54	CreationTime *time.Time
55
56	// The destination for an export job. Provide an S3 path, an AWS Identity and
57	// Access Management (IAM) role that allows Amazon Forecast to access the location,
58	// and an AWS Key Management Service (KMS) key (optional).
59	Destination *types.DataDestination
60
61	// When the last successful export job finished.
62	LastModificationTime *time.Time
63
64	// Information about any errors that may have occurred during the backtest export.
65	Message *string
66
67	// The Amazon Resource Name (ARN) of the predictor.
68	PredictorArn *string
69
70	// The Amazon Resource Name (ARN) of the predictor backtest export job.
71	PredictorBacktestExportJobArn *string
72
73	// The name of the predictor backtest export job.
74	PredictorBacktestExportJobName *string
75
76	// The status of the predictor backtest export job. States include:
77	//
78	// * ACTIVE
79	//
80	// *
81	// CREATE_PENDING
82	//
83	// * CREATE_IN_PROGRESS
84	//
85	// * CREATE_FAILED
86	//
87	// * DELETE_PENDING
88	//
89	// *
90	// DELETE_IN_PROGRESS
91	//
92	// * DELETE_FAILED
93	Status *string
94
95	// Metadata pertaining to the operation's result.
96	ResultMetadata middleware.Metadata
97}
98
99func addOperationDescribePredictorBacktestExportJobMiddlewares(stack *middleware.Stack, options Options) (err error) {
100	err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribePredictorBacktestExportJob{}, middleware.After)
101	if err != nil {
102		return err
103	}
104	err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribePredictorBacktestExportJob{}, middleware.After)
105	if err != nil {
106		return err
107	}
108	if err = addSetLoggerMiddleware(stack, options); err != nil {
109		return err
110	}
111	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
112		return err
113	}
114	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
115		return err
116	}
117	if err = addResolveEndpointMiddleware(stack, options); err != nil {
118		return err
119	}
120	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
121		return err
122	}
123	if err = addRetryMiddlewares(stack, options); err != nil {
124		return err
125	}
126	if err = addHTTPSignerV4Middleware(stack, options); err != nil {
127		return err
128	}
129	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
130		return err
131	}
132	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
133		return err
134	}
135	if err = addClientUserAgent(stack); err != nil {
136		return err
137	}
138	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
139		return err
140	}
141	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
142		return err
143	}
144	if err = addOpDescribePredictorBacktestExportJobValidationMiddleware(stack); err != nil {
145		return err
146	}
147	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribePredictorBacktestExportJob(options.Region), middleware.Before); err != nil {
148		return err
149	}
150	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
151		return err
152	}
153	if err = addResponseErrorMiddleware(stack); err != nil {
154		return err
155	}
156	if err = addRequestResponseLogging(stack, options); err != nil {
157		return err
158	}
159	return nil
160}
161
162func newServiceMetadataMiddleware_opDescribePredictorBacktestExportJob(region string) *awsmiddleware.RegisterServiceMetadata {
163	return &awsmiddleware.RegisterServiceMetadata{
164		Region:        region,
165		ServiceID:     ServiceID,
166		SigningName:   "forecast",
167		OperationName: "DescribePredictorBacktestExportJob",
168	}
169}
170