/
api_op_UpdateJobExecution.go
170 lines (147 loc) · 5.41 KB
/
api_op_UpdateJobExecution.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
// Code generated by smithy-go-codegen DO NOT EDIT.
package iotjobsdataplane
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/iotjobsdataplane/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Updates the status of a job execution.
func (c *Client) UpdateJobExecution(ctx context.Context, params *UpdateJobExecutionInput, optFns ...func(*Options)) (*UpdateJobExecutionOutput, error) {
if params == nil {
params = &UpdateJobExecutionInput{}
}
result, metadata, err := c.invokeOperation(ctx, "UpdateJobExecution", params, optFns, c.addOperationUpdateJobExecutionMiddlewares)
if err != nil {
return nil, err
}
out := result.(*UpdateJobExecutionOutput)
out.ResultMetadata = metadata
return out, nil
}
type UpdateJobExecutionInput struct {
// The unique identifier assigned to this job when it was created.
//
// This member is required.
JobId *string
// The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
// REJECTED). This must be specified on every update.
//
// This member is required.
Status types.JobExecutionStatus
// The name of the thing associated with the device.
//
// This member is required.
ThingName *string
// Optional. A number that identifies a particular job execution on a particular
// device.
ExecutionNumber *int64
// Optional. The expected current version of the job execution. Each time you
// update the job execution, its version is incremented. If the version of the job
// execution stored in Jobs does not match, the update is rejected with a
// VersionMismatch error, and an ErrorResponse that contains the current job
// execution status data is returned. (This makes it unnecessary to perform a
// separate DescribeJobExecution request in order to obtain the job execution
// status data.)
ExpectedVersion *int64
// Optional. When set to true, the response contains the job document. The default
// is false.
IncludeJobDocument *bool
// Optional. When included and set to true, the response contains the
// JobExecutionState data. The default is false.
IncludeJobExecutionState *bool
// Optional. A collection of name/value pairs that describe the status of the job
// execution. If not specified, the statusDetails are unchanged.
StatusDetails map[string]string
// Specifies the amount of time this device has to finish execution of this job. If
// the job execution status is not set to a terminal state before this timer
// expires, or before the timer is reset (by again calling UpdateJobExecution,
// setting the status to IN_PROGRESS and specifying a new timeout value in this
// field) the job execution status will be automatically set to TIMED_OUT. Note
// that setting or resetting this timeout has no effect on that job execution
// timeout which may have been specified when the job was created (CreateJob using
// field timeoutConfig).
StepTimeoutInMinutes *int64
noSmithyDocumentSerde
}
type UpdateJobExecutionOutput struct {
// A JobExecutionState object.
ExecutionState *types.JobExecutionState
// The contents of the Job Documents.
JobDocument *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationUpdateJobExecutionMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestjson1_serializeOpUpdateJobExecution{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUpdateJobExecution{}, 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); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpUpdateJobExecutionValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUpdateJobExecution(options.Region), middleware.Before); 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_opUpdateJobExecution(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "iot-jobs-data",
OperationName: "UpdateJobExecution",
}
}