1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package robomaker 4 5import ( 6 "context" 7 "fmt" 8 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 9 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 10 "github.com/aws/aws-sdk-go-v2/service/robomaker/types" 11 "github.com/aws/smithy-go/middleware" 12 smithyhttp "github.com/aws/smithy-go/transport/http" 13 "time" 14) 15 16// Syncrhonizes robots in a fleet to the latest deployment. This is helpful if 17// robots were added after a deployment. 18func (c *Client) SyncDeploymentJob(ctx context.Context, params *SyncDeploymentJobInput, optFns ...func(*Options)) (*SyncDeploymentJobOutput, error) { 19 if params == nil { 20 params = &SyncDeploymentJobInput{} 21 } 22 23 result, metadata, err := c.invokeOperation(ctx, "SyncDeploymentJob", params, optFns, addOperationSyncDeploymentJobMiddlewares) 24 if err != nil { 25 return nil, err 26 } 27 28 out := result.(*SyncDeploymentJobOutput) 29 out.ResultMetadata = metadata 30 return out, nil 31} 32 33type SyncDeploymentJobInput struct { 34 35 // Unique, case-sensitive identifier that you provide to ensure the idempotency of 36 // the request. 37 // 38 // This member is required. 39 ClientRequestToken *string 40 41 // The target fleet for the synchronization. 42 // 43 // This member is required. 44 Fleet *string 45} 46 47type SyncDeploymentJobOutput struct { 48 49 // The Amazon Resource Name (ARN) of the synchronization request. 50 Arn *string 51 52 // The time, in milliseconds since the epoch, when the fleet was created. 53 CreatedAt *time.Time 54 55 // Information about the deployment application configurations. 56 DeploymentApplicationConfigs []types.DeploymentApplicationConfig 57 58 // Information about the deployment configuration. 59 DeploymentConfig *types.DeploymentConfig 60 61 // The failure code if the job fails: InternalServiceError Internal service error. 62 // RobotApplicationCrash Robot application exited abnormally. 63 // SimulationApplicationCrash Simulation application exited abnormally. 64 // BadPermissionsRobotApplication Robot application bundle could not be downloaded. 65 // BadPermissionsSimulationApplication Simulation application bundle could not be 66 // downloaded. BadPermissionsS3Output Unable to publish outputs to 67 // customer-provided S3 bucket. BadPermissionsCloudwatchLogs Unable to publish logs 68 // to customer-provided CloudWatch Logs resource. SubnetIpLimitExceeded Subnet IP 69 // limit exceeded. ENILimitExceeded ENI limit exceeded. 70 // BadPermissionsUserCredentials Unable to use the Role provided. 71 // InvalidBundleRobotApplication Robot bundle cannot be extracted (invalid format, 72 // bundling error, or other issue). InvalidBundleSimulationApplication Simulation 73 // bundle cannot be extracted (invalid format, bundling error, or other issue). 74 // RobotApplicationVersionMismatchedEtag Etag for RobotApplication does not match 75 // value during version creation. SimulationApplicationVersionMismatchedEtag Etag 76 // for SimulationApplication does not match value during version creation. 77 FailureCode types.DeploymentJobErrorCode 78 79 // The failure reason if the job fails. 80 FailureReason *string 81 82 // The Amazon Resource Name (ARN) of the fleet. 83 Fleet *string 84 85 // The status of the synchronization job. 86 Status types.DeploymentStatus 87 88 // Metadata pertaining to the operation's result. 89 ResultMetadata middleware.Metadata 90} 91 92func addOperationSyncDeploymentJobMiddlewares(stack *middleware.Stack, options Options) (err error) { 93 err = stack.Serialize.Add(&awsRestjson1_serializeOpSyncDeploymentJob{}, middleware.After) 94 if err != nil { 95 return err 96 } 97 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpSyncDeploymentJob{}, middleware.After) 98 if err != nil { 99 return err 100 } 101 if err = addSetLoggerMiddleware(stack, options); err != nil { 102 return err 103 } 104 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 105 return err 106 } 107 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 108 return err 109 } 110 if err = addResolveEndpointMiddleware(stack, options); err != nil { 111 return err 112 } 113 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 114 return err 115 } 116 if err = addRetryMiddlewares(stack, options); err != nil { 117 return err 118 } 119 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 120 return err 121 } 122 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 123 return err 124 } 125 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 126 return err 127 } 128 if err = addClientUserAgent(stack); err != nil { 129 return err 130 } 131 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 132 return err 133 } 134 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 135 return err 136 } 137 if err = addIdempotencyToken_opSyncDeploymentJobMiddleware(stack, options); err != nil { 138 return err 139 } 140 if err = addOpSyncDeploymentJobValidationMiddleware(stack); err != nil { 141 return err 142 } 143 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSyncDeploymentJob(options.Region), middleware.Before); err != nil { 144 return err 145 } 146 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 147 return err 148 } 149 if err = addResponseErrorMiddleware(stack); err != nil { 150 return err 151 } 152 if err = addRequestResponseLogging(stack, options); err != nil { 153 return err 154 } 155 return nil 156} 157 158type idempotencyToken_initializeOpSyncDeploymentJob struct { 159 tokenProvider IdempotencyTokenProvider 160} 161 162func (*idempotencyToken_initializeOpSyncDeploymentJob) ID() string { 163 return "OperationIdempotencyTokenAutoFill" 164} 165 166func (m *idempotencyToken_initializeOpSyncDeploymentJob) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( 167 out middleware.InitializeOutput, metadata middleware.Metadata, err error, 168) { 169 if m.tokenProvider == nil { 170 return next.HandleInitialize(ctx, in) 171 } 172 173 input, ok := in.Parameters.(*SyncDeploymentJobInput) 174 if !ok { 175 return out, metadata, fmt.Errorf("expected middleware input to be of type *SyncDeploymentJobInput ") 176 } 177 178 if input.ClientRequestToken == nil { 179 t, err := m.tokenProvider.GetIdempotencyToken() 180 if err != nil { 181 return out, metadata, err 182 } 183 input.ClientRequestToken = &t 184 } 185 return next.HandleInitialize(ctx, in) 186} 187func addIdempotencyToken_opSyncDeploymentJobMiddleware(stack *middleware.Stack, cfg Options) error { 188 return stack.Initialize.Add(&idempotencyToken_initializeOpSyncDeploymentJob{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before) 189} 190 191func newServiceMetadataMiddleware_opSyncDeploymentJob(region string) *awsmiddleware.RegisterServiceMetadata { 192 return &awsmiddleware.RegisterServiceMetadata{ 193 Region: region, 194 ServiceID: ServiceID, 195 SigningName: "robomaker", 196 OperationName: "SyncDeploymentJob", 197 } 198} 199