github.com/aavshr/aws-sdk-go@v1.41.3/service/batch/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package batch 4 5 import ( 6 "fmt" 7 8 "github.com/aavshr/aws-sdk-go/aws" 9 "github.com/aavshr/aws-sdk-go/aws/awsutil" 10 "github.com/aavshr/aws-sdk-go/aws/request" 11 "github.com/aavshr/aws-sdk-go/private/protocol" 12 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 13 ) 14 15 const opCancelJob = "CancelJob" 16 17 // CancelJobRequest generates a "aws/request.Request" representing the 18 // client's request for the CancelJob operation. The "output" return 19 // value will be populated with the request's response once the request completes 20 // successfully. 21 // 22 // Use "Send" method on the returned Request to send the API call to the service. 23 // the "output" return value is not valid until after Send returns without error. 24 // 25 // See CancelJob for more information on using the CancelJob 26 // API call, and error handling. 27 // 28 // This method is useful when you want to inject custom logic or configuration 29 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 30 // 31 // 32 // // Example sending a request using the CancelJobRequest method. 33 // req, resp := client.CancelJobRequest(params) 34 // 35 // err := req.Send() 36 // if err == nil { // resp is now filled 37 // fmt.Println(resp) 38 // } 39 // 40 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob 41 func (c *Batch) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { 42 op := &request.Operation{ 43 Name: opCancelJob, 44 HTTPMethod: "POST", 45 HTTPPath: "/v1/canceljob", 46 } 47 48 if input == nil { 49 input = &CancelJobInput{} 50 } 51 52 output = &CancelJobOutput{} 53 req = c.newRequest(op, input, output) 54 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 55 return 56 } 57 58 // CancelJob API operation for AWS Batch. 59 // 60 // Cancels a job in an Batch job queue. Jobs that are in the SUBMITTED, PENDING, 61 // or RUNNABLE state are canceled. Jobs that have progressed to STARTING or 62 // RUNNING aren't canceled, but the API operation still succeeds, even if no 63 // job is canceled. These jobs must be terminated with the TerminateJob operation. 64 // 65 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 66 // with awserr.Error's Code and Message methods to get detailed information about 67 // the error. 68 // 69 // See the AWS API reference guide for AWS Batch's 70 // API operation CancelJob for usage and error information. 71 // 72 // Returned Error Types: 73 // * ClientException 74 // These errors are usually caused by a client action, such as using an action 75 // or resource on behalf of a user that doesn't have permissions to use the 76 // action or resource, or specifying an identifier that's not valid. 77 // 78 // * ServerException 79 // These errors are usually caused by a server issue. 80 // 81 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob 82 func (c *Batch) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { 83 req, out := c.CancelJobRequest(input) 84 return out, req.Send() 85 } 86 87 // CancelJobWithContext is the same as CancelJob with the addition of 88 // the ability to pass a context and additional request options. 89 // 90 // See CancelJob for details on how to use this API operation. 91 // 92 // The context must be non-nil and will be used for request cancellation. If 93 // the context is nil a panic will occur. In the future the SDK may create 94 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 95 // for more information on using Contexts. 96 func (c *Batch) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) { 97 req, out := c.CancelJobRequest(input) 98 req.SetContext(ctx) 99 req.ApplyOptions(opts...) 100 return out, req.Send() 101 } 102 103 const opCreateComputeEnvironment = "CreateComputeEnvironment" 104 105 // CreateComputeEnvironmentRequest generates a "aws/request.Request" representing the 106 // client's request for the CreateComputeEnvironment operation. The "output" return 107 // value will be populated with the request's response once the request completes 108 // successfully. 109 // 110 // Use "Send" method on the returned Request to send the API call to the service. 111 // the "output" return value is not valid until after Send returns without error. 112 // 113 // See CreateComputeEnvironment for more information on using the CreateComputeEnvironment 114 // API call, and error handling. 115 // 116 // This method is useful when you want to inject custom logic or configuration 117 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 118 // 119 // 120 // // Example sending a request using the CreateComputeEnvironmentRequest method. 121 // req, resp := client.CreateComputeEnvironmentRequest(params) 122 // 123 // err := req.Send() 124 // if err == nil { // resp is now filled 125 // fmt.Println(resp) 126 // } 127 // 128 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment 129 func (c *Batch) CreateComputeEnvironmentRequest(input *CreateComputeEnvironmentInput) (req *request.Request, output *CreateComputeEnvironmentOutput) { 130 op := &request.Operation{ 131 Name: opCreateComputeEnvironment, 132 HTTPMethod: "POST", 133 HTTPPath: "/v1/createcomputeenvironment", 134 } 135 136 if input == nil { 137 input = &CreateComputeEnvironmentInput{} 138 } 139 140 output = &CreateComputeEnvironmentOutput{} 141 req = c.newRequest(op, input, output) 142 return 143 } 144 145 // CreateComputeEnvironment API operation for AWS Batch. 146 // 147 // Creates an Batch compute environment. You can create MANAGED or UNMANAGED 148 // compute environments. MANAGED compute environments can use Amazon EC2 or 149 // Fargate resources. UNMANAGED compute environments can only use EC2 resources. 150 // 151 // In a managed compute environment, Batch manages the capacity and instance 152 // types of the compute resources within the environment. This is based on the 153 // compute resource specification that you define or the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) 154 // that you specify when you create the compute environment. Either, you can 155 // choose to use EC2 On-Demand Instances and EC2 Spot Instances. Or, you can 156 // use Fargate and Fargate Spot capacity in your managed compute environment. 157 // You can optionally set a maximum price so that Spot Instances only launch 158 // when the Spot Instance price is less than a specified percentage of the On-Demand 159 // price. 160 // 161 // Multi-node parallel jobs aren't supported on Spot Instances. 162 // 163 // In an unmanaged compute environment, you can manage your own EC2 compute 164 // resources and have a lot of flexibility with how you configure your compute 165 // resources. For example, you can use custom AMIs. However, you must verify 166 // that each of your AMIs meet the Amazon ECS container instance AMI specification. 167 // For more information, see container instance AMIs (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) 168 // in the Amazon Elastic Container Service Developer Guide. After you created 169 // your unmanaged compute environment, you can use the DescribeComputeEnvironments 170 // operation to find the Amazon ECS cluster that's associated with it. Then, 171 // launch your container instances into that Amazon ECS cluster. For more information, 172 // see Launching an Amazon ECS container instance (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) 173 // in the Amazon Elastic Container Service Developer Guide. 174 // 175 // Batch doesn't upgrade the AMIs in a compute environment after the environment 176 // is created. For example, it doesn't update the AMIs when a newer version 177 // of the Amazon ECS optimized AMI is available. Therefore, you're responsible 178 // for managing the guest operating system (including its updates and security 179 // patches) and any additional application software or utilities that you install 180 // on the compute resources. To use a new AMI for your Batch jobs, complete 181 // these steps: 182 // 183 // Create a new compute environment with the new AMI. 184 // 185 // Add the compute environment to an existing job queue. 186 // 187 // Remove the earlier compute environment from your job queue. 188 // 189 // Delete the earlier compute environment. 190 // 191 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 192 // with awserr.Error's Code and Message methods to get detailed information about 193 // the error. 194 // 195 // See the AWS API reference guide for AWS Batch's 196 // API operation CreateComputeEnvironment for usage and error information. 197 // 198 // Returned Error Types: 199 // * ClientException 200 // These errors are usually caused by a client action, such as using an action 201 // or resource on behalf of a user that doesn't have permissions to use the 202 // action or resource, or specifying an identifier that's not valid. 203 // 204 // * ServerException 205 // These errors are usually caused by a server issue. 206 // 207 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment 208 func (c *Batch) CreateComputeEnvironment(input *CreateComputeEnvironmentInput) (*CreateComputeEnvironmentOutput, error) { 209 req, out := c.CreateComputeEnvironmentRequest(input) 210 return out, req.Send() 211 } 212 213 // CreateComputeEnvironmentWithContext is the same as CreateComputeEnvironment with the addition of 214 // the ability to pass a context and additional request options. 215 // 216 // See CreateComputeEnvironment for details on how to use this API operation. 217 // 218 // The context must be non-nil and will be used for request cancellation. If 219 // the context is nil a panic will occur. In the future the SDK may create 220 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 221 // for more information on using Contexts. 222 func (c *Batch) CreateComputeEnvironmentWithContext(ctx aws.Context, input *CreateComputeEnvironmentInput, opts ...request.Option) (*CreateComputeEnvironmentOutput, error) { 223 req, out := c.CreateComputeEnvironmentRequest(input) 224 req.SetContext(ctx) 225 req.ApplyOptions(opts...) 226 return out, req.Send() 227 } 228 229 const opCreateJobQueue = "CreateJobQueue" 230 231 // CreateJobQueueRequest generates a "aws/request.Request" representing the 232 // client's request for the CreateJobQueue operation. The "output" return 233 // value will be populated with the request's response once the request completes 234 // successfully. 235 // 236 // Use "Send" method on the returned Request to send the API call to the service. 237 // the "output" return value is not valid until after Send returns without error. 238 // 239 // See CreateJobQueue for more information on using the CreateJobQueue 240 // API call, and error handling. 241 // 242 // This method is useful when you want to inject custom logic or configuration 243 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 244 // 245 // 246 // // Example sending a request using the CreateJobQueueRequest method. 247 // req, resp := client.CreateJobQueueRequest(params) 248 // 249 // err := req.Send() 250 // if err == nil { // resp is now filled 251 // fmt.Println(resp) 252 // } 253 // 254 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue 255 func (c *Batch) CreateJobQueueRequest(input *CreateJobQueueInput) (req *request.Request, output *CreateJobQueueOutput) { 256 op := &request.Operation{ 257 Name: opCreateJobQueue, 258 HTTPMethod: "POST", 259 HTTPPath: "/v1/createjobqueue", 260 } 261 262 if input == nil { 263 input = &CreateJobQueueInput{} 264 } 265 266 output = &CreateJobQueueOutput{} 267 req = c.newRequest(op, input, output) 268 return 269 } 270 271 // CreateJobQueue API operation for AWS Batch. 272 // 273 // Creates an Batch job queue. When you create a job queue, you associate one 274 // or more compute environments to the queue and assign an order of preference 275 // for the compute environments. 276 // 277 // You also set a priority to the job queue that determines the order that the 278 // Batch scheduler places jobs onto its associated compute environments. For 279 // example, if a compute environment is associated with more than one job queue, 280 // the job queue with a higher priority is given preference for scheduling jobs 281 // to that compute environment. 282 // 283 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 284 // with awserr.Error's Code and Message methods to get detailed information about 285 // the error. 286 // 287 // See the AWS API reference guide for AWS Batch's 288 // API operation CreateJobQueue for usage and error information. 289 // 290 // Returned Error Types: 291 // * ClientException 292 // These errors are usually caused by a client action, such as using an action 293 // or resource on behalf of a user that doesn't have permissions to use the 294 // action or resource, or specifying an identifier that's not valid. 295 // 296 // * ServerException 297 // These errors are usually caused by a server issue. 298 // 299 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue 300 func (c *Batch) CreateJobQueue(input *CreateJobQueueInput) (*CreateJobQueueOutput, error) { 301 req, out := c.CreateJobQueueRequest(input) 302 return out, req.Send() 303 } 304 305 // CreateJobQueueWithContext is the same as CreateJobQueue with the addition of 306 // the ability to pass a context and additional request options. 307 // 308 // See CreateJobQueue for details on how to use this API operation. 309 // 310 // The context must be non-nil and will be used for request cancellation. If 311 // the context is nil a panic will occur. In the future the SDK may create 312 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 313 // for more information on using Contexts. 314 func (c *Batch) CreateJobQueueWithContext(ctx aws.Context, input *CreateJobQueueInput, opts ...request.Option) (*CreateJobQueueOutput, error) { 315 req, out := c.CreateJobQueueRequest(input) 316 req.SetContext(ctx) 317 req.ApplyOptions(opts...) 318 return out, req.Send() 319 } 320 321 const opDeleteComputeEnvironment = "DeleteComputeEnvironment" 322 323 // DeleteComputeEnvironmentRequest generates a "aws/request.Request" representing the 324 // client's request for the DeleteComputeEnvironment operation. The "output" return 325 // value will be populated with the request's response once the request completes 326 // successfully. 327 // 328 // Use "Send" method on the returned Request to send the API call to the service. 329 // the "output" return value is not valid until after Send returns without error. 330 // 331 // See DeleteComputeEnvironment for more information on using the DeleteComputeEnvironment 332 // API call, and error handling. 333 // 334 // This method is useful when you want to inject custom logic or configuration 335 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 336 // 337 // 338 // // Example sending a request using the DeleteComputeEnvironmentRequest method. 339 // req, resp := client.DeleteComputeEnvironmentRequest(params) 340 // 341 // err := req.Send() 342 // if err == nil { // resp is now filled 343 // fmt.Println(resp) 344 // } 345 // 346 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 347 func (c *Batch) DeleteComputeEnvironmentRequest(input *DeleteComputeEnvironmentInput) (req *request.Request, output *DeleteComputeEnvironmentOutput) { 348 op := &request.Operation{ 349 Name: opDeleteComputeEnvironment, 350 HTTPMethod: "POST", 351 HTTPPath: "/v1/deletecomputeenvironment", 352 } 353 354 if input == nil { 355 input = &DeleteComputeEnvironmentInput{} 356 } 357 358 output = &DeleteComputeEnvironmentOutput{} 359 req = c.newRequest(op, input, output) 360 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 361 return 362 } 363 364 // DeleteComputeEnvironment API operation for AWS Batch. 365 // 366 // Deletes an Batch compute environment. 367 // 368 // Before you can delete a compute environment, you must set its state to DISABLED 369 // with the UpdateComputeEnvironment API operation and disassociate it from 370 // any job queues with the UpdateJobQueue API operation. Compute environments 371 // that use Fargate resources must terminate all active jobs on that compute 372 // environment before deleting the compute environment. If this isn't done, 373 // the compute environment enters an invalid state. 374 // 375 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 376 // with awserr.Error's Code and Message methods to get detailed information about 377 // the error. 378 // 379 // See the AWS API reference guide for AWS Batch's 380 // API operation DeleteComputeEnvironment for usage and error information. 381 // 382 // Returned Error Types: 383 // * ClientException 384 // These errors are usually caused by a client action, such as using an action 385 // or resource on behalf of a user that doesn't have permissions to use the 386 // action or resource, or specifying an identifier that's not valid. 387 // 388 // * ServerException 389 // These errors are usually caused by a server issue. 390 // 391 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 392 func (c *Batch) DeleteComputeEnvironment(input *DeleteComputeEnvironmentInput) (*DeleteComputeEnvironmentOutput, error) { 393 req, out := c.DeleteComputeEnvironmentRequest(input) 394 return out, req.Send() 395 } 396 397 // DeleteComputeEnvironmentWithContext is the same as DeleteComputeEnvironment with the addition of 398 // the ability to pass a context and additional request options. 399 // 400 // See DeleteComputeEnvironment for details on how to use this API operation. 401 // 402 // The context must be non-nil and will be used for request cancellation. If 403 // the context is nil a panic will occur. In the future the SDK may create 404 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 405 // for more information on using Contexts. 406 func (c *Batch) DeleteComputeEnvironmentWithContext(ctx aws.Context, input *DeleteComputeEnvironmentInput, opts ...request.Option) (*DeleteComputeEnvironmentOutput, error) { 407 req, out := c.DeleteComputeEnvironmentRequest(input) 408 req.SetContext(ctx) 409 req.ApplyOptions(opts...) 410 return out, req.Send() 411 } 412 413 const opDeleteJobQueue = "DeleteJobQueue" 414 415 // DeleteJobQueueRequest generates a "aws/request.Request" representing the 416 // client's request for the DeleteJobQueue operation. The "output" return 417 // value will be populated with the request's response once the request completes 418 // successfully. 419 // 420 // Use "Send" method on the returned Request to send the API call to the service. 421 // the "output" return value is not valid until after Send returns without error. 422 // 423 // See DeleteJobQueue for more information on using the DeleteJobQueue 424 // API call, and error handling. 425 // 426 // This method is useful when you want to inject custom logic or configuration 427 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 428 // 429 // 430 // // Example sending a request using the DeleteJobQueueRequest method. 431 // req, resp := client.DeleteJobQueueRequest(params) 432 // 433 // err := req.Send() 434 // if err == nil { // resp is now filled 435 // fmt.Println(resp) 436 // } 437 // 438 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 439 func (c *Batch) DeleteJobQueueRequest(input *DeleteJobQueueInput) (req *request.Request, output *DeleteJobQueueOutput) { 440 op := &request.Operation{ 441 Name: opDeleteJobQueue, 442 HTTPMethod: "POST", 443 HTTPPath: "/v1/deletejobqueue", 444 } 445 446 if input == nil { 447 input = &DeleteJobQueueInput{} 448 } 449 450 output = &DeleteJobQueueOutput{} 451 req = c.newRequest(op, input, output) 452 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 453 return 454 } 455 456 // DeleteJobQueue API operation for AWS Batch. 457 // 458 // Deletes the specified job queue. You must first disable submissions for a 459 // queue with the UpdateJobQueue operation. All jobs in the queue are eventually 460 // terminated when you delete a job queue. The jobs are terminated at a rate 461 // of about 16 jobs each second. 462 // 463 // It's not necessary to disassociate compute environments from a queue before 464 // submitting a DeleteJobQueue request. 465 // 466 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 467 // with awserr.Error's Code and Message methods to get detailed information about 468 // the error. 469 // 470 // See the AWS API reference guide for AWS Batch's 471 // API operation DeleteJobQueue for usage and error information. 472 // 473 // Returned Error Types: 474 // * ClientException 475 // These errors are usually caused by a client action, such as using an action 476 // or resource on behalf of a user that doesn't have permissions to use the 477 // action or resource, or specifying an identifier that's not valid. 478 // 479 // * ServerException 480 // These errors are usually caused by a server issue. 481 // 482 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 483 func (c *Batch) DeleteJobQueue(input *DeleteJobQueueInput) (*DeleteJobQueueOutput, error) { 484 req, out := c.DeleteJobQueueRequest(input) 485 return out, req.Send() 486 } 487 488 // DeleteJobQueueWithContext is the same as DeleteJobQueue with the addition of 489 // the ability to pass a context and additional request options. 490 // 491 // See DeleteJobQueue for details on how to use this API operation. 492 // 493 // The context must be non-nil and will be used for request cancellation. If 494 // the context is nil a panic will occur. In the future the SDK may create 495 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 496 // for more information on using Contexts. 497 func (c *Batch) DeleteJobQueueWithContext(ctx aws.Context, input *DeleteJobQueueInput, opts ...request.Option) (*DeleteJobQueueOutput, error) { 498 req, out := c.DeleteJobQueueRequest(input) 499 req.SetContext(ctx) 500 req.ApplyOptions(opts...) 501 return out, req.Send() 502 } 503 504 const opDeregisterJobDefinition = "DeregisterJobDefinition" 505 506 // DeregisterJobDefinitionRequest generates a "aws/request.Request" representing the 507 // client's request for the DeregisterJobDefinition operation. The "output" return 508 // value will be populated with the request's response once the request completes 509 // successfully. 510 // 511 // Use "Send" method on the returned Request to send the API call to the service. 512 // the "output" return value is not valid until after Send returns without error. 513 // 514 // See DeregisterJobDefinition for more information on using the DeregisterJobDefinition 515 // API call, and error handling. 516 // 517 // This method is useful when you want to inject custom logic or configuration 518 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 519 // 520 // 521 // // Example sending a request using the DeregisterJobDefinitionRequest method. 522 // req, resp := client.DeregisterJobDefinitionRequest(params) 523 // 524 // err := req.Send() 525 // if err == nil { // resp is now filled 526 // fmt.Println(resp) 527 // } 528 // 529 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 530 func (c *Batch) DeregisterJobDefinitionRequest(input *DeregisterJobDefinitionInput) (req *request.Request, output *DeregisterJobDefinitionOutput) { 531 op := &request.Operation{ 532 Name: opDeregisterJobDefinition, 533 HTTPMethod: "POST", 534 HTTPPath: "/v1/deregisterjobdefinition", 535 } 536 537 if input == nil { 538 input = &DeregisterJobDefinitionInput{} 539 } 540 541 output = &DeregisterJobDefinitionOutput{} 542 req = c.newRequest(op, input, output) 543 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 544 return 545 } 546 547 // DeregisterJobDefinition API operation for AWS Batch. 548 // 549 // Deregisters an Batch job definition. Job definitions are permanently deleted 550 // after 180 days. 551 // 552 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 553 // with awserr.Error's Code and Message methods to get detailed information about 554 // the error. 555 // 556 // See the AWS API reference guide for AWS Batch's 557 // API operation DeregisterJobDefinition for usage and error information. 558 // 559 // Returned Error Types: 560 // * ClientException 561 // These errors are usually caused by a client action, such as using an action 562 // or resource on behalf of a user that doesn't have permissions to use the 563 // action or resource, or specifying an identifier that's not valid. 564 // 565 // * ServerException 566 // These errors are usually caused by a server issue. 567 // 568 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 569 func (c *Batch) DeregisterJobDefinition(input *DeregisterJobDefinitionInput) (*DeregisterJobDefinitionOutput, error) { 570 req, out := c.DeregisterJobDefinitionRequest(input) 571 return out, req.Send() 572 } 573 574 // DeregisterJobDefinitionWithContext is the same as DeregisterJobDefinition with the addition of 575 // the ability to pass a context and additional request options. 576 // 577 // See DeregisterJobDefinition for details on how to use this API operation. 578 // 579 // The context must be non-nil and will be used for request cancellation. If 580 // the context is nil a panic will occur. In the future the SDK may create 581 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 582 // for more information on using Contexts. 583 func (c *Batch) DeregisterJobDefinitionWithContext(ctx aws.Context, input *DeregisterJobDefinitionInput, opts ...request.Option) (*DeregisterJobDefinitionOutput, error) { 584 req, out := c.DeregisterJobDefinitionRequest(input) 585 req.SetContext(ctx) 586 req.ApplyOptions(opts...) 587 return out, req.Send() 588 } 589 590 const opDescribeComputeEnvironments = "DescribeComputeEnvironments" 591 592 // DescribeComputeEnvironmentsRequest generates a "aws/request.Request" representing the 593 // client's request for the DescribeComputeEnvironments operation. The "output" return 594 // value will be populated with the request's response once the request completes 595 // successfully. 596 // 597 // Use "Send" method on the returned Request to send the API call to the service. 598 // the "output" return value is not valid until after Send returns without error. 599 // 600 // See DescribeComputeEnvironments for more information on using the DescribeComputeEnvironments 601 // API call, and error handling. 602 // 603 // This method is useful when you want to inject custom logic or configuration 604 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 605 // 606 // 607 // // Example sending a request using the DescribeComputeEnvironmentsRequest method. 608 // req, resp := client.DescribeComputeEnvironmentsRequest(params) 609 // 610 // err := req.Send() 611 // if err == nil { // resp is now filled 612 // fmt.Println(resp) 613 // } 614 // 615 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 616 func (c *Batch) DescribeComputeEnvironmentsRequest(input *DescribeComputeEnvironmentsInput) (req *request.Request, output *DescribeComputeEnvironmentsOutput) { 617 op := &request.Operation{ 618 Name: opDescribeComputeEnvironments, 619 HTTPMethod: "POST", 620 HTTPPath: "/v1/describecomputeenvironments", 621 Paginator: &request.Paginator{ 622 InputTokens: []string{"nextToken"}, 623 OutputTokens: []string{"nextToken"}, 624 LimitToken: "maxResults", 625 TruncationToken: "", 626 }, 627 } 628 629 if input == nil { 630 input = &DescribeComputeEnvironmentsInput{} 631 } 632 633 output = &DescribeComputeEnvironmentsOutput{} 634 req = c.newRequest(op, input, output) 635 return 636 } 637 638 // DescribeComputeEnvironments API operation for AWS Batch. 639 // 640 // Describes one or more of your compute environments. 641 // 642 // If you're using an unmanaged compute environment, you can use the DescribeComputeEnvironment 643 // operation to determine the ecsClusterArn that you should launch your Amazon 644 // ECS container instances into. 645 // 646 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 647 // with awserr.Error's Code and Message methods to get detailed information about 648 // the error. 649 // 650 // See the AWS API reference guide for AWS Batch's 651 // API operation DescribeComputeEnvironments for usage and error information. 652 // 653 // Returned Error Types: 654 // * ClientException 655 // These errors are usually caused by a client action, such as using an action 656 // or resource on behalf of a user that doesn't have permissions to use the 657 // action or resource, or specifying an identifier that's not valid. 658 // 659 // * ServerException 660 // These errors are usually caused by a server issue. 661 // 662 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 663 func (c *Batch) DescribeComputeEnvironments(input *DescribeComputeEnvironmentsInput) (*DescribeComputeEnvironmentsOutput, error) { 664 req, out := c.DescribeComputeEnvironmentsRequest(input) 665 return out, req.Send() 666 } 667 668 // DescribeComputeEnvironmentsWithContext is the same as DescribeComputeEnvironments with the addition of 669 // the ability to pass a context and additional request options. 670 // 671 // See DescribeComputeEnvironments for details on how to use this API operation. 672 // 673 // The context must be non-nil and will be used for request cancellation. If 674 // the context is nil a panic will occur. In the future the SDK may create 675 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 676 // for more information on using Contexts. 677 func (c *Batch) DescribeComputeEnvironmentsWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, opts ...request.Option) (*DescribeComputeEnvironmentsOutput, error) { 678 req, out := c.DescribeComputeEnvironmentsRequest(input) 679 req.SetContext(ctx) 680 req.ApplyOptions(opts...) 681 return out, req.Send() 682 } 683 684 // DescribeComputeEnvironmentsPages iterates over the pages of a DescribeComputeEnvironments operation, 685 // calling the "fn" function with the response data for each page. To stop 686 // iterating, return false from the fn function. 687 // 688 // See DescribeComputeEnvironments method for more information on how to use this operation. 689 // 690 // Note: This operation can generate multiple requests to a service. 691 // 692 // // Example iterating over at most 3 pages of a DescribeComputeEnvironments operation. 693 // pageNum := 0 694 // err := client.DescribeComputeEnvironmentsPages(params, 695 // func(page *batch.DescribeComputeEnvironmentsOutput, lastPage bool) bool { 696 // pageNum++ 697 // fmt.Println(page) 698 // return pageNum <= 3 699 // }) 700 // 701 func (c *Batch) DescribeComputeEnvironmentsPages(input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool) error { 702 return c.DescribeComputeEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn) 703 } 704 705 // DescribeComputeEnvironmentsPagesWithContext same as DescribeComputeEnvironmentsPages except 706 // it takes a Context and allows setting request options on the pages. 707 // 708 // The context must be non-nil and will be used for request cancellation. If 709 // the context is nil a panic will occur. In the future the SDK may create 710 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 711 // for more information on using Contexts. 712 func (c *Batch) DescribeComputeEnvironmentsPagesWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool, opts ...request.Option) error { 713 p := request.Pagination{ 714 NewRequest: func() (*request.Request, error) { 715 var inCpy *DescribeComputeEnvironmentsInput 716 if input != nil { 717 tmp := *input 718 inCpy = &tmp 719 } 720 req, _ := c.DescribeComputeEnvironmentsRequest(inCpy) 721 req.SetContext(ctx) 722 req.ApplyOptions(opts...) 723 return req, nil 724 }, 725 } 726 727 for p.Next() { 728 if !fn(p.Page().(*DescribeComputeEnvironmentsOutput), !p.HasNextPage()) { 729 break 730 } 731 } 732 733 return p.Err() 734 } 735 736 const opDescribeJobDefinitions = "DescribeJobDefinitions" 737 738 // DescribeJobDefinitionsRequest generates a "aws/request.Request" representing the 739 // client's request for the DescribeJobDefinitions operation. The "output" return 740 // value will be populated with the request's response once the request completes 741 // successfully. 742 // 743 // Use "Send" method on the returned Request to send the API call to the service. 744 // the "output" return value is not valid until after Send returns without error. 745 // 746 // See DescribeJobDefinitions for more information on using the DescribeJobDefinitions 747 // API call, and error handling. 748 // 749 // This method is useful when you want to inject custom logic or configuration 750 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 751 // 752 // 753 // // Example sending a request using the DescribeJobDefinitionsRequest method. 754 // req, resp := client.DescribeJobDefinitionsRequest(params) 755 // 756 // err := req.Send() 757 // if err == nil { // resp is now filled 758 // fmt.Println(resp) 759 // } 760 // 761 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 762 func (c *Batch) DescribeJobDefinitionsRequest(input *DescribeJobDefinitionsInput) (req *request.Request, output *DescribeJobDefinitionsOutput) { 763 op := &request.Operation{ 764 Name: opDescribeJobDefinitions, 765 HTTPMethod: "POST", 766 HTTPPath: "/v1/describejobdefinitions", 767 Paginator: &request.Paginator{ 768 InputTokens: []string{"nextToken"}, 769 OutputTokens: []string{"nextToken"}, 770 LimitToken: "maxResults", 771 TruncationToken: "", 772 }, 773 } 774 775 if input == nil { 776 input = &DescribeJobDefinitionsInput{} 777 } 778 779 output = &DescribeJobDefinitionsOutput{} 780 req = c.newRequest(op, input, output) 781 return 782 } 783 784 // DescribeJobDefinitions API operation for AWS Batch. 785 // 786 // Describes a list of job definitions. You can specify a status (such as ACTIVE) 787 // to only return job definitions that match that status. 788 // 789 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 790 // with awserr.Error's Code and Message methods to get detailed information about 791 // the error. 792 // 793 // See the AWS API reference guide for AWS Batch's 794 // API operation DescribeJobDefinitions for usage and error information. 795 // 796 // Returned Error Types: 797 // * ClientException 798 // These errors are usually caused by a client action, such as using an action 799 // or resource on behalf of a user that doesn't have permissions to use the 800 // action or resource, or specifying an identifier that's not valid. 801 // 802 // * ServerException 803 // These errors are usually caused by a server issue. 804 // 805 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 806 func (c *Batch) DescribeJobDefinitions(input *DescribeJobDefinitionsInput) (*DescribeJobDefinitionsOutput, error) { 807 req, out := c.DescribeJobDefinitionsRequest(input) 808 return out, req.Send() 809 } 810 811 // DescribeJobDefinitionsWithContext is the same as DescribeJobDefinitions with the addition of 812 // the ability to pass a context and additional request options. 813 // 814 // See DescribeJobDefinitions for details on how to use this API operation. 815 // 816 // The context must be non-nil and will be used for request cancellation. If 817 // the context is nil a panic will occur. In the future the SDK may create 818 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 819 // for more information on using Contexts. 820 func (c *Batch) DescribeJobDefinitionsWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, opts ...request.Option) (*DescribeJobDefinitionsOutput, error) { 821 req, out := c.DescribeJobDefinitionsRequest(input) 822 req.SetContext(ctx) 823 req.ApplyOptions(opts...) 824 return out, req.Send() 825 } 826 827 // DescribeJobDefinitionsPages iterates over the pages of a DescribeJobDefinitions operation, 828 // calling the "fn" function with the response data for each page. To stop 829 // iterating, return false from the fn function. 830 // 831 // See DescribeJobDefinitions method for more information on how to use this operation. 832 // 833 // Note: This operation can generate multiple requests to a service. 834 // 835 // // Example iterating over at most 3 pages of a DescribeJobDefinitions operation. 836 // pageNum := 0 837 // err := client.DescribeJobDefinitionsPages(params, 838 // func(page *batch.DescribeJobDefinitionsOutput, lastPage bool) bool { 839 // pageNum++ 840 // fmt.Println(page) 841 // return pageNum <= 3 842 // }) 843 // 844 func (c *Batch) DescribeJobDefinitionsPages(input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool) error { 845 return c.DescribeJobDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 846 } 847 848 // DescribeJobDefinitionsPagesWithContext same as DescribeJobDefinitionsPages except 849 // it takes a Context and allows setting request options on the pages. 850 // 851 // The context must be non-nil and will be used for request cancellation. If 852 // the context is nil a panic will occur. In the future the SDK may create 853 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 854 // for more information on using Contexts. 855 func (c *Batch) DescribeJobDefinitionsPagesWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool, opts ...request.Option) error { 856 p := request.Pagination{ 857 NewRequest: func() (*request.Request, error) { 858 var inCpy *DescribeJobDefinitionsInput 859 if input != nil { 860 tmp := *input 861 inCpy = &tmp 862 } 863 req, _ := c.DescribeJobDefinitionsRequest(inCpy) 864 req.SetContext(ctx) 865 req.ApplyOptions(opts...) 866 return req, nil 867 }, 868 } 869 870 for p.Next() { 871 if !fn(p.Page().(*DescribeJobDefinitionsOutput), !p.HasNextPage()) { 872 break 873 } 874 } 875 876 return p.Err() 877 } 878 879 const opDescribeJobQueues = "DescribeJobQueues" 880 881 // DescribeJobQueuesRequest generates a "aws/request.Request" representing the 882 // client's request for the DescribeJobQueues operation. The "output" return 883 // value will be populated with the request's response once the request completes 884 // successfully. 885 // 886 // Use "Send" method on the returned Request to send the API call to the service. 887 // the "output" return value is not valid until after Send returns without error. 888 // 889 // See DescribeJobQueues for more information on using the DescribeJobQueues 890 // API call, and error handling. 891 // 892 // This method is useful when you want to inject custom logic or configuration 893 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 894 // 895 // 896 // // Example sending a request using the DescribeJobQueuesRequest method. 897 // req, resp := client.DescribeJobQueuesRequest(params) 898 // 899 // err := req.Send() 900 // if err == nil { // resp is now filled 901 // fmt.Println(resp) 902 // } 903 // 904 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 905 func (c *Batch) DescribeJobQueuesRequest(input *DescribeJobQueuesInput) (req *request.Request, output *DescribeJobQueuesOutput) { 906 op := &request.Operation{ 907 Name: opDescribeJobQueues, 908 HTTPMethod: "POST", 909 HTTPPath: "/v1/describejobqueues", 910 Paginator: &request.Paginator{ 911 InputTokens: []string{"nextToken"}, 912 OutputTokens: []string{"nextToken"}, 913 LimitToken: "maxResults", 914 TruncationToken: "", 915 }, 916 } 917 918 if input == nil { 919 input = &DescribeJobQueuesInput{} 920 } 921 922 output = &DescribeJobQueuesOutput{} 923 req = c.newRequest(op, input, output) 924 return 925 } 926 927 // DescribeJobQueues API operation for AWS Batch. 928 // 929 // Describes one or more of your job queues. 930 // 931 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 932 // with awserr.Error's Code and Message methods to get detailed information about 933 // the error. 934 // 935 // See the AWS API reference guide for AWS Batch's 936 // API operation DescribeJobQueues for usage and error information. 937 // 938 // Returned Error Types: 939 // * ClientException 940 // These errors are usually caused by a client action, such as using an action 941 // or resource on behalf of a user that doesn't have permissions to use the 942 // action or resource, or specifying an identifier that's not valid. 943 // 944 // * ServerException 945 // These errors are usually caused by a server issue. 946 // 947 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 948 func (c *Batch) DescribeJobQueues(input *DescribeJobQueuesInput) (*DescribeJobQueuesOutput, error) { 949 req, out := c.DescribeJobQueuesRequest(input) 950 return out, req.Send() 951 } 952 953 // DescribeJobQueuesWithContext is the same as DescribeJobQueues with the addition of 954 // the ability to pass a context and additional request options. 955 // 956 // See DescribeJobQueues for details on how to use this API operation. 957 // 958 // The context must be non-nil and will be used for request cancellation. If 959 // the context is nil a panic will occur. In the future the SDK may create 960 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 961 // for more information on using Contexts. 962 func (c *Batch) DescribeJobQueuesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, opts ...request.Option) (*DescribeJobQueuesOutput, error) { 963 req, out := c.DescribeJobQueuesRequest(input) 964 req.SetContext(ctx) 965 req.ApplyOptions(opts...) 966 return out, req.Send() 967 } 968 969 // DescribeJobQueuesPages iterates over the pages of a DescribeJobQueues operation, 970 // calling the "fn" function with the response data for each page. To stop 971 // iterating, return false from the fn function. 972 // 973 // See DescribeJobQueues method for more information on how to use this operation. 974 // 975 // Note: This operation can generate multiple requests to a service. 976 // 977 // // Example iterating over at most 3 pages of a DescribeJobQueues operation. 978 // pageNum := 0 979 // err := client.DescribeJobQueuesPages(params, 980 // func(page *batch.DescribeJobQueuesOutput, lastPage bool) bool { 981 // pageNum++ 982 // fmt.Println(page) 983 // return pageNum <= 3 984 // }) 985 // 986 func (c *Batch) DescribeJobQueuesPages(input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool) error { 987 return c.DescribeJobQueuesPagesWithContext(aws.BackgroundContext(), input, fn) 988 } 989 990 // DescribeJobQueuesPagesWithContext same as DescribeJobQueuesPages except 991 // it takes a Context and allows setting request options on the pages. 992 // 993 // The context must be non-nil and will be used for request cancellation. If 994 // the context is nil a panic will occur. In the future the SDK may create 995 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 996 // for more information on using Contexts. 997 func (c *Batch) DescribeJobQueuesPagesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool, opts ...request.Option) error { 998 p := request.Pagination{ 999 NewRequest: func() (*request.Request, error) { 1000 var inCpy *DescribeJobQueuesInput 1001 if input != nil { 1002 tmp := *input 1003 inCpy = &tmp 1004 } 1005 req, _ := c.DescribeJobQueuesRequest(inCpy) 1006 req.SetContext(ctx) 1007 req.ApplyOptions(opts...) 1008 return req, nil 1009 }, 1010 } 1011 1012 for p.Next() { 1013 if !fn(p.Page().(*DescribeJobQueuesOutput), !p.HasNextPage()) { 1014 break 1015 } 1016 } 1017 1018 return p.Err() 1019 } 1020 1021 const opDescribeJobs = "DescribeJobs" 1022 1023 // DescribeJobsRequest generates a "aws/request.Request" representing the 1024 // client's request for the DescribeJobs operation. The "output" return 1025 // value will be populated with the request's response once the request completes 1026 // successfully. 1027 // 1028 // Use "Send" method on the returned Request to send the API call to the service. 1029 // the "output" return value is not valid until after Send returns without error. 1030 // 1031 // See DescribeJobs for more information on using the DescribeJobs 1032 // API call, and error handling. 1033 // 1034 // This method is useful when you want to inject custom logic or configuration 1035 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1036 // 1037 // 1038 // // Example sending a request using the DescribeJobsRequest method. 1039 // req, resp := client.DescribeJobsRequest(params) 1040 // 1041 // err := req.Send() 1042 // if err == nil { // resp is now filled 1043 // fmt.Println(resp) 1044 // } 1045 // 1046 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1047 func (c *Batch) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput) { 1048 op := &request.Operation{ 1049 Name: opDescribeJobs, 1050 HTTPMethod: "POST", 1051 HTTPPath: "/v1/describejobs", 1052 } 1053 1054 if input == nil { 1055 input = &DescribeJobsInput{} 1056 } 1057 1058 output = &DescribeJobsOutput{} 1059 req = c.newRequest(op, input, output) 1060 return 1061 } 1062 1063 // DescribeJobs API operation for AWS Batch. 1064 // 1065 // Describes a list of Batch jobs. 1066 // 1067 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1068 // with awserr.Error's Code and Message methods to get detailed information about 1069 // the error. 1070 // 1071 // See the AWS API reference guide for AWS Batch's 1072 // API operation DescribeJobs for usage and error information. 1073 // 1074 // Returned Error Types: 1075 // * ClientException 1076 // These errors are usually caused by a client action, such as using an action 1077 // or resource on behalf of a user that doesn't have permissions to use the 1078 // action or resource, or specifying an identifier that's not valid. 1079 // 1080 // * ServerException 1081 // These errors are usually caused by a server issue. 1082 // 1083 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1084 func (c *Batch) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error) { 1085 req, out := c.DescribeJobsRequest(input) 1086 return out, req.Send() 1087 } 1088 1089 // DescribeJobsWithContext is the same as DescribeJobs with the addition of 1090 // the ability to pass a context and additional request options. 1091 // 1092 // See DescribeJobs for details on how to use this API operation. 1093 // 1094 // The context must be non-nil and will be used for request cancellation. If 1095 // the context is nil a panic will occur. In the future the SDK may create 1096 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1097 // for more information on using Contexts. 1098 func (c *Batch) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error) { 1099 req, out := c.DescribeJobsRequest(input) 1100 req.SetContext(ctx) 1101 req.ApplyOptions(opts...) 1102 return out, req.Send() 1103 } 1104 1105 const opListJobs = "ListJobs" 1106 1107 // ListJobsRequest generates a "aws/request.Request" representing the 1108 // client's request for the ListJobs operation. The "output" return 1109 // value will be populated with the request's response once the request completes 1110 // successfully. 1111 // 1112 // Use "Send" method on the returned Request to send the API call to the service. 1113 // the "output" return value is not valid until after Send returns without error. 1114 // 1115 // See ListJobs for more information on using the ListJobs 1116 // API call, and error handling. 1117 // 1118 // This method is useful when you want to inject custom logic or configuration 1119 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1120 // 1121 // 1122 // // Example sending a request using the ListJobsRequest method. 1123 // req, resp := client.ListJobsRequest(params) 1124 // 1125 // err := req.Send() 1126 // if err == nil { // resp is now filled 1127 // fmt.Println(resp) 1128 // } 1129 // 1130 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1131 func (c *Batch) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 1132 op := &request.Operation{ 1133 Name: opListJobs, 1134 HTTPMethod: "POST", 1135 HTTPPath: "/v1/listjobs", 1136 Paginator: &request.Paginator{ 1137 InputTokens: []string{"nextToken"}, 1138 OutputTokens: []string{"nextToken"}, 1139 LimitToken: "maxResults", 1140 TruncationToken: "", 1141 }, 1142 } 1143 1144 if input == nil { 1145 input = &ListJobsInput{} 1146 } 1147 1148 output = &ListJobsOutput{} 1149 req = c.newRequest(op, input, output) 1150 return 1151 } 1152 1153 // ListJobs API operation for AWS Batch. 1154 // 1155 // Returns a list of Batch jobs. 1156 // 1157 // You must specify only one of the following items: 1158 // 1159 // * A job queue ID to return a list of jobs in that job queue 1160 // 1161 // * A multi-node parallel job ID to return a list of nodes for that job 1162 // 1163 // * An array job ID to return a list of the children for that job 1164 // 1165 // You can filter the results by job status with the jobStatus parameter. If 1166 // you don't specify a status, only RUNNING jobs are returned. 1167 // 1168 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1169 // with awserr.Error's Code and Message methods to get detailed information about 1170 // the error. 1171 // 1172 // See the AWS API reference guide for AWS Batch's 1173 // API operation ListJobs for usage and error information. 1174 // 1175 // Returned Error Types: 1176 // * ClientException 1177 // These errors are usually caused by a client action, such as using an action 1178 // or resource on behalf of a user that doesn't have permissions to use the 1179 // action or resource, or specifying an identifier that's not valid. 1180 // 1181 // * ServerException 1182 // These errors are usually caused by a server issue. 1183 // 1184 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1185 func (c *Batch) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 1186 req, out := c.ListJobsRequest(input) 1187 return out, req.Send() 1188 } 1189 1190 // ListJobsWithContext is the same as ListJobs with the addition of 1191 // the ability to pass a context and additional request options. 1192 // 1193 // See ListJobs for details on how to use this API operation. 1194 // 1195 // The context must be non-nil and will be used for request cancellation. If 1196 // the context is nil a panic will occur. In the future the SDK may create 1197 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1198 // for more information on using Contexts. 1199 func (c *Batch) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 1200 req, out := c.ListJobsRequest(input) 1201 req.SetContext(ctx) 1202 req.ApplyOptions(opts...) 1203 return out, req.Send() 1204 } 1205 1206 // ListJobsPages iterates over the pages of a ListJobs operation, 1207 // calling the "fn" function with the response data for each page. To stop 1208 // iterating, return false from the fn function. 1209 // 1210 // See ListJobs method for more information on how to use this operation. 1211 // 1212 // Note: This operation can generate multiple requests to a service. 1213 // 1214 // // Example iterating over at most 3 pages of a ListJobs operation. 1215 // pageNum := 0 1216 // err := client.ListJobsPages(params, 1217 // func(page *batch.ListJobsOutput, lastPage bool) bool { 1218 // pageNum++ 1219 // fmt.Println(page) 1220 // return pageNum <= 3 1221 // }) 1222 // 1223 func (c *Batch) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 1224 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 1225 } 1226 1227 // ListJobsPagesWithContext same as ListJobsPages except 1228 // it takes a Context and allows setting request options on the pages. 1229 // 1230 // The context must be non-nil and will be used for request cancellation. If 1231 // the context is nil a panic will occur. In the future the SDK may create 1232 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1233 // for more information on using Contexts. 1234 func (c *Batch) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 1235 p := request.Pagination{ 1236 NewRequest: func() (*request.Request, error) { 1237 var inCpy *ListJobsInput 1238 if input != nil { 1239 tmp := *input 1240 inCpy = &tmp 1241 } 1242 req, _ := c.ListJobsRequest(inCpy) 1243 req.SetContext(ctx) 1244 req.ApplyOptions(opts...) 1245 return req, nil 1246 }, 1247 } 1248 1249 for p.Next() { 1250 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 1251 break 1252 } 1253 } 1254 1255 return p.Err() 1256 } 1257 1258 const opListTagsForResource = "ListTagsForResource" 1259 1260 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 1261 // client's request for the ListTagsForResource operation. The "output" return 1262 // value will be populated with the request's response once the request completes 1263 // successfully. 1264 // 1265 // Use "Send" method on the returned Request to send the API call to the service. 1266 // the "output" return value is not valid until after Send returns without error. 1267 // 1268 // See ListTagsForResource for more information on using the ListTagsForResource 1269 // API call, and error handling. 1270 // 1271 // This method is useful when you want to inject custom logic or configuration 1272 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1273 // 1274 // 1275 // // Example sending a request using the ListTagsForResourceRequest method. 1276 // req, resp := client.ListTagsForResourceRequest(params) 1277 // 1278 // err := req.Send() 1279 // if err == nil { // resp is now filled 1280 // fmt.Println(resp) 1281 // } 1282 // 1283 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource 1284 func (c *Batch) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1285 op := &request.Operation{ 1286 Name: opListTagsForResource, 1287 HTTPMethod: "GET", 1288 HTTPPath: "/v1/tags/{resourceArn}", 1289 } 1290 1291 if input == nil { 1292 input = &ListTagsForResourceInput{} 1293 } 1294 1295 output = &ListTagsForResourceOutput{} 1296 req = c.newRequest(op, input, output) 1297 return 1298 } 1299 1300 // ListTagsForResource API operation for AWS Batch. 1301 // 1302 // Lists the tags for an Batch resource. Batch resources that support tags are 1303 // compute environments, jobs, job definitions, and job queues. ARNs for child 1304 // jobs of array and multi-node parallel (MNP) jobs are not supported. 1305 // 1306 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1307 // with awserr.Error's Code and Message methods to get detailed information about 1308 // the error. 1309 // 1310 // See the AWS API reference guide for AWS Batch's 1311 // API operation ListTagsForResource for usage and error information. 1312 // 1313 // Returned Error Types: 1314 // * ClientException 1315 // These errors are usually caused by a client action, such as using an action 1316 // or resource on behalf of a user that doesn't have permissions to use the 1317 // action or resource, or specifying an identifier that's not valid. 1318 // 1319 // * ServerException 1320 // These errors are usually caused by a server issue. 1321 // 1322 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource 1323 func (c *Batch) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1324 req, out := c.ListTagsForResourceRequest(input) 1325 return out, req.Send() 1326 } 1327 1328 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1329 // the ability to pass a context and additional request options. 1330 // 1331 // See ListTagsForResource for details on how to use this API operation. 1332 // 1333 // The context must be non-nil and will be used for request cancellation. If 1334 // the context is nil a panic will occur. In the future the SDK may create 1335 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1336 // for more information on using Contexts. 1337 func (c *Batch) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1338 req, out := c.ListTagsForResourceRequest(input) 1339 req.SetContext(ctx) 1340 req.ApplyOptions(opts...) 1341 return out, req.Send() 1342 } 1343 1344 const opRegisterJobDefinition = "RegisterJobDefinition" 1345 1346 // RegisterJobDefinitionRequest generates a "aws/request.Request" representing the 1347 // client's request for the RegisterJobDefinition operation. The "output" return 1348 // value will be populated with the request's response once the request completes 1349 // successfully. 1350 // 1351 // Use "Send" method on the returned Request to send the API call to the service. 1352 // the "output" return value is not valid until after Send returns without error. 1353 // 1354 // See RegisterJobDefinition for more information on using the RegisterJobDefinition 1355 // API call, and error handling. 1356 // 1357 // This method is useful when you want to inject custom logic or configuration 1358 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1359 // 1360 // 1361 // // Example sending a request using the RegisterJobDefinitionRequest method. 1362 // req, resp := client.RegisterJobDefinitionRequest(params) 1363 // 1364 // err := req.Send() 1365 // if err == nil { // resp is now filled 1366 // fmt.Println(resp) 1367 // } 1368 // 1369 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1370 func (c *Batch) RegisterJobDefinitionRequest(input *RegisterJobDefinitionInput) (req *request.Request, output *RegisterJobDefinitionOutput) { 1371 op := &request.Operation{ 1372 Name: opRegisterJobDefinition, 1373 HTTPMethod: "POST", 1374 HTTPPath: "/v1/registerjobdefinition", 1375 } 1376 1377 if input == nil { 1378 input = &RegisterJobDefinitionInput{} 1379 } 1380 1381 output = &RegisterJobDefinitionOutput{} 1382 req = c.newRequest(op, input, output) 1383 return 1384 } 1385 1386 // RegisterJobDefinition API operation for AWS Batch. 1387 // 1388 // Registers an Batch job definition. 1389 // 1390 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1391 // with awserr.Error's Code and Message methods to get detailed information about 1392 // the error. 1393 // 1394 // See the AWS API reference guide for AWS Batch's 1395 // API operation RegisterJobDefinition for usage and error information. 1396 // 1397 // Returned Error Types: 1398 // * ClientException 1399 // These errors are usually caused by a client action, such as using an action 1400 // or resource on behalf of a user that doesn't have permissions to use the 1401 // action or resource, or specifying an identifier that's not valid. 1402 // 1403 // * ServerException 1404 // These errors are usually caused by a server issue. 1405 // 1406 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1407 func (c *Batch) RegisterJobDefinition(input *RegisterJobDefinitionInput) (*RegisterJobDefinitionOutput, error) { 1408 req, out := c.RegisterJobDefinitionRequest(input) 1409 return out, req.Send() 1410 } 1411 1412 // RegisterJobDefinitionWithContext is the same as RegisterJobDefinition with the addition of 1413 // the ability to pass a context and additional request options. 1414 // 1415 // See RegisterJobDefinition for details on how to use this API operation. 1416 // 1417 // The context must be non-nil and will be used for request cancellation. If 1418 // the context is nil a panic will occur. In the future the SDK may create 1419 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1420 // for more information on using Contexts. 1421 func (c *Batch) RegisterJobDefinitionWithContext(ctx aws.Context, input *RegisterJobDefinitionInput, opts ...request.Option) (*RegisterJobDefinitionOutput, error) { 1422 req, out := c.RegisterJobDefinitionRequest(input) 1423 req.SetContext(ctx) 1424 req.ApplyOptions(opts...) 1425 return out, req.Send() 1426 } 1427 1428 const opSubmitJob = "SubmitJob" 1429 1430 // SubmitJobRequest generates a "aws/request.Request" representing the 1431 // client's request for the SubmitJob operation. The "output" return 1432 // value will be populated with the request's response once the request completes 1433 // successfully. 1434 // 1435 // Use "Send" method on the returned Request to send the API call to the service. 1436 // the "output" return value is not valid until after Send returns without error. 1437 // 1438 // See SubmitJob for more information on using the SubmitJob 1439 // API call, and error handling. 1440 // 1441 // This method is useful when you want to inject custom logic or configuration 1442 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1443 // 1444 // 1445 // // Example sending a request using the SubmitJobRequest method. 1446 // req, resp := client.SubmitJobRequest(params) 1447 // 1448 // err := req.Send() 1449 // if err == nil { // resp is now filled 1450 // fmt.Println(resp) 1451 // } 1452 // 1453 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1454 func (c *Batch) SubmitJobRequest(input *SubmitJobInput) (req *request.Request, output *SubmitJobOutput) { 1455 op := &request.Operation{ 1456 Name: opSubmitJob, 1457 HTTPMethod: "POST", 1458 HTTPPath: "/v1/submitjob", 1459 } 1460 1461 if input == nil { 1462 input = &SubmitJobInput{} 1463 } 1464 1465 output = &SubmitJobOutput{} 1466 req = c.newRequest(op, input, output) 1467 return 1468 } 1469 1470 // SubmitJob API operation for AWS Batch. 1471 // 1472 // Submits an Batch job from a job definition. Parameters that are specified 1473 // during SubmitJob override parameters defined in the job definition. vCPU 1474 // and memory requirements that are specified in the ResourceRequirements objects 1475 // in the job definition are the exception. They can't be overridden this way 1476 // using the memory and vcpus parameters. Rather, you must specify updates to 1477 // job definition parameters in a ResourceRequirements object that's included 1478 // in the containerOverrides parameter. 1479 // 1480 // Jobs that run on Fargate resources can't be guaranteed to run for more than 1481 // 14 days. This is because, after 14 days, Fargate resources might become unavailable 1482 // and job might be terminated. 1483 // 1484 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1485 // with awserr.Error's Code and Message methods to get detailed information about 1486 // the error. 1487 // 1488 // See the AWS API reference guide for AWS Batch's 1489 // API operation SubmitJob for usage and error information. 1490 // 1491 // Returned Error Types: 1492 // * ClientException 1493 // These errors are usually caused by a client action, such as using an action 1494 // or resource on behalf of a user that doesn't have permissions to use the 1495 // action or resource, or specifying an identifier that's not valid. 1496 // 1497 // * ServerException 1498 // These errors are usually caused by a server issue. 1499 // 1500 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1501 func (c *Batch) SubmitJob(input *SubmitJobInput) (*SubmitJobOutput, error) { 1502 req, out := c.SubmitJobRequest(input) 1503 return out, req.Send() 1504 } 1505 1506 // SubmitJobWithContext is the same as SubmitJob with the addition of 1507 // the ability to pass a context and additional request options. 1508 // 1509 // See SubmitJob for details on how to use this API operation. 1510 // 1511 // The context must be non-nil and will be used for request cancellation. If 1512 // the context is nil a panic will occur. In the future the SDK may create 1513 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1514 // for more information on using Contexts. 1515 func (c *Batch) SubmitJobWithContext(ctx aws.Context, input *SubmitJobInput, opts ...request.Option) (*SubmitJobOutput, error) { 1516 req, out := c.SubmitJobRequest(input) 1517 req.SetContext(ctx) 1518 req.ApplyOptions(opts...) 1519 return out, req.Send() 1520 } 1521 1522 const opTagResource = "TagResource" 1523 1524 // TagResourceRequest generates a "aws/request.Request" representing the 1525 // client's request for the TagResource operation. The "output" return 1526 // value will be populated with the request's response once the request completes 1527 // successfully. 1528 // 1529 // Use "Send" method on the returned Request to send the API call to the service. 1530 // the "output" return value is not valid until after Send returns without error. 1531 // 1532 // See TagResource for more information on using the TagResource 1533 // API call, and error handling. 1534 // 1535 // This method is useful when you want to inject custom logic or configuration 1536 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1537 // 1538 // 1539 // // Example sending a request using the TagResourceRequest method. 1540 // req, resp := client.TagResourceRequest(params) 1541 // 1542 // err := req.Send() 1543 // if err == nil { // resp is now filled 1544 // fmt.Println(resp) 1545 // } 1546 // 1547 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource 1548 func (c *Batch) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1549 op := &request.Operation{ 1550 Name: opTagResource, 1551 HTTPMethod: "POST", 1552 HTTPPath: "/v1/tags/{resourceArn}", 1553 } 1554 1555 if input == nil { 1556 input = &TagResourceInput{} 1557 } 1558 1559 output = &TagResourceOutput{} 1560 req = c.newRequest(op, input, output) 1561 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1562 return 1563 } 1564 1565 // TagResource API operation for AWS Batch. 1566 // 1567 // Associates the specified tags to a resource with the specified resourceArn. 1568 // If existing tags on a resource aren't specified in the request parameters, 1569 // they aren't changed. When a resource is deleted, the tags that are associated 1570 // with that resource are deleted as well. Batch resources that support tags 1571 // are compute environments, jobs, job definitions, and job queues. ARNs for 1572 // child jobs of array and multi-node parallel (MNP) jobs are not supported. 1573 // 1574 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1575 // with awserr.Error's Code and Message methods to get detailed information about 1576 // the error. 1577 // 1578 // See the AWS API reference guide for AWS Batch's 1579 // API operation TagResource for usage and error information. 1580 // 1581 // Returned Error Types: 1582 // * ClientException 1583 // These errors are usually caused by a client action, such as using an action 1584 // or resource on behalf of a user that doesn't have permissions to use the 1585 // action or resource, or specifying an identifier that's not valid. 1586 // 1587 // * ServerException 1588 // These errors are usually caused by a server issue. 1589 // 1590 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource 1591 func (c *Batch) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1592 req, out := c.TagResourceRequest(input) 1593 return out, req.Send() 1594 } 1595 1596 // TagResourceWithContext is the same as TagResource with the addition of 1597 // the ability to pass a context and additional request options. 1598 // 1599 // See TagResource for details on how to use this API operation. 1600 // 1601 // The context must be non-nil and will be used for request cancellation. If 1602 // the context is nil a panic will occur. In the future the SDK may create 1603 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1604 // for more information on using Contexts. 1605 func (c *Batch) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1606 req, out := c.TagResourceRequest(input) 1607 req.SetContext(ctx) 1608 req.ApplyOptions(opts...) 1609 return out, req.Send() 1610 } 1611 1612 const opTerminateJob = "TerminateJob" 1613 1614 // TerminateJobRequest generates a "aws/request.Request" representing the 1615 // client's request for the TerminateJob operation. The "output" return 1616 // value will be populated with the request's response once the request completes 1617 // successfully. 1618 // 1619 // Use "Send" method on the returned Request to send the API call to the service. 1620 // the "output" return value is not valid until after Send returns without error. 1621 // 1622 // See TerminateJob for more information on using the TerminateJob 1623 // API call, and error handling. 1624 // 1625 // This method is useful when you want to inject custom logic or configuration 1626 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1627 // 1628 // 1629 // // Example sending a request using the TerminateJobRequest method. 1630 // req, resp := client.TerminateJobRequest(params) 1631 // 1632 // err := req.Send() 1633 // if err == nil { // resp is now filled 1634 // fmt.Println(resp) 1635 // } 1636 // 1637 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 1638 func (c *Batch) TerminateJobRequest(input *TerminateJobInput) (req *request.Request, output *TerminateJobOutput) { 1639 op := &request.Operation{ 1640 Name: opTerminateJob, 1641 HTTPMethod: "POST", 1642 HTTPPath: "/v1/terminatejob", 1643 } 1644 1645 if input == nil { 1646 input = &TerminateJobInput{} 1647 } 1648 1649 output = &TerminateJobOutput{} 1650 req = c.newRequest(op, input, output) 1651 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1652 return 1653 } 1654 1655 // TerminateJob API operation for AWS Batch. 1656 // 1657 // Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING 1658 // state are terminated, which causes them to transition to FAILED. Jobs that 1659 // have not progressed to the STARTING state are cancelled. 1660 // 1661 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1662 // with awserr.Error's Code and Message methods to get detailed information about 1663 // the error. 1664 // 1665 // See the AWS API reference guide for AWS Batch's 1666 // API operation TerminateJob for usage and error information. 1667 // 1668 // Returned Error Types: 1669 // * ClientException 1670 // These errors are usually caused by a client action, such as using an action 1671 // or resource on behalf of a user that doesn't have permissions to use the 1672 // action or resource, or specifying an identifier that's not valid. 1673 // 1674 // * ServerException 1675 // These errors are usually caused by a server issue. 1676 // 1677 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 1678 func (c *Batch) TerminateJob(input *TerminateJobInput) (*TerminateJobOutput, error) { 1679 req, out := c.TerminateJobRequest(input) 1680 return out, req.Send() 1681 } 1682 1683 // TerminateJobWithContext is the same as TerminateJob with the addition of 1684 // the ability to pass a context and additional request options. 1685 // 1686 // See TerminateJob for details on how to use this API operation. 1687 // 1688 // The context must be non-nil and will be used for request cancellation. If 1689 // the context is nil a panic will occur. In the future the SDK may create 1690 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1691 // for more information on using Contexts. 1692 func (c *Batch) TerminateJobWithContext(ctx aws.Context, input *TerminateJobInput, opts ...request.Option) (*TerminateJobOutput, error) { 1693 req, out := c.TerminateJobRequest(input) 1694 req.SetContext(ctx) 1695 req.ApplyOptions(opts...) 1696 return out, req.Send() 1697 } 1698 1699 const opUntagResource = "UntagResource" 1700 1701 // UntagResourceRequest generates a "aws/request.Request" representing the 1702 // client's request for the UntagResource operation. The "output" return 1703 // value will be populated with the request's response once the request completes 1704 // successfully. 1705 // 1706 // Use "Send" method on the returned Request to send the API call to the service. 1707 // the "output" return value is not valid until after Send returns without error. 1708 // 1709 // See UntagResource for more information on using the UntagResource 1710 // API call, and error handling. 1711 // 1712 // This method is useful when you want to inject custom logic or configuration 1713 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1714 // 1715 // 1716 // // Example sending a request using the UntagResourceRequest method. 1717 // req, resp := client.UntagResourceRequest(params) 1718 // 1719 // err := req.Send() 1720 // if err == nil { // resp is now filled 1721 // fmt.Println(resp) 1722 // } 1723 // 1724 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource 1725 func (c *Batch) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1726 op := &request.Operation{ 1727 Name: opUntagResource, 1728 HTTPMethod: "DELETE", 1729 HTTPPath: "/v1/tags/{resourceArn}", 1730 } 1731 1732 if input == nil { 1733 input = &UntagResourceInput{} 1734 } 1735 1736 output = &UntagResourceOutput{} 1737 req = c.newRequest(op, input, output) 1738 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1739 return 1740 } 1741 1742 // UntagResource API operation for AWS Batch. 1743 // 1744 // Deletes specified tags from an Batch resource. 1745 // 1746 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1747 // with awserr.Error's Code and Message methods to get detailed information about 1748 // the error. 1749 // 1750 // See the AWS API reference guide for AWS Batch's 1751 // API operation UntagResource for usage and error information. 1752 // 1753 // Returned Error Types: 1754 // * ClientException 1755 // These errors are usually caused by a client action, such as using an action 1756 // or resource on behalf of a user that doesn't have permissions to use the 1757 // action or resource, or specifying an identifier that's not valid. 1758 // 1759 // * ServerException 1760 // These errors are usually caused by a server issue. 1761 // 1762 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource 1763 func (c *Batch) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1764 req, out := c.UntagResourceRequest(input) 1765 return out, req.Send() 1766 } 1767 1768 // UntagResourceWithContext is the same as UntagResource with the addition of 1769 // the ability to pass a context and additional request options. 1770 // 1771 // See UntagResource for details on how to use this API operation. 1772 // 1773 // The context must be non-nil and will be used for request cancellation. If 1774 // the context is nil a panic will occur. In the future the SDK may create 1775 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1776 // for more information on using Contexts. 1777 func (c *Batch) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1778 req, out := c.UntagResourceRequest(input) 1779 req.SetContext(ctx) 1780 req.ApplyOptions(opts...) 1781 return out, req.Send() 1782 } 1783 1784 const opUpdateComputeEnvironment = "UpdateComputeEnvironment" 1785 1786 // UpdateComputeEnvironmentRequest generates a "aws/request.Request" representing the 1787 // client's request for the UpdateComputeEnvironment operation. The "output" return 1788 // value will be populated with the request's response once the request completes 1789 // successfully. 1790 // 1791 // Use "Send" method on the returned Request to send the API call to the service. 1792 // the "output" return value is not valid until after Send returns without error. 1793 // 1794 // See UpdateComputeEnvironment for more information on using the UpdateComputeEnvironment 1795 // API call, and error handling. 1796 // 1797 // This method is useful when you want to inject custom logic or configuration 1798 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1799 // 1800 // 1801 // // Example sending a request using the UpdateComputeEnvironmentRequest method. 1802 // req, resp := client.UpdateComputeEnvironmentRequest(params) 1803 // 1804 // err := req.Send() 1805 // if err == nil { // resp is now filled 1806 // fmt.Println(resp) 1807 // } 1808 // 1809 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 1810 func (c *Batch) UpdateComputeEnvironmentRequest(input *UpdateComputeEnvironmentInput) (req *request.Request, output *UpdateComputeEnvironmentOutput) { 1811 op := &request.Operation{ 1812 Name: opUpdateComputeEnvironment, 1813 HTTPMethod: "POST", 1814 HTTPPath: "/v1/updatecomputeenvironment", 1815 } 1816 1817 if input == nil { 1818 input = &UpdateComputeEnvironmentInput{} 1819 } 1820 1821 output = &UpdateComputeEnvironmentOutput{} 1822 req = c.newRequest(op, input, output) 1823 return 1824 } 1825 1826 // UpdateComputeEnvironment API operation for AWS Batch. 1827 // 1828 // Updates an Batch compute environment. 1829 // 1830 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1831 // with awserr.Error's Code and Message methods to get detailed information about 1832 // the error. 1833 // 1834 // See the AWS API reference guide for AWS Batch's 1835 // API operation UpdateComputeEnvironment for usage and error information. 1836 // 1837 // Returned Error Types: 1838 // * ClientException 1839 // These errors are usually caused by a client action, such as using an action 1840 // or resource on behalf of a user that doesn't have permissions to use the 1841 // action or resource, or specifying an identifier that's not valid. 1842 // 1843 // * ServerException 1844 // These errors are usually caused by a server issue. 1845 // 1846 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 1847 func (c *Batch) UpdateComputeEnvironment(input *UpdateComputeEnvironmentInput) (*UpdateComputeEnvironmentOutput, error) { 1848 req, out := c.UpdateComputeEnvironmentRequest(input) 1849 return out, req.Send() 1850 } 1851 1852 // UpdateComputeEnvironmentWithContext is the same as UpdateComputeEnvironment with the addition of 1853 // the ability to pass a context and additional request options. 1854 // 1855 // See UpdateComputeEnvironment for details on how to use this API operation. 1856 // 1857 // The context must be non-nil and will be used for request cancellation. If 1858 // the context is nil a panic will occur. In the future the SDK may create 1859 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1860 // for more information on using Contexts. 1861 func (c *Batch) UpdateComputeEnvironmentWithContext(ctx aws.Context, input *UpdateComputeEnvironmentInput, opts ...request.Option) (*UpdateComputeEnvironmentOutput, error) { 1862 req, out := c.UpdateComputeEnvironmentRequest(input) 1863 req.SetContext(ctx) 1864 req.ApplyOptions(opts...) 1865 return out, req.Send() 1866 } 1867 1868 const opUpdateJobQueue = "UpdateJobQueue" 1869 1870 // UpdateJobQueueRequest generates a "aws/request.Request" representing the 1871 // client's request for the UpdateJobQueue operation. The "output" return 1872 // value will be populated with the request's response once the request completes 1873 // successfully. 1874 // 1875 // Use "Send" method on the returned Request to send the API call to the service. 1876 // the "output" return value is not valid until after Send returns without error. 1877 // 1878 // See UpdateJobQueue for more information on using the UpdateJobQueue 1879 // API call, and error handling. 1880 // 1881 // This method is useful when you want to inject custom logic or configuration 1882 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1883 // 1884 // 1885 // // Example sending a request using the UpdateJobQueueRequest method. 1886 // req, resp := client.UpdateJobQueueRequest(params) 1887 // 1888 // err := req.Send() 1889 // if err == nil { // resp is now filled 1890 // fmt.Println(resp) 1891 // } 1892 // 1893 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 1894 func (c *Batch) UpdateJobQueueRequest(input *UpdateJobQueueInput) (req *request.Request, output *UpdateJobQueueOutput) { 1895 op := &request.Operation{ 1896 Name: opUpdateJobQueue, 1897 HTTPMethod: "POST", 1898 HTTPPath: "/v1/updatejobqueue", 1899 } 1900 1901 if input == nil { 1902 input = &UpdateJobQueueInput{} 1903 } 1904 1905 output = &UpdateJobQueueOutput{} 1906 req = c.newRequest(op, input, output) 1907 return 1908 } 1909 1910 // UpdateJobQueue API operation for AWS Batch. 1911 // 1912 // Updates a job queue. 1913 // 1914 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1915 // with awserr.Error's Code and Message methods to get detailed information about 1916 // the error. 1917 // 1918 // See the AWS API reference guide for AWS Batch's 1919 // API operation UpdateJobQueue for usage and error information. 1920 // 1921 // Returned Error Types: 1922 // * ClientException 1923 // These errors are usually caused by a client action, such as using an action 1924 // or resource on behalf of a user that doesn't have permissions to use the 1925 // action or resource, or specifying an identifier that's not valid. 1926 // 1927 // * ServerException 1928 // These errors are usually caused by a server issue. 1929 // 1930 // See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 1931 func (c *Batch) UpdateJobQueue(input *UpdateJobQueueInput) (*UpdateJobQueueOutput, error) { 1932 req, out := c.UpdateJobQueueRequest(input) 1933 return out, req.Send() 1934 } 1935 1936 // UpdateJobQueueWithContext is the same as UpdateJobQueue with the addition of 1937 // the ability to pass a context and additional request options. 1938 // 1939 // See UpdateJobQueue for details on how to use this API operation. 1940 // 1941 // The context must be non-nil and will be used for request cancellation. If 1942 // the context is nil a panic will occur. In the future the SDK may create 1943 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1944 // for more information on using Contexts. 1945 func (c *Batch) UpdateJobQueueWithContext(ctx aws.Context, input *UpdateJobQueueInput, opts ...request.Option) (*UpdateJobQueueOutput, error) { 1946 req, out := c.UpdateJobQueueRequest(input) 1947 req.SetContext(ctx) 1948 req.ApplyOptions(opts...) 1949 return out, req.Send() 1950 } 1951 1952 // An object representing an Batch array job. 1953 type ArrayProperties struct { 1954 _ struct{} `type:"structure"` 1955 1956 // The size of the array job. 1957 Size *int64 `locationName:"size" type:"integer"` 1958 } 1959 1960 // String returns the string representation. 1961 // 1962 // API parameter values that are decorated as "sensitive" in the API will not 1963 // be included in the string output. The member name will be present, but the 1964 // value will be replaced with "sensitive". 1965 func (s ArrayProperties) String() string { 1966 return awsutil.Prettify(s) 1967 } 1968 1969 // GoString returns the string representation. 1970 // 1971 // API parameter values that are decorated as "sensitive" in the API will not 1972 // be included in the string output. The member name will be present, but the 1973 // value will be replaced with "sensitive". 1974 func (s ArrayProperties) GoString() string { 1975 return s.String() 1976 } 1977 1978 // SetSize sets the Size field's value. 1979 func (s *ArrayProperties) SetSize(v int64) *ArrayProperties { 1980 s.Size = &v 1981 return s 1982 } 1983 1984 // An object representing the array properties of a job. 1985 type ArrayPropertiesDetail struct { 1986 _ struct{} `type:"structure"` 1987 1988 // The job index within the array that's associated with this job. This parameter 1989 // is returned for array job children. 1990 Index *int64 `locationName:"index" type:"integer"` 1991 1992 // The size of the array job. This parameter is returned for parent array jobs. 1993 Size *int64 `locationName:"size" type:"integer"` 1994 1995 // A summary of the number of array job children in each available job status. 1996 // This parameter is returned for parent array jobs. 1997 StatusSummary map[string]*int64 `locationName:"statusSummary" type:"map"` 1998 } 1999 2000 // String returns the string representation. 2001 // 2002 // API parameter values that are decorated as "sensitive" in the API will not 2003 // be included in the string output. The member name will be present, but the 2004 // value will be replaced with "sensitive". 2005 func (s ArrayPropertiesDetail) String() string { 2006 return awsutil.Prettify(s) 2007 } 2008 2009 // GoString returns the string representation. 2010 // 2011 // API parameter values that are decorated as "sensitive" in the API will not 2012 // be included in the string output. The member name will be present, but the 2013 // value will be replaced with "sensitive". 2014 func (s ArrayPropertiesDetail) GoString() string { 2015 return s.String() 2016 } 2017 2018 // SetIndex sets the Index field's value. 2019 func (s *ArrayPropertiesDetail) SetIndex(v int64) *ArrayPropertiesDetail { 2020 s.Index = &v 2021 return s 2022 } 2023 2024 // SetSize sets the Size field's value. 2025 func (s *ArrayPropertiesDetail) SetSize(v int64) *ArrayPropertiesDetail { 2026 s.Size = &v 2027 return s 2028 } 2029 2030 // SetStatusSummary sets the StatusSummary field's value. 2031 func (s *ArrayPropertiesDetail) SetStatusSummary(v map[string]*int64) *ArrayPropertiesDetail { 2032 s.StatusSummary = v 2033 return s 2034 } 2035 2036 // An object representing the array properties of a job. 2037 type ArrayPropertiesSummary struct { 2038 _ struct{} `type:"structure"` 2039 2040 // The job index within the array that's associated with this job. This parameter 2041 // is returned for children of array jobs. 2042 Index *int64 `locationName:"index" type:"integer"` 2043 2044 // The size of the array job. This parameter is returned for parent array jobs. 2045 Size *int64 `locationName:"size" type:"integer"` 2046 } 2047 2048 // String returns the string representation. 2049 // 2050 // API parameter values that are decorated as "sensitive" in the API will not 2051 // be included in the string output. The member name will be present, but the 2052 // value will be replaced with "sensitive". 2053 func (s ArrayPropertiesSummary) String() string { 2054 return awsutil.Prettify(s) 2055 } 2056 2057 // GoString returns the string representation. 2058 // 2059 // API parameter values that are decorated as "sensitive" in the API will not 2060 // be included in the string output. The member name will be present, but the 2061 // value will be replaced with "sensitive". 2062 func (s ArrayPropertiesSummary) GoString() string { 2063 return s.String() 2064 } 2065 2066 // SetIndex sets the Index field's value. 2067 func (s *ArrayPropertiesSummary) SetIndex(v int64) *ArrayPropertiesSummary { 2068 s.Index = &v 2069 return s 2070 } 2071 2072 // SetSize sets the Size field's value. 2073 func (s *ArrayPropertiesSummary) SetSize(v int64) *ArrayPropertiesSummary { 2074 s.Size = &v 2075 return s 2076 } 2077 2078 // An object representing the details of a container that's part of a job attempt. 2079 type AttemptContainerDetail struct { 2080 _ struct{} `type:"structure"` 2081 2082 // The Amazon Resource Name (ARN) of the Amazon ECS container instance that 2083 // hosts the job attempt. 2084 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 2085 2086 // The exit code for the job attempt. A non-zero exit code is considered a failure. 2087 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2088 2089 // The name of the CloudWatch Logs log stream associated with the container. 2090 // The log group for Batch jobs is /aws/batch/job. Each container attempt receives 2091 // a log stream name when they reach the RUNNING status. 2092 LogStreamName *string `locationName:"logStreamName" type:"string"` 2093 2094 // The network interfaces associated with the job attempt. 2095 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 2096 2097 // A short (255 max characters) human-readable string to provide additional 2098 // details about a running or stopped container. 2099 Reason *string `locationName:"reason" type:"string"` 2100 2101 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 2102 // the job attempt. Each container attempt receives a task ARN when they reach 2103 // the STARTING status. 2104 TaskArn *string `locationName:"taskArn" type:"string"` 2105 } 2106 2107 // String returns the string representation. 2108 // 2109 // API parameter values that are decorated as "sensitive" in the API will not 2110 // be included in the string output. The member name will be present, but the 2111 // value will be replaced with "sensitive". 2112 func (s AttemptContainerDetail) String() string { 2113 return awsutil.Prettify(s) 2114 } 2115 2116 // GoString returns the string representation. 2117 // 2118 // API parameter values that are decorated as "sensitive" in the API will not 2119 // be included in the string output. The member name will be present, but the 2120 // value will be replaced with "sensitive". 2121 func (s AttemptContainerDetail) GoString() string { 2122 return s.String() 2123 } 2124 2125 // SetContainerInstanceArn sets the ContainerInstanceArn field's value. 2126 func (s *AttemptContainerDetail) SetContainerInstanceArn(v string) *AttemptContainerDetail { 2127 s.ContainerInstanceArn = &v 2128 return s 2129 } 2130 2131 // SetExitCode sets the ExitCode field's value. 2132 func (s *AttemptContainerDetail) SetExitCode(v int64) *AttemptContainerDetail { 2133 s.ExitCode = &v 2134 return s 2135 } 2136 2137 // SetLogStreamName sets the LogStreamName field's value. 2138 func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail { 2139 s.LogStreamName = &v 2140 return s 2141 } 2142 2143 // SetNetworkInterfaces sets the NetworkInterfaces field's value. 2144 func (s *AttemptContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *AttemptContainerDetail { 2145 s.NetworkInterfaces = v 2146 return s 2147 } 2148 2149 // SetReason sets the Reason field's value. 2150 func (s *AttemptContainerDetail) SetReason(v string) *AttemptContainerDetail { 2151 s.Reason = &v 2152 return s 2153 } 2154 2155 // SetTaskArn sets the TaskArn field's value. 2156 func (s *AttemptContainerDetail) SetTaskArn(v string) *AttemptContainerDetail { 2157 s.TaskArn = &v 2158 return s 2159 } 2160 2161 // An object representing a job attempt. 2162 type AttemptDetail struct { 2163 _ struct{} `type:"structure"` 2164 2165 // Details about the container in this job attempt. 2166 Container *AttemptContainerDetail `locationName:"container" type:"structure"` 2167 2168 // The Unix timestamp (in milliseconds) for when the attempt was started (when 2169 // the attempt transitioned from the STARTING state to the RUNNING state). 2170 StartedAt *int64 `locationName:"startedAt" type:"long"` 2171 2172 // A short, human-readable string to provide additional details about the current 2173 // status of the job attempt. 2174 StatusReason *string `locationName:"statusReason" type:"string"` 2175 2176 // The Unix timestamp (in milliseconds) for when the attempt was stopped (when 2177 // the attempt transitioned from the RUNNING state to a terminal state, such 2178 // as SUCCEEDED or FAILED). 2179 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 2180 } 2181 2182 // String returns the string representation. 2183 // 2184 // API parameter values that are decorated as "sensitive" in the API will not 2185 // be included in the string output. The member name will be present, but the 2186 // value will be replaced with "sensitive". 2187 func (s AttemptDetail) String() string { 2188 return awsutil.Prettify(s) 2189 } 2190 2191 // GoString returns the string representation. 2192 // 2193 // API parameter values that are decorated as "sensitive" in the API will not 2194 // be included in the string output. The member name will be present, but the 2195 // value will be replaced with "sensitive". 2196 func (s AttemptDetail) GoString() string { 2197 return s.String() 2198 } 2199 2200 // SetContainer sets the Container field's value. 2201 func (s *AttemptDetail) SetContainer(v *AttemptContainerDetail) *AttemptDetail { 2202 s.Container = v 2203 return s 2204 } 2205 2206 // SetStartedAt sets the StartedAt field's value. 2207 func (s *AttemptDetail) SetStartedAt(v int64) *AttemptDetail { 2208 s.StartedAt = &v 2209 return s 2210 } 2211 2212 // SetStatusReason sets the StatusReason field's value. 2213 func (s *AttemptDetail) SetStatusReason(v string) *AttemptDetail { 2214 s.StatusReason = &v 2215 return s 2216 } 2217 2218 // SetStoppedAt sets the StoppedAt field's value. 2219 func (s *AttemptDetail) SetStoppedAt(v int64) *AttemptDetail { 2220 s.StoppedAt = &v 2221 return s 2222 } 2223 2224 // Contains the parameters for CancelJob. 2225 type CancelJobInput struct { 2226 _ struct{} `type:"structure"` 2227 2228 // The Batch job ID of the job to cancel. 2229 // 2230 // JobId is a required field 2231 JobId *string `locationName:"jobId" type:"string" required:"true"` 2232 2233 // A message to attach to the job that explains the reason for canceling it. 2234 // This message is returned by future DescribeJobs operations on the job. This 2235 // message is also recorded in the Batch activity logs. 2236 // 2237 // Reason is a required field 2238 Reason *string `locationName:"reason" type:"string" required:"true"` 2239 } 2240 2241 // String returns the string representation. 2242 // 2243 // API parameter values that are decorated as "sensitive" in the API will not 2244 // be included in the string output. The member name will be present, but the 2245 // value will be replaced with "sensitive". 2246 func (s CancelJobInput) String() string { 2247 return awsutil.Prettify(s) 2248 } 2249 2250 // GoString returns the string representation. 2251 // 2252 // API parameter values that are decorated as "sensitive" in the API will not 2253 // be included in the string output. The member name will be present, but the 2254 // value will be replaced with "sensitive". 2255 func (s CancelJobInput) GoString() string { 2256 return s.String() 2257 } 2258 2259 // Validate inspects the fields of the type to determine if they are valid. 2260 func (s *CancelJobInput) Validate() error { 2261 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 2262 if s.JobId == nil { 2263 invalidParams.Add(request.NewErrParamRequired("JobId")) 2264 } 2265 if s.Reason == nil { 2266 invalidParams.Add(request.NewErrParamRequired("Reason")) 2267 } 2268 2269 if invalidParams.Len() > 0 { 2270 return invalidParams 2271 } 2272 return nil 2273 } 2274 2275 // SetJobId sets the JobId field's value. 2276 func (s *CancelJobInput) SetJobId(v string) *CancelJobInput { 2277 s.JobId = &v 2278 return s 2279 } 2280 2281 // SetReason sets the Reason field's value. 2282 func (s *CancelJobInput) SetReason(v string) *CancelJobInput { 2283 s.Reason = &v 2284 return s 2285 } 2286 2287 type CancelJobOutput struct { 2288 _ struct{} `type:"structure" nopayload:"true"` 2289 } 2290 2291 // String returns the string representation. 2292 // 2293 // API parameter values that are decorated as "sensitive" in the API will not 2294 // be included in the string output. The member name will be present, but the 2295 // value will be replaced with "sensitive". 2296 func (s CancelJobOutput) String() string { 2297 return awsutil.Prettify(s) 2298 } 2299 2300 // GoString returns the string representation. 2301 // 2302 // API parameter values that are decorated as "sensitive" in the API will not 2303 // be included in the string output. The member name will be present, but the 2304 // value will be replaced with "sensitive". 2305 func (s CancelJobOutput) GoString() string { 2306 return s.String() 2307 } 2308 2309 // These errors are usually caused by a client action, such as using an action 2310 // or resource on behalf of a user that doesn't have permissions to use the 2311 // action or resource, or specifying an identifier that's not valid. 2312 type ClientException struct { 2313 _ struct{} `type:"structure"` 2314 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2315 2316 Message_ *string `locationName:"message" type:"string"` 2317 } 2318 2319 // String returns the string representation. 2320 // 2321 // API parameter values that are decorated as "sensitive" in the API will not 2322 // be included in the string output. The member name will be present, but the 2323 // value will be replaced with "sensitive". 2324 func (s ClientException) String() string { 2325 return awsutil.Prettify(s) 2326 } 2327 2328 // GoString returns the string representation. 2329 // 2330 // API parameter values that are decorated as "sensitive" in the API will not 2331 // be included in the string output. The member name will be present, but the 2332 // value will be replaced with "sensitive". 2333 func (s ClientException) GoString() string { 2334 return s.String() 2335 } 2336 2337 func newErrorClientException(v protocol.ResponseMetadata) error { 2338 return &ClientException{ 2339 RespMetadata: v, 2340 } 2341 } 2342 2343 // Code returns the exception type name. 2344 func (s *ClientException) Code() string { 2345 return "ClientException" 2346 } 2347 2348 // Message returns the exception's message. 2349 func (s *ClientException) Message() string { 2350 if s.Message_ != nil { 2351 return *s.Message_ 2352 } 2353 return "" 2354 } 2355 2356 // OrigErr always returns nil, satisfies awserr.Error interface. 2357 func (s *ClientException) OrigErr() error { 2358 return nil 2359 } 2360 2361 func (s *ClientException) Error() string { 2362 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2363 } 2364 2365 // Status code returns the HTTP status code for the request's response error. 2366 func (s *ClientException) StatusCode() int { 2367 return s.RespMetadata.StatusCode 2368 } 2369 2370 // RequestID returns the service's response RequestID for request. 2371 func (s *ClientException) RequestID() string { 2372 return s.RespMetadata.RequestID 2373 } 2374 2375 // An object representing an Batch compute environment. 2376 type ComputeEnvironmentDetail struct { 2377 _ struct{} `type:"structure"` 2378 2379 // The Amazon Resource Name (ARN) of the compute environment. 2380 // 2381 // ComputeEnvironmentArn is a required field 2382 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string" required:"true"` 2383 2384 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 2385 // numbers, hyphens, and underscores are allowed. 2386 // 2387 // ComputeEnvironmentName is a required field 2388 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 2389 2390 // The compute resources defined for the compute environment. For more information, 2391 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2392 // in the Batch User Guide. 2393 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 2394 2395 // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used 2396 // by the compute environment. 2397 // 2398 // EcsClusterArn is a required field 2399 EcsClusterArn *string `locationName:"ecsClusterArn" type:"string" required:"true"` 2400 2401 // The service role associated with the compute environment that allows Batch 2402 // to make calls to Amazon Web Services API operations on your behalf. For more 2403 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 2404 // in the Batch User Guide. 2405 ServiceRole *string `locationName:"serviceRole" type:"string"` 2406 2407 // The state of the compute environment. The valid values are ENABLED or DISABLED. 2408 // 2409 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 2410 // from an associated job queue on the compute resources within the environment. 2411 // If the compute environment is managed, then it can scale its instances out 2412 // or in automatically, based on the job queue demand. 2413 // 2414 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 2415 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 2416 // to progress normally. Managed compute environments in the DISABLED state 2417 // don't scale out. However, they scale in to minvCpus value after instances 2418 // become idle. 2419 State *string `locationName:"state" type:"string" enum:"CEState"` 2420 2421 // The current status of the compute environment (for example, CREATING or VALID). 2422 Status *string `locationName:"status" type:"string" enum:"CEStatus"` 2423 2424 // A short, human-readable string to provide additional details about the current 2425 // status of the compute environment. 2426 StatusReason *string `locationName:"statusReason" type:"string"` 2427 2428 // The tags applied to the compute environment. 2429 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2430 2431 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 2432 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2433 // in the Batch User Guide. 2434 Type *string `locationName:"type" type:"string" enum:"CEType"` 2435 } 2436 2437 // String returns the string representation. 2438 // 2439 // API parameter values that are decorated as "sensitive" in the API will not 2440 // be included in the string output. The member name will be present, but the 2441 // value will be replaced with "sensitive". 2442 func (s ComputeEnvironmentDetail) String() string { 2443 return awsutil.Prettify(s) 2444 } 2445 2446 // GoString returns the string representation. 2447 // 2448 // API parameter values that are decorated as "sensitive" in the API will not 2449 // be included in the string output. The member name will be present, but the 2450 // value will be replaced with "sensitive". 2451 func (s ComputeEnvironmentDetail) GoString() string { 2452 return s.String() 2453 } 2454 2455 // SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 2456 func (s *ComputeEnvironmentDetail) SetComputeEnvironmentArn(v string) *ComputeEnvironmentDetail { 2457 s.ComputeEnvironmentArn = &v 2458 return s 2459 } 2460 2461 // SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 2462 func (s *ComputeEnvironmentDetail) SetComputeEnvironmentName(v string) *ComputeEnvironmentDetail { 2463 s.ComputeEnvironmentName = &v 2464 return s 2465 } 2466 2467 // SetComputeResources sets the ComputeResources field's value. 2468 func (s *ComputeEnvironmentDetail) SetComputeResources(v *ComputeResource) *ComputeEnvironmentDetail { 2469 s.ComputeResources = v 2470 return s 2471 } 2472 2473 // SetEcsClusterArn sets the EcsClusterArn field's value. 2474 func (s *ComputeEnvironmentDetail) SetEcsClusterArn(v string) *ComputeEnvironmentDetail { 2475 s.EcsClusterArn = &v 2476 return s 2477 } 2478 2479 // SetServiceRole sets the ServiceRole field's value. 2480 func (s *ComputeEnvironmentDetail) SetServiceRole(v string) *ComputeEnvironmentDetail { 2481 s.ServiceRole = &v 2482 return s 2483 } 2484 2485 // SetState sets the State field's value. 2486 func (s *ComputeEnvironmentDetail) SetState(v string) *ComputeEnvironmentDetail { 2487 s.State = &v 2488 return s 2489 } 2490 2491 // SetStatus sets the Status field's value. 2492 func (s *ComputeEnvironmentDetail) SetStatus(v string) *ComputeEnvironmentDetail { 2493 s.Status = &v 2494 return s 2495 } 2496 2497 // SetStatusReason sets the StatusReason field's value. 2498 func (s *ComputeEnvironmentDetail) SetStatusReason(v string) *ComputeEnvironmentDetail { 2499 s.StatusReason = &v 2500 return s 2501 } 2502 2503 // SetTags sets the Tags field's value. 2504 func (s *ComputeEnvironmentDetail) SetTags(v map[string]*string) *ComputeEnvironmentDetail { 2505 s.Tags = v 2506 return s 2507 } 2508 2509 // SetType sets the Type field's value. 2510 func (s *ComputeEnvironmentDetail) SetType(v string) *ComputeEnvironmentDetail { 2511 s.Type = &v 2512 return s 2513 } 2514 2515 // The order in which compute environments are tried for job placement within 2516 // a queue. Compute environments are tried in ascending order. For example, 2517 // if two compute environments are associated with a job queue, the compute 2518 // environment with a lower order integer value is tried for job placement first. 2519 // Compute environments must be in the VALID state before you can associate 2520 // them with a job queue. All of the compute environments must be either EC2 2521 // (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate compute 2522 // environments can't be mixed. 2523 // 2524 // All compute environments that are associated with a job queue must share 2525 // the same architecture. Batch doesn't support mixing compute environment architecture 2526 // types in a single job queue. 2527 type ComputeEnvironmentOrder struct { 2528 _ struct{} `type:"structure"` 2529 2530 // The Amazon Resource Name (ARN) of the compute environment. 2531 // 2532 // ComputeEnvironment is a required field 2533 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 2534 2535 // The order of the compute environment. Compute environments are tried in ascending 2536 // order. For example, if two compute environments are associated with a job 2537 // queue, the compute environment with a lower order integer value is tried 2538 // for job placement first. 2539 // 2540 // Order is a required field 2541 Order *int64 `locationName:"order" type:"integer" required:"true"` 2542 } 2543 2544 // String returns the string representation. 2545 // 2546 // API parameter values that are decorated as "sensitive" in the API will not 2547 // be included in the string output. The member name will be present, but the 2548 // value will be replaced with "sensitive". 2549 func (s ComputeEnvironmentOrder) String() string { 2550 return awsutil.Prettify(s) 2551 } 2552 2553 // GoString returns the string representation. 2554 // 2555 // API parameter values that are decorated as "sensitive" in the API will not 2556 // be included in the string output. The member name will be present, but the 2557 // value will be replaced with "sensitive". 2558 func (s ComputeEnvironmentOrder) GoString() string { 2559 return s.String() 2560 } 2561 2562 // Validate inspects the fields of the type to determine if they are valid. 2563 func (s *ComputeEnvironmentOrder) Validate() error { 2564 invalidParams := request.ErrInvalidParams{Context: "ComputeEnvironmentOrder"} 2565 if s.ComputeEnvironment == nil { 2566 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 2567 } 2568 if s.Order == nil { 2569 invalidParams.Add(request.NewErrParamRequired("Order")) 2570 } 2571 2572 if invalidParams.Len() > 0 { 2573 return invalidParams 2574 } 2575 return nil 2576 } 2577 2578 // SetComputeEnvironment sets the ComputeEnvironment field's value. 2579 func (s *ComputeEnvironmentOrder) SetComputeEnvironment(v string) *ComputeEnvironmentOrder { 2580 s.ComputeEnvironment = &v 2581 return s 2582 } 2583 2584 // SetOrder sets the Order field's value. 2585 func (s *ComputeEnvironmentOrder) SetOrder(v int64) *ComputeEnvironmentOrder { 2586 s.Order = &v 2587 return s 2588 } 2589 2590 // An object representing an Batch compute resource. For more information, see 2591 // Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2592 // in the Batch User Guide. 2593 type ComputeResource struct { 2594 _ struct{} `type:"structure"` 2595 2596 // The allocation strategy to use for the compute resource if not enough instances 2597 // of the best fitting instance type can be allocated. This might be because 2598 // of availability of the instance type in the Region or Amazon EC2 service 2599 // limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). 2600 // For more information, see Allocation Strategies (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html) 2601 // in the Batch User Guide. 2602 // 2603 // This parameter isn't applicable to jobs that are running on Fargate resources, 2604 // and shouldn't be specified. 2605 // 2606 // BEST_FIT (default) 2607 // 2608 // Batch selects an instance type that best fits the needs of the jobs with 2609 // a preference for the lowest-cost instance type. If additional instances of 2610 // the selected instance type aren't available, Batch waits for the additional 2611 // instances to be available. If there aren't enough instances available, or 2612 // if the user is reaching Amazon EC2 service limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) 2613 // then additional jobs aren't run until the currently running jobs have completed. 2614 // This allocation strategy keeps costs lower but can limit scaling. If you 2615 // are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be 2616 // specified. 2617 // 2618 // BEST_FIT_PROGRESSIVE 2619 // 2620 // Batch will select additional instance types that are large enough to meet 2621 // the requirements of the jobs in the queue, with a preference for instance 2622 // types with a lower cost per unit vCPU. If additional instances of the previously 2623 // selected instance types aren't available, Batch will select new instance 2624 // types. 2625 // 2626 // SPOT_CAPACITY_OPTIMIZED 2627 // 2628 // Batch will select one or more instance types that are large enough to meet 2629 // the requirements of the jobs in the queue, with a preference for instance 2630 // types that are less likely to be interrupted. This allocation strategy is 2631 // only available for Spot Instance compute resources. 2632 // 2633 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED strategies, Batch 2634 // might need to go above maxvCpus to meet your capacity requirements. In this 2635 // event, Batch never exceeds maxvCpus by more than a single instance. 2636 AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"CRAllocationStrategy"` 2637 2638 // The maximum percentage that a Spot Instance price can be when compared with 2639 // the On-Demand price for that instance type before instances are launched. 2640 // For example, if your maximum percentage is 20%, then the Spot price must 2641 // be less than 20% of the current On-Demand price for that Amazon EC2 instance. 2642 // You always pay the lowest (market) price and never more than your maximum 2643 // percentage. If you leave this field empty, the default value is 100% of the 2644 // On-Demand price. 2645 // 2646 // This parameter isn't applicable to jobs that are running on Fargate resources, 2647 // and shouldn't be specified. 2648 BidPercentage *int64 `locationName:"bidPercentage" type:"integer"` 2649 2650 // The desired number of Amazon EC2 vCPUS in the compute environment. Batch 2651 // modifies this value between the minimum and maximum values, based on job 2652 // queue demand. 2653 // 2654 // This parameter isn't applicable to jobs that are running on Fargate resources, 2655 // and shouldn't be specified. 2656 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2657 2658 // Provides information used to select Amazon Machine Images (AMIs) for EC2 2659 // instances in the compute environment. If Ec2Configuration isn't specified, 2660 // the default is ECS_AL1. 2661 // 2662 // This parameter isn't applicable to jobs that are running on Fargate resources, 2663 // and shouldn't be specified. 2664 Ec2Configuration []*Ec2Configuration `locationName:"ec2Configuration" type:"list"` 2665 2666 // The Amazon EC2 key pair that's used for instances launched in the compute 2667 // environment. You can use this key pair to log in to your instances with SSH. 2668 // 2669 // This parameter isn't applicable to jobs that are running on Fargate resources, 2670 // and shouldn't be specified. 2671 Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"` 2672 2673 // The Amazon Machine Image (AMI) ID used for instances launched in the compute 2674 // environment. This parameter is overridden by the imageIdOverride member of 2675 // the Ec2Configuration structure. 2676 // 2677 // This parameter isn't applicable to jobs that are running on Fargate resources, 2678 // and shouldn't be specified. 2679 // 2680 // The AMI that you choose for a compute environment must match the architecture 2681 // of the instance types that you intend to use for that compute environment. 2682 // For example, if your compute environment uses A1 instance types, the compute 2683 // resource AMI that you choose must support ARM instances. Amazon ECS vends 2684 // both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. 2685 // For more information, see Amazon ECS-optimized Amazon Linux 2 AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html) 2686 // in the Amazon Elastic Container Service Developer Guide. 2687 // 2688 // Deprecated: This field is deprecated, use ec2Configuration[].imageIdOverride instead. 2689 ImageId *string `locationName:"imageId" deprecated:"true" type:"string"` 2690 2691 // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute 2692 // environment. You can specify the short name or full Amazon Resource Name 2693 // (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole 2694 // . For more information, see Amazon ECS Instance Role (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) 2695 // in the Batch User Guide. 2696 // 2697 // This parameter isn't applicable to jobs that are running on Fargate resources, 2698 // and shouldn't be specified. 2699 InstanceRole *string `locationName:"instanceRole" type:"string"` 2700 2701 // The instances types that can be launched. You can specify instance families 2702 // to launch any instance type within those families (for example, c5 or p3), 2703 // or you can specify specific sizes within a family (such as c5.8xlarge). You 2704 // can also choose optimal to select instance types (from the C4, M4, and R4 2705 // instance families) that match the demand of your job queues. 2706 // 2707 // This parameter isn't applicable to jobs that are running on Fargate resources, 2708 // and shouldn't be specified. 2709 // 2710 // When you create a compute environment, the instance types that you select 2711 // for the compute environment must share the same architecture. For example, 2712 // you can't mix x86 and ARM instances in the same compute environment. 2713 // 2714 // Currently, optimal uses instance types from the C4, M4, and R4 instance families. 2715 // In Regions that don't have instance types from those instance families, instance 2716 // types from the C5, M5. and R5 instance families are used. 2717 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 2718 2719 // The launch template to use for your compute resources. Any other compute 2720 // resource parameters that you specify in a CreateComputeEnvironment API operation 2721 // override the same parameters in the launch template. You must specify either 2722 // the launch template ID or launch template name in the request, but not both. 2723 // For more information, see Launch Template Support (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) 2724 // in the Batch User Guide. 2725 // 2726 // This parameter isn't applicable to jobs that are running on Fargate resources, 2727 // and shouldn't be specified. 2728 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 2729 2730 // The maximum number of Amazon EC2 vCPUs that a compute environment can reach. 2731 // 2732 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 2733 // Batch might need to exceed maxvCpus to meet your capacity requirements. In 2734 // this event, Batch never exceeds maxvCpus by more than a single instance. 2735 // For example, no more than a single instance from among those specified in 2736 // your compute environment is allocated. 2737 // 2738 // MaxvCpus is a required field 2739 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"` 2740 2741 // The minimum number of Amazon EC2 vCPUs that an environment should maintain 2742 // (even if the compute environment is DISABLED). 2743 // 2744 // This parameter isn't applicable to jobs that are running on Fargate resources, 2745 // and shouldn't be specified. 2746 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 2747 2748 // The Amazon EC2 placement group to associate with your compute resources. 2749 // If you intend to submit multi-node parallel jobs to your compute environment, 2750 // you should consider creating a cluster placement group and associate it with 2751 // your compute resources. This keeps your multi-node parallel job on a logical 2752 // grouping of instances within a single Availability Zone with high network 2753 // flow potential. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 2754 // in the Amazon EC2 User Guide for Linux Instances. 2755 // 2756 // This parameter isn't applicable to jobs that are running on Fargate resources, 2757 // and shouldn't be specified. 2758 PlacementGroup *string `locationName:"placementGroup" type:"string"` 2759 2760 // The Amazon EC2 security groups associated with instances launched in the 2761 // compute environment. One or more security groups must be specified, either 2762 // in securityGroupIds or using a launch template referenced in launchTemplate. 2763 // This parameter is required for jobs that are running on Fargate resources 2764 // and must contain at least one security group. Fargate doesn't support launch 2765 // templates. If security groups are specified using both securityGroupIds and 2766 // launchTemplate, the values in securityGroupIds are used. 2767 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 2768 2769 // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied 2770 // to a SPOT compute environment. This role is required if the allocation strategy 2771 // set to BEST_FIT or if the allocation strategy isn't specified. For more information, 2772 // see Amazon EC2 Spot Fleet Role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 2773 // in the Batch User Guide. 2774 // 2775 // This parameter isn't applicable to jobs that are running on Fargate resources, 2776 // and shouldn't be specified. 2777 // 2778 // To tag your Spot Instances on creation, the Spot Fleet IAM role specified 2779 // here must use the newer AmazonEC2SpotFleetTaggingRole managed policy. The 2780 // previously recommended AmazonEC2SpotFleetRole managed policy doesn't have 2781 // the required permissions to tag Spot Instances. For more information, see 2782 // Spot Instances not tagged on creation (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag) 2783 // in the Batch User Guide. 2784 SpotIamFleetRole *string `locationName:"spotIamFleetRole" type:"string"` 2785 2786 // The VPC subnets where the compute resources are launched. These subnets must 2787 // be within the same VPC. Fargate compute resources can contain up to 16 subnets. 2788 // For more information, see VPCs and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) 2789 // in the Amazon VPC User Guide. 2790 // 2791 // Subnets is a required field 2792 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 2793 2794 // Key-value pair tags to be applied to EC2 resources that are launched in the 2795 // compute environment. For Batch, these take the form of "String1": "String2", 2796 // where String1 is the tag key and String2 is the tag value−for example, 2797 // { "Name": "Batch Instance - C4OnDemand" }. This is helpful for recognizing 2798 // your Batch instances in the Amazon EC2 console. These tags can't be updated 2799 // or removed after the compute environment is created.Aany changes to these 2800 // tags require that you create a new compute environment and remove the old 2801 // compute environment. These tags aren't seen when using the Batch ListTagsForResource 2802 // API operation. 2803 // 2804 // This parameter isn't applicable to jobs that are running on Fargate resources, 2805 // and shouldn't be specified. 2806 Tags map[string]*string `locationName:"tags" type:"map"` 2807 2808 // The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For 2809 // more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2810 // in the Batch User Guide. 2811 // 2812 // If you choose SPOT, you must also specify an Amazon EC2 Spot Fleet role with 2813 // the spotIamFleetRole parameter. For more information, see Amazon EC2 Spot 2814 // Fleet role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 2815 // in the Batch User Guide. 2816 // 2817 // Type is a required field 2818 Type *string `locationName:"type" type:"string" required:"true" enum:"CRType"` 2819 } 2820 2821 // String returns the string representation. 2822 // 2823 // API parameter values that are decorated as "sensitive" in the API will not 2824 // be included in the string output. The member name will be present, but the 2825 // value will be replaced with "sensitive". 2826 func (s ComputeResource) String() string { 2827 return awsutil.Prettify(s) 2828 } 2829 2830 // GoString returns the string representation. 2831 // 2832 // API parameter values that are decorated as "sensitive" in the API will not 2833 // be included in the string output. The member name will be present, but the 2834 // value will be replaced with "sensitive". 2835 func (s ComputeResource) GoString() string { 2836 return s.String() 2837 } 2838 2839 // Validate inspects the fields of the type to determine if they are valid. 2840 func (s *ComputeResource) Validate() error { 2841 invalidParams := request.ErrInvalidParams{Context: "ComputeResource"} 2842 if s.MaxvCpus == nil { 2843 invalidParams.Add(request.NewErrParamRequired("MaxvCpus")) 2844 } 2845 if s.Subnets == nil { 2846 invalidParams.Add(request.NewErrParamRequired("Subnets")) 2847 } 2848 if s.Type == nil { 2849 invalidParams.Add(request.NewErrParamRequired("Type")) 2850 } 2851 if s.Ec2Configuration != nil { 2852 for i, v := range s.Ec2Configuration { 2853 if v == nil { 2854 continue 2855 } 2856 if err := v.Validate(); err != nil { 2857 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2Configuration", i), err.(request.ErrInvalidParams)) 2858 } 2859 } 2860 } 2861 2862 if invalidParams.Len() > 0 { 2863 return invalidParams 2864 } 2865 return nil 2866 } 2867 2868 // SetAllocationStrategy sets the AllocationStrategy field's value. 2869 func (s *ComputeResource) SetAllocationStrategy(v string) *ComputeResource { 2870 s.AllocationStrategy = &v 2871 return s 2872 } 2873 2874 // SetBidPercentage sets the BidPercentage field's value. 2875 func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource { 2876 s.BidPercentage = &v 2877 return s 2878 } 2879 2880 // SetDesiredvCpus sets the DesiredvCpus field's value. 2881 func (s *ComputeResource) SetDesiredvCpus(v int64) *ComputeResource { 2882 s.DesiredvCpus = &v 2883 return s 2884 } 2885 2886 // SetEc2Configuration sets the Ec2Configuration field's value. 2887 func (s *ComputeResource) SetEc2Configuration(v []*Ec2Configuration) *ComputeResource { 2888 s.Ec2Configuration = v 2889 return s 2890 } 2891 2892 // SetEc2KeyPair sets the Ec2KeyPair field's value. 2893 func (s *ComputeResource) SetEc2KeyPair(v string) *ComputeResource { 2894 s.Ec2KeyPair = &v 2895 return s 2896 } 2897 2898 // SetImageId sets the ImageId field's value. 2899 func (s *ComputeResource) SetImageId(v string) *ComputeResource { 2900 s.ImageId = &v 2901 return s 2902 } 2903 2904 // SetInstanceRole sets the InstanceRole field's value. 2905 func (s *ComputeResource) SetInstanceRole(v string) *ComputeResource { 2906 s.InstanceRole = &v 2907 return s 2908 } 2909 2910 // SetInstanceTypes sets the InstanceTypes field's value. 2911 func (s *ComputeResource) SetInstanceTypes(v []*string) *ComputeResource { 2912 s.InstanceTypes = v 2913 return s 2914 } 2915 2916 // SetLaunchTemplate sets the LaunchTemplate field's value. 2917 func (s *ComputeResource) SetLaunchTemplate(v *LaunchTemplateSpecification) *ComputeResource { 2918 s.LaunchTemplate = v 2919 return s 2920 } 2921 2922 // SetMaxvCpus sets the MaxvCpus field's value. 2923 func (s *ComputeResource) SetMaxvCpus(v int64) *ComputeResource { 2924 s.MaxvCpus = &v 2925 return s 2926 } 2927 2928 // SetMinvCpus sets the MinvCpus field's value. 2929 func (s *ComputeResource) SetMinvCpus(v int64) *ComputeResource { 2930 s.MinvCpus = &v 2931 return s 2932 } 2933 2934 // SetPlacementGroup sets the PlacementGroup field's value. 2935 func (s *ComputeResource) SetPlacementGroup(v string) *ComputeResource { 2936 s.PlacementGroup = &v 2937 return s 2938 } 2939 2940 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 2941 func (s *ComputeResource) SetSecurityGroupIds(v []*string) *ComputeResource { 2942 s.SecurityGroupIds = v 2943 return s 2944 } 2945 2946 // SetSpotIamFleetRole sets the SpotIamFleetRole field's value. 2947 func (s *ComputeResource) SetSpotIamFleetRole(v string) *ComputeResource { 2948 s.SpotIamFleetRole = &v 2949 return s 2950 } 2951 2952 // SetSubnets sets the Subnets field's value. 2953 func (s *ComputeResource) SetSubnets(v []*string) *ComputeResource { 2954 s.Subnets = v 2955 return s 2956 } 2957 2958 // SetTags sets the Tags field's value. 2959 func (s *ComputeResource) SetTags(v map[string]*string) *ComputeResource { 2960 s.Tags = v 2961 return s 2962 } 2963 2964 // SetType sets the Type field's value. 2965 func (s *ComputeResource) SetType(v string) *ComputeResource { 2966 s.Type = &v 2967 return s 2968 } 2969 2970 // An object representing the attributes of a compute environment that can be 2971 // updated. For more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2972 // in the Batch User Guide. 2973 type ComputeResourceUpdate struct { 2974 _ struct{} `type:"structure"` 2975 2976 // The desired number of Amazon EC2 vCPUS in the compute environment. 2977 // 2978 // This parameter isn't applicable to jobs that are running on Fargate resources, 2979 // and shouldn't be specified. 2980 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2981 2982 // The maximum number of Amazon EC2 vCPUs that an environment can reach. 2983 // 2984 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 2985 // Batch might need to exceed maxvCpus to meet your capacity requirements. In 2986 // this event, Batch never exceeds maxvCpus by more than a single instance. 2987 // That is, no more than a single instance from among those specified in your 2988 // compute environment. 2989 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"` 2990 2991 // The minimum number of Amazon EC2 vCPUs that an environment should maintain. 2992 // 2993 // This parameter isn't applicable to jobs that are running on Fargate resources, 2994 // and shouldn't be specified. 2995 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 2996 2997 // The Amazon EC2 security groups associated with instances launched in the 2998 // compute environment. This parameter is required for Fargate compute resources, 2999 // where it can contain up to 5 security groups. This can't be specified for 3000 // EC2 compute resources. Providing an empty list is handled as if this parameter 3001 // wasn't specified and no change is made. 3002 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 3003 3004 // The VPC subnets where the compute resources are launched. Fargate compute 3005 // resources can contain up to 16 subnets. Providing an empty list will be handled 3006 // as if this parameter wasn't specified and no change is made. This can't be 3007 // specified for EC2 compute resources. For more information, see VPCs and Subnets 3008 // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the 3009 // Amazon VPC User Guide. 3010 Subnets []*string `locationName:"subnets" type:"list"` 3011 } 3012 3013 // String returns the string representation. 3014 // 3015 // API parameter values that are decorated as "sensitive" in the API will not 3016 // be included in the string output. The member name will be present, but the 3017 // value will be replaced with "sensitive". 3018 func (s ComputeResourceUpdate) String() string { 3019 return awsutil.Prettify(s) 3020 } 3021 3022 // GoString returns the string representation. 3023 // 3024 // API parameter values that are decorated as "sensitive" in the API will not 3025 // be included in the string output. The member name will be present, but the 3026 // value will be replaced with "sensitive". 3027 func (s ComputeResourceUpdate) GoString() string { 3028 return s.String() 3029 } 3030 3031 // SetDesiredvCpus sets the DesiredvCpus field's value. 3032 func (s *ComputeResourceUpdate) SetDesiredvCpus(v int64) *ComputeResourceUpdate { 3033 s.DesiredvCpus = &v 3034 return s 3035 } 3036 3037 // SetMaxvCpus sets the MaxvCpus field's value. 3038 func (s *ComputeResourceUpdate) SetMaxvCpus(v int64) *ComputeResourceUpdate { 3039 s.MaxvCpus = &v 3040 return s 3041 } 3042 3043 // SetMinvCpus sets the MinvCpus field's value. 3044 func (s *ComputeResourceUpdate) SetMinvCpus(v int64) *ComputeResourceUpdate { 3045 s.MinvCpus = &v 3046 return s 3047 } 3048 3049 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 3050 func (s *ComputeResourceUpdate) SetSecurityGroupIds(v []*string) *ComputeResourceUpdate { 3051 s.SecurityGroupIds = v 3052 return s 3053 } 3054 3055 // SetSubnets sets the Subnets field's value. 3056 func (s *ComputeResourceUpdate) SetSubnets(v []*string) *ComputeResourceUpdate { 3057 s.Subnets = v 3058 return s 3059 } 3060 3061 // An object representing the details of a container that's part of a job. 3062 type ContainerDetail struct { 3063 _ struct{} `type:"structure"` 3064 3065 // The command that's passed to the container. 3066 Command []*string `locationName:"command" type:"list"` 3067 3068 // The Amazon Resource Name (ARN) of the container instance that the container 3069 // is running on. 3070 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 3071 3072 // The environment variables to pass to a container. 3073 // 3074 // Environment variables must not start with AWS_BATCH; this naming convention 3075 // is reserved for variables that are set by the Batch service. 3076 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3077 3078 // The Amazon Resource Name (ARN) of the execution role that Batch can assume. 3079 // For more information, see Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 3080 // in the Batch User Guide. 3081 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 3082 3083 // The exit code to return upon completion. 3084 ExitCode *int64 `locationName:"exitCode" type:"integer"` 3085 3086 // The platform configuration for jobs that are running on Fargate resources. 3087 // Jobs that are running on EC2 resources must not specify this parameter. 3088 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 3089 3090 // The image used to start the container. 3091 Image *string `locationName:"image" type:"string"` 3092 3093 // The instance type of the underlying host infrastructure of a multi-node parallel 3094 // job. 3095 // 3096 // This parameter isn't applicable to jobs that are running on Fargate resources. 3097 InstanceType *string `locationName:"instanceType" type:"string"` 3098 3099 // The Amazon Resource Name (ARN) associated with the job upon execution. 3100 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 3101 3102 // Linux-specific modifications that are applied to the container, such as details 3103 // for device mappings. 3104 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3105 3106 // The log configuration specification for the container. 3107 // 3108 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3109 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3110 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3111 // By default, containers use the same logging driver that the Docker daemon 3112 // uses. However, the container might use a different logging driver than the 3113 // Docker daemon by specifying a log driver with this parameter in the container 3114 // definition. To use a different logging driver for a container, the log system 3115 // must be configured properly on the container instance. Or, alternatively, 3116 // it must be configured on a different log server for remote logging options. 3117 // For more information on the options for different supported log drivers, 3118 // see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3119 // in the Docker documentation. 3120 // 3121 // Batch currently supports a subset of the logging drivers available to the 3122 // Docker daemon (shown in the LogConfiguration data type). Additional log drivers 3123 // might be available in future releases of the Amazon ECS container agent. 3124 // 3125 // This parameter requires version 1.18 of the Docker Remote API or greater 3126 // on your container instance. To check the Docker Remote API version on your 3127 // container instance, log into your container instance and run the following 3128 // command: sudo docker version | grep "Server API version" 3129 // 3130 // The Amazon ECS container agent running on a container instance must register 3131 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3132 // environment variable before containers placed on that instance can use these 3133 // log configuration options. For more information, see Amazon ECS Container 3134 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3135 // in the Amazon Elastic Container Service Developer Guide. 3136 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3137 3138 // The name of the CloudWatch Logs log stream associated with the container. 3139 // The log group for Batch jobs is /aws/batch/job. Each container attempt receives 3140 // a log stream name when they reach the RUNNING status. 3141 LogStreamName *string `locationName:"logStreamName" type:"string"` 3142 3143 // For jobs run on EC2 resources that didn't specify memory requirements using 3144 // ResourceRequirement, the number of MiB of memory reserved for the job. For 3145 // other jobs, including all run on Fargate resources, see resourceRequirements. 3146 Memory *int64 `locationName:"memory" type:"integer"` 3147 3148 // The mount points for data volumes in your container. 3149 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3150 3151 // The network configuration for jobs that are running on Fargate resources. 3152 // Jobs that are running on EC2 resources must not specify this parameter. 3153 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 3154 3155 // The network interfaces associated with the job. 3156 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 3157 3158 // When this parameter is true, the container is given elevated permissions 3159 // on the host container instance (similar to the root user). The default value 3160 // is false. 3161 // 3162 // This parameter isn't applicable to jobs that are running on Fargate resources 3163 // and shouldn't be provided, or specified as false. 3164 Privileged *bool `locationName:"privileged" type:"boolean"` 3165 3166 // When this parameter is true, the container is given read-only access to its 3167 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 3168 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 3169 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 3170 // --read-only option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 3171 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 3172 3173 // A short (255 max characters) human-readable string to provide additional 3174 // details about a running or stopped container. 3175 Reason *string `locationName:"reason" type:"string"` 3176 3177 // The type and amount of resources to assign to a container. The supported 3178 // resources include GPU, MEMORY, and VCPU. 3179 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3180 3181 // The secrets to pass to the container. For more information, see Specifying 3182 // sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 3183 // in the Batch User Guide. 3184 Secrets []*Secret `locationName:"secrets" type:"list"` 3185 3186 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 3187 // the container job. Each container attempt receives a task ARN when they reach 3188 // the STARTING status. 3189 TaskArn *string `locationName:"taskArn" type:"string"` 3190 3191 // A list of ulimit values to set in the container. This parameter maps to Ulimits 3192 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3193 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3194 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 3195 // 3196 // This parameter isn't applicable to jobs that are running on Fargate resources. 3197 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 3198 3199 // The user name to use inside the container. This parameter maps to User in 3200 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3201 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3202 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 3203 User *string `locationName:"user" type:"string"` 3204 3205 // The number of vCPUs reserved for the container. For jobs that run on EC2 3206 // resources, you can specify the vCPU requirement for the job using resourceRequirements, 3207 // but you can't specify the vCPU requirements in both the vcpus and resourceRequirement 3208 // object. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3209 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3210 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3211 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 3212 // vCPU. This is required but can be specified in several places. It must be 3213 // specified for each node at least once. 3214 // 3215 // This parameter isn't applicable to jobs that run on Fargate resources. For 3216 // jobs that run on Fargate resources, you must specify the vCPU requirement 3217 // for the job using resourceRequirements. 3218 Vcpus *int64 `locationName:"vcpus" type:"integer"` 3219 3220 // A list of volumes associated with the job. 3221 Volumes []*Volume `locationName:"volumes" type:"list"` 3222 } 3223 3224 // String returns the string representation. 3225 // 3226 // API parameter values that are decorated as "sensitive" in the API will not 3227 // be included in the string output. The member name will be present, but the 3228 // value will be replaced with "sensitive". 3229 func (s ContainerDetail) String() string { 3230 return awsutil.Prettify(s) 3231 } 3232 3233 // GoString returns the string representation. 3234 // 3235 // API parameter values that are decorated as "sensitive" in the API will not 3236 // be included in the string output. The member name will be present, but the 3237 // value will be replaced with "sensitive". 3238 func (s ContainerDetail) GoString() string { 3239 return s.String() 3240 } 3241 3242 // SetCommand sets the Command field's value. 3243 func (s *ContainerDetail) SetCommand(v []*string) *ContainerDetail { 3244 s.Command = v 3245 return s 3246 } 3247 3248 // SetContainerInstanceArn sets the ContainerInstanceArn field's value. 3249 func (s *ContainerDetail) SetContainerInstanceArn(v string) *ContainerDetail { 3250 s.ContainerInstanceArn = &v 3251 return s 3252 } 3253 3254 // SetEnvironment sets the Environment field's value. 3255 func (s *ContainerDetail) SetEnvironment(v []*KeyValuePair) *ContainerDetail { 3256 s.Environment = v 3257 return s 3258 } 3259 3260 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3261 func (s *ContainerDetail) SetExecutionRoleArn(v string) *ContainerDetail { 3262 s.ExecutionRoleArn = &v 3263 return s 3264 } 3265 3266 // SetExitCode sets the ExitCode field's value. 3267 func (s *ContainerDetail) SetExitCode(v int64) *ContainerDetail { 3268 s.ExitCode = &v 3269 return s 3270 } 3271 3272 // SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 3273 func (s *ContainerDetail) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerDetail { 3274 s.FargatePlatformConfiguration = v 3275 return s 3276 } 3277 3278 // SetImage sets the Image field's value. 3279 func (s *ContainerDetail) SetImage(v string) *ContainerDetail { 3280 s.Image = &v 3281 return s 3282 } 3283 3284 // SetInstanceType sets the InstanceType field's value. 3285 func (s *ContainerDetail) SetInstanceType(v string) *ContainerDetail { 3286 s.InstanceType = &v 3287 return s 3288 } 3289 3290 // SetJobRoleArn sets the JobRoleArn field's value. 3291 func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail { 3292 s.JobRoleArn = &v 3293 return s 3294 } 3295 3296 // SetLinuxParameters sets the LinuxParameters field's value. 3297 func (s *ContainerDetail) SetLinuxParameters(v *LinuxParameters) *ContainerDetail { 3298 s.LinuxParameters = v 3299 return s 3300 } 3301 3302 // SetLogConfiguration sets the LogConfiguration field's value. 3303 func (s *ContainerDetail) SetLogConfiguration(v *LogConfiguration) *ContainerDetail { 3304 s.LogConfiguration = v 3305 return s 3306 } 3307 3308 // SetLogStreamName sets the LogStreamName field's value. 3309 func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail { 3310 s.LogStreamName = &v 3311 return s 3312 } 3313 3314 // SetMemory sets the Memory field's value. 3315 func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail { 3316 s.Memory = &v 3317 return s 3318 } 3319 3320 // SetMountPoints sets the MountPoints field's value. 3321 func (s *ContainerDetail) SetMountPoints(v []*MountPoint) *ContainerDetail { 3322 s.MountPoints = v 3323 return s 3324 } 3325 3326 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 3327 func (s *ContainerDetail) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerDetail { 3328 s.NetworkConfiguration = v 3329 return s 3330 } 3331 3332 // SetNetworkInterfaces sets the NetworkInterfaces field's value. 3333 func (s *ContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *ContainerDetail { 3334 s.NetworkInterfaces = v 3335 return s 3336 } 3337 3338 // SetPrivileged sets the Privileged field's value. 3339 func (s *ContainerDetail) SetPrivileged(v bool) *ContainerDetail { 3340 s.Privileged = &v 3341 return s 3342 } 3343 3344 // SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 3345 func (s *ContainerDetail) SetReadonlyRootFilesystem(v bool) *ContainerDetail { 3346 s.ReadonlyRootFilesystem = &v 3347 return s 3348 } 3349 3350 // SetReason sets the Reason field's value. 3351 func (s *ContainerDetail) SetReason(v string) *ContainerDetail { 3352 s.Reason = &v 3353 return s 3354 } 3355 3356 // SetResourceRequirements sets the ResourceRequirements field's value. 3357 func (s *ContainerDetail) SetResourceRequirements(v []*ResourceRequirement) *ContainerDetail { 3358 s.ResourceRequirements = v 3359 return s 3360 } 3361 3362 // SetSecrets sets the Secrets field's value. 3363 func (s *ContainerDetail) SetSecrets(v []*Secret) *ContainerDetail { 3364 s.Secrets = v 3365 return s 3366 } 3367 3368 // SetTaskArn sets the TaskArn field's value. 3369 func (s *ContainerDetail) SetTaskArn(v string) *ContainerDetail { 3370 s.TaskArn = &v 3371 return s 3372 } 3373 3374 // SetUlimits sets the Ulimits field's value. 3375 func (s *ContainerDetail) SetUlimits(v []*Ulimit) *ContainerDetail { 3376 s.Ulimits = v 3377 return s 3378 } 3379 3380 // SetUser sets the User field's value. 3381 func (s *ContainerDetail) SetUser(v string) *ContainerDetail { 3382 s.User = &v 3383 return s 3384 } 3385 3386 // SetVcpus sets the Vcpus field's value. 3387 func (s *ContainerDetail) SetVcpus(v int64) *ContainerDetail { 3388 s.Vcpus = &v 3389 return s 3390 } 3391 3392 // SetVolumes sets the Volumes field's value. 3393 func (s *ContainerDetail) SetVolumes(v []*Volume) *ContainerDetail { 3394 s.Volumes = v 3395 return s 3396 } 3397 3398 // The overrides that should be sent to a container. 3399 type ContainerOverrides struct { 3400 _ struct{} `type:"structure"` 3401 3402 // The command to send to the container that overrides the default command from 3403 // the Docker image or the job definition. 3404 Command []*string `locationName:"command" type:"list"` 3405 3406 // The environment variables to send to the container. You can add new environment 3407 // variables, which are added to the container at launch, or you can override 3408 // the existing environment variables from the Docker image or the job definition. 3409 // 3410 // Environment variables must not start with AWS_BATCH; this naming convention 3411 // is reserved for variables that are set by the Batch service. 3412 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3413 3414 // The instance type to use for a multi-node parallel job. 3415 // 3416 // This parameter isn't applicable to single-node container jobs or jobs that 3417 // run on Fargate resources, and shouldn't be provided. 3418 InstanceType *string `locationName:"instanceType" type:"string"` 3419 3420 // This parameter indicates the amount of memory (in MiB) that's reserved for 3421 // the job. It overrides the memory parameter set in the job definition, but 3422 // doesn't override any memory requirement specified in the ResourceRequirement 3423 // structure in the job definition. To override memory requirements that are 3424 // specified in the ResourceRequirement structure in the job definition, ResourceRequirement 3425 // must be specified in the SubmitJob request, with type set to MEMORY and value 3426 // set to the new value. 3427 // 3428 // This parameter is supported for jobs that run on EC2 resources, but isn't 3429 // supported for jobs that run on Fargate resources. For these resources, use 3430 // resourceRequirement instead. 3431 // 3432 // Deprecated: This field is deprecated, use resourceRequirements instead. 3433 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 3434 3435 // The type and amount of resources to assign to a container. This overrides 3436 // the settings in the job definition. The supported resources include GPU, 3437 // MEMORY, and VCPU. 3438 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3439 3440 // This parameter indicates the number of vCPUs reserved for the container.It 3441 // overrides the vcpus parameter that's set in the job definition, but doesn't 3442 // override any vCPU requirement specified in the resourceRequirement structure 3443 // in the job definition. To override vCPU requirements that are specified in 3444 // the ResourceRequirement structure in the job definition, ResourceRequirement 3445 // must be specified in the SubmitJob request, with type set to VCPU and value 3446 // set to the new value. 3447 // 3448 // This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3449 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3450 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3451 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 3452 // vCPU. 3453 // 3454 // This parameter is supported for jobs that run on EC2 resources, but isn't 3455 // supported for jobs that run on Fargate resources. For Fargate resources, 3456 // you can only use resourceRequirement. For EC2 resources, you can use either 3457 // this parameter or resourceRequirement but not both. 3458 // 3459 // Deprecated: This field is deprecated, use resourceRequirements instead. 3460 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 3461 } 3462 3463 // String returns the string representation. 3464 // 3465 // API parameter values that are decorated as "sensitive" in the API will not 3466 // be included in the string output. The member name will be present, but the 3467 // value will be replaced with "sensitive". 3468 func (s ContainerOverrides) String() string { 3469 return awsutil.Prettify(s) 3470 } 3471 3472 // GoString returns the string representation. 3473 // 3474 // API parameter values that are decorated as "sensitive" in the API will not 3475 // be included in the string output. The member name will be present, but the 3476 // value will be replaced with "sensitive". 3477 func (s ContainerOverrides) GoString() string { 3478 return s.String() 3479 } 3480 3481 // Validate inspects the fields of the type to determine if they are valid. 3482 func (s *ContainerOverrides) Validate() error { 3483 invalidParams := request.ErrInvalidParams{Context: "ContainerOverrides"} 3484 if s.ResourceRequirements != nil { 3485 for i, v := range s.ResourceRequirements { 3486 if v == nil { 3487 continue 3488 } 3489 if err := v.Validate(); err != nil { 3490 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 3491 } 3492 } 3493 } 3494 3495 if invalidParams.Len() > 0 { 3496 return invalidParams 3497 } 3498 return nil 3499 } 3500 3501 // SetCommand sets the Command field's value. 3502 func (s *ContainerOverrides) SetCommand(v []*string) *ContainerOverrides { 3503 s.Command = v 3504 return s 3505 } 3506 3507 // SetEnvironment sets the Environment field's value. 3508 func (s *ContainerOverrides) SetEnvironment(v []*KeyValuePair) *ContainerOverrides { 3509 s.Environment = v 3510 return s 3511 } 3512 3513 // SetInstanceType sets the InstanceType field's value. 3514 func (s *ContainerOverrides) SetInstanceType(v string) *ContainerOverrides { 3515 s.InstanceType = &v 3516 return s 3517 } 3518 3519 // SetMemory sets the Memory field's value. 3520 func (s *ContainerOverrides) SetMemory(v int64) *ContainerOverrides { 3521 s.Memory = &v 3522 return s 3523 } 3524 3525 // SetResourceRequirements sets the ResourceRequirements field's value. 3526 func (s *ContainerOverrides) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverrides { 3527 s.ResourceRequirements = v 3528 return s 3529 } 3530 3531 // SetVcpus sets the Vcpus field's value. 3532 func (s *ContainerOverrides) SetVcpus(v int64) *ContainerOverrides { 3533 s.Vcpus = &v 3534 return s 3535 } 3536 3537 // Container properties are used in job definitions to describe the container 3538 // that's launched as part of a job. 3539 type ContainerProperties struct { 3540 _ struct{} `type:"structure"` 3541 3542 // The command that's passed to the container. This parameter maps to Cmd in 3543 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3544 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3545 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 3546 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 3547 // (https://docs.docker.com/engine/reference/builder/#cmd). 3548 Command []*string `locationName:"command" type:"list"` 3549 3550 // The environment variables to pass to a container. This parameter maps to 3551 // Env in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3552 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3553 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 3554 // 3555 // We don't recommend using plaintext environment variables for sensitive information, 3556 // such as credential data. 3557 // 3558 // Environment variables must not start with AWS_BATCH; this naming convention 3559 // is reserved for variables that are set by the Batch service. 3560 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3561 3562 // The Amazon Resource Name (ARN) of the execution role that Batch can assume. 3563 // For jobs that run on Fargate resources, you must provide an execution role. 3564 // For more information, see Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 3565 // in the Batch User Guide. 3566 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 3567 3568 // The platform configuration for jobs that are running on Fargate resources. 3569 // Jobs that are running on EC2 resources must not specify this parameter. 3570 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 3571 3572 // The image used to start a container. This string is passed directly to the 3573 // Docker daemon. Images in the Docker Hub registry are available by default. 3574 // Other repositories are specified with repository-url/image:tag . Up to 255 3575 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, 3576 // periods, forward slashes, and number signs are allowed. This parameter maps 3577 // to Image in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3578 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3579 // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 3580 // 3581 // Docker image architecture must match the processor architecture of the compute 3582 // resources that they're scheduled on. For example, ARM-based Docker images 3583 // can only run on ARM-based compute resources. 3584 // 3585 // * Images in Amazon ECR repositories use the full registry and repository 3586 // URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>). 3587 // 3588 // * Images in official repositories on Docker Hub use a single name (for 3589 // example, ubuntu or mongo). 3590 // 3591 // * Images in other repositories on Docker Hub are qualified with an organization 3592 // name (for example, amazon/amazon-ecs-agent). 3593 // 3594 // * Images in other online repositories are qualified further by a domain 3595 // name (for example, quay.io/assemblyline/ubuntu). 3596 Image *string `locationName:"image" type:"string"` 3597 3598 // The instance type to use for a multi-node parallel job. All node groups in 3599 // a multi-node parallel job must use the same instance type. 3600 // 3601 // This parameter isn't applicable to single-node container jobs or jobs that 3602 // run on Fargate resources, and shouldn't be provided. 3603 InstanceType *string `locationName:"instanceType" type:"string"` 3604 3605 // The Amazon Resource Name (ARN) of the IAM role that the container can assume 3606 // for Amazon Web Services permissions. For more information, see IAM Roles 3607 // for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3608 // in the Amazon Elastic Container Service Developer Guide. 3609 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 3610 3611 // Linux-specific modifications that are applied to the container, such as details 3612 // for device mappings. 3613 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3614 3615 // The log configuration specification for the container. 3616 // 3617 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3618 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3619 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3620 // By default, containers use the same logging driver that the Docker daemon 3621 // uses. However the container might use a different logging driver than the 3622 // Docker daemon by specifying a log driver with this parameter in the container 3623 // definition. To use a different logging driver for a container, the log system 3624 // must be configured properly on the container instance (or on a different 3625 // log server for remote logging options). For more information on the options 3626 // for different supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3627 // in the Docker documentation. 3628 // 3629 // Batch currently supports a subset of the logging drivers available to the 3630 // Docker daemon (shown in the LogConfiguration data type). 3631 // 3632 // This parameter requires version 1.18 of the Docker Remote API or greater 3633 // on your container instance. To check the Docker Remote API version on your 3634 // container instance, log into your container instance and run the following 3635 // command: sudo docker version | grep "Server API version" 3636 // 3637 // The Amazon ECS container agent running on a container instance must register 3638 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3639 // environment variable before containers placed on that instance can use these 3640 // log configuration options. For more information, see Amazon ECS Container 3641 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3642 // in the Amazon Elastic Container Service Developer Guide. 3643 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3644 3645 // This parameter indicates the memory hard limit (in MiB) for a container. 3646 // If your container attempts to exceed the specified number, it's terminated. 3647 // You must specify at least 4 MiB of memory for a job using this parameter. 3648 // The memory hard limit can be specified in several places. It must be specified 3649 // for each node at least once. 3650 // 3651 // This parameter maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3652 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3653 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 3654 // 3655 // This parameter is supported on EC2 resources but isn't supported on Fargate 3656 // resources. For Fargate resources, you should specify the memory requirement 3657 // using resourceRequirement. You can also do this for EC2 resources. 3658 // 3659 // If you're trying to maximize your resource utilization by providing your 3660 // jobs as much memory as possible for a particular instance type, see Memory 3661 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 3662 // in the Batch User Guide. 3663 // 3664 // Deprecated: This field is deprecated, use resourceRequirements instead. 3665 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 3666 3667 // The mount points for data volumes in your container. This parameter maps 3668 // to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3669 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3670 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 3671 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3672 3673 // The network configuration for jobs that are running on Fargate resources. 3674 // Jobs that are running on EC2 resources must not specify this parameter. 3675 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 3676 3677 // When this parameter is true, the container is given elevated permissions 3678 // on the host container instance (similar to the root user). This parameter 3679 // maps to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3680 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3681 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 3682 // The default value is false. 3683 // 3684 // This parameter isn't applicable to jobs that are running on Fargate resources 3685 // and shouldn't be provided, or specified as false. 3686 Privileged *bool `locationName:"privileged" type:"boolean"` 3687 3688 // When this parameter is true, the container is given read-only access to its 3689 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 3690 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 3691 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 3692 // --read-only option to docker run. 3693 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 3694 3695 // The type and amount of resources to assign to a container. The supported 3696 // resources include GPU, MEMORY, and VCPU. 3697 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3698 3699 // The secrets for the container. For more information, see Specifying sensitive 3700 // data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 3701 // in the Batch User Guide. 3702 Secrets []*Secret `locationName:"secrets" type:"list"` 3703 3704 // A list of ulimits to set in the container. This parameter maps to Ulimits 3705 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3706 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3707 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 3708 // 3709 // This parameter isn't applicable to jobs that are running on Fargate resources 3710 // and shouldn't be provided. 3711 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 3712 3713 // The user name to use inside the container. This parameter maps to User in 3714 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3715 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3716 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 3717 User *string `locationName:"user" type:"string"` 3718 3719 // The number of vCPUs reserved for the job. Each vCPU is equivalent to 1,024 3720 // CPU shares. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3721 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3722 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3723 // The number of vCPUs must be specified but can be specified in several places. 3724 // You must specify it at least once for each node. 3725 // 3726 // This parameter is supported on EC2 resources but isn't supported for jobs 3727 // that run on Fargate resources. For these resources, use resourceRequirement 3728 // instead. You can use this parameter or resourceRequirements structure but 3729 // not both. 3730 // 3731 // This parameter isn't applicable to jobs that are running on Fargate resources 3732 // and shouldn't be provided. For jobs that run on Fargate resources, you must 3733 // specify the vCPU requirement for the job using resourceRequirements. 3734 // 3735 // Deprecated: This field is deprecated, use resourceRequirements instead. 3736 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 3737 3738 // A list of data volumes used in a job. 3739 Volumes []*Volume `locationName:"volumes" type:"list"` 3740 } 3741 3742 // String returns the string representation. 3743 // 3744 // API parameter values that are decorated as "sensitive" in the API will not 3745 // be included in the string output. The member name will be present, but the 3746 // value will be replaced with "sensitive". 3747 func (s ContainerProperties) String() string { 3748 return awsutil.Prettify(s) 3749 } 3750 3751 // GoString returns the string representation. 3752 // 3753 // API parameter values that are decorated as "sensitive" in the API will not 3754 // be included in the string output. The member name will be present, but the 3755 // value will be replaced with "sensitive". 3756 func (s ContainerProperties) GoString() string { 3757 return s.String() 3758 } 3759 3760 // Validate inspects the fields of the type to determine if they are valid. 3761 func (s *ContainerProperties) Validate() error { 3762 invalidParams := request.ErrInvalidParams{Context: "ContainerProperties"} 3763 if s.LinuxParameters != nil { 3764 if err := s.LinuxParameters.Validate(); err != nil { 3765 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 3766 } 3767 } 3768 if s.LogConfiguration != nil { 3769 if err := s.LogConfiguration.Validate(); err != nil { 3770 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 3771 } 3772 } 3773 if s.ResourceRequirements != nil { 3774 for i, v := range s.ResourceRequirements { 3775 if v == nil { 3776 continue 3777 } 3778 if err := v.Validate(); err != nil { 3779 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 3780 } 3781 } 3782 } 3783 if s.Secrets != nil { 3784 for i, v := range s.Secrets { 3785 if v == nil { 3786 continue 3787 } 3788 if err := v.Validate(); err != nil { 3789 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 3790 } 3791 } 3792 } 3793 if s.Ulimits != nil { 3794 for i, v := range s.Ulimits { 3795 if v == nil { 3796 continue 3797 } 3798 if err := v.Validate(); err != nil { 3799 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 3800 } 3801 } 3802 } 3803 if s.Volumes != nil { 3804 for i, v := range s.Volumes { 3805 if v == nil { 3806 continue 3807 } 3808 if err := v.Validate(); err != nil { 3809 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 3810 } 3811 } 3812 } 3813 3814 if invalidParams.Len() > 0 { 3815 return invalidParams 3816 } 3817 return nil 3818 } 3819 3820 // SetCommand sets the Command field's value. 3821 func (s *ContainerProperties) SetCommand(v []*string) *ContainerProperties { 3822 s.Command = v 3823 return s 3824 } 3825 3826 // SetEnvironment sets the Environment field's value. 3827 func (s *ContainerProperties) SetEnvironment(v []*KeyValuePair) *ContainerProperties { 3828 s.Environment = v 3829 return s 3830 } 3831 3832 // SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3833 func (s *ContainerProperties) SetExecutionRoleArn(v string) *ContainerProperties { 3834 s.ExecutionRoleArn = &v 3835 return s 3836 } 3837 3838 // SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 3839 func (s *ContainerProperties) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerProperties { 3840 s.FargatePlatformConfiguration = v 3841 return s 3842 } 3843 3844 // SetImage sets the Image field's value. 3845 func (s *ContainerProperties) SetImage(v string) *ContainerProperties { 3846 s.Image = &v 3847 return s 3848 } 3849 3850 // SetInstanceType sets the InstanceType field's value. 3851 func (s *ContainerProperties) SetInstanceType(v string) *ContainerProperties { 3852 s.InstanceType = &v 3853 return s 3854 } 3855 3856 // SetJobRoleArn sets the JobRoleArn field's value. 3857 func (s *ContainerProperties) SetJobRoleArn(v string) *ContainerProperties { 3858 s.JobRoleArn = &v 3859 return s 3860 } 3861 3862 // SetLinuxParameters sets the LinuxParameters field's value. 3863 func (s *ContainerProperties) SetLinuxParameters(v *LinuxParameters) *ContainerProperties { 3864 s.LinuxParameters = v 3865 return s 3866 } 3867 3868 // SetLogConfiguration sets the LogConfiguration field's value. 3869 func (s *ContainerProperties) SetLogConfiguration(v *LogConfiguration) *ContainerProperties { 3870 s.LogConfiguration = v 3871 return s 3872 } 3873 3874 // SetMemory sets the Memory field's value. 3875 func (s *ContainerProperties) SetMemory(v int64) *ContainerProperties { 3876 s.Memory = &v 3877 return s 3878 } 3879 3880 // SetMountPoints sets the MountPoints field's value. 3881 func (s *ContainerProperties) SetMountPoints(v []*MountPoint) *ContainerProperties { 3882 s.MountPoints = v 3883 return s 3884 } 3885 3886 // SetNetworkConfiguration sets the NetworkConfiguration field's value. 3887 func (s *ContainerProperties) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerProperties { 3888 s.NetworkConfiguration = v 3889 return s 3890 } 3891 3892 // SetPrivileged sets the Privileged field's value. 3893 func (s *ContainerProperties) SetPrivileged(v bool) *ContainerProperties { 3894 s.Privileged = &v 3895 return s 3896 } 3897 3898 // SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 3899 func (s *ContainerProperties) SetReadonlyRootFilesystem(v bool) *ContainerProperties { 3900 s.ReadonlyRootFilesystem = &v 3901 return s 3902 } 3903 3904 // SetResourceRequirements sets the ResourceRequirements field's value. 3905 func (s *ContainerProperties) SetResourceRequirements(v []*ResourceRequirement) *ContainerProperties { 3906 s.ResourceRequirements = v 3907 return s 3908 } 3909 3910 // SetSecrets sets the Secrets field's value. 3911 func (s *ContainerProperties) SetSecrets(v []*Secret) *ContainerProperties { 3912 s.Secrets = v 3913 return s 3914 } 3915 3916 // SetUlimits sets the Ulimits field's value. 3917 func (s *ContainerProperties) SetUlimits(v []*Ulimit) *ContainerProperties { 3918 s.Ulimits = v 3919 return s 3920 } 3921 3922 // SetUser sets the User field's value. 3923 func (s *ContainerProperties) SetUser(v string) *ContainerProperties { 3924 s.User = &v 3925 return s 3926 } 3927 3928 // SetVcpus sets the Vcpus field's value. 3929 func (s *ContainerProperties) SetVcpus(v int64) *ContainerProperties { 3930 s.Vcpus = &v 3931 return s 3932 } 3933 3934 // SetVolumes sets the Volumes field's value. 3935 func (s *ContainerProperties) SetVolumes(v []*Volume) *ContainerProperties { 3936 s.Volumes = v 3937 return s 3938 } 3939 3940 // An object representing summary details of a container within a job. 3941 type ContainerSummary struct { 3942 _ struct{} `type:"structure"` 3943 3944 // The exit code to return upon completion. 3945 ExitCode *int64 `locationName:"exitCode" type:"integer"` 3946 3947 // A short (255 max characters) human-readable string to provide additional 3948 // details about a running or stopped container. 3949 Reason *string `locationName:"reason" type:"string"` 3950 } 3951 3952 // String returns the string representation. 3953 // 3954 // API parameter values that are decorated as "sensitive" in the API will not 3955 // be included in the string output. The member name will be present, but the 3956 // value will be replaced with "sensitive". 3957 func (s ContainerSummary) String() string { 3958 return awsutil.Prettify(s) 3959 } 3960 3961 // GoString returns the string representation. 3962 // 3963 // API parameter values that are decorated as "sensitive" in the API will not 3964 // be included in the string output. The member name will be present, but the 3965 // value will be replaced with "sensitive". 3966 func (s ContainerSummary) GoString() string { 3967 return s.String() 3968 } 3969 3970 // SetExitCode sets the ExitCode field's value. 3971 func (s *ContainerSummary) SetExitCode(v int64) *ContainerSummary { 3972 s.ExitCode = &v 3973 return s 3974 } 3975 3976 // SetReason sets the Reason field's value. 3977 func (s *ContainerSummary) SetReason(v string) *ContainerSummary { 3978 s.Reason = &v 3979 return s 3980 } 3981 3982 // Contains the parameters for CreateComputeEnvironment. 3983 type CreateComputeEnvironmentInput struct { 3984 _ struct{} `type:"structure"` 3985 3986 // The name for your compute environment. Up to 128 letters (uppercase and lowercase), 3987 // numbers, hyphens, and underscores are allowed. 3988 // 3989 // ComputeEnvironmentName is a required field 3990 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 3991 3992 // Details about the compute resources managed by the compute environment. This 3993 // parameter is required for managed compute environments. For more information, 3994 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3995 // in the Batch User Guide. 3996 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 3997 3998 // The full Amazon Resource Name (ARN) of the IAM role that allows Batch to 3999 // make calls to other Amazon Web Services services on your behalf. For more 4000 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 4001 // in the Batch User Guide. 4002 // 4003 // If your account already created the Batch service-linked role, that role 4004 // is used by default for your compute environment unless you specify a different 4005 // role here. If the Batch service-linked role doesn't exist in your account, 4006 // and no role is specified here, the service attempts to create the Batch service-linked 4007 // role in your account. 4008 // 4009 // If your specified role has a path other than /, then you must specify either 4010 // the full role ARN (recommended) or prefix the role name with the path. For 4011 // example, if a role with the name bar has a path of /foo/ then you would specify 4012 // /foo/bar as the role name. For more information, see Friendly names and paths 4013 // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 4014 // in the IAM User Guide. 4015 // 4016 // Depending on how you created your Batch service role, its ARN might contain 4017 // the service-role path prefix. When you only specify the name of the service 4018 // role, Batch assumes that your ARN doesn't use the service-role path prefix. 4019 // Because of this, we recommend that you specify the full ARN of your service 4020 // role when you create compute environments. 4021 ServiceRole *string `locationName:"serviceRole" type:"string"` 4022 4023 // The state of the compute environment. If the state is ENABLED, then the compute 4024 // environment accepts jobs from a queue and can scale out automatically based 4025 // on queues. 4026 // 4027 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 4028 // from an associated job queue on the compute resources within the environment. 4029 // If the compute environment is managed, then it can scale its instances out 4030 // or in automatically, based on the job queue demand. 4031 // 4032 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 4033 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 4034 // to progress normally. Managed compute environments in the DISABLED state 4035 // don't scale out. However, they scale in to minvCpus value after instances 4036 // become idle. 4037 State *string `locationName:"state" type:"string" enum:"CEState"` 4038 4039 // The tags that you apply to the compute environment to help you categorize 4040 // and organize your resources. Each tag consists of a key and an optional value. 4041 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 4042 // in Amazon Web Services General Reference. 4043 // 4044 // These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html) 4045 // and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html) 4046 // API operations. These tags don't propagate to the underlying compute resources. 4047 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4048 4049 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 4050 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 4051 // in the Batch User Guide. 4052 // 4053 // Type is a required field 4054 Type *string `locationName:"type" type:"string" required:"true" enum:"CEType"` 4055 } 4056 4057 // String returns the string representation. 4058 // 4059 // API parameter values that are decorated as "sensitive" in the API will not 4060 // be included in the string output. The member name will be present, but the 4061 // value will be replaced with "sensitive". 4062 func (s CreateComputeEnvironmentInput) String() string { 4063 return awsutil.Prettify(s) 4064 } 4065 4066 // GoString returns the string representation. 4067 // 4068 // API parameter values that are decorated as "sensitive" in the API will not 4069 // be included in the string output. The member name will be present, but the 4070 // value will be replaced with "sensitive". 4071 func (s CreateComputeEnvironmentInput) GoString() string { 4072 return s.String() 4073 } 4074 4075 // Validate inspects the fields of the type to determine if they are valid. 4076 func (s *CreateComputeEnvironmentInput) Validate() error { 4077 invalidParams := request.ErrInvalidParams{Context: "CreateComputeEnvironmentInput"} 4078 if s.ComputeEnvironmentName == nil { 4079 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentName")) 4080 } 4081 if s.Tags != nil && len(s.Tags) < 1 { 4082 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4083 } 4084 if s.Type == nil { 4085 invalidParams.Add(request.NewErrParamRequired("Type")) 4086 } 4087 if s.ComputeResources != nil { 4088 if err := s.ComputeResources.Validate(); err != nil { 4089 invalidParams.AddNested("ComputeResources", err.(request.ErrInvalidParams)) 4090 } 4091 } 4092 4093 if invalidParams.Len() > 0 { 4094 return invalidParams 4095 } 4096 return nil 4097 } 4098 4099 // SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 4100 func (s *CreateComputeEnvironmentInput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentInput { 4101 s.ComputeEnvironmentName = &v 4102 return s 4103 } 4104 4105 // SetComputeResources sets the ComputeResources field's value. 4106 func (s *CreateComputeEnvironmentInput) SetComputeResources(v *ComputeResource) *CreateComputeEnvironmentInput { 4107 s.ComputeResources = v 4108 return s 4109 } 4110 4111 // SetServiceRole sets the ServiceRole field's value. 4112 func (s *CreateComputeEnvironmentInput) SetServiceRole(v string) *CreateComputeEnvironmentInput { 4113 s.ServiceRole = &v 4114 return s 4115 } 4116 4117 // SetState sets the State field's value. 4118 func (s *CreateComputeEnvironmentInput) SetState(v string) *CreateComputeEnvironmentInput { 4119 s.State = &v 4120 return s 4121 } 4122 4123 // SetTags sets the Tags field's value. 4124 func (s *CreateComputeEnvironmentInput) SetTags(v map[string]*string) *CreateComputeEnvironmentInput { 4125 s.Tags = v 4126 return s 4127 } 4128 4129 // SetType sets the Type field's value. 4130 func (s *CreateComputeEnvironmentInput) SetType(v string) *CreateComputeEnvironmentInput { 4131 s.Type = &v 4132 return s 4133 } 4134 4135 type CreateComputeEnvironmentOutput struct { 4136 _ struct{} `type:"structure"` 4137 4138 // The Amazon Resource Name (ARN) of the compute environment. 4139 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 4140 4141 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 4142 // numbers, hyphens, and underscores are allowed. 4143 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 4144 } 4145 4146 // String returns the string representation. 4147 // 4148 // API parameter values that are decorated as "sensitive" in the API will not 4149 // be included in the string output. The member name will be present, but the 4150 // value will be replaced with "sensitive". 4151 func (s CreateComputeEnvironmentOutput) String() string { 4152 return awsutil.Prettify(s) 4153 } 4154 4155 // GoString returns the string representation. 4156 // 4157 // API parameter values that are decorated as "sensitive" in the API will not 4158 // be included in the string output. The member name will be present, but the 4159 // value will be replaced with "sensitive". 4160 func (s CreateComputeEnvironmentOutput) GoString() string { 4161 return s.String() 4162 } 4163 4164 // SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 4165 func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *CreateComputeEnvironmentOutput { 4166 s.ComputeEnvironmentArn = &v 4167 return s 4168 } 4169 4170 // SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 4171 func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentOutput { 4172 s.ComputeEnvironmentName = &v 4173 return s 4174 } 4175 4176 // Contains the parameters for CreateJobQueue. 4177 type CreateJobQueueInput struct { 4178 _ struct{} `type:"structure"` 4179 4180 // The set of compute environments mapped to a job queue and their order relative 4181 // to each other. The job scheduler uses this parameter to determine which compute 4182 // environment should run a specific job. Compute environments must be in the 4183 // VALID state before you can associate them with a job queue. You can associate 4184 // up to three compute environments with a job queue. All of the compute environments 4185 // must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 4186 // and Fargate compute environments can't be mixed. 4187 // 4188 // All compute environments that are associated with a job queue must share 4189 // the same architecture. Batch doesn't support mixing compute environment architecture 4190 // types in a single job queue. 4191 // 4192 // ComputeEnvironmentOrder is a required field 4193 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 4194 4195 // The name of the job queue. Up to 128 letters (uppercase and lowercase), numbers, 4196 // and underscores are allowed. 4197 // 4198 // JobQueueName is a required field 4199 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4200 4201 // The priority of the job queue. Job queues with a higher priority (or a higher 4202 // integer value for the priority parameter) are evaluated first when associated 4203 // with the same compute environment. Priority is determined in descending order. 4204 // For example, a job queue with a priority value of 10 is given scheduling 4205 // preference over a job queue with a priority value of 1. All of the compute 4206 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 4207 // EC2 and Fargate compute environments can't be mixed. 4208 // 4209 // Priority is a required field 4210 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 4211 4212 // The state of the job queue. If the job queue state is ENABLED, it is able 4213 // to accept jobs. If the job queue state is DISABLED, new jobs can't be added 4214 // to the queue, but jobs already in the queue can finish. 4215 State *string `locationName:"state" type:"string" enum:"JQState"` 4216 4217 // The tags that you apply to the job queue to help you categorize and organize 4218 // your resources. Each tag consists of a key and an optional value. For more 4219 // information, see Tagging your Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 4220 // in Batch User Guide. 4221 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4222 } 4223 4224 // String returns the string representation. 4225 // 4226 // API parameter values that are decorated as "sensitive" in the API will not 4227 // be included in the string output. The member name will be present, but the 4228 // value will be replaced with "sensitive". 4229 func (s CreateJobQueueInput) String() string { 4230 return awsutil.Prettify(s) 4231 } 4232 4233 // GoString returns the string representation. 4234 // 4235 // API parameter values that are decorated as "sensitive" in the API will not 4236 // be included in the string output. The member name will be present, but the 4237 // value will be replaced with "sensitive". 4238 func (s CreateJobQueueInput) GoString() string { 4239 return s.String() 4240 } 4241 4242 // Validate inspects the fields of the type to determine if they are valid. 4243 func (s *CreateJobQueueInput) Validate() error { 4244 invalidParams := request.ErrInvalidParams{Context: "CreateJobQueueInput"} 4245 if s.ComputeEnvironmentOrder == nil { 4246 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentOrder")) 4247 } 4248 if s.JobQueueName == nil { 4249 invalidParams.Add(request.NewErrParamRequired("JobQueueName")) 4250 } 4251 if s.Priority == nil { 4252 invalidParams.Add(request.NewErrParamRequired("Priority")) 4253 } 4254 if s.Tags != nil && len(s.Tags) < 1 { 4255 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4256 } 4257 if s.ComputeEnvironmentOrder != nil { 4258 for i, v := range s.ComputeEnvironmentOrder { 4259 if v == nil { 4260 continue 4261 } 4262 if err := v.Validate(); err != nil { 4263 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 4264 } 4265 } 4266 } 4267 4268 if invalidParams.Len() > 0 { 4269 return invalidParams 4270 } 4271 return nil 4272 } 4273 4274 // SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 4275 func (s *CreateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *CreateJobQueueInput { 4276 s.ComputeEnvironmentOrder = v 4277 return s 4278 } 4279 4280 // SetJobQueueName sets the JobQueueName field's value. 4281 func (s *CreateJobQueueInput) SetJobQueueName(v string) *CreateJobQueueInput { 4282 s.JobQueueName = &v 4283 return s 4284 } 4285 4286 // SetPriority sets the Priority field's value. 4287 func (s *CreateJobQueueInput) SetPriority(v int64) *CreateJobQueueInput { 4288 s.Priority = &v 4289 return s 4290 } 4291 4292 // SetState sets the State field's value. 4293 func (s *CreateJobQueueInput) SetState(v string) *CreateJobQueueInput { 4294 s.State = &v 4295 return s 4296 } 4297 4298 // SetTags sets the Tags field's value. 4299 func (s *CreateJobQueueInput) SetTags(v map[string]*string) *CreateJobQueueInput { 4300 s.Tags = v 4301 return s 4302 } 4303 4304 type CreateJobQueueOutput struct { 4305 _ struct{} `type:"structure"` 4306 4307 // The Amazon Resource Name (ARN) of the job queue. 4308 // 4309 // JobQueueArn is a required field 4310 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 4311 4312 // The name of the job queue. 4313 // 4314 // JobQueueName is a required field 4315 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4316 } 4317 4318 // String returns the string representation. 4319 // 4320 // API parameter values that are decorated as "sensitive" in the API will not 4321 // be included in the string output. The member name will be present, but the 4322 // value will be replaced with "sensitive". 4323 func (s CreateJobQueueOutput) String() string { 4324 return awsutil.Prettify(s) 4325 } 4326 4327 // GoString returns the string representation. 4328 // 4329 // API parameter values that are decorated as "sensitive" in the API will not 4330 // be included in the string output. The member name will be present, but the 4331 // value will be replaced with "sensitive". 4332 func (s CreateJobQueueOutput) GoString() string { 4333 return s.String() 4334 } 4335 4336 // SetJobQueueArn sets the JobQueueArn field's value. 4337 func (s *CreateJobQueueOutput) SetJobQueueArn(v string) *CreateJobQueueOutput { 4338 s.JobQueueArn = &v 4339 return s 4340 } 4341 4342 // SetJobQueueName sets the JobQueueName field's value. 4343 func (s *CreateJobQueueOutput) SetJobQueueName(v string) *CreateJobQueueOutput { 4344 s.JobQueueName = &v 4345 return s 4346 } 4347 4348 // Contains the parameters for DeleteComputeEnvironment. 4349 type DeleteComputeEnvironmentInput struct { 4350 _ struct{} `type:"structure"` 4351 4352 // The name or Amazon Resource Name (ARN) of the compute environment to delete. 4353 // 4354 // ComputeEnvironment is a required field 4355 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 4356 } 4357 4358 // String returns the string representation. 4359 // 4360 // API parameter values that are decorated as "sensitive" in the API will not 4361 // be included in the string output. The member name will be present, but the 4362 // value will be replaced with "sensitive". 4363 func (s DeleteComputeEnvironmentInput) String() string { 4364 return awsutil.Prettify(s) 4365 } 4366 4367 // GoString returns the string representation. 4368 // 4369 // API parameter values that are decorated as "sensitive" in the API will not 4370 // be included in the string output. The member name will be present, but the 4371 // value will be replaced with "sensitive". 4372 func (s DeleteComputeEnvironmentInput) GoString() string { 4373 return s.String() 4374 } 4375 4376 // Validate inspects the fields of the type to determine if they are valid. 4377 func (s *DeleteComputeEnvironmentInput) Validate() error { 4378 invalidParams := request.ErrInvalidParams{Context: "DeleteComputeEnvironmentInput"} 4379 if s.ComputeEnvironment == nil { 4380 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 4381 } 4382 4383 if invalidParams.Len() > 0 { 4384 return invalidParams 4385 } 4386 return nil 4387 } 4388 4389 // SetComputeEnvironment sets the ComputeEnvironment field's value. 4390 func (s *DeleteComputeEnvironmentInput) SetComputeEnvironment(v string) *DeleteComputeEnvironmentInput { 4391 s.ComputeEnvironment = &v 4392 return s 4393 } 4394 4395 type DeleteComputeEnvironmentOutput struct { 4396 _ struct{} `type:"structure" nopayload:"true"` 4397 } 4398 4399 // String returns the string representation. 4400 // 4401 // API parameter values that are decorated as "sensitive" in the API will not 4402 // be included in the string output. The member name will be present, but the 4403 // value will be replaced with "sensitive". 4404 func (s DeleteComputeEnvironmentOutput) String() string { 4405 return awsutil.Prettify(s) 4406 } 4407 4408 // GoString returns the string representation. 4409 // 4410 // API parameter values that are decorated as "sensitive" in the API will not 4411 // be included in the string output. The member name will be present, but the 4412 // value will be replaced with "sensitive". 4413 func (s DeleteComputeEnvironmentOutput) GoString() string { 4414 return s.String() 4415 } 4416 4417 // Contains the parameters for DeleteJobQueue. 4418 type DeleteJobQueueInput struct { 4419 _ struct{} `type:"structure"` 4420 4421 // The short name or full Amazon Resource Name (ARN) of the queue to delete. 4422 // 4423 // JobQueue is a required field 4424 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 4425 } 4426 4427 // String returns the string representation. 4428 // 4429 // API parameter values that are decorated as "sensitive" in the API will not 4430 // be included in the string output. The member name will be present, but the 4431 // value will be replaced with "sensitive". 4432 func (s DeleteJobQueueInput) String() string { 4433 return awsutil.Prettify(s) 4434 } 4435 4436 // GoString returns the string representation. 4437 // 4438 // API parameter values that are decorated as "sensitive" in the API will not 4439 // be included in the string output. The member name will be present, but the 4440 // value will be replaced with "sensitive". 4441 func (s DeleteJobQueueInput) GoString() string { 4442 return s.String() 4443 } 4444 4445 // Validate inspects the fields of the type to determine if they are valid. 4446 func (s *DeleteJobQueueInput) Validate() error { 4447 invalidParams := request.ErrInvalidParams{Context: "DeleteJobQueueInput"} 4448 if s.JobQueue == nil { 4449 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 4450 } 4451 4452 if invalidParams.Len() > 0 { 4453 return invalidParams 4454 } 4455 return nil 4456 } 4457 4458 // SetJobQueue sets the JobQueue field's value. 4459 func (s *DeleteJobQueueInput) SetJobQueue(v string) *DeleteJobQueueInput { 4460 s.JobQueue = &v 4461 return s 4462 } 4463 4464 type DeleteJobQueueOutput struct { 4465 _ struct{} `type:"structure" nopayload:"true"` 4466 } 4467 4468 // String returns the string representation. 4469 // 4470 // API parameter values that are decorated as "sensitive" in the API will not 4471 // be included in the string output. The member name will be present, but the 4472 // value will be replaced with "sensitive". 4473 func (s DeleteJobQueueOutput) String() string { 4474 return awsutil.Prettify(s) 4475 } 4476 4477 // GoString returns the string representation. 4478 // 4479 // API parameter values that are decorated as "sensitive" in the API will not 4480 // be included in the string output. The member name will be present, but the 4481 // value will be replaced with "sensitive". 4482 func (s DeleteJobQueueOutput) GoString() string { 4483 return s.String() 4484 } 4485 4486 type DeregisterJobDefinitionInput struct { 4487 _ struct{} `type:"structure"` 4488 4489 // The name and revision (name:revision) or full Amazon Resource Name (ARN) 4490 // of the job definition to deregister. 4491 // 4492 // JobDefinition is a required field 4493 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 4494 } 4495 4496 // String returns the string representation. 4497 // 4498 // API parameter values that are decorated as "sensitive" in the API will not 4499 // be included in the string output. The member name will be present, but the 4500 // value will be replaced with "sensitive". 4501 func (s DeregisterJobDefinitionInput) String() string { 4502 return awsutil.Prettify(s) 4503 } 4504 4505 // GoString returns the string representation. 4506 // 4507 // API parameter values that are decorated as "sensitive" in the API will not 4508 // be included in the string output. The member name will be present, but the 4509 // value will be replaced with "sensitive". 4510 func (s DeregisterJobDefinitionInput) GoString() string { 4511 return s.String() 4512 } 4513 4514 // Validate inspects the fields of the type to determine if they are valid. 4515 func (s *DeregisterJobDefinitionInput) Validate() error { 4516 invalidParams := request.ErrInvalidParams{Context: "DeregisterJobDefinitionInput"} 4517 if s.JobDefinition == nil { 4518 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 4519 } 4520 4521 if invalidParams.Len() > 0 { 4522 return invalidParams 4523 } 4524 return nil 4525 } 4526 4527 // SetJobDefinition sets the JobDefinition field's value. 4528 func (s *DeregisterJobDefinitionInput) SetJobDefinition(v string) *DeregisterJobDefinitionInput { 4529 s.JobDefinition = &v 4530 return s 4531 } 4532 4533 type DeregisterJobDefinitionOutput struct { 4534 _ struct{} `type:"structure" nopayload:"true"` 4535 } 4536 4537 // String returns the string representation. 4538 // 4539 // API parameter values that are decorated as "sensitive" in the API will not 4540 // be included in the string output. The member name will be present, but the 4541 // value will be replaced with "sensitive". 4542 func (s DeregisterJobDefinitionOutput) String() string { 4543 return awsutil.Prettify(s) 4544 } 4545 4546 // GoString returns the string representation. 4547 // 4548 // API parameter values that are decorated as "sensitive" in the API will not 4549 // be included in the string output. The member name will be present, but the 4550 // value will be replaced with "sensitive". 4551 func (s DeregisterJobDefinitionOutput) GoString() string { 4552 return s.String() 4553 } 4554 4555 // Contains the parameters for DescribeComputeEnvironments. 4556 type DescribeComputeEnvironmentsInput struct { 4557 _ struct{} `type:"structure"` 4558 4559 // A list of up to 100 compute environment names or full Amazon Resource Name 4560 // (ARN) entries. 4561 ComputeEnvironments []*string `locationName:"computeEnvironments" type:"list"` 4562 4563 // The maximum number of cluster results returned by DescribeComputeEnvironments 4564 // in paginated output. When this parameter is used, DescribeComputeEnvironments 4565 // only returns maxResults results in a single page along with a nextToken response 4566 // element. The remaining results of the initial request can be seen by sending 4567 // another DescribeComputeEnvironments request with the returned nextToken value. 4568 // This value can be between 1 and 100. If this parameter isn't used, then DescribeComputeEnvironments 4569 // returns up to 100 results and a nextToken value if applicable. 4570 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4571 4572 // The nextToken value returned from a previous paginated DescribeComputeEnvironments 4573 // request where maxResults was used and the results exceeded the value of that 4574 // parameter. Pagination continues from the end of the previous results that 4575 // returned the nextToken value. This value is null when there are no more results 4576 // to return. 4577 // 4578 // This token should be treated as an opaque identifier that's only used to 4579 // retrieve the next items in a list and not for other programmatic purposes. 4580 NextToken *string `locationName:"nextToken" type:"string"` 4581 } 4582 4583 // String returns the string representation. 4584 // 4585 // API parameter values that are decorated as "sensitive" in the API will not 4586 // be included in the string output. The member name will be present, but the 4587 // value will be replaced with "sensitive". 4588 func (s DescribeComputeEnvironmentsInput) String() string { 4589 return awsutil.Prettify(s) 4590 } 4591 4592 // GoString returns the string representation. 4593 // 4594 // API parameter values that are decorated as "sensitive" in the API will not 4595 // be included in the string output. The member name will be present, but the 4596 // value will be replaced with "sensitive". 4597 func (s DescribeComputeEnvironmentsInput) GoString() string { 4598 return s.String() 4599 } 4600 4601 // SetComputeEnvironments sets the ComputeEnvironments field's value. 4602 func (s *DescribeComputeEnvironmentsInput) SetComputeEnvironments(v []*string) *DescribeComputeEnvironmentsInput { 4603 s.ComputeEnvironments = v 4604 return s 4605 } 4606 4607 // SetMaxResults sets the MaxResults field's value. 4608 func (s *DescribeComputeEnvironmentsInput) SetMaxResults(v int64) *DescribeComputeEnvironmentsInput { 4609 s.MaxResults = &v 4610 return s 4611 } 4612 4613 // SetNextToken sets the NextToken field's value. 4614 func (s *DescribeComputeEnvironmentsInput) SetNextToken(v string) *DescribeComputeEnvironmentsInput { 4615 s.NextToken = &v 4616 return s 4617 } 4618 4619 type DescribeComputeEnvironmentsOutput struct { 4620 _ struct{} `type:"structure"` 4621 4622 // The list of compute environments. 4623 ComputeEnvironments []*ComputeEnvironmentDetail `locationName:"computeEnvironments" type:"list"` 4624 4625 // The nextToken value to include in a future DescribeComputeEnvironments request. 4626 // When the results of a DescribeJobDefinitions request exceed maxResults, this 4627 // value can be used to retrieve the next page of results. This value is null 4628 // when there are no more results to return. 4629 NextToken *string `locationName:"nextToken" type:"string"` 4630 } 4631 4632 // String returns the string representation. 4633 // 4634 // API parameter values that are decorated as "sensitive" in the API will not 4635 // be included in the string output. The member name will be present, but the 4636 // value will be replaced with "sensitive". 4637 func (s DescribeComputeEnvironmentsOutput) String() string { 4638 return awsutil.Prettify(s) 4639 } 4640 4641 // GoString returns the string representation. 4642 // 4643 // API parameter values that are decorated as "sensitive" in the API will not 4644 // be included in the string output. The member name will be present, but the 4645 // value will be replaced with "sensitive". 4646 func (s DescribeComputeEnvironmentsOutput) GoString() string { 4647 return s.String() 4648 } 4649 4650 // SetComputeEnvironments sets the ComputeEnvironments field's value. 4651 func (s *DescribeComputeEnvironmentsOutput) SetComputeEnvironments(v []*ComputeEnvironmentDetail) *DescribeComputeEnvironmentsOutput { 4652 s.ComputeEnvironments = v 4653 return s 4654 } 4655 4656 // SetNextToken sets the NextToken field's value. 4657 func (s *DescribeComputeEnvironmentsOutput) SetNextToken(v string) *DescribeComputeEnvironmentsOutput { 4658 s.NextToken = &v 4659 return s 4660 } 4661 4662 // Contains the parameters for DescribeJobDefinitions. 4663 type DescribeJobDefinitionsInput struct { 4664 _ struct{} `type:"structure"` 4665 4666 // The name of the job definition to describe. 4667 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string"` 4668 4669 // A list of up to 100 job definitions. Each entry in the list can either be 4670 // an ARN of the form arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision} 4671 // or a short version using the form ${JobDefinitionName}:${Revision}. 4672 JobDefinitions []*string `locationName:"jobDefinitions" type:"list"` 4673 4674 // The maximum number of results returned by DescribeJobDefinitions in paginated 4675 // output. When this parameter is used, DescribeJobDefinitions only returns 4676 // maxResults results in a single page and a nextToken response element. The 4677 // remaining results of the initial request can be seen by sending another DescribeJobDefinitions 4678 // request with the returned nextToken value. This value can be between 1 and 4679 // 100. If this parameter isn't used, then DescribeJobDefinitions returns up 4680 // to 100 results and a nextToken value if applicable. 4681 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4682 4683 // The nextToken value returned from a previous paginated DescribeJobDefinitions 4684 // request where maxResults was used and the results exceeded the value of that 4685 // parameter. Pagination continues from the end of the previous results that 4686 // returned the nextToken value. This value is null when there are no more results 4687 // to return. 4688 // 4689 // This token should be treated as an opaque identifier that's only used to 4690 // retrieve the next items in a list and not for other programmatic purposes. 4691 NextToken *string `locationName:"nextToken" type:"string"` 4692 4693 // The status used to filter job definitions. 4694 Status *string `locationName:"status" type:"string"` 4695 } 4696 4697 // String returns the string representation. 4698 // 4699 // API parameter values that are decorated as "sensitive" in the API will not 4700 // be included in the string output. The member name will be present, but the 4701 // value will be replaced with "sensitive". 4702 func (s DescribeJobDefinitionsInput) String() string { 4703 return awsutil.Prettify(s) 4704 } 4705 4706 // GoString returns the string representation. 4707 // 4708 // API parameter values that are decorated as "sensitive" in the API will not 4709 // be included in the string output. The member name will be present, but the 4710 // value will be replaced with "sensitive". 4711 func (s DescribeJobDefinitionsInput) GoString() string { 4712 return s.String() 4713 } 4714 4715 // SetJobDefinitionName sets the JobDefinitionName field's value. 4716 func (s *DescribeJobDefinitionsInput) SetJobDefinitionName(v string) *DescribeJobDefinitionsInput { 4717 s.JobDefinitionName = &v 4718 return s 4719 } 4720 4721 // SetJobDefinitions sets the JobDefinitions field's value. 4722 func (s *DescribeJobDefinitionsInput) SetJobDefinitions(v []*string) *DescribeJobDefinitionsInput { 4723 s.JobDefinitions = v 4724 return s 4725 } 4726 4727 // SetMaxResults sets the MaxResults field's value. 4728 func (s *DescribeJobDefinitionsInput) SetMaxResults(v int64) *DescribeJobDefinitionsInput { 4729 s.MaxResults = &v 4730 return s 4731 } 4732 4733 // SetNextToken sets the NextToken field's value. 4734 func (s *DescribeJobDefinitionsInput) SetNextToken(v string) *DescribeJobDefinitionsInput { 4735 s.NextToken = &v 4736 return s 4737 } 4738 4739 // SetStatus sets the Status field's value. 4740 func (s *DescribeJobDefinitionsInput) SetStatus(v string) *DescribeJobDefinitionsInput { 4741 s.Status = &v 4742 return s 4743 } 4744 4745 type DescribeJobDefinitionsOutput struct { 4746 _ struct{} `type:"structure"` 4747 4748 // The list of job definitions. 4749 JobDefinitions []*JobDefinition `locationName:"jobDefinitions" type:"list"` 4750 4751 // The nextToken value to include in a future DescribeJobDefinitions request. 4752 // When the results of a DescribeJobDefinitions request exceed maxResults, this 4753 // value can be used to retrieve the next page of results. This value is null 4754 // when there are no more results to return. 4755 NextToken *string `locationName:"nextToken" type:"string"` 4756 } 4757 4758 // String returns the string representation. 4759 // 4760 // API parameter values that are decorated as "sensitive" in the API will not 4761 // be included in the string output. The member name will be present, but the 4762 // value will be replaced with "sensitive". 4763 func (s DescribeJobDefinitionsOutput) String() string { 4764 return awsutil.Prettify(s) 4765 } 4766 4767 // GoString returns the string representation. 4768 // 4769 // API parameter values that are decorated as "sensitive" in the API will not 4770 // be included in the string output. The member name will be present, but the 4771 // value will be replaced with "sensitive". 4772 func (s DescribeJobDefinitionsOutput) GoString() string { 4773 return s.String() 4774 } 4775 4776 // SetJobDefinitions sets the JobDefinitions field's value. 4777 func (s *DescribeJobDefinitionsOutput) SetJobDefinitions(v []*JobDefinition) *DescribeJobDefinitionsOutput { 4778 s.JobDefinitions = v 4779 return s 4780 } 4781 4782 // SetNextToken sets the NextToken field's value. 4783 func (s *DescribeJobDefinitionsOutput) SetNextToken(v string) *DescribeJobDefinitionsOutput { 4784 s.NextToken = &v 4785 return s 4786 } 4787 4788 // Contains the parameters for DescribeJobQueues. 4789 type DescribeJobQueuesInput struct { 4790 _ struct{} `type:"structure"` 4791 4792 // A list of up to 100 queue names or full queue Amazon Resource Name (ARN) 4793 // entries. 4794 JobQueues []*string `locationName:"jobQueues" type:"list"` 4795 4796 // The maximum number of results returned by DescribeJobQueues in paginated 4797 // output. When this parameter is used, DescribeJobQueues only returns maxResults 4798 // results in a single page and a nextToken response element. The remaining 4799 // results of the initial request can be seen by sending another DescribeJobQueues 4800 // request with the returned nextToken value. This value can be between 1 and 4801 // 100. If this parameter isn't used, then DescribeJobQueues returns up to 100 4802 // results and a nextToken value if applicable. 4803 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4804 4805 // The nextToken value returned from a previous paginated DescribeJobQueues 4806 // request where maxResults was used and the results exceeded the value of that 4807 // parameter. Pagination continues from the end of the previous results that 4808 // returned the nextToken value. This value is null when there are no more results 4809 // to return. 4810 // 4811 // This token should be treated as an opaque identifier that's only used to 4812 // retrieve the next items in a list and not for other programmatic purposes. 4813 NextToken *string `locationName:"nextToken" type:"string"` 4814 } 4815 4816 // String returns the string representation. 4817 // 4818 // API parameter values that are decorated as "sensitive" in the API will not 4819 // be included in the string output. The member name will be present, but the 4820 // value will be replaced with "sensitive". 4821 func (s DescribeJobQueuesInput) String() string { 4822 return awsutil.Prettify(s) 4823 } 4824 4825 // GoString returns the string representation. 4826 // 4827 // API parameter values that are decorated as "sensitive" in the API will not 4828 // be included in the string output. The member name will be present, but the 4829 // value will be replaced with "sensitive". 4830 func (s DescribeJobQueuesInput) GoString() string { 4831 return s.String() 4832 } 4833 4834 // SetJobQueues sets the JobQueues field's value. 4835 func (s *DescribeJobQueuesInput) SetJobQueues(v []*string) *DescribeJobQueuesInput { 4836 s.JobQueues = v 4837 return s 4838 } 4839 4840 // SetMaxResults sets the MaxResults field's value. 4841 func (s *DescribeJobQueuesInput) SetMaxResults(v int64) *DescribeJobQueuesInput { 4842 s.MaxResults = &v 4843 return s 4844 } 4845 4846 // SetNextToken sets the NextToken field's value. 4847 func (s *DescribeJobQueuesInput) SetNextToken(v string) *DescribeJobQueuesInput { 4848 s.NextToken = &v 4849 return s 4850 } 4851 4852 type DescribeJobQueuesOutput struct { 4853 _ struct{} `type:"structure"` 4854 4855 // The list of job queues. 4856 JobQueues []*JobQueueDetail `locationName:"jobQueues" type:"list"` 4857 4858 // The nextToken value to include in a future DescribeJobQueues request. When 4859 // the results of a DescribeJobQueues request exceed maxResults, this value 4860 // can be used to retrieve the next page of results. This value is null when 4861 // there are no more results to return. 4862 NextToken *string `locationName:"nextToken" type:"string"` 4863 } 4864 4865 // String returns the string representation. 4866 // 4867 // API parameter values that are decorated as "sensitive" in the API will not 4868 // be included in the string output. The member name will be present, but the 4869 // value will be replaced with "sensitive". 4870 func (s DescribeJobQueuesOutput) String() string { 4871 return awsutil.Prettify(s) 4872 } 4873 4874 // GoString returns the string representation. 4875 // 4876 // API parameter values that are decorated as "sensitive" in the API will not 4877 // be included in the string output. The member name will be present, but the 4878 // value will be replaced with "sensitive". 4879 func (s DescribeJobQueuesOutput) GoString() string { 4880 return s.String() 4881 } 4882 4883 // SetJobQueues sets the JobQueues field's value. 4884 func (s *DescribeJobQueuesOutput) SetJobQueues(v []*JobQueueDetail) *DescribeJobQueuesOutput { 4885 s.JobQueues = v 4886 return s 4887 } 4888 4889 // SetNextToken sets the NextToken field's value. 4890 func (s *DescribeJobQueuesOutput) SetNextToken(v string) *DescribeJobQueuesOutput { 4891 s.NextToken = &v 4892 return s 4893 } 4894 4895 // Contains the parameters for DescribeJobs. 4896 type DescribeJobsInput struct { 4897 _ struct{} `type:"structure"` 4898 4899 // A list of up to 100 job IDs. 4900 // 4901 // Jobs is a required field 4902 Jobs []*string `locationName:"jobs" type:"list" required:"true"` 4903 } 4904 4905 // String returns the string representation. 4906 // 4907 // API parameter values that are decorated as "sensitive" in the API will not 4908 // be included in the string output. The member name will be present, but the 4909 // value will be replaced with "sensitive". 4910 func (s DescribeJobsInput) String() string { 4911 return awsutil.Prettify(s) 4912 } 4913 4914 // GoString returns the string representation. 4915 // 4916 // API parameter values that are decorated as "sensitive" in the API will not 4917 // be included in the string output. The member name will be present, but the 4918 // value will be replaced with "sensitive". 4919 func (s DescribeJobsInput) GoString() string { 4920 return s.String() 4921 } 4922 4923 // Validate inspects the fields of the type to determine if they are valid. 4924 func (s *DescribeJobsInput) Validate() error { 4925 invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"} 4926 if s.Jobs == nil { 4927 invalidParams.Add(request.NewErrParamRequired("Jobs")) 4928 } 4929 4930 if invalidParams.Len() > 0 { 4931 return invalidParams 4932 } 4933 return nil 4934 } 4935 4936 // SetJobs sets the Jobs field's value. 4937 func (s *DescribeJobsInput) SetJobs(v []*string) *DescribeJobsInput { 4938 s.Jobs = v 4939 return s 4940 } 4941 4942 type DescribeJobsOutput struct { 4943 _ struct{} `type:"structure"` 4944 4945 // The list of jobs. 4946 Jobs []*JobDetail `locationName:"jobs" type:"list"` 4947 } 4948 4949 // String returns the string representation. 4950 // 4951 // API parameter values that are decorated as "sensitive" in the API will not 4952 // be included in the string output. The member name will be present, but the 4953 // value will be replaced with "sensitive". 4954 func (s DescribeJobsOutput) String() string { 4955 return awsutil.Prettify(s) 4956 } 4957 4958 // GoString returns the string representation. 4959 // 4960 // API parameter values that are decorated as "sensitive" in the API will not 4961 // be included in the string output. The member name will be present, but the 4962 // value will be replaced with "sensitive". 4963 func (s DescribeJobsOutput) GoString() string { 4964 return s.String() 4965 } 4966 4967 // SetJobs sets the Jobs field's value. 4968 func (s *DescribeJobsOutput) SetJobs(v []*JobDetail) *DescribeJobsOutput { 4969 s.Jobs = v 4970 return s 4971 } 4972 4973 // An object representing a container instance host device. 4974 // 4975 // This object isn't applicable to jobs that are running on Fargate resources 4976 // and shouldn't be provided. 4977 type Device struct { 4978 _ struct{} `type:"structure"` 4979 4980 // The path inside the container that's used to expose the host device. By default, 4981 // the hostPath value is used. 4982 ContainerPath *string `locationName:"containerPath" type:"string"` 4983 4984 // The path for the device on the host container instance. 4985 // 4986 // HostPath is a required field 4987 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 4988 4989 // The explicit permissions to provide to the container for the device. By default, 4990 // the container has permissions for read, write, and mknod for the device. 4991 Permissions []*string `locationName:"permissions" type:"list"` 4992 } 4993 4994 // String returns the string representation. 4995 // 4996 // API parameter values that are decorated as "sensitive" in the API will not 4997 // be included in the string output. The member name will be present, but the 4998 // value will be replaced with "sensitive". 4999 func (s Device) String() string { 5000 return awsutil.Prettify(s) 5001 } 5002 5003 // GoString returns the string representation. 5004 // 5005 // API parameter values that are decorated as "sensitive" in the API will not 5006 // be included in the string output. The member name will be present, but the 5007 // value will be replaced with "sensitive". 5008 func (s Device) GoString() string { 5009 return s.String() 5010 } 5011 5012 // Validate inspects the fields of the type to determine if they are valid. 5013 func (s *Device) Validate() error { 5014 invalidParams := request.ErrInvalidParams{Context: "Device"} 5015 if s.HostPath == nil { 5016 invalidParams.Add(request.NewErrParamRequired("HostPath")) 5017 } 5018 5019 if invalidParams.Len() > 0 { 5020 return invalidParams 5021 } 5022 return nil 5023 } 5024 5025 // SetContainerPath sets the ContainerPath field's value. 5026 func (s *Device) SetContainerPath(v string) *Device { 5027 s.ContainerPath = &v 5028 return s 5029 } 5030 5031 // SetHostPath sets the HostPath field's value. 5032 func (s *Device) SetHostPath(v string) *Device { 5033 s.HostPath = &v 5034 return s 5035 } 5036 5037 // SetPermissions sets the Permissions field's value. 5038 func (s *Device) SetPermissions(v []*string) *Device { 5039 s.Permissions = v 5040 return s 5041 } 5042 5043 // The authorization configuration details for the Amazon EFS file system. 5044 type EFSAuthorizationConfig struct { 5045 _ struct{} `type:"structure"` 5046 5047 // The Amazon EFS access point ID to use. If an access point is specified, the 5048 // root directory value specified in the EFSVolumeConfiguration must either 5049 // be omitted or set to / which will enforce the path set on the EFS access 5050 // point. If an access point is used, transit encryption must be enabled in 5051 // the EFSVolumeConfiguration. For more information, see Working with Amazon 5052 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 5053 // in the Amazon Elastic File System User Guide. 5054 AccessPointId *string `locationName:"accessPointId" type:"string"` 5055 5056 // Whether or not to use the Batch job IAM role defined in a job definition 5057 // when mounting the Amazon EFS file system. If enabled, transit encryption 5058 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 5059 // the default value of DISABLED is used. For more information, see Using Amazon 5060 // EFS Access Points (https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html#efs-volume-accesspoints) 5061 // in the Batch User Guide. EFS IAM authorization requires that TransitEncryption 5062 // be ENABLED and that a JobRoleArn is specified. 5063 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 5064 } 5065 5066 // String returns the string representation. 5067 // 5068 // API parameter values that are decorated as "sensitive" in the API will not 5069 // be included in the string output. The member name will be present, but the 5070 // value will be replaced with "sensitive". 5071 func (s EFSAuthorizationConfig) String() string { 5072 return awsutil.Prettify(s) 5073 } 5074 5075 // GoString returns the string representation. 5076 // 5077 // API parameter values that are decorated as "sensitive" in the API will not 5078 // be included in the string output. The member name will be present, but the 5079 // value will be replaced with "sensitive". 5080 func (s EFSAuthorizationConfig) GoString() string { 5081 return s.String() 5082 } 5083 5084 // SetAccessPointId sets the AccessPointId field's value. 5085 func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 5086 s.AccessPointId = &v 5087 return s 5088 } 5089 5090 // SetIam sets the Iam field's value. 5091 func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 5092 s.Iam = &v 5093 return s 5094 } 5095 5096 // This is used when you're using an Amazon Elastic File System file system 5097 // for job storage. For more information, see Amazon EFS Volumes (https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html) 5098 // in the Batch User Guide. 5099 type EFSVolumeConfiguration struct { 5100 _ struct{} `type:"structure"` 5101 5102 // The authorization configuration details for the Amazon EFS file system. 5103 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 5104 5105 // The Amazon EFS file system ID to use. 5106 // 5107 // FileSystemId is a required field 5108 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 5109 5110 // The directory within the Amazon EFS file system to mount as the root directory 5111 // inside the host. If this parameter is omitted, the root of the Amazon EFS 5112 // volume is used instead. Specifying / has the same effect as omitting this 5113 // parameter. The maximum length is 4,096 characters. 5114 // 5115 // If an EFS access point is specified in the authorizationConfig, the root 5116 // directory parameter must either be omitted or set to /, which enforces the 5117 // path set on the Amazon EFS access point. 5118 RootDirectory *string `locationName:"rootDirectory" type:"string"` 5119 5120 // Determines whether to enable encryption for Amazon EFS data in transit between 5121 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 5122 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 5123 // the default value of DISABLED is used. For more information, see Encrypting 5124 // data in transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 5125 // in the Amazon Elastic File System User Guide. 5126 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 5127 5128 // The port to use when sending encrypted data between the Amazon ECS host and 5129 // the Amazon EFS server. If you don't specify a transit encryption port, it 5130 // uses the port selection strategy that the Amazon EFS mount helper uses. The 5131 // value must be between 0 and 65,535. For more information, see EFS Mount Helper 5132 // (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the 5133 // Amazon Elastic File System User Guide. 5134 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 5135 } 5136 5137 // String returns the string representation. 5138 // 5139 // API parameter values that are decorated as "sensitive" in the API will not 5140 // be included in the string output. The member name will be present, but the 5141 // value will be replaced with "sensitive". 5142 func (s EFSVolumeConfiguration) String() string { 5143 return awsutil.Prettify(s) 5144 } 5145 5146 // GoString returns the string representation. 5147 // 5148 // API parameter values that are decorated as "sensitive" in the API will not 5149 // be included in the string output. The member name will be present, but the 5150 // value will be replaced with "sensitive". 5151 func (s EFSVolumeConfiguration) GoString() string { 5152 return s.String() 5153 } 5154 5155 // Validate inspects the fields of the type to determine if they are valid. 5156 func (s *EFSVolumeConfiguration) Validate() error { 5157 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 5158 if s.FileSystemId == nil { 5159 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 5160 } 5161 5162 if invalidParams.Len() > 0 { 5163 return invalidParams 5164 } 5165 return nil 5166 } 5167 5168 // SetAuthorizationConfig sets the AuthorizationConfig field's value. 5169 func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 5170 s.AuthorizationConfig = v 5171 return s 5172 } 5173 5174 // SetFileSystemId sets the FileSystemId field's value. 5175 func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 5176 s.FileSystemId = &v 5177 return s 5178 } 5179 5180 // SetRootDirectory sets the RootDirectory field's value. 5181 func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 5182 s.RootDirectory = &v 5183 return s 5184 } 5185 5186 // SetTransitEncryption sets the TransitEncryption field's value. 5187 func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 5188 s.TransitEncryption = &v 5189 return s 5190 } 5191 5192 // SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 5193 func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 5194 s.TransitEncryptionPort = &v 5195 return s 5196 } 5197 5198 // Provides information used to select Amazon Machine Images (AMIs) for instances 5199 // in the compute environment. If Ec2Configuration isn't specified, the default 5200 // is currently ECS_AL1 (Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)) 5201 // for non-GPU, non AWSGraviton instances. Starting on March 31, 2021, this 5202 // default will be changing to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)). 5203 // 5204 // This object isn't applicable to jobs that are running on Fargate resources. 5205 type Ec2Configuration struct { 5206 _ struct{} `type:"structure"` 5207 5208 // The AMI ID used for instances launched in the compute environment that match 5209 // the image type. This setting overrides the imageId set in the computeResource 5210 // object. 5211 ImageIdOverride *string `locationName:"imageIdOverride" min:"1" type:"string"` 5212 5213 // The image type to match with the instance type to select an AMI. If the imageIdOverride 5214 // parameter isn't specified, then a recent Amazon ECS-optimized AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 5215 // (ECS_AL1) is used. Starting on March 31, 2021, this default will be changing 5216 // to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)). 5217 // 5218 // ECS_AL2 5219 // 5220 // Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)− 5221 // Default for all Amazon Web Services Graviton-based instance families (for 5222 // example, C6g, M6g, R6g, and T4g) and can be used for all non-GPU instance 5223 // types. 5224 // 5225 // ECS_AL2_NVIDIA 5226 // 5227 // Amazon Linux 2 (GPU) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)−Default 5228 // for all GPU instance families (for example P4 and G4) and can be used for 5229 // all non Amazon Web Services Graviton-based instance types. 5230 // 5231 // ECS_AL1 5232 // 5233 // Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)−Default 5234 // for all non-GPU, non Amazon Web Services Graviton instance families. Amazon 5235 // Linux is reaching the end-of-life of standard support. For more information, 5236 // see Amazon Linux AMI (http://aws.amazon.com/amazon-linux-ami/). 5237 // 5238 // ImageType is a required field 5239 ImageType *string `locationName:"imageType" min:"1" type:"string" required:"true"` 5240 } 5241 5242 // String returns the string representation. 5243 // 5244 // API parameter values that are decorated as "sensitive" in the API will not 5245 // be included in the string output. The member name will be present, but the 5246 // value will be replaced with "sensitive". 5247 func (s Ec2Configuration) String() string { 5248 return awsutil.Prettify(s) 5249 } 5250 5251 // GoString returns the string representation. 5252 // 5253 // API parameter values that are decorated as "sensitive" in the API will not 5254 // be included in the string output. The member name will be present, but the 5255 // value will be replaced with "sensitive". 5256 func (s Ec2Configuration) GoString() string { 5257 return s.String() 5258 } 5259 5260 // Validate inspects the fields of the type to determine if they are valid. 5261 func (s *Ec2Configuration) Validate() error { 5262 invalidParams := request.ErrInvalidParams{Context: "Ec2Configuration"} 5263 if s.ImageIdOverride != nil && len(*s.ImageIdOverride) < 1 { 5264 invalidParams.Add(request.NewErrParamMinLen("ImageIdOverride", 1)) 5265 } 5266 if s.ImageType == nil { 5267 invalidParams.Add(request.NewErrParamRequired("ImageType")) 5268 } 5269 if s.ImageType != nil && len(*s.ImageType) < 1 { 5270 invalidParams.Add(request.NewErrParamMinLen("ImageType", 1)) 5271 } 5272 5273 if invalidParams.Len() > 0 { 5274 return invalidParams 5275 } 5276 return nil 5277 } 5278 5279 // SetImageIdOverride sets the ImageIdOverride field's value. 5280 func (s *Ec2Configuration) SetImageIdOverride(v string) *Ec2Configuration { 5281 s.ImageIdOverride = &v 5282 return s 5283 } 5284 5285 // SetImageType sets the ImageType field's value. 5286 func (s *Ec2Configuration) SetImageType(v string) *Ec2Configuration { 5287 s.ImageType = &v 5288 return s 5289 } 5290 5291 // Specifies a set of conditions to be met, and an action to take (RETRY or 5292 // EXIT) if all conditions are met. 5293 type EvaluateOnExit struct { 5294 _ struct{} `type:"structure"` 5295 5296 // Specifies the action to take if all of the specified conditions (onStatusReason, 5297 // onReason, and onExitCode) are met. The values aren't case sensitive. 5298 // 5299 // Action is a required field 5300 Action *string `locationName:"action" type:"string" required:"true" enum:"RetryAction"` 5301 5302 // Contains a glob pattern to match against the decimal representation of the 5303 // ExitCode returned for a job. The pattern can be up to 512 characters in length. 5304 // It can contain only numbers, and can optionally end with an asterisk (*) 5305 // so that only the start of the string needs to be an exact match. 5306 OnExitCode *string `locationName:"onExitCode" type:"string"` 5307 5308 // Contains a glob pattern to match against the Reason returned for a job. The 5309 // pattern can be up to 512 characters in length. It can contain letters, numbers, 5310 // periods (.), colons (:), and white space (including spaces and tabs). It 5311 // can optionally end with an asterisk (*) so that only the start of the string 5312 // needs to be an exact match. 5313 OnReason *string `locationName:"onReason" type:"string"` 5314 5315 // Contains a glob pattern to match against the StatusReason returned for a 5316 // job. The pattern can be up to 512 characters in length. It can contain letters, 5317 // numbers, periods (.), colons (:), and white space (including spaces or tabs). 5318 // It can optionally end with an asterisk (*) so that only the start of the 5319 // string needs to be an exact match. 5320 OnStatusReason *string `locationName:"onStatusReason" type:"string"` 5321 } 5322 5323 // String returns the string representation. 5324 // 5325 // API parameter values that are decorated as "sensitive" in the API will not 5326 // be included in the string output. The member name will be present, but the 5327 // value will be replaced with "sensitive". 5328 func (s EvaluateOnExit) String() string { 5329 return awsutil.Prettify(s) 5330 } 5331 5332 // GoString returns the string representation. 5333 // 5334 // API parameter values that are decorated as "sensitive" in the API will not 5335 // be included in the string output. The member name will be present, but the 5336 // value will be replaced with "sensitive". 5337 func (s EvaluateOnExit) GoString() string { 5338 return s.String() 5339 } 5340 5341 // Validate inspects the fields of the type to determine if they are valid. 5342 func (s *EvaluateOnExit) Validate() error { 5343 invalidParams := request.ErrInvalidParams{Context: "EvaluateOnExit"} 5344 if s.Action == nil { 5345 invalidParams.Add(request.NewErrParamRequired("Action")) 5346 } 5347 5348 if invalidParams.Len() > 0 { 5349 return invalidParams 5350 } 5351 return nil 5352 } 5353 5354 // SetAction sets the Action field's value. 5355 func (s *EvaluateOnExit) SetAction(v string) *EvaluateOnExit { 5356 s.Action = &v 5357 return s 5358 } 5359 5360 // SetOnExitCode sets the OnExitCode field's value. 5361 func (s *EvaluateOnExit) SetOnExitCode(v string) *EvaluateOnExit { 5362 s.OnExitCode = &v 5363 return s 5364 } 5365 5366 // SetOnReason sets the OnReason field's value. 5367 func (s *EvaluateOnExit) SetOnReason(v string) *EvaluateOnExit { 5368 s.OnReason = &v 5369 return s 5370 } 5371 5372 // SetOnStatusReason sets the OnStatusReason field's value. 5373 func (s *EvaluateOnExit) SetOnStatusReason(v string) *EvaluateOnExit { 5374 s.OnStatusReason = &v 5375 return s 5376 } 5377 5378 // The platform configuration for jobs that are running on Fargate resources. 5379 // Jobs that run on EC2 resources must not specify this parameter. 5380 type FargatePlatformConfiguration struct { 5381 _ struct{} `type:"structure"` 5382 5383 // The Fargate platform version where the jobs are running. A platform version 5384 // is specified only for jobs that are running on Fargate resources. If one 5385 // isn't specified, the LATEST platform version is used by default. This uses 5386 // a recent, approved version of the Fargate platform for compute resources. 5387 // For more information, see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 5388 // in the Amazon Elastic Container Service Developer Guide. 5389 PlatformVersion *string `locationName:"platformVersion" type:"string"` 5390 } 5391 5392 // String returns the string representation. 5393 // 5394 // API parameter values that are decorated as "sensitive" in the API will not 5395 // be included in the string output. The member name will be present, but the 5396 // value will be replaced with "sensitive". 5397 func (s FargatePlatformConfiguration) String() string { 5398 return awsutil.Prettify(s) 5399 } 5400 5401 // GoString returns the string representation. 5402 // 5403 // API parameter values that are decorated as "sensitive" in the API will not 5404 // be included in the string output. The member name will be present, but the 5405 // value will be replaced with "sensitive". 5406 func (s FargatePlatformConfiguration) GoString() string { 5407 return s.String() 5408 } 5409 5410 // SetPlatformVersion sets the PlatformVersion field's value. 5411 func (s *FargatePlatformConfiguration) SetPlatformVersion(v string) *FargatePlatformConfiguration { 5412 s.PlatformVersion = &v 5413 return s 5414 } 5415 5416 // Determine whether your data volume persists on the host container instance 5417 // and where it is stored. If this parameter is empty, then the Docker daemon 5418 // assigns a host path for your data volume, but the data isn't guaranteed to 5419 // persist after the containers associated with it stop running. 5420 type Host struct { 5421 _ struct{} `type:"structure"` 5422 5423 // The path on the host container instance that's presented to the container. 5424 // If this parameter is empty, then the Docker daemon has assigned a host path 5425 // for you. If this parameter contains a file location, then the data volume 5426 // persists at the specified location on the host container instance until you 5427 // delete it manually. If the source path location doesn't exist on the host 5428 // container instance, the Docker daemon creates it. If the location does exist, 5429 // the contents of the source path folder are exported. 5430 // 5431 // This parameter isn't applicable to jobs that run on Fargate resources and 5432 // shouldn't be provided. 5433 SourcePath *string `locationName:"sourcePath" type:"string"` 5434 } 5435 5436 // String returns the string representation. 5437 // 5438 // API parameter values that are decorated as "sensitive" in the API will not 5439 // be included in the string output. The member name will be present, but the 5440 // value will be replaced with "sensitive". 5441 func (s Host) String() string { 5442 return awsutil.Prettify(s) 5443 } 5444 5445 // GoString returns the string representation. 5446 // 5447 // API parameter values that are decorated as "sensitive" in the API will not 5448 // be included in the string output. The member name will be present, but the 5449 // value will be replaced with "sensitive". 5450 func (s Host) GoString() string { 5451 return s.String() 5452 } 5453 5454 // SetSourcePath sets the SourcePath field's value. 5455 func (s *Host) SetSourcePath(v string) *Host { 5456 s.SourcePath = &v 5457 return s 5458 } 5459 5460 // An object representing an Batch job definition. 5461 type JobDefinition struct { 5462 _ struct{} `type:"structure"` 5463 5464 // An object with various properties specific to container-based jobs. 5465 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 5466 5467 // The Amazon Resource Name (ARN) for the job definition. 5468 // 5469 // JobDefinitionArn is a required field 5470 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 5471 5472 // The name of the job definition. 5473 // 5474 // JobDefinitionName is a required field 5475 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 5476 5477 // An object with various properties specific to multi-node parallel jobs. 5478 // 5479 // If the job runs on Fargate resources, then you must not specify nodeProperties; 5480 // use containerProperties instead. 5481 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 5482 5483 // Default parameters or parameter substitution placeholders that are set in 5484 // the job definition. Parameters are specified as a key-value pair mapping. 5485 // Parameters in a SubmitJob request override any corresponding parameter defaults 5486 // from the job definition. For more information about specifying parameters, 5487 // see Job Definition Parameters (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html) 5488 // in the Batch User Guide. 5489 Parameters map[string]*string `locationName:"parameters" type:"map"` 5490 5491 // The platform capabilities required by the job definition. If no value is 5492 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 5493 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 5494 5495 // Specifies whether to propagate the tags from the job or job definition to 5496 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 5497 // propagated. Tags can only be propagated to the tasks during task creation. 5498 // For tags with the same name, job tags are given priority over job definitions 5499 // tags. If the total number of combined tags from the job and job definition 5500 // is over 50, the job is moved to the FAILED state. 5501 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 5502 5503 // The retry strategy to use for failed jobs that are submitted with this job 5504 // definition. 5505 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5506 5507 // The revision of the job definition. 5508 // 5509 // Revision is a required field 5510 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 5511 5512 // The status of the job definition. 5513 Status *string `locationName:"status" type:"string"` 5514 5515 // The tags applied to the job definition. 5516 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5517 5518 // The timeout configuration for jobs that are submitted with this job definition. 5519 // You can specify a timeout duration after which Batch terminates your jobs 5520 // if they haven't finished. 5521 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5522 5523 // The type of job definition. If the job is run on Fargate resources, then 5524 // multinode isn't supported. For more information about multi-node parallel 5525 // jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 5526 // in the Batch User Guide. 5527 // 5528 // Type is a required field 5529 Type *string `locationName:"type" type:"string" required:"true"` 5530 } 5531 5532 // String returns the string representation. 5533 // 5534 // API parameter values that are decorated as "sensitive" in the API will not 5535 // be included in the string output. The member name will be present, but the 5536 // value will be replaced with "sensitive". 5537 func (s JobDefinition) String() string { 5538 return awsutil.Prettify(s) 5539 } 5540 5541 // GoString returns the string representation. 5542 // 5543 // API parameter values that are decorated as "sensitive" in the API will not 5544 // be included in the string output. The member name will be present, but the 5545 // value will be replaced with "sensitive". 5546 func (s JobDefinition) GoString() string { 5547 return s.String() 5548 } 5549 5550 // SetContainerProperties sets the ContainerProperties field's value. 5551 func (s *JobDefinition) SetContainerProperties(v *ContainerProperties) *JobDefinition { 5552 s.ContainerProperties = v 5553 return s 5554 } 5555 5556 // SetJobDefinitionArn sets the JobDefinitionArn field's value. 5557 func (s *JobDefinition) SetJobDefinitionArn(v string) *JobDefinition { 5558 s.JobDefinitionArn = &v 5559 return s 5560 } 5561 5562 // SetJobDefinitionName sets the JobDefinitionName field's value. 5563 func (s *JobDefinition) SetJobDefinitionName(v string) *JobDefinition { 5564 s.JobDefinitionName = &v 5565 return s 5566 } 5567 5568 // SetNodeProperties sets the NodeProperties field's value. 5569 func (s *JobDefinition) SetNodeProperties(v *NodeProperties) *JobDefinition { 5570 s.NodeProperties = v 5571 return s 5572 } 5573 5574 // SetParameters sets the Parameters field's value. 5575 func (s *JobDefinition) SetParameters(v map[string]*string) *JobDefinition { 5576 s.Parameters = v 5577 return s 5578 } 5579 5580 // SetPlatformCapabilities sets the PlatformCapabilities field's value. 5581 func (s *JobDefinition) SetPlatformCapabilities(v []*string) *JobDefinition { 5582 s.PlatformCapabilities = v 5583 return s 5584 } 5585 5586 // SetPropagateTags sets the PropagateTags field's value. 5587 func (s *JobDefinition) SetPropagateTags(v bool) *JobDefinition { 5588 s.PropagateTags = &v 5589 return s 5590 } 5591 5592 // SetRetryStrategy sets the RetryStrategy field's value. 5593 func (s *JobDefinition) SetRetryStrategy(v *RetryStrategy) *JobDefinition { 5594 s.RetryStrategy = v 5595 return s 5596 } 5597 5598 // SetRevision sets the Revision field's value. 5599 func (s *JobDefinition) SetRevision(v int64) *JobDefinition { 5600 s.Revision = &v 5601 return s 5602 } 5603 5604 // SetStatus sets the Status field's value. 5605 func (s *JobDefinition) SetStatus(v string) *JobDefinition { 5606 s.Status = &v 5607 return s 5608 } 5609 5610 // SetTags sets the Tags field's value. 5611 func (s *JobDefinition) SetTags(v map[string]*string) *JobDefinition { 5612 s.Tags = v 5613 return s 5614 } 5615 5616 // SetTimeout sets the Timeout field's value. 5617 func (s *JobDefinition) SetTimeout(v *JobTimeout) *JobDefinition { 5618 s.Timeout = v 5619 return s 5620 } 5621 5622 // SetType sets the Type field's value. 5623 func (s *JobDefinition) SetType(v string) *JobDefinition { 5624 s.Type = &v 5625 return s 5626 } 5627 5628 // An object representing an Batch job dependency. 5629 type JobDependency struct { 5630 _ struct{} `type:"structure"` 5631 5632 // The job ID of the Batch job associated with this dependency. 5633 JobId *string `locationName:"jobId" type:"string"` 5634 5635 // The type of the job dependency. 5636 Type *string `locationName:"type" type:"string" enum:"ArrayJobDependency"` 5637 } 5638 5639 // String returns the string representation. 5640 // 5641 // API parameter values that are decorated as "sensitive" in the API will not 5642 // be included in the string output. The member name will be present, but the 5643 // value will be replaced with "sensitive". 5644 func (s JobDependency) String() string { 5645 return awsutil.Prettify(s) 5646 } 5647 5648 // GoString returns the string representation. 5649 // 5650 // API parameter values that are decorated as "sensitive" in the API will not 5651 // be included in the string output. The member name will be present, but the 5652 // value will be replaced with "sensitive". 5653 func (s JobDependency) GoString() string { 5654 return s.String() 5655 } 5656 5657 // SetJobId sets the JobId field's value. 5658 func (s *JobDependency) SetJobId(v string) *JobDependency { 5659 s.JobId = &v 5660 return s 5661 } 5662 5663 // SetType sets the Type field's value. 5664 func (s *JobDependency) SetType(v string) *JobDependency { 5665 s.Type = &v 5666 return s 5667 } 5668 5669 // An object representing an Batch job. 5670 type JobDetail struct { 5671 _ struct{} `type:"structure"` 5672 5673 // The array properties of the job, if it is an array job. 5674 ArrayProperties *ArrayPropertiesDetail `locationName:"arrayProperties" type:"structure"` 5675 5676 // A list of job attempts associated with this job. 5677 Attempts []*AttemptDetail `locationName:"attempts" type:"list"` 5678 5679 // An object representing the details of the container that's associated with 5680 // the job. 5681 Container *ContainerDetail `locationName:"container" type:"structure"` 5682 5683 // The Unix timestamp (in milliseconds) for when the job was created. For non-array 5684 // jobs and parent array jobs, this is when the job entered the SUBMITTED state 5685 // (at the time SubmitJob was called). For array child jobs, this is when the 5686 // child job was spawned by its parent and entered the PENDING state. 5687 CreatedAt *int64 `locationName:"createdAt" type:"long"` 5688 5689 // A list of job IDs that this job depends on. 5690 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 5691 5692 // The Amazon Resource Name (ARN) of the job. 5693 JobArn *string `locationName:"jobArn" type:"string"` 5694 5695 // The job definition that's used by this job. 5696 // 5697 // JobDefinition is a required field 5698 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 5699 5700 // The ID for the job. 5701 // 5702 // JobId is a required field 5703 JobId *string `locationName:"jobId" type:"string" required:"true"` 5704 5705 // The name of the job. 5706 // 5707 // JobName is a required field 5708 JobName *string `locationName:"jobName" type:"string" required:"true"` 5709 5710 // The Amazon Resource Name (ARN) of the job queue that the job is associated 5711 // with. 5712 // 5713 // JobQueue is a required field 5714 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 5715 5716 // An object representing the details of a node that's associated with a multi-node 5717 // parallel job. 5718 NodeDetails *NodeDetails `locationName:"nodeDetails" type:"structure"` 5719 5720 // An object representing the node properties of a multi-node parallel job. 5721 // 5722 // This isn't applicable to jobs that are running on Fargate resources. 5723 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 5724 5725 // Additional parameters passed to the job that replace parameter substitution 5726 // placeholders or override any corresponding parameter defaults from the job 5727 // definition. 5728 Parameters map[string]*string `locationName:"parameters" type:"map"` 5729 5730 // The platform capabilities required by the job definition. If no value is 5731 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 5732 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 5733 5734 // Specifies whether to propagate the tags from the job or job definition to 5735 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 5736 // propagated. Tags can only be propagated to the tasks during task creation. 5737 // For tags with the same name, job tags are given priority over job definitions 5738 // tags. If the total number of combined tags from the job and job definition 5739 // is over 50, the job is moved to the FAILED state. 5740 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 5741 5742 // The retry strategy to use for this job if an attempt fails. 5743 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5744 5745 // The Unix timestamp (in milliseconds) for when the job was started (when the 5746 // job transitioned from the STARTING state to the RUNNING state). This parameter 5747 // isn't provided for child jobs of array jobs or multi-node parallel jobs. 5748 // 5749 // StartedAt is a required field 5750 StartedAt *int64 `locationName:"startedAt" type:"long" required:"true"` 5751 5752 // The current status for the job. 5753 // 5754 // If your jobs don't progress to STARTING, see Jobs Stuck in RUNNABLE Status 5755 // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable) 5756 // in the troubleshooting section of the Batch User Guide. 5757 // 5758 // Status is a required field 5759 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 5760 5761 // A short, human-readable string to provide additional details about the current 5762 // status of the job. 5763 StatusReason *string `locationName:"statusReason" type:"string"` 5764 5765 // The Unix timestamp (in milliseconds) for when the job was stopped (when the 5766 // job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED 5767 // or FAILED). 5768 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 5769 5770 // The tags applied to the job. 5771 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5772 5773 // The timeout configuration for the job. 5774 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5775 } 5776 5777 // String returns the string representation. 5778 // 5779 // API parameter values that are decorated as "sensitive" in the API will not 5780 // be included in the string output. The member name will be present, but the 5781 // value will be replaced with "sensitive". 5782 func (s JobDetail) String() string { 5783 return awsutil.Prettify(s) 5784 } 5785 5786 // GoString returns the string representation. 5787 // 5788 // API parameter values that are decorated as "sensitive" in the API will not 5789 // be included in the string output. The member name will be present, but the 5790 // value will be replaced with "sensitive". 5791 func (s JobDetail) GoString() string { 5792 return s.String() 5793 } 5794 5795 // SetArrayProperties sets the ArrayProperties field's value. 5796 func (s *JobDetail) SetArrayProperties(v *ArrayPropertiesDetail) *JobDetail { 5797 s.ArrayProperties = v 5798 return s 5799 } 5800 5801 // SetAttempts sets the Attempts field's value. 5802 func (s *JobDetail) SetAttempts(v []*AttemptDetail) *JobDetail { 5803 s.Attempts = v 5804 return s 5805 } 5806 5807 // SetContainer sets the Container field's value. 5808 func (s *JobDetail) SetContainer(v *ContainerDetail) *JobDetail { 5809 s.Container = v 5810 return s 5811 } 5812 5813 // SetCreatedAt sets the CreatedAt field's value. 5814 func (s *JobDetail) SetCreatedAt(v int64) *JobDetail { 5815 s.CreatedAt = &v 5816 return s 5817 } 5818 5819 // SetDependsOn sets the DependsOn field's value. 5820 func (s *JobDetail) SetDependsOn(v []*JobDependency) *JobDetail { 5821 s.DependsOn = v 5822 return s 5823 } 5824 5825 // SetJobArn sets the JobArn field's value. 5826 func (s *JobDetail) SetJobArn(v string) *JobDetail { 5827 s.JobArn = &v 5828 return s 5829 } 5830 5831 // SetJobDefinition sets the JobDefinition field's value. 5832 func (s *JobDetail) SetJobDefinition(v string) *JobDetail { 5833 s.JobDefinition = &v 5834 return s 5835 } 5836 5837 // SetJobId sets the JobId field's value. 5838 func (s *JobDetail) SetJobId(v string) *JobDetail { 5839 s.JobId = &v 5840 return s 5841 } 5842 5843 // SetJobName sets the JobName field's value. 5844 func (s *JobDetail) SetJobName(v string) *JobDetail { 5845 s.JobName = &v 5846 return s 5847 } 5848 5849 // SetJobQueue sets the JobQueue field's value. 5850 func (s *JobDetail) SetJobQueue(v string) *JobDetail { 5851 s.JobQueue = &v 5852 return s 5853 } 5854 5855 // SetNodeDetails sets the NodeDetails field's value. 5856 func (s *JobDetail) SetNodeDetails(v *NodeDetails) *JobDetail { 5857 s.NodeDetails = v 5858 return s 5859 } 5860 5861 // SetNodeProperties sets the NodeProperties field's value. 5862 func (s *JobDetail) SetNodeProperties(v *NodeProperties) *JobDetail { 5863 s.NodeProperties = v 5864 return s 5865 } 5866 5867 // SetParameters sets the Parameters field's value. 5868 func (s *JobDetail) SetParameters(v map[string]*string) *JobDetail { 5869 s.Parameters = v 5870 return s 5871 } 5872 5873 // SetPlatformCapabilities sets the PlatformCapabilities field's value. 5874 func (s *JobDetail) SetPlatformCapabilities(v []*string) *JobDetail { 5875 s.PlatformCapabilities = v 5876 return s 5877 } 5878 5879 // SetPropagateTags sets the PropagateTags field's value. 5880 func (s *JobDetail) SetPropagateTags(v bool) *JobDetail { 5881 s.PropagateTags = &v 5882 return s 5883 } 5884 5885 // SetRetryStrategy sets the RetryStrategy field's value. 5886 func (s *JobDetail) SetRetryStrategy(v *RetryStrategy) *JobDetail { 5887 s.RetryStrategy = v 5888 return s 5889 } 5890 5891 // SetStartedAt sets the StartedAt field's value. 5892 func (s *JobDetail) SetStartedAt(v int64) *JobDetail { 5893 s.StartedAt = &v 5894 return s 5895 } 5896 5897 // SetStatus sets the Status field's value. 5898 func (s *JobDetail) SetStatus(v string) *JobDetail { 5899 s.Status = &v 5900 return s 5901 } 5902 5903 // SetStatusReason sets the StatusReason field's value. 5904 func (s *JobDetail) SetStatusReason(v string) *JobDetail { 5905 s.StatusReason = &v 5906 return s 5907 } 5908 5909 // SetStoppedAt sets the StoppedAt field's value. 5910 func (s *JobDetail) SetStoppedAt(v int64) *JobDetail { 5911 s.StoppedAt = &v 5912 return s 5913 } 5914 5915 // SetTags sets the Tags field's value. 5916 func (s *JobDetail) SetTags(v map[string]*string) *JobDetail { 5917 s.Tags = v 5918 return s 5919 } 5920 5921 // SetTimeout sets the Timeout field's value. 5922 func (s *JobDetail) SetTimeout(v *JobTimeout) *JobDetail { 5923 s.Timeout = v 5924 return s 5925 } 5926 5927 // An object representing the details of an Batch job queue. 5928 type JobQueueDetail struct { 5929 _ struct{} `type:"structure"` 5930 5931 // The compute environments that are attached to the job queue and the order 5932 // that job placement is preferred. Compute environments are selected for job 5933 // placement in ascending order. 5934 // 5935 // ComputeEnvironmentOrder is a required field 5936 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 5937 5938 // The Amazon Resource Name (ARN) of the job queue. 5939 // 5940 // JobQueueArn is a required field 5941 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 5942 5943 // The name of the job queue. 5944 // 5945 // JobQueueName is a required field 5946 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 5947 5948 // The priority of the job queue. Job queues with a higher priority (or a higher 5949 // integer value for the priority parameter) are evaluated first when associated 5950 // with the same compute environment. Priority is determined in descending order, 5951 // for example, a job queue with a priority value of 10 is given scheduling 5952 // preference over a job queue with a priority value of 1. All of the compute 5953 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 5954 // EC2 and Fargate compute environments can't be mixed. 5955 // 5956 // Priority is a required field 5957 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 5958 5959 // Describes the ability of the queue to accept new jobs. If the job queue state 5960 // is ENABLED, it's able to accept jobs. If the job queue state is DISABLED, 5961 // new jobs can't be added to the queue, but jobs already in the queue can finish. 5962 // 5963 // State is a required field 5964 State *string `locationName:"state" type:"string" required:"true" enum:"JQState"` 5965 5966 // The status of the job queue (for example, CREATING or VALID). 5967 Status *string `locationName:"status" type:"string" enum:"JQStatus"` 5968 5969 // A short, human-readable string to provide additional details about the current 5970 // status of the job queue. 5971 StatusReason *string `locationName:"statusReason" type:"string"` 5972 5973 // The tags applied to the job queue. For more information, see Tagging your 5974 // Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 5975 // in Batch User Guide. 5976 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5977 } 5978 5979 // String returns the string representation. 5980 // 5981 // API parameter values that are decorated as "sensitive" in the API will not 5982 // be included in the string output. The member name will be present, but the 5983 // value will be replaced with "sensitive". 5984 func (s JobQueueDetail) String() string { 5985 return awsutil.Prettify(s) 5986 } 5987 5988 // GoString returns the string representation. 5989 // 5990 // API parameter values that are decorated as "sensitive" in the API will not 5991 // be included in the string output. The member name will be present, but the 5992 // value will be replaced with "sensitive". 5993 func (s JobQueueDetail) GoString() string { 5994 return s.String() 5995 } 5996 5997 // SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 5998 func (s *JobQueueDetail) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *JobQueueDetail { 5999 s.ComputeEnvironmentOrder = v 6000 return s 6001 } 6002 6003 // SetJobQueueArn sets the JobQueueArn field's value. 6004 func (s *JobQueueDetail) SetJobQueueArn(v string) *JobQueueDetail { 6005 s.JobQueueArn = &v 6006 return s 6007 } 6008 6009 // SetJobQueueName sets the JobQueueName field's value. 6010 func (s *JobQueueDetail) SetJobQueueName(v string) *JobQueueDetail { 6011 s.JobQueueName = &v 6012 return s 6013 } 6014 6015 // SetPriority sets the Priority field's value. 6016 func (s *JobQueueDetail) SetPriority(v int64) *JobQueueDetail { 6017 s.Priority = &v 6018 return s 6019 } 6020 6021 // SetState sets the State field's value. 6022 func (s *JobQueueDetail) SetState(v string) *JobQueueDetail { 6023 s.State = &v 6024 return s 6025 } 6026 6027 // SetStatus sets the Status field's value. 6028 func (s *JobQueueDetail) SetStatus(v string) *JobQueueDetail { 6029 s.Status = &v 6030 return s 6031 } 6032 6033 // SetStatusReason sets the StatusReason field's value. 6034 func (s *JobQueueDetail) SetStatusReason(v string) *JobQueueDetail { 6035 s.StatusReason = &v 6036 return s 6037 } 6038 6039 // SetTags sets the Tags field's value. 6040 func (s *JobQueueDetail) SetTags(v map[string]*string) *JobQueueDetail { 6041 s.Tags = v 6042 return s 6043 } 6044 6045 // An object representing summary details of a job. 6046 type JobSummary struct { 6047 _ struct{} `type:"structure"` 6048 6049 // The array properties of the job, if it is an array job. 6050 ArrayProperties *ArrayPropertiesSummary `locationName:"arrayProperties" type:"structure"` 6051 6052 // An object representing the details of the container that's associated with 6053 // the job. 6054 Container *ContainerSummary `locationName:"container" type:"structure"` 6055 6056 // The Unix timestamp for when the job was created. For non-array jobs and parent 6057 // array jobs, this is when the job entered the SUBMITTED state (at the time 6058 // SubmitJob was called). For array child jobs, this is when the child job was 6059 // spawned by its parent and entered the PENDING state. 6060 CreatedAt *int64 `locationName:"createdAt" type:"long"` 6061 6062 // The Amazon Resource Name (ARN) of the job. 6063 JobArn *string `locationName:"jobArn" type:"string"` 6064 6065 // The Amazon Resource Name (ARN) of the job definition. 6066 JobDefinition *string `locationName:"jobDefinition" type:"string"` 6067 6068 // The ID of the job. 6069 // 6070 // JobId is a required field 6071 JobId *string `locationName:"jobId" type:"string" required:"true"` 6072 6073 // The name of the job. 6074 // 6075 // JobName is a required field 6076 JobName *string `locationName:"jobName" type:"string" required:"true"` 6077 6078 // The node properties for a single node in a job summary list. 6079 // 6080 // This isn't applicable to jobs that are running on Fargate resources. 6081 NodeProperties *NodePropertiesSummary `locationName:"nodeProperties" type:"structure"` 6082 6083 // The Unix timestamp for when the job was started (when the job transitioned 6084 // from the STARTING state to the RUNNING state). 6085 StartedAt *int64 `locationName:"startedAt" type:"long"` 6086 6087 // The current status for the job. 6088 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 6089 6090 // A short, human-readable string to provide additional details about the current 6091 // status of the job. 6092 StatusReason *string `locationName:"statusReason" type:"string"` 6093 6094 // The Unix timestamp for when the job was stopped (when the job transitioned 6095 // from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED). 6096 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 6097 } 6098 6099 // String returns the string representation. 6100 // 6101 // API parameter values that are decorated as "sensitive" in the API will not 6102 // be included in the string output. The member name will be present, but the 6103 // value will be replaced with "sensitive". 6104 func (s JobSummary) String() string { 6105 return awsutil.Prettify(s) 6106 } 6107 6108 // GoString returns the string representation. 6109 // 6110 // API parameter values that are decorated as "sensitive" in the API will not 6111 // be included in the string output. The member name will be present, but the 6112 // value will be replaced with "sensitive". 6113 func (s JobSummary) GoString() string { 6114 return s.String() 6115 } 6116 6117 // SetArrayProperties sets the ArrayProperties field's value. 6118 func (s *JobSummary) SetArrayProperties(v *ArrayPropertiesSummary) *JobSummary { 6119 s.ArrayProperties = v 6120 return s 6121 } 6122 6123 // SetContainer sets the Container field's value. 6124 func (s *JobSummary) SetContainer(v *ContainerSummary) *JobSummary { 6125 s.Container = v 6126 return s 6127 } 6128 6129 // SetCreatedAt sets the CreatedAt field's value. 6130 func (s *JobSummary) SetCreatedAt(v int64) *JobSummary { 6131 s.CreatedAt = &v 6132 return s 6133 } 6134 6135 // SetJobArn sets the JobArn field's value. 6136 func (s *JobSummary) SetJobArn(v string) *JobSummary { 6137 s.JobArn = &v 6138 return s 6139 } 6140 6141 // SetJobDefinition sets the JobDefinition field's value. 6142 func (s *JobSummary) SetJobDefinition(v string) *JobSummary { 6143 s.JobDefinition = &v 6144 return s 6145 } 6146 6147 // SetJobId sets the JobId field's value. 6148 func (s *JobSummary) SetJobId(v string) *JobSummary { 6149 s.JobId = &v 6150 return s 6151 } 6152 6153 // SetJobName sets the JobName field's value. 6154 func (s *JobSummary) SetJobName(v string) *JobSummary { 6155 s.JobName = &v 6156 return s 6157 } 6158 6159 // SetNodeProperties sets the NodeProperties field's value. 6160 func (s *JobSummary) SetNodeProperties(v *NodePropertiesSummary) *JobSummary { 6161 s.NodeProperties = v 6162 return s 6163 } 6164 6165 // SetStartedAt sets the StartedAt field's value. 6166 func (s *JobSummary) SetStartedAt(v int64) *JobSummary { 6167 s.StartedAt = &v 6168 return s 6169 } 6170 6171 // SetStatus sets the Status field's value. 6172 func (s *JobSummary) SetStatus(v string) *JobSummary { 6173 s.Status = &v 6174 return s 6175 } 6176 6177 // SetStatusReason sets the StatusReason field's value. 6178 func (s *JobSummary) SetStatusReason(v string) *JobSummary { 6179 s.StatusReason = &v 6180 return s 6181 } 6182 6183 // SetStoppedAt sets the StoppedAt field's value. 6184 func (s *JobSummary) SetStoppedAt(v int64) *JobSummary { 6185 s.StoppedAt = &v 6186 return s 6187 } 6188 6189 // An object representing a job timeout configuration. 6190 type JobTimeout struct { 6191 _ struct{} `type:"structure"` 6192 6193 // The time duration in seconds (measured from the job attempt's startedAt timestamp) 6194 // after which Batch terminates your jobs if they have not finished. The minimum 6195 // value for the timeout is 60 seconds. 6196 AttemptDurationSeconds *int64 `locationName:"attemptDurationSeconds" type:"integer"` 6197 } 6198 6199 // String returns the string representation. 6200 // 6201 // API parameter values that are decorated as "sensitive" in the API will not 6202 // be included in the string output. The member name will be present, but the 6203 // value will be replaced with "sensitive". 6204 func (s JobTimeout) String() string { 6205 return awsutil.Prettify(s) 6206 } 6207 6208 // GoString returns the string representation. 6209 // 6210 // API parameter values that are decorated as "sensitive" in the API will not 6211 // be included in the string output. The member name will be present, but the 6212 // value will be replaced with "sensitive". 6213 func (s JobTimeout) GoString() string { 6214 return s.String() 6215 } 6216 6217 // SetAttemptDurationSeconds sets the AttemptDurationSeconds field's value. 6218 func (s *JobTimeout) SetAttemptDurationSeconds(v int64) *JobTimeout { 6219 s.AttemptDurationSeconds = &v 6220 return s 6221 } 6222 6223 // A key-value pair object. 6224 type KeyValuePair struct { 6225 _ struct{} `type:"structure"` 6226 6227 // The name of the key-value pair. For environment variables, this is the name 6228 // of the environment variable. 6229 Name *string `locationName:"name" type:"string"` 6230 6231 // The value of the key-value pair. For environment variables, this is the value 6232 // of the environment variable. 6233 Value *string `locationName:"value" type:"string"` 6234 } 6235 6236 // String returns the string representation. 6237 // 6238 // API parameter values that are decorated as "sensitive" in the API will not 6239 // be included in the string output. The member name will be present, but the 6240 // value will be replaced with "sensitive". 6241 func (s KeyValuePair) String() string { 6242 return awsutil.Prettify(s) 6243 } 6244 6245 // GoString returns the string representation. 6246 // 6247 // API parameter values that are decorated as "sensitive" in the API will not 6248 // be included in the string output. The member name will be present, but the 6249 // value will be replaced with "sensitive". 6250 func (s KeyValuePair) GoString() string { 6251 return s.String() 6252 } 6253 6254 // SetName sets the Name field's value. 6255 func (s *KeyValuePair) SetName(v string) *KeyValuePair { 6256 s.Name = &v 6257 return s 6258 } 6259 6260 // SetValue sets the Value field's value. 6261 func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 6262 s.Value = &v 6263 return s 6264 } 6265 6266 // A filter name and value pair that's used to return a more specific list of 6267 // results from a ListJobs API operation. 6268 type KeyValuesPair struct { 6269 _ struct{} `type:"structure"` 6270 6271 // The name of the filter. Filter names are case sensitive. 6272 Name *string `locationName:"name" type:"string"` 6273 6274 // The filter values. 6275 Values []*string `locationName:"values" type:"list"` 6276 } 6277 6278 // String returns the string representation. 6279 // 6280 // API parameter values that are decorated as "sensitive" in the API will not 6281 // be included in the string output. The member name will be present, but the 6282 // value will be replaced with "sensitive". 6283 func (s KeyValuesPair) String() string { 6284 return awsutil.Prettify(s) 6285 } 6286 6287 // GoString returns the string representation. 6288 // 6289 // API parameter values that are decorated as "sensitive" in the API will not 6290 // be included in the string output. The member name will be present, but the 6291 // value will be replaced with "sensitive". 6292 func (s KeyValuesPair) GoString() string { 6293 return s.String() 6294 } 6295 6296 // SetName sets the Name field's value. 6297 func (s *KeyValuesPair) SetName(v string) *KeyValuesPair { 6298 s.Name = &v 6299 return s 6300 } 6301 6302 // SetValues sets the Values field's value. 6303 func (s *KeyValuesPair) SetValues(v []*string) *KeyValuesPair { 6304 s.Values = v 6305 return s 6306 } 6307 6308 // An object representing a launch template associated with a compute resource. 6309 // You must specify either the launch template ID or launch template name in 6310 // the request, but not both. 6311 // 6312 // If security groups are specified using both the securityGroupIds parameter 6313 // of CreateComputeEnvironment and the launch template, the values in the securityGroupIds 6314 // parameter of CreateComputeEnvironment will be used. 6315 // 6316 // This object isn't applicable to jobs that are running on Fargate resources. 6317 type LaunchTemplateSpecification struct { 6318 _ struct{} `type:"structure"` 6319 6320 // The ID of the launch template. 6321 LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` 6322 6323 // The name of the launch template. 6324 LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"` 6325 6326 // The version number of the launch template, $Latest, or $Default. 6327 // 6328 // If the value is $Latest, the latest version of the launch template is used. 6329 // If the value is $Default, the default version of the launch template is used. 6330 // 6331 // After the compute environment is created, the launch template version that's 6332 // used isn't changed, even if the $Default or $Latest version for the launch 6333 // template is updated. To use a new launch template version, create a new compute 6334 // environment, add the new compute environment to the existing job queue, remove 6335 // the old compute environment from the job queue, and delete the old compute 6336 // environment. 6337 // 6338 // Default: $Default. 6339 Version *string `locationName:"version" type:"string"` 6340 } 6341 6342 // String returns the string representation. 6343 // 6344 // API parameter values that are decorated as "sensitive" in the API will not 6345 // be included in the string output. The member name will be present, but the 6346 // value will be replaced with "sensitive". 6347 func (s LaunchTemplateSpecification) String() string { 6348 return awsutil.Prettify(s) 6349 } 6350 6351 // GoString returns the string representation. 6352 // 6353 // API parameter values that are decorated as "sensitive" in the API will not 6354 // be included in the string output. The member name will be present, but the 6355 // value will be replaced with "sensitive". 6356 func (s LaunchTemplateSpecification) GoString() string { 6357 return s.String() 6358 } 6359 6360 // SetLaunchTemplateId sets the LaunchTemplateId field's value. 6361 func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification { 6362 s.LaunchTemplateId = &v 6363 return s 6364 } 6365 6366 // SetLaunchTemplateName sets the LaunchTemplateName field's value. 6367 func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification { 6368 s.LaunchTemplateName = &v 6369 return s 6370 } 6371 6372 // SetVersion sets the Version field's value. 6373 func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 6374 s.Version = &v 6375 return s 6376 } 6377 6378 // Linux-specific modifications that are applied to the container, such as details 6379 // for device mappings. 6380 type LinuxParameters struct { 6381 _ struct{} `type:"structure"` 6382 6383 // Any host devices to expose to the container. This parameter maps to Devices 6384 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 6385 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 6386 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 6387 // 6388 // This parameter isn't applicable to jobs that are running on Fargate resources 6389 // and shouldn't be provided. 6390 Devices []*Device `locationName:"devices" type:"list"` 6391 6392 // If true, run an init process inside the container that forwards signals and 6393 // reaps processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 6394 // This parameter requires version 1.25 of the Docker Remote API or greater 6395 // on your container instance. To check the Docker Remote API version on your 6396 // container instance, log into your container instance and run the following 6397 // command: sudo docker version | grep "Server API version" 6398 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 6399 6400 // The total amount of swap memory (in MiB) a container can use. This parameter 6401 // is translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 6402 // where the value is the sum of the container memory plus the maxSwap value. 6403 // For more information, see --memory-swap details (https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details) 6404 // in the Docker documentation. 6405 // 6406 // If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted 6407 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 6408 // the container doesn't use the swap configuration for the container instance 6409 // it is running on. A maxSwap value must be set for the swappiness parameter 6410 // to be used. 6411 // 6412 // This parameter isn't applicable to jobs that are running on Fargate resources 6413 // and shouldn't be provided. 6414 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 6415 6416 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 6417 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 6418 // 6419 // This parameter isn't applicable to jobs that are running on Fargate resources 6420 // and shouldn't be provided. 6421 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 6422 6423 // This allows you to tune a container's memory swappiness behavior. A swappiness 6424 // value of 0 causes swapping not to happen unless absolutely necessary. A swappiness 6425 // value of 100 causes pages to be swapped very aggressively. Accepted values 6426 // are whole numbers between 0 and 100. If the swappiness parameter isn't specified, 6427 // a default value of 60 is used. If a value isn't specified for maxSwap, then 6428 // this parameter is ignored. If maxSwap is set to 0, the container doesn't 6429 // use swap. This parameter maps to the --memory-swappiness option to docker 6430 // run (https://docs.docker.com/engine/reference/run/). 6431 // 6432 // Consider the following when you use a per-container swap configuration. 6433 // 6434 // * Swap space must be enabled and allocated on the container instance for 6435 // the containers to use. The Amazon ECS optimized AMIs don't have swap enabled 6436 // by default. You must enable swap on the instance to use this feature. 6437 // For more information, see Instance Store Swap Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) 6438 // in the Amazon EC2 User Guide for Linux Instances or How do I allocate 6439 // memory to work as swap space in an Amazon EC2 instance by using a swap 6440 // file? (http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/) 6441 // 6442 // * The swap space parameters are only supported for job definitions using 6443 // EC2 resources. 6444 // 6445 // * If the maxSwap and swappiness parameters are omitted from a job definition, 6446 // each container will have a default swappiness value of 60, and the total 6447 // swap usage will be limited to two times the memory reservation of the 6448 // container. 6449 // 6450 // This parameter isn't applicable to jobs that are running on Fargate resources 6451 // and shouldn't be provided. 6452 Swappiness *int64 `locationName:"swappiness" type:"integer"` 6453 6454 // The container path, mount options, and size (in MiB) of the tmpfs mount. 6455 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 6456 // 6457 // This parameter isn't applicable to jobs that are running on Fargate resources 6458 // and shouldn't be provided. 6459 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 6460 } 6461 6462 // String returns the string representation. 6463 // 6464 // API parameter values that are decorated as "sensitive" in the API will not 6465 // be included in the string output. The member name will be present, but the 6466 // value will be replaced with "sensitive". 6467 func (s LinuxParameters) String() string { 6468 return awsutil.Prettify(s) 6469 } 6470 6471 // GoString returns the string representation. 6472 // 6473 // API parameter values that are decorated as "sensitive" in the API will not 6474 // be included in the string output. The member name will be present, but the 6475 // value will be replaced with "sensitive". 6476 func (s LinuxParameters) GoString() string { 6477 return s.String() 6478 } 6479 6480 // Validate inspects the fields of the type to determine if they are valid. 6481 func (s *LinuxParameters) Validate() error { 6482 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 6483 if s.Devices != nil { 6484 for i, v := range s.Devices { 6485 if v == nil { 6486 continue 6487 } 6488 if err := v.Validate(); err != nil { 6489 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 6490 } 6491 } 6492 } 6493 if s.Tmpfs != nil { 6494 for i, v := range s.Tmpfs { 6495 if v == nil { 6496 continue 6497 } 6498 if err := v.Validate(); err != nil { 6499 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 6500 } 6501 } 6502 } 6503 6504 if invalidParams.Len() > 0 { 6505 return invalidParams 6506 } 6507 return nil 6508 } 6509 6510 // SetDevices sets the Devices field's value. 6511 func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 6512 s.Devices = v 6513 return s 6514 } 6515 6516 // SetInitProcessEnabled sets the InitProcessEnabled field's value. 6517 func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 6518 s.InitProcessEnabled = &v 6519 return s 6520 } 6521 6522 // SetMaxSwap sets the MaxSwap field's value. 6523 func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 6524 s.MaxSwap = &v 6525 return s 6526 } 6527 6528 // SetSharedMemorySize sets the SharedMemorySize field's value. 6529 func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 6530 s.SharedMemorySize = &v 6531 return s 6532 } 6533 6534 // SetSwappiness sets the Swappiness field's value. 6535 func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 6536 s.Swappiness = &v 6537 return s 6538 } 6539 6540 // SetTmpfs sets the Tmpfs field's value. 6541 func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 6542 s.Tmpfs = v 6543 return s 6544 } 6545 6546 // Contains the parameters for ListJobs. 6547 type ListJobsInput struct { 6548 _ struct{} `type:"structure"` 6549 6550 // The job ID for an array job. Specifying an array job ID with this parameter 6551 // lists all child jobs from within the specified array. 6552 ArrayJobId *string `locationName:"arrayJobId" type:"string"` 6553 6554 // The filter to apply to the query. Only one filter can be used at a time. 6555 // When the filter is used, jobStatus is ignored. The filter doesn't apply to 6556 // child jobs in an array or multi-node parallel (MNP) jobs. The results are 6557 // sorted by the createdAt field, with the most recent jobs being first. 6558 // 6559 // JOB_NAME 6560 // 6561 // The value of the filter is a case-insensitive match for the job name. If 6562 // the value ends with an asterisk (*), the filter will match any job name that 6563 // begins with the string before the '*'. This corresponds to the jobName value. 6564 // For example, test1 matches both Test1 and test1, and test1* matches both 6565 // test1 and Test10. When the JOB_NAME filter is used, the results are grouped 6566 // by the job name and version. 6567 // 6568 // JOB_DEFINITION 6569 // 6570 // The value for the filter is the name or Amazon Resource Name (ARN) of the 6571 // job definition. This corresponds to the jobDefinition value. The value is 6572 // case sensitive. When the value for the filter is the job definition name, 6573 // the results include all the jobs that used any revision of that job definition 6574 // name. If the value ends with an asterisk (*), the filter will match any job 6575 // definition name that begins with the string before the '*'. For example, 6576 // jd1 matches only jd1, and jd1* matches both jd1 and jd1A. The version of 6577 // the job definition that's used doesn't affect the sort order. When the JOB_DEFINITION 6578 // filter is used and the ARN is used (which is in the form arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}), 6579 // the results include jobs that used the specified revision of the job definition. 6580 // Asterisk (*) is not supported when the ARN is used. 6581 // 6582 // BEFORE_CREATED_AT 6583 // 6584 // The value for the filter is the time that's before the job was created. This 6585 // corresponds to the createdAt value. The value is a string representation 6586 // of the number of seconds since 00:00:00 UTC (midnight) on January 1, 1970. 6587 // 6588 // AFTER_CREATED_AT 6589 // 6590 // The value for the filter is the time that's after the job was created. This 6591 // corresponds to the createdAt value. The value is a string representation 6592 // of the number of seconds since 00:00:00 UTC (midnight) on January 1, 1970. 6593 Filters []*KeyValuesPair `locationName:"filters" type:"list"` 6594 6595 // The name or full Amazon Resource Name (ARN) of the job queue used to list 6596 // jobs. 6597 JobQueue *string `locationName:"jobQueue" type:"string"` 6598 6599 // The job status used to filter jobs in the specified queue. If the filters 6600 // parameter is specified, the jobStatus parameter is ignored and jobs with 6601 // any status are returned. If you don't specify a status, only RUNNING jobs 6602 // are returned. 6603 JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"` 6604 6605 // The maximum number of results returned by ListJobs in paginated output. When 6606 // this parameter is used, ListJobs only returns maxResults results in a single 6607 // page and a nextToken response element. The remaining results of the initial 6608 // request can be seen by sending another ListJobs request with the returned 6609 // nextToken value. This value can be between 1 and 100. If this parameter isn't 6610 // used, then ListJobs returns up to 100 results and a nextToken value if applicable. 6611 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6612 6613 // The job ID for a multi-node parallel job. Specifying a multi-node parallel 6614 // job ID with this parameter lists all nodes that are associated with the specified 6615 // job. 6616 MultiNodeJobId *string `locationName:"multiNodeJobId" type:"string"` 6617 6618 // The nextToken value returned from a previous paginated ListJobs request where 6619 // maxResults was used and the results exceeded the value of that parameter. 6620 // Pagination continues from the end of the previous results that returned the 6621 // nextToken value. This value is null when there are no more results to return. 6622 // 6623 // This token should be treated as an opaque identifier that's only used to 6624 // retrieve the next items in a list and not for other programmatic purposes. 6625 NextToken *string `locationName:"nextToken" type:"string"` 6626 } 6627 6628 // String returns the string representation. 6629 // 6630 // API parameter values that are decorated as "sensitive" in the API will not 6631 // be included in the string output. The member name will be present, but the 6632 // value will be replaced with "sensitive". 6633 func (s ListJobsInput) String() string { 6634 return awsutil.Prettify(s) 6635 } 6636 6637 // GoString returns the string representation. 6638 // 6639 // API parameter values that are decorated as "sensitive" in the API will not 6640 // be included in the string output. The member name will be present, but the 6641 // value will be replaced with "sensitive". 6642 func (s ListJobsInput) GoString() string { 6643 return s.String() 6644 } 6645 6646 // SetArrayJobId sets the ArrayJobId field's value. 6647 func (s *ListJobsInput) SetArrayJobId(v string) *ListJobsInput { 6648 s.ArrayJobId = &v 6649 return s 6650 } 6651 6652 // SetFilters sets the Filters field's value. 6653 func (s *ListJobsInput) SetFilters(v []*KeyValuesPair) *ListJobsInput { 6654 s.Filters = v 6655 return s 6656 } 6657 6658 // SetJobQueue sets the JobQueue field's value. 6659 func (s *ListJobsInput) SetJobQueue(v string) *ListJobsInput { 6660 s.JobQueue = &v 6661 return s 6662 } 6663 6664 // SetJobStatus sets the JobStatus field's value. 6665 func (s *ListJobsInput) SetJobStatus(v string) *ListJobsInput { 6666 s.JobStatus = &v 6667 return s 6668 } 6669 6670 // SetMaxResults sets the MaxResults field's value. 6671 func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 6672 s.MaxResults = &v 6673 return s 6674 } 6675 6676 // SetMultiNodeJobId sets the MultiNodeJobId field's value. 6677 func (s *ListJobsInput) SetMultiNodeJobId(v string) *ListJobsInput { 6678 s.MultiNodeJobId = &v 6679 return s 6680 } 6681 6682 // SetNextToken sets the NextToken field's value. 6683 func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 6684 s.NextToken = &v 6685 return s 6686 } 6687 6688 type ListJobsOutput struct { 6689 _ struct{} `type:"structure"` 6690 6691 // A list of job summaries that match the request. 6692 // 6693 // JobSummaryList is a required field 6694 JobSummaryList []*JobSummary `locationName:"jobSummaryList" type:"list" required:"true"` 6695 6696 // The nextToken value to include in a future ListJobs request. When the results 6697 // of a ListJobs request exceed maxResults, this value can be used to retrieve 6698 // the next page of results. This value is null when there are no more results 6699 // to return. 6700 NextToken *string `locationName:"nextToken" type:"string"` 6701 } 6702 6703 // String returns the string representation. 6704 // 6705 // API parameter values that are decorated as "sensitive" in the API will not 6706 // be included in the string output. The member name will be present, but the 6707 // value will be replaced with "sensitive". 6708 func (s ListJobsOutput) String() string { 6709 return awsutil.Prettify(s) 6710 } 6711 6712 // GoString returns the string representation. 6713 // 6714 // API parameter values that are decorated as "sensitive" in the API will not 6715 // be included in the string output. The member name will be present, but the 6716 // value will be replaced with "sensitive". 6717 func (s ListJobsOutput) GoString() string { 6718 return s.String() 6719 } 6720 6721 // SetJobSummaryList sets the JobSummaryList field's value. 6722 func (s *ListJobsOutput) SetJobSummaryList(v []*JobSummary) *ListJobsOutput { 6723 s.JobSummaryList = v 6724 return s 6725 } 6726 6727 // SetNextToken sets the NextToken field's value. 6728 func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 6729 s.NextToken = &v 6730 return s 6731 } 6732 6733 type ListTagsForResourceInput struct { 6734 _ struct{} `type:"structure" nopayload:"true"` 6735 6736 // The Amazon Resource Name (ARN) that identifies the resource that tags are 6737 // listed for. Batch resources that support tags are compute environments, jobs, 6738 // job definitions, and job queues. ARNs for child jobs of array and multi-node 6739 // parallel (MNP) jobs are not supported. 6740 // 6741 // ResourceArn is a required field 6742 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6743 } 6744 6745 // String returns the string representation. 6746 // 6747 // API parameter values that are decorated as "sensitive" in the API will not 6748 // be included in the string output. The member name will be present, but the 6749 // value will be replaced with "sensitive". 6750 func (s ListTagsForResourceInput) String() string { 6751 return awsutil.Prettify(s) 6752 } 6753 6754 // GoString returns the string representation. 6755 // 6756 // API parameter values that are decorated as "sensitive" in the API will not 6757 // be included in the string output. The member name will be present, but the 6758 // value will be replaced with "sensitive". 6759 func (s ListTagsForResourceInput) GoString() string { 6760 return s.String() 6761 } 6762 6763 // Validate inspects the fields of the type to determine if they are valid. 6764 func (s *ListTagsForResourceInput) Validate() error { 6765 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 6766 if s.ResourceArn == nil { 6767 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6768 } 6769 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6770 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6771 } 6772 6773 if invalidParams.Len() > 0 { 6774 return invalidParams 6775 } 6776 return nil 6777 } 6778 6779 // SetResourceArn sets the ResourceArn field's value. 6780 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 6781 s.ResourceArn = &v 6782 return s 6783 } 6784 6785 type ListTagsForResourceOutput struct { 6786 _ struct{} `type:"structure"` 6787 6788 // The tags for the resource. 6789 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6790 } 6791 6792 // String returns the string representation. 6793 // 6794 // API parameter values that are decorated as "sensitive" in the API will not 6795 // be included in the string output. The member name will be present, but the 6796 // value will be replaced with "sensitive". 6797 func (s ListTagsForResourceOutput) String() string { 6798 return awsutil.Prettify(s) 6799 } 6800 6801 // GoString returns the string representation. 6802 // 6803 // API parameter values that are decorated as "sensitive" in the API will not 6804 // be included in the string output. The member name will be present, but the 6805 // value will be replaced with "sensitive". 6806 func (s ListTagsForResourceOutput) GoString() string { 6807 return s.String() 6808 } 6809 6810 // SetTags sets the Tags field's value. 6811 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 6812 s.Tags = v 6813 return s 6814 } 6815 6816 // Log configuration options to send to a custom log driver for the container. 6817 type LogConfiguration struct { 6818 _ struct{} `type:"structure"` 6819 6820 // The log driver to use for the container. The valid values listed for this 6821 // parameter are log drivers that the Amazon ECS container agent can communicate 6822 // with by default. 6823 // 6824 // The supported log drivers are awslogs, fluentd, gelf, json-file, journald, 6825 // logentries, syslog, and splunk. 6826 // 6827 // Jobs that are running on Fargate resources are restricted to the awslogs 6828 // and splunk log drivers. 6829 // 6830 // awslogs 6831 // 6832 // Specifies the Amazon CloudWatch Logs logging driver. For more information, 6833 // see Using the awslogs Log Driver (https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html) 6834 // in the Batch User Guide and Amazon CloudWatch Logs logging driver (https://docs.docker.com/config/containers/logging/awslogs/) 6835 // in the Docker documentation. 6836 // 6837 // fluentd 6838 // 6839 // Specifies the Fluentd logging driver. For more information, including usage 6840 // and options, see Fluentd logging driver (https://docs.docker.com/config/containers/logging/fluentd/) 6841 // in the Docker documentation. 6842 // 6843 // gelf 6844 // 6845 // Specifies the Graylog Extended Format (GELF) logging driver. For more information, 6846 // including usage and options, see Graylog Extended Format logging driver (https://docs.docker.com/config/containers/logging/gelf/) 6847 // in the Docker documentation. 6848 // 6849 // journald 6850 // 6851 // Specifies the journald logging driver. For more information, including usage 6852 // and options, see Journald logging driver (https://docs.docker.com/config/containers/logging/journald/) 6853 // in the Docker documentation. 6854 // 6855 // json-file 6856 // 6857 // Specifies the JSON file logging driver. For more information, including usage 6858 // and options, see JSON File logging driver (https://docs.docker.com/config/containers/logging/json-file/) 6859 // in the Docker documentation. 6860 // 6861 // splunk 6862 // 6863 // Specifies the Splunk logging driver. For more information, including usage 6864 // and options, see Splunk logging driver (https://docs.docker.com/config/containers/logging/splunk/) 6865 // in the Docker documentation. 6866 // 6867 // syslog 6868 // 6869 // Specifies the syslog logging driver. For more information, including usage 6870 // and options, see Syslog logging driver (https://docs.docker.com/config/containers/logging/syslog/) 6871 // in the Docker documentation. 6872 // 6873 // If you have a custom driver that's not listed earlier that you want to work 6874 // with the Amazon ECS container agent, you can fork the Amazon ECS container 6875 // agent project that's available on GitHub (https://github.com/aavshr/amazon-ecs-agent) 6876 // and customize it to work with that driver. We encourage you to submit pull 6877 // requests for changes that you want to have included. However, Amazon Web 6878 // Services doesn't currently support running modified copies of this software. 6879 // 6880 // This parameter requires version 1.18 of the Docker Remote API or greater 6881 // on your container instance. To check the Docker Remote API version on your 6882 // container instance, log into your container instance and run the following 6883 // command: sudo docker version | grep "Server API version" 6884 // 6885 // LogDriver is a required field 6886 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 6887 6888 // The configuration options to send to the log driver. This parameter requires 6889 // version 1.19 of the Docker Remote API or greater on your container instance. 6890 // To check the Docker Remote API version on your container instance, log into 6891 // your container instance and run the following command: sudo docker version 6892 // | grep "Server API version" 6893 Options map[string]*string `locationName:"options" type:"map"` 6894 6895 // The secrets to pass to the log configuration. For more information, see Specifying 6896 // Sensitive Data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 6897 // in the Batch User Guide. 6898 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 6899 } 6900 6901 // String returns the string representation. 6902 // 6903 // API parameter values that are decorated as "sensitive" in the API will not 6904 // be included in the string output. The member name will be present, but the 6905 // value will be replaced with "sensitive". 6906 func (s LogConfiguration) String() string { 6907 return awsutil.Prettify(s) 6908 } 6909 6910 // GoString returns the string representation. 6911 // 6912 // API parameter values that are decorated as "sensitive" in the API will not 6913 // be included in the string output. The member name will be present, but the 6914 // value will be replaced with "sensitive". 6915 func (s LogConfiguration) GoString() string { 6916 return s.String() 6917 } 6918 6919 // Validate inspects the fields of the type to determine if they are valid. 6920 func (s *LogConfiguration) Validate() error { 6921 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 6922 if s.LogDriver == nil { 6923 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 6924 } 6925 if s.SecretOptions != nil { 6926 for i, v := range s.SecretOptions { 6927 if v == nil { 6928 continue 6929 } 6930 if err := v.Validate(); err != nil { 6931 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 6932 } 6933 } 6934 } 6935 6936 if invalidParams.Len() > 0 { 6937 return invalidParams 6938 } 6939 return nil 6940 } 6941 6942 // SetLogDriver sets the LogDriver field's value. 6943 func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 6944 s.LogDriver = &v 6945 return s 6946 } 6947 6948 // SetOptions sets the Options field's value. 6949 func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 6950 s.Options = v 6951 return s 6952 } 6953 6954 // SetSecretOptions sets the SecretOptions field's value. 6955 func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 6956 s.SecretOptions = v 6957 return s 6958 } 6959 6960 // Details on a Docker volume mount point that's used in a job's container properties. 6961 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.19/#create-a-container) 6962 // section of the Docker Remote API and the --volume option to docker run. 6963 type MountPoint struct { 6964 _ struct{} `type:"structure"` 6965 6966 // The path on the container where the host volume is mounted. 6967 ContainerPath *string `locationName:"containerPath" type:"string"` 6968 6969 // If this value is true, the container has read-only access to the volume. 6970 // Otherwise, the container can write to the volume. The default value is false. 6971 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 6972 6973 // The name of the volume to mount. 6974 SourceVolume *string `locationName:"sourceVolume" type:"string"` 6975 } 6976 6977 // String returns the string representation. 6978 // 6979 // API parameter values that are decorated as "sensitive" in the API will not 6980 // be included in the string output. The member name will be present, but the 6981 // value will be replaced with "sensitive". 6982 func (s MountPoint) String() string { 6983 return awsutil.Prettify(s) 6984 } 6985 6986 // GoString returns the string representation. 6987 // 6988 // API parameter values that are decorated as "sensitive" in the API will not 6989 // be included in the string output. The member name will be present, but the 6990 // value will be replaced with "sensitive". 6991 func (s MountPoint) GoString() string { 6992 return s.String() 6993 } 6994 6995 // SetContainerPath sets the ContainerPath field's value. 6996 func (s *MountPoint) SetContainerPath(v string) *MountPoint { 6997 s.ContainerPath = &v 6998 return s 6999 } 7000 7001 // SetReadOnly sets the ReadOnly field's value. 7002 func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 7003 s.ReadOnly = &v 7004 return s 7005 } 7006 7007 // SetSourceVolume sets the SourceVolume field's value. 7008 func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 7009 s.SourceVolume = &v 7010 return s 7011 } 7012 7013 // The network configuration for jobs that are running on Fargate resources. 7014 // Jobs that are running on EC2 resources must not specify this parameter. 7015 type NetworkConfiguration struct { 7016 _ struct{} `type:"structure"` 7017 7018 // Indicates whether the job should have a public IP address. For a job that 7019 // is running on Fargate resources in a private subnet to send outbound traffic 7020 // to the internet (for example, to pull container images), the private subnet 7021 // requires a NAT gateway be attached to route requests to the internet. For 7022 // more information, see Amazon ECS task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html). 7023 // The default value is "DISABLED". 7024 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 7025 } 7026 7027 // String returns the string representation. 7028 // 7029 // API parameter values that are decorated as "sensitive" in the API will not 7030 // be included in the string output. The member name will be present, but the 7031 // value will be replaced with "sensitive". 7032 func (s NetworkConfiguration) String() string { 7033 return awsutil.Prettify(s) 7034 } 7035 7036 // GoString returns the string representation. 7037 // 7038 // API parameter values that are decorated as "sensitive" in the API will not 7039 // be included in the string output. The member name will be present, but the 7040 // value will be replaced with "sensitive". 7041 func (s NetworkConfiguration) GoString() string { 7042 return s.String() 7043 } 7044 7045 // SetAssignPublicIp sets the AssignPublicIp field's value. 7046 func (s *NetworkConfiguration) SetAssignPublicIp(v string) *NetworkConfiguration { 7047 s.AssignPublicIp = &v 7048 return s 7049 } 7050 7051 // An object representing the elastic network interface for a multi-node parallel 7052 // job node. 7053 type NetworkInterface struct { 7054 _ struct{} `type:"structure"` 7055 7056 // The attachment ID for the network interface. 7057 AttachmentId *string `locationName:"attachmentId" type:"string"` 7058 7059 // The private IPv6 address for the network interface. 7060 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 7061 7062 // The private IPv4 address for the network interface. 7063 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 7064 } 7065 7066 // String returns the string representation. 7067 // 7068 // API parameter values that are decorated as "sensitive" in the API will not 7069 // be included in the string output. The member name will be present, but the 7070 // value will be replaced with "sensitive". 7071 func (s NetworkInterface) String() string { 7072 return awsutil.Prettify(s) 7073 } 7074 7075 // GoString returns the string representation. 7076 // 7077 // API parameter values that are decorated as "sensitive" in the API will not 7078 // be included in the string output. The member name will be present, but the 7079 // value will be replaced with "sensitive". 7080 func (s NetworkInterface) GoString() string { 7081 return s.String() 7082 } 7083 7084 // SetAttachmentId sets the AttachmentId field's value. 7085 func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 7086 s.AttachmentId = &v 7087 return s 7088 } 7089 7090 // SetIpv6Address sets the Ipv6Address field's value. 7091 func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 7092 s.Ipv6Address = &v 7093 return s 7094 } 7095 7096 // SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 7097 func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 7098 s.PrivateIpv4Address = &v 7099 return s 7100 } 7101 7102 // An object representing the details of a multi-node parallel job node. 7103 type NodeDetails struct { 7104 _ struct{} `type:"structure"` 7105 7106 // Specifies whether the current node is the main node for a multi-node parallel 7107 // job. 7108 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 7109 7110 // The node index for the node. Node index numbering begins at zero. This index 7111 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 7112 // variable. 7113 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 7114 } 7115 7116 // String returns the string representation. 7117 // 7118 // API parameter values that are decorated as "sensitive" in the API will not 7119 // be included in the string output. The member name will be present, but the 7120 // value will be replaced with "sensitive". 7121 func (s NodeDetails) String() string { 7122 return awsutil.Prettify(s) 7123 } 7124 7125 // GoString returns the string representation. 7126 // 7127 // API parameter values that are decorated as "sensitive" in the API will not 7128 // be included in the string output. The member name will be present, but the 7129 // value will be replaced with "sensitive". 7130 func (s NodeDetails) GoString() string { 7131 return s.String() 7132 } 7133 7134 // SetIsMainNode sets the IsMainNode field's value. 7135 func (s *NodeDetails) SetIsMainNode(v bool) *NodeDetails { 7136 s.IsMainNode = &v 7137 return s 7138 } 7139 7140 // SetNodeIndex sets the NodeIndex field's value. 7141 func (s *NodeDetails) SetNodeIndex(v int64) *NodeDetails { 7142 s.NodeIndex = &v 7143 return s 7144 } 7145 7146 // Object representing any node overrides to a job definition that's used in 7147 // a SubmitJob API operation. 7148 // 7149 // This isn't applicable to jobs that are running on Fargate resources and shouldn't 7150 // be provided; use containerOverrides instead. 7151 type NodeOverrides struct { 7152 _ struct{} `type:"structure"` 7153 7154 // The node property overrides for the job. 7155 NodePropertyOverrides []*NodePropertyOverride `locationName:"nodePropertyOverrides" type:"list"` 7156 7157 // The number of nodes to use with a multi-node parallel job. This value overrides 7158 // the number of nodes that are specified in the job definition. To use this 7159 // override: 7160 // 7161 // * There must be at least one node range in your job definition that has 7162 // an open upper boundary (such as : or n:). 7163 // 7164 // * The lower boundary of the node range specified in the job definition 7165 // must be fewer than the number of nodes specified in the override. 7166 // 7167 // * The main node index specified in the job definition must be fewer than 7168 // the number of nodes specified in the override. 7169 NumNodes *int64 `locationName:"numNodes" type:"integer"` 7170 } 7171 7172 // String returns the string representation. 7173 // 7174 // API parameter values that are decorated as "sensitive" in the API will not 7175 // be included in the string output. The member name will be present, but the 7176 // value will be replaced with "sensitive". 7177 func (s NodeOverrides) String() string { 7178 return awsutil.Prettify(s) 7179 } 7180 7181 // GoString returns the string representation. 7182 // 7183 // API parameter values that are decorated as "sensitive" in the API will not 7184 // be included in the string output. The member name will be present, but the 7185 // value will be replaced with "sensitive". 7186 func (s NodeOverrides) GoString() string { 7187 return s.String() 7188 } 7189 7190 // Validate inspects the fields of the type to determine if they are valid. 7191 func (s *NodeOverrides) Validate() error { 7192 invalidParams := request.ErrInvalidParams{Context: "NodeOverrides"} 7193 if s.NodePropertyOverrides != nil { 7194 for i, v := range s.NodePropertyOverrides { 7195 if v == nil { 7196 continue 7197 } 7198 if err := v.Validate(); err != nil { 7199 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodePropertyOverrides", i), err.(request.ErrInvalidParams)) 7200 } 7201 } 7202 } 7203 7204 if invalidParams.Len() > 0 { 7205 return invalidParams 7206 } 7207 return nil 7208 } 7209 7210 // SetNodePropertyOverrides sets the NodePropertyOverrides field's value. 7211 func (s *NodeOverrides) SetNodePropertyOverrides(v []*NodePropertyOverride) *NodeOverrides { 7212 s.NodePropertyOverrides = v 7213 return s 7214 } 7215 7216 // SetNumNodes sets the NumNodes field's value. 7217 func (s *NodeOverrides) SetNumNodes(v int64) *NodeOverrides { 7218 s.NumNodes = &v 7219 return s 7220 } 7221 7222 // An object representing the node properties of a multi-node parallel job. 7223 type NodeProperties struct { 7224 _ struct{} `type:"structure"` 7225 7226 // Specifies the node index for the main node of a multi-node parallel job. 7227 // This node index value must be fewer than the number of nodes. 7228 // 7229 // MainNode is a required field 7230 MainNode *int64 `locationName:"mainNode" type:"integer" required:"true"` 7231 7232 // A list of node ranges and their properties associated with a multi-node parallel 7233 // job. 7234 // 7235 // NodeRangeProperties is a required field 7236 NodeRangeProperties []*NodeRangeProperty `locationName:"nodeRangeProperties" type:"list" required:"true"` 7237 7238 // The number of nodes associated with a multi-node parallel job. 7239 // 7240 // NumNodes is a required field 7241 NumNodes *int64 `locationName:"numNodes" type:"integer" required:"true"` 7242 } 7243 7244 // String returns the string representation. 7245 // 7246 // API parameter values that are decorated as "sensitive" in the API will not 7247 // be included in the string output. The member name will be present, but the 7248 // value will be replaced with "sensitive". 7249 func (s NodeProperties) String() string { 7250 return awsutil.Prettify(s) 7251 } 7252 7253 // GoString returns the string representation. 7254 // 7255 // API parameter values that are decorated as "sensitive" in the API will not 7256 // be included in the string output. The member name will be present, but the 7257 // value will be replaced with "sensitive". 7258 func (s NodeProperties) GoString() string { 7259 return s.String() 7260 } 7261 7262 // Validate inspects the fields of the type to determine if they are valid. 7263 func (s *NodeProperties) Validate() error { 7264 invalidParams := request.ErrInvalidParams{Context: "NodeProperties"} 7265 if s.MainNode == nil { 7266 invalidParams.Add(request.NewErrParamRequired("MainNode")) 7267 } 7268 if s.NodeRangeProperties == nil { 7269 invalidParams.Add(request.NewErrParamRequired("NodeRangeProperties")) 7270 } 7271 if s.NumNodes == nil { 7272 invalidParams.Add(request.NewErrParamRequired("NumNodes")) 7273 } 7274 if s.NodeRangeProperties != nil { 7275 for i, v := range s.NodeRangeProperties { 7276 if v == nil { 7277 continue 7278 } 7279 if err := v.Validate(); err != nil { 7280 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeRangeProperties", i), err.(request.ErrInvalidParams)) 7281 } 7282 } 7283 } 7284 7285 if invalidParams.Len() > 0 { 7286 return invalidParams 7287 } 7288 return nil 7289 } 7290 7291 // SetMainNode sets the MainNode field's value. 7292 func (s *NodeProperties) SetMainNode(v int64) *NodeProperties { 7293 s.MainNode = &v 7294 return s 7295 } 7296 7297 // SetNodeRangeProperties sets the NodeRangeProperties field's value. 7298 func (s *NodeProperties) SetNodeRangeProperties(v []*NodeRangeProperty) *NodeProperties { 7299 s.NodeRangeProperties = v 7300 return s 7301 } 7302 7303 // SetNumNodes sets the NumNodes field's value. 7304 func (s *NodeProperties) SetNumNodes(v int64) *NodeProperties { 7305 s.NumNodes = &v 7306 return s 7307 } 7308 7309 // An object representing the properties of a node that's associated with a 7310 // multi-node parallel job. 7311 type NodePropertiesSummary struct { 7312 _ struct{} `type:"structure"` 7313 7314 // Specifies whether the current node is the main node for a multi-node parallel 7315 // job. 7316 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 7317 7318 // The node index for the node. Node index numbering begins at zero. This index 7319 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 7320 // variable. 7321 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 7322 7323 // The number of nodes associated with a multi-node parallel job. 7324 NumNodes *int64 `locationName:"numNodes" type:"integer"` 7325 } 7326 7327 // String returns the string representation. 7328 // 7329 // API parameter values that are decorated as "sensitive" in the API will not 7330 // be included in the string output. The member name will be present, but the 7331 // value will be replaced with "sensitive". 7332 func (s NodePropertiesSummary) String() string { 7333 return awsutil.Prettify(s) 7334 } 7335 7336 // GoString returns the string representation. 7337 // 7338 // API parameter values that are decorated as "sensitive" in the API will not 7339 // be included in the string output. The member name will be present, but the 7340 // value will be replaced with "sensitive". 7341 func (s NodePropertiesSummary) GoString() string { 7342 return s.String() 7343 } 7344 7345 // SetIsMainNode sets the IsMainNode field's value. 7346 func (s *NodePropertiesSummary) SetIsMainNode(v bool) *NodePropertiesSummary { 7347 s.IsMainNode = &v 7348 return s 7349 } 7350 7351 // SetNodeIndex sets the NodeIndex field's value. 7352 func (s *NodePropertiesSummary) SetNodeIndex(v int64) *NodePropertiesSummary { 7353 s.NodeIndex = &v 7354 return s 7355 } 7356 7357 // SetNumNodes sets the NumNodes field's value. 7358 func (s *NodePropertiesSummary) SetNumNodes(v int64) *NodePropertiesSummary { 7359 s.NumNodes = &v 7360 return s 7361 } 7362 7363 // Object representing any node overrides to a job definition that's used in 7364 // a SubmitJob API operation. 7365 type NodePropertyOverride struct { 7366 _ struct{} `type:"structure"` 7367 7368 // The overrides that should be sent to a node range. 7369 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 7370 7371 // The range of nodes, using node index values, that's used to override. A range 7372 // of 0:3 indicates nodes with index values of 0 through 3. If the starting 7373 // range value is omitted (:n), then 0 is used to start the range. If the ending 7374 // range value is omitted (n:), then the highest possible node index is used 7375 // to end the range. 7376 // 7377 // TargetNodes is a required field 7378 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 7379 } 7380 7381 // String returns the string representation. 7382 // 7383 // API parameter values that are decorated as "sensitive" in the API will not 7384 // be included in the string output. The member name will be present, but the 7385 // value will be replaced with "sensitive". 7386 func (s NodePropertyOverride) String() string { 7387 return awsutil.Prettify(s) 7388 } 7389 7390 // GoString returns the string representation. 7391 // 7392 // API parameter values that are decorated as "sensitive" in the API will not 7393 // be included in the string output. The member name will be present, but the 7394 // value will be replaced with "sensitive". 7395 func (s NodePropertyOverride) GoString() string { 7396 return s.String() 7397 } 7398 7399 // Validate inspects the fields of the type to determine if they are valid. 7400 func (s *NodePropertyOverride) Validate() error { 7401 invalidParams := request.ErrInvalidParams{Context: "NodePropertyOverride"} 7402 if s.TargetNodes == nil { 7403 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 7404 } 7405 if s.ContainerOverrides != nil { 7406 if err := s.ContainerOverrides.Validate(); err != nil { 7407 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 7408 } 7409 } 7410 7411 if invalidParams.Len() > 0 { 7412 return invalidParams 7413 } 7414 return nil 7415 } 7416 7417 // SetContainerOverrides sets the ContainerOverrides field's value. 7418 func (s *NodePropertyOverride) SetContainerOverrides(v *ContainerOverrides) *NodePropertyOverride { 7419 s.ContainerOverrides = v 7420 return s 7421 } 7422 7423 // SetTargetNodes sets the TargetNodes field's value. 7424 func (s *NodePropertyOverride) SetTargetNodes(v string) *NodePropertyOverride { 7425 s.TargetNodes = &v 7426 return s 7427 } 7428 7429 // An object representing the properties of the node range for a multi-node 7430 // parallel job. 7431 type NodeRangeProperty struct { 7432 _ struct{} `type:"structure"` 7433 7434 // The container details for the node range. 7435 Container *ContainerProperties `locationName:"container" type:"structure"` 7436 7437 // The range of nodes, using node index values. A range of 0:3 indicates nodes 7438 // with index values of 0 through 3. If the starting range value is omitted 7439 // (:n), then 0 is used to start the range. If the ending range value is omitted 7440 // (n:), then the highest possible node index is used to end the range. Your 7441 // accumulative node ranges must account for all nodes (0:n). You can nest node 7442 // ranges, for example 0:10 and 4:5, in which case the 4:5 range properties 7443 // override the 0:10 properties. 7444 // 7445 // TargetNodes is a required field 7446 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 7447 } 7448 7449 // String returns the string representation. 7450 // 7451 // API parameter values that are decorated as "sensitive" in the API will not 7452 // be included in the string output. The member name will be present, but the 7453 // value will be replaced with "sensitive". 7454 func (s NodeRangeProperty) String() string { 7455 return awsutil.Prettify(s) 7456 } 7457 7458 // GoString returns the string representation. 7459 // 7460 // API parameter values that are decorated as "sensitive" in the API will not 7461 // be included in the string output. The member name will be present, but the 7462 // value will be replaced with "sensitive". 7463 func (s NodeRangeProperty) GoString() string { 7464 return s.String() 7465 } 7466 7467 // Validate inspects the fields of the type to determine if they are valid. 7468 func (s *NodeRangeProperty) Validate() error { 7469 invalidParams := request.ErrInvalidParams{Context: "NodeRangeProperty"} 7470 if s.TargetNodes == nil { 7471 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 7472 } 7473 if s.Container != nil { 7474 if err := s.Container.Validate(); err != nil { 7475 invalidParams.AddNested("Container", err.(request.ErrInvalidParams)) 7476 } 7477 } 7478 7479 if invalidParams.Len() > 0 { 7480 return invalidParams 7481 } 7482 return nil 7483 } 7484 7485 // SetContainer sets the Container field's value. 7486 func (s *NodeRangeProperty) SetContainer(v *ContainerProperties) *NodeRangeProperty { 7487 s.Container = v 7488 return s 7489 } 7490 7491 // SetTargetNodes sets the TargetNodes field's value. 7492 func (s *NodeRangeProperty) SetTargetNodes(v string) *NodeRangeProperty { 7493 s.TargetNodes = &v 7494 return s 7495 } 7496 7497 // Contains the parameters for RegisterJobDefinition. 7498 type RegisterJobDefinitionInput struct { 7499 _ struct{} `type:"structure"` 7500 7501 // An object with various properties specific to single-node container-based 7502 // jobs. If the job definition's type parameter is container, then you must 7503 // specify either containerProperties or nodeProperties. 7504 // 7505 // If the job runs on Fargate resources, then you must not specify nodeProperties; 7506 // use only containerProperties. 7507 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 7508 7509 // The name of the job definition to register. Up to 128 letters (uppercase 7510 // and lowercase), numbers, hyphens, and underscores are allowed. 7511 // 7512 // JobDefinitionName is a required field 7513 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 7514 7515 // An object with various properties specific to multi-node parallel jobs. If 7516 // you specify node properties for a job, it becomes a multi-node parallel job. 7517 // For more information, see Multi-node Parallel Jobs (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html) 7518 // in the Batch User Guide. If the job definition's type parameter is container, 7519 // then you must specify either containerProperties or nodeProperties. 7520 // 7521 // If the job runs on Fargate resources, then you must not specify nodeProperties; 7522 // use containerProperties instead. 7523 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 7524 7525 // Default parameter substitution placeholders to set in the job definition. 7526 // Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob 7527 // request override any corresponding parameter defaults from the job definition. 7528 Parameters map[string]*string `locationName:"parameters" type:"map"` 7529 7530 // The platform capabilities required by the job definition. If no value is 7531 // specified, it defaults to EC2. To run the job on Fargate resources, specify 7532 // FARGATE. 7533 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 7534 7535 // Specifies whether to propagate the tags from the job or job definition to 7536 // the corresponding Amazon ECS task. If no value is specified, the tags are 7537 // not propagated. Tags can only be propagated to the tasks during task creation. 7538 // For tags with the same name, job tags are given priority over job definitions 7539 // tags. If the total number of combined tags from the job and job definition 7540 // is over 50, the job is moved to the FAILED state. 7541 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 7542 7543 // The retry strategy to use for failed jobs that are submitted with this job 7544 // definition. Any retry strategy that's specified during a SubmitJob operation 7545 // overrides the retry strategy defined here. If a job is terminated due to 7546 // a timeout, it isn't retried. 7547 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 7548 7549 // The tags that you apply to the job definition to help you categorize and 7550 // organize your resources. Each tag consists of a key and an optional value. 7551 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 7552 // in Batch User Guide. 7553 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7554 7555 // The timeout configuration for jobs that are submitted with this job definition, 7556 // after which Batch terminates your jobs if they have not finished. If a job 7557 // is terminated due to a timeout, it isn't retried. The minimum value for the 7558 // timeout is 60 seconds. Any timeout configuration that's specified during 7559 // a SubmitJob operation overrides the timeout configuration defined here. For 7560 // more information, see Job Timeouts (https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html) 7561 // in the Batch User Guide. 7562 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 7563 7564 // The type of job definition. For more information about multi-node parallel 7565 // jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 7566 // in the Batch User Guide. 7567 // 7568 // If the job is run on Fargate resources, then multinode isn't supported. 7569 // 7570 // Type is a required field 7571 Type *string `locationName:"type" type:"string" required:"true" enum:"JobDefinitionType"` 7572 } 7573 7574 // String returns the string representation. 7575 // 7576 // API parameter values that are decorated as "sensitive" in the API will not 7577 // be included in the string output. The member name will be present, but the 7578 // value will be replaced with "sensitive". 7579 func (s RegisterJobDefinitionInput) String() string { 7580 return awsutil.Prettify(s) 7581 } 7582 7583 // GoString returns the string representation. 7584 // 7585 // API parameter values that are decorated as "sensitive" in the API will not 7586 // be included in the string output. The member name will be present, but the 7587 // value will be replaced with "sensitive". 7588 func (s RegisterJobDefinitionInput) GoString() string { 7589 return s.String() 7590 } 7591 7592 // Validate inspects the fields of the type to determine if they are valid. 7593 func (s *RegisterJobDefinitionInput) Validate() error { 7594 invalidParams := request.ErrInvalidParams{Context: "RegisterJobDefinitionInput"} 7595 if s.JobDefinitionName == nil { 7596 invalidParams.Add(request.NewErrParamRequired("JobDefinitionName")) 7597 } 7598 if s.Tags != nil && len(s.Tags) < 1 { 7599 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 7600 } 7601 if s.Type == nil { 7602 invalidParams.Add(request.NewErrParamRequired("Type")) 7603 } 7604 if s.ContainerProperties != nil { 7605 if err := s.ContainerProperties.Validate(); err != nil { 7606 invalidParams.AddNested("ContainerProperties", err.(request.ErrInvalidParams)) 7607 } 7608 } 7609 if s.NodeProperties != nil { 7610 if err := s.NodeProperties.Validate(); err != nil { 7611 invalidParams.AddNested("NodeProperties", err.(request.ErrInvalidParams)) 7612 } 7613 } 7614 if s.RetryStrategy != nil { 7615 if err := s.RetryStrategy.Validate(); err != nil { 7616 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 7617 } 7618 } 7619 7620 if invalidParams.Len() > 0 { 7621 return invalidParams 7622 } 7623 return nil 7624 } 7625 7626 // SetContainerProperties sets the ContainerProperties field's value. 7627 func (s *RegisterJobDefinitionInput) SetContainerProperties(v *ContainerProperties) *RegisterJobDefinitionInput { 7628 s.ContainerProperties = v 7629 return s 7630 } 7631 7632 // SetJobDefinitionName sets the JobDefinitionName field's value. 7633 func (s *RegisterJobDefinitionInput) SetJobDefinitionName(v string) *RegisterJobDefinitionInput { 7634 s.JobDefinitionName = &v 7635 return s 7636 } 7637 7638 // SetNodeProperties sets the NodeProperties field's value. 7639 func (s *RegisterJobDefinitionInput) SetNodeProperties(v *NodeProperties) *RegisterJobDefinitionInput { 7640 s.NodeProperties = v 7641 return s 7642 } 7643 7644 // SetParameters sets the Parameters field's value. 7645 func (s *RegisterJobDefinitionInput) SetParameters(v map[string]*string) *RegisterJobDefinitionInput { 7646 s.Parameters = v 7647 return s 7648 } 7649 7650 // SetPlatformCapabilities sets the PlatformCapabilities field's value. 7651 func (s *RegisterJobDefinitionInput) SetPlatformCapabilities(v []*string) *RegisterJobDefinitionInput { 7652 s.PlatformCapabilities = v 7653 return s 7654 } 7655 7656 // SetPropagateTags sets the PropagateTags field's value. 7657 func (s *RegisterJobDefinitionInput) SetPropagateTags(v bool) *RegisterJobDefinitionInput { 7658 s.PropagateTags = &v 7659 return s 7660 } 7661 7662 // SetRetryStrategy sets the RetryStrategy field's value. 7663 func (s *RegisterJobDefinitionInput) SetRetryStrategy(v *RetryStrategy) *RegisterJobDefinitionInput { 7664 s.RetryStrategy = v 7665 return s 7666 } 7667 7668 // SetTags sets the Tags field's value. 7669 func (s *RegisterJobDefinitionInput) SetTags(v map[string]*string) *RegisterJobDefinitionInput { 7670 s.Tags = v 7671 return s 7672 } 7673 7674 // SetTimeout sets the Timeout field's value. 7675 func (s *RegisterJobDefinitionInput) SetTimeout(v *JobTimeout) *RegisterJobDefinitionInput { 7676 s.Timeout = v 7677 return s 7678 } 7679 7680 // SetType sets the Type field's value. 7681 func (s *RegisterJobDefinitionInput) SetType(v string) *RegisterJobDefinitionInput { 7682 s.Type = &v 7683 return s 7684 } 7685 7686 type RegisterJobDefinitionOutput struct { 7687 _ struct{} `type:"structure"` 7688 7689 // The Amazon Resource Name (ARN) of the job definition. 7690 // 7691 // JobDefinitionArn is a required field 7692 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 7693 7694 // The name of the job definition. 7695 // 7696 // JobDefinitionName is a required field 7697 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 7698 7699 // The revision of the job definition. 7700 // 7701 // Revision is a required field 7702 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 7703 } 7704 7705 // String returns the string representation. 7706 // 7707 // API parameter values that are decorated as "sensitive" in the API will not 7708 // be included in the string output. The member name will be present, but the 7709 // value will be replaced with "sensitive". 7710 func (s RegisterJobDefinitionOutput) String() string { 7711 return awsutil.Prettify(s) 7712 } 7713 7714 // GoString returns the string representation. 7715 // 7716 // API parameter values that are decorated as "sensitive" in the API will not 7717 // be included in the string output. The member name will be present, but the 7718 // value will be replaced with "sensitive". 7719 func (s RegisterJobDefinitionOutput) GoString() string { 7720 return s.String() 7721 } 7722 7723 // SetJobDefinitionArn sets the JobDefinitionArn field's value. 7724 func (s *RegisterJobDefinitionOutput) SetJobDefinitionArn(v string) *RegisterJobDefinitionOutput { 7725 s.JobDefinitionArn = &v 7726 return s 7727 } 7728 7729 // SetJobDefinitionName sets the JobDefinitionName field's value. 7730 func (s *RegisterJobDefinitionOutput) SetJobDefinitionName(v string) *RegisterJobDefinitionOutput { 7731 s.JobDefinitionName = &v 7732 return s 7733 } 7734 7735 // SetRevision sets the Revision field's value. 7736 func (s *RegisterJobDefinitionOutput) SetRevision(v int64) *RegisterJobDefinitionOutput { 7737 s.Revision = &v 7738 return s 7739 } 7740 7741 // The type and amount of a resource to assign to a container. The supported 7742 // resources include GPU, MEMORY, and VCPU. 7743 type ResourceRequirement struct { 7744 _ struct{} `type:"structure"` 7745 7746 // The type of resource to assign to a container. The supported resources include 7747 // GPU, MEMORY, and VCPU. 7748 // 7749 // Type is a required field 7750 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 7751 7752 // The quantity of the specified resource to reserve for the container. The 7753 // values vary based on the type specified. 7754 // 7755 // type="GPU" 7756 // 7757 // The number of physical GPUs to reserve for the container. The number of GPUs 7758 // reserved for all containers in a job shouldn't exceed the number of available 7759 // GPUs on the compute resource that the job is launched on. 7760 // 7761 // GPUs are not available for jobs that are running on Fargate resources. 7762 // 7763 // type="MEMORY" 7764 // 7765 // The memory hard limit (in MiB) present to the container. This parameter is 7766 // supported for jobs that are running on EC2 resources. If your container attempts 7767 // to exceed the memory specified, the container is terminated. This parameter 7768 // maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7769 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7770 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7771 // You must specify at least 4 MiB of memory for a job. This is required but 7772 // can be specified in several places for multi-node parallel (MNP) jobs. It 7773 // must be specified for each node at least once. This parameter maps to Memory 7774 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7775 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7776 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7777 // 7778 // If you're trying to maximize your resource utilization by providing your 7779 // jobs as much memory as possible for a particular instance type, see Memory 7780 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 7781 // in the Batch User Guide. 7782 // 7783 // For jobs that are running on Fargate resources, then value is the hard limit 7784 // (in MiB), and must match one of the supported values and the VCPU values 7785 // must be one of the values supported for that memory value. 7786 // 7787 // value = 512 7788 // 7789 // VCPU = 0.25 7790 // 7791 // value = 1024 7792 // 7793 // VCPU = 0.25 or 0.5 7794 // 7795 // value = 2048 7796 // 7797 // VCPU = 0.25, 0.5, or 1 7798 // 7799 // value = 3072 7800 // 7801 // VCPU = 0.5, or 1 7802 // 7803 // value = 4096 7804 // 7805 // VCPU = 0.5, 1, or 2 7806 // 7807 // value = 5120, 6144, or 7168 7808 // 7809 // VCPU = 1 or 2 7810 // 7811 // value = 8192 7812 // 7813 // VCPU = 1, 2, or 4 7814 // 7815 // value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 7816 // 7817 // VCPU = 2 or 4 7818 // 7819 // value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 7820 // 27648, 28672, 29696, or 30720 7821 // 7822 // VCPU = 4 7823 // 7824 // type="VCPU" 7825 // 7826 // The number of vCPUs reserved for the container. This parameter maps to CpuShares 7827 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7828 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7829 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 7830 // Each vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must 7831 // specify at least one vCPU. This is required but can be specified in several 7832 // places; it must be specified for each node at least once. 7833 // 7834 // For jobs that are running on Fargate resources, then value must match one 7835 // of the supported values and the MEMORY values must be one of the values supported 7836 // for that VCPU value. The supported values are 0.25, 0.5, 1, 2, and 4 7837 // 7838 // value = 0.25 7839 // 7840 // MEMORY = 512, 1024, or 2048 7841 // 7842 // value = 0.5 7843 // 7844 // MEMORY = 1024, 2048, 3072, or 4096 7845 // 7846 // value = 1 7847 // 7848 // MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192 7849 // 7850 // value = 2 7851 // 7852 // MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 7853 // 14336, 15360, or 16384 7854 // 7855 // value = 4 7856 // 7857 // MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 7858 // 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 7859 // 29696, or 30720 7860 // 7861 // Value is a required field 7862 Value *string `locationName:"value" type:"string" required:"true"` 7863 } 7864 7865 // String returns the string representation. 7866 // 7867 // API parameter values that are decorated as "sensitive" in the API will not 7868 // be included in the string output. The member name will be present, but the 7869 // value will be replaced with "sensitive". 7870 func (s ResourceRequirement) String() string { 7871 return awsutil.Prettify(s) 7872 } 7873 7874 // GoString returns the string representation. 7875 // 7876 // API parameter values that are decorated as "sensitive" in the API will not 7877 // be included in the string output. The member name will be present, but the 7878 // value will be replaced with "sensitive". 7879 func (s ResourceRequirement) GoString() string { 7880 return s.String() 7881 } 7882 7883 // Validate inspects the fields of the type to determine if they are valid. 7884 func (s *ResourceRequirement) Validate() error { 7885 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 7886 if s.Type == nil { 7887 invalidParams.Add(request.NewErrParamRequired("Type")) 7888 } 7889 if s.Value == nil { 7890 invalidParams.Add(request.NewErrParamRequired("Value")) 7891 } 7892 7893 if invalidParams.Len() > 0 { 7894 return invalidParams 7895 } 7896 return nil 7897 } 7898 7899 // SetType sets the Type field's value. 7900 func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 7901 s.Type = &v 7902 return s 7903 } 7904 7905 // SetValue sets the Value field's value. 7906 func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 7907 s.Value = &v 7908 return s 7909 } 7910 7911 // The retry strategy associated with a job. For more information, see Automated 7912 // job retries (https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) 7913 // in the Batch User Guide. 7914 type RetryStrategy struct { 7915 _ struct{} `type:"structure"` 7916 7917 // The number of times to move a job to the RUNNABLE status. You can specify 7918 // between 1 and 10 attempts. If the value of attempts is greater than one, 7919 // the job is retried on failure the same number of attempts as the value. 7920 Attempts *int64 `locationName:"attempts" type:"integer"` 7921 7922 // Array of up to 5 objects that specify conditions under which the job should 7923 // be retried or failed. If this parameter is specified, then the attempts parameter 7924 // must also be specified. 7925 EvaluateOnExit []*EvaluateOnExit `locationName:"evaluateOnExit" type:"list"` 7926 } 7927 7928 // String returns the string representation. 7929 // 7930 // API parameter values that are decorated as "sensitive" in the API will not 7931 // be included in the string output. The member name will be present, but the 7932 // value will be replaced with "sensitive". 7933 func (s RetryStrategy) String() string { 7934 return awsutil.Prettify(s) 7935 } 7936 7937 // GoString returns the string representation. 7938 // 7939 // API parameter values that are decorated as "sensitive" in the API will not 7940 // be included in the string output. The member name will be present, but the 7941 // value will be replaced with "sensitive". 7942 func (s RetryStrategy) GoString() string { 7943 return s.String() 7944 } 7945 7946 // Validate inspects the fields of the type to determine if they are valid. 7947 func (s *RetryStrategy) Validate() error { 7948 invalidParams := request.ErrInvalidParams{Context: "RetryStrategy"} 7949 if s.EvaluateOnExit != nil { 7950 for i, v := range s.EvaluateOnExit { 7951 if v == nil { 7952 continue 7953 } 7954 if err := v.Validate(); err != nil { 7955 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EvaluateOnExit", i), err.(request.ErrInvalidParams)) 7956 } 7957 } 7958 } 7959 7960 if invalidParams.Len() > 0 { 7961 return invalidParams 7962 } 7963 return nil 7964 } 7965 7966 // SetAttempts sets the Attempts field's value. 7967 func (s *RetryStrategy) SetAttempts(v int64) *RetryStrategy { 7968 s.Attempts = &v 7969 return s 7970 } 7971 7972 // SetEvaluateOnExit sets the EvaluateOnExit field's value. 7973 func (s *RetryStrategy) SetEvaluateOnExit(v []*EvaluateOnExit) *RetryStrategy { 7974 s.EvaluateOnExit = v 7975 return s 7976 } 7977 7978 // An object representing the secret to expose to your container. Secrets can 7979 // be exposed to a container in the following ways: 7980 // 7981 // * To inject sensitive data into your containers as environment variables, 7982 // use the secrets container definition parameter. 7983 // 7984 // * To reference sensitive information in the log configuration of a container, 7985 // use the secretOptions container definition parameter. 7986 // 7987 // For more information, see Specifying sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 7988 // in the Batch User Guide. 7989 type Secret struct { 7990 _ struct{} `type:"structure"` 7991 7992 // The name of the secret. 7993 // 7994 // Name is a required field 7995 Name *string `locationName:"name" type:"string" required:"true"` 7996 7997 // The secret to expose to the container. The supported values are either the 7998 // full ARN of the Secrets Manager secret or the full ARN of the parameter in 7999 // the Amazon Web Services Systems Manager Parameter Store. 8000 // 8001 // If the Amazon Web Services Systems Manager Parameter Store parameter exists 8002 // in the same Region as the job you're launching, then you can use either the 8003 // full ARN or name of the parameter. If the parameter exists in a different 8004 // Region, then the full ARN must be specified. 8005 // 8006 // ValueFrom is a required field 8007 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 8008 } 8009 8010 // String returns the string representation. 8011 // 8012 // API parameter values that are decorated as "sensitive" in the API will not 8013 // be included in the string output. The member name will be present, but the 8014 // value will be replaced with "sensitive". 8015 func (s Secret) String() string { 8016 return awsutil.Prettify(s) 8017 } 8018 8019 // GoString returns the string representation. 8020 // 8021 // API parameter values that are decorated as "sensitive" in the API will not 8022 // be included in the string output. The member name will be present, but the 8023 // value will be replaced with "sensitive". 8024 func (s Secret) GoString() string { 8025 return s.String() 8026 } 8027 8028 // Validate inspects the fields of the type to determine if they are valid. 8029 func (s *Secret) Validate() error { 8030 invalidParams := request.ErrInvalidParams{Context: "Secret"} 8031 if s.Name == nil { 8032 invalidParams.Add(request.NewErrParamRequired("Name")) 8033 } 8034 if s.ValueFrom == nil { 8035 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 8036 } 8037 8038 if invalidParams.Len() > 0 { 8039 return invalidParams 8040 } 8041 return nil 8042 } 8043 8044 // SetName sets the Name field's value. 8045 func (s *Secret) SetName(v string) *Secret { 8046 s.Name = &v 8047 return s 8048 } 8049 8050 // SetValueFrom sets the ValueFrom field's value. 8051 func (s *Secret) SetValueFrom(v string) *Secret { 8052 s.ValueFrom = &v 8053 return s 8054 } 8055 8056 // These errors are usually caused by a server issue. 8057 type ServerException struct { 8058 _ struct{} `type:"structure"` 8059 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8060 8061 Message_ *string `locationName:"message" type:"string"` 8062 } 8063 8064 // String returns the string representation. 8065 // 8066 // API parameter values that are decorated as "sensitive" in the API will not 8067 // be included in the string output. The member name will be present, but the 8068 // value will be replaced with "sensitive". 8069 func (s ServerException) String() string { 8070 return awsutil.Prettify(s) 8071 } 8072 8073 // GoString returns the string representation. 8074 // 8075 // API parameter values that are decorated as "sensitive" in the API will not 8076 // be included in the string output. The member name will be present, but the 8077 // value will be replaced with "sensitive". 8078 func (s ServerException) GoString() string { 8079 return s.String() 8080 } 8081 8082 func newErrorServerException(v protocol.ResponseMetadata) error { 8083 return &ServerException{ 8084 RespMetadata: v, 8085 } 8086 } 8087 8088 // Code returns the exception type name. 8089 func (s *ServerException) Code() string { 8090 return "ServerException" 8091 } 8092 8093 // Message returns the exception's message. 8094 func (s *ServerException) Message() string { 8095 if s.Message_ != nil { 8096 return *s.Message_ 8097 } 8098 return "" 8099 } 8100 8101 // OrigErr always returns nil, satisfies awserr.Error interface. 8102 func (s *ServerException) OrigErr() error { 8103 return nil 8104 } 8105 8106 func (s *ServerException) Error() string { 8107 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8108 } 8109 8110 // Status code returns the HTTP status code for the request's response error. 8111 func (s *ServerException) StatusCode() int { 8112 return s.RespMetadata.StatusCode 8113 } 8114 8115 // RequestID returns the service's response RequestID for request. 8116 func (s *ServerException) RequestID() string { 8117 return s.RespMetadata.RequestID 8118 } 8119 8120 // Contains the parameters for SubmitJob. 8121 type SubmitJobInput struct { 8122 _ struct{} `type:"structure"` 8123 8124 // The array properties for the submitted job, such as the size of the array. 8125 // The array size can be between 2 and 10,000. If you specify array properties 8126 // for a job, it becomes an array job. For more information, see Array Jobs 8127 // (https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html) in the 8128 // Batch User Guide. 8129 ArrayProperties *ArrayProperties `locationName:"arrayProperties" type:"structure"` 8130 8131 // A list of container overrides in the JSON format that specify the name of 8132 // a container in the specified job definition and the overrides it should receive. 8133 // You can override the default command for a container, which is specified 8134 // in the job definition or the Docker image, with a command override. You can 8135 // also override existing environment variables on a container or add new environment 8136 // variables to it with an environment override. 8137 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 8138 8139 // A list of dependencies for the job. A job can depend upon a maximum of 20 8140 // jobs. You can specify a SEQUENTIAL type dependency without specifying a job 8141 // ID for array jobs so that each child array job completes sequentially, starting 8142 // at index 0. You can also specify an N_TO_N type dependency with a job ID 8143 // for array jobs. In that case, each index child of this job must wait for 8144 // the corresponding index child of each dependency to complete before it can 8145 // begin. 8146 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 8147 8148 // The job definition used by this job. This value can be one of name, name:revision, 8149 // or the Amazon Resource Name (ARN) for the job definition. If name is specified 8150 // without a revision then the latest active revision is used. 8151 // 8152 // JobDefinition is a required field 8153 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 8154 8155 // The name of the job. The first character must be alphanumeric, and up to 8156 // 128 letters (uppercase and lowercase), numbers, hyphens, and underscores 8157 // are allowed. 8158 // 8159 // JobName is a required field 8160 JobName *string `locationName:"jobName" type:"string" required:"true"` 8161 8162 // The job queue where the job is submitted. You can specify either the name 8163 // or the Amazon Resource Name (ARN) of the queue. 8164 // 8165 // JobQueue is a required field 8166 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 8167 8168 // A list of node overrides in JSON format that specify the node range to target 8169 // and the container overrides for that node range. 8170 // 8171 // This parameter isn't applicable to jobs that are running on Fargate resources; 8172 // use containerOverrides instead. 8173 NodeOverrides *NodeOverrides `locationName:"nodeOverrides" type:"structure"` 8174 8175 // Additional parameters passed to the job that replace parameter substitution 8176 // placeholders that are set in the job definition. Parameters are specified 8177 // as a key and value pair mapping. Parameters in a SubmitJob request override 8178 // any corresponding parameter defaults from the job definition. 8179 Parameters map[string]*string `locationName:"parameters" type:"map"` 8180 8181 // Specifies whether to propagate the tags from the job or job definition to 8182 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 8183 // propagated. Tags can only be propagated to the tasks during task creation. 8184 // For tags with the same name, job tags are given priority over job definitions 8185 // tags. If the total number of combined tags from the job and job definition 8186 // is over 50, the job is moved to the FAILED state. When specified, this overrides 8187 // the tag propagation setting in the job definition. 8188 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 8189 8190 // The retry strategy to use for failed jobs from this SubmitJob operation. 8191 // When a retry strategy is specified here, it overrides the retry strategy 8192 // defined in the job definition. 8193 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 8194 8195 // The tags that you apply to the job request to help you categorize and organize 8196 // your resources. Each tag consists of a key and an optional value. For more 8197 // information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 8198 // in Amazon Web Services General Reference. 8199 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 8200 8201 // The timeout configuration for this SubmitJob operation. You can specify a 8202 // timeout duration after which Batch terminates your jobs if they haven't finished. 8203 // If a job is terminated due to a timeout, it isn't retried. The minimum value 8204 // for the timeout is 60 seconds. This configuration overrides any timeout configuration 8205 // specified in the job definition. For array jobs, child jobs have the same 8206 // timeout configuration as the parent job. For more information, see Job Timeouts 8207 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html) 8208 // in the Amazon Elastic Container Service Developer Guide. 8209 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 8210 } 8211 8212 // String returns the string representation. 8213 // 8214 // API parameter values that are decorated as "sensitive" in the API will not 8215 // be included in the string output. The member name will be present, but the 8216 // value will be replaced with "sensitive". 8217 func (s SubmitJobInput) String() string { 8218 return awsutil.Prettify(s) 8219 } 8220 8221 // GoString returns the string representation. 8222 // 8223 // API parameter values that are decorated as "sensitive" in the API will not 8224 // be included in the string output. The member name will be present, but the 8225 // value will be replaced with "sensitive". 8226 func (s SubmitJobInput) GoString() string { 8227 return s.String() 8228 } 8229 8230 // Validate inspects the fields of the type to determine if they are valid. 8231 func (s *SubmitJobInput) Validate() error { 8232 invalidParams := request.ErrInvalidParams{Context: "SubmitJobInput"} 8233 if s.JobDefinition == nil { 8234 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 8235 } 8236 if s.JobName == nil { 8237 invalidParams.Add(request.NewErrParamRequired("JobName")) 8238 } 8239 if s.JobQueue == nil { 8240 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 8241 } 8242 if s.Tags != nil && len(s.Tags) < 1 { 8243 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8244 } 8245 if s.ContainerOverrides != nil { 8246 if err := s.ContainerOverrides.Validate(); err != nil { 8247 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 8248 } 8249 } 8250 if s.NodeOverrides != nil { 8251 if err := s.NodeOverrides.Validate(); err != nil { 8252 invalidParams.AddNested("NodeOverrides", err.(request.ErrInvalidParams)) 8253 } 8254 } 8255 if s.RetryStrategy != nil { 8256 if err := s.RetryStrategy.Validate(); err != nil { 8257 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 8258 } 8259 } 8260 8261 if invalidParams.Len() > 0 { 8262 return invalidParams 8263 } 8264 return nil 8265 } 8266 8267 // SetArrayProperties sets the ArrayProperties field's value. 8268 func (s *SubmitJobInput) SetArrayProperties(v *ArrayProperties) *SubmitJobInput { 8269 s.ArrayProperties = v 8270 return s 8271 } 8272 8273 // SetContainerOverrides sets the ContainerOverrides field's value. 8274 func (s *SubmitJobInput) SetContainerOverrides(v *ContainerOverrides) *SubmitJobInput { 8275 s.ContainerOverrides = v 8276 return s 8277 } 8278 8279 // SetDependsOn sets the DependsOn field's value. 8280 func (s *SubmitJobInput) SetDependsOn(v []*JobDependency) *SubmitJobInput { 8281 s.DependsOn = v 8282 return s 8283 } 8284 8285 // SetJobDefinition sets the JobDefinition field's value. 8286 func (s *SubmitJobInput) SetJobDefinition(v string) *SubmitJobInput { 8287 s.JobDefinition = &v 8288 return s 8289 } 8290 8291 // SetJobName sets the JobName field's value. 8292 func (s *SubmitJobInput) SetJobName(v string) *SubmitJobInput { 8293 s.JobName = &v 8294 return s 8295 } 8296 8297 // SetJobQueue sets the JobQueue field's value. 8298 func (s *SubmitJobInput) SetJobQueue(v string) *SubmitJobInput { 8299 s.JobQueue = &v 8300 return s 8301 } 8302 8303 // SetNodeOverrides sets the NodeOverrides field's value. 8304 func (s *SubmitJobInput) SetNodeOverrides(v *NodeOverrides) *SubmitJobInput { 8305 s.NodeOverrides = v 8306 return s 8307 } 8308 8309 // SetParameters sets the Parameters field's value. 8310 func (s *SubmitJobInput) SetParameters(v map[string]*string) *SubmitJobInput { 8311 s.Parameters = v 8312 return s 8313 } 8314 8315 // SetPropagateTags sets the PropagateTags field's value. 8316 func (s *SubmitJobInput) SetPropagateTags(v bool) *SubmitJobInput { 8317 s.PropagateTags = &v 8318 return s 8319 } 8320 8321 // SetRetryStrategy sets the RetryStrategy field's value. 8322 func (s *SubmitJobInput) SetRetryStrategy(v *RetryStrategy) *SubmitJobInput { 8323 s.RetryStrategy = v 8324 return s 8325 } 8326 8327 // SetTags sets the Tags field's value. 8328 func (s *SubmitJobInput) SetTags(v map[string]*string) *SubmitJobInput { 8329 s.Tags = v 8330 return s 8331 } 8332 8333 // SetTimeout sets the Timeout field's value. 8334 func (s *SubmitJobInput) SetTimeout(v *JobTimeout) *SubmitJobInput { 8335 s.Timeout = v 8336 return s 8337 } 8338 8339 type SubmitJobOutput struct { 8340 _ struct{} `type:"structure"` 8341 8342 // The Amazon Resource Name (ARN) for the job. 8343 JobArn *string `locationName:"jobArn" type:"string"` 8344 8345 // The unique identifier for the job. 8346 // 8347 // JobId is a required field 8348 JobId *string `locationName:"jobId" type:"string" required:"true"` 8349 8350 // The name of the job. 8351 // 8352 // JobName is a required field 8353 JobName *string `locationName:"jobName" type:"string" required:"true"` 8354 } 8355 8356 // String returns the string representation. 8357 // 8358 // API parameter values that are decorated as "sensitive" in the API will not 8359 // be included in the string output. The member name will be present, but the 8360 // value will be replaced with "sensitive". 8361 func (s SubmitJobOutput) String() string { 8362 return awsutil.Prettify(s) 8363 } 8364 8365 // GoString returns the string representation. 8366 // 8367 // API parameter values that are decorated as "sensitive" in the API will not 8368 // be included in the string output. The member name will be present, but the 8369 // value will be replaced with "sensitive". 8370 func (s SubmitJobOutput) GoString() string { 8371 return s.String() 8372 } 8373 8374 // SetJobArn sets the JobArn field's value. 8375 func (s *SubmitJobOutput) SetJobArn(v string) *SubmitJobOutput { 8376 s.JobArn = &v 8377 return s 8378 } 8379 8380 // SetJobId sets the JobId field's value. 8381 func (s *SubmitJobOutput) SetJobId(v string) *SubmitJobOutput { 8382 s.JobId = &v 8383 return s 8384 } 8385 8386 // SetJobName sets the JobName field's value. 8387 func (s *SubmitJobOutput) SetJobName(v string) *SubmitJobOutput { 8388 s.JobName = &v 8389 return s 8390 } 8391 8392 type TagResourceInput struct { 8393 _ struct{} `type:"structure"` 8394 8395 // The Amazon Resource Name (ARN) of the resource that tags are added to. Batch 8396 // resources that support tags are compute environments, jobs, job definitions, 8397 // and job queues. ARNs for child jobs of array and multi-node parallel (MNP) 8398 // jobs are not supported. 8399 // 8400 // ResourceArn is a required field 8401 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8402 8403 // The tags that you apply to the resource to help you categorize and organize 8404 // your resources. Each tag consists of a key and an optional value. For more 8405 // information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 8406 // in Amazon Web Services General Reference. 8407 // 8408 // Tags is a required field 8409 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 8410 } 8411 8412 // String returns the string representation. 8413 // 8414 // API parameter values that are decorated as "sensitive" in the API will not 8415 // be included in the string output. The member name will be present, but the 8416 // value will be replaced with "sensitive". 8417 func (s TagResourceInput) String() string { 8418 return awsutil.Prettify(s) 8419 } 8420 8421 // GoString returns the string representation. 8422 // 8423 // API parameter values that are decorated as "sensitive" in the API will not 8424 // be included in the string output. The member name will be present, but the 8425 // value will be replaced with "sensitive". 8426 func (s TagResourceInput) GoString() string { 8427 return s.String() 8428 } 8429 8430 // Validate inspects the fields of the type to determine if they are valid. 8431 func (s *TagResourceInput) Validate() error { 8432 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 8433 if s.ResourceArn == nil { 8434 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8435 } 8436 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8437 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8438 } 8439 if s.Tags == nil { 8440 invalidParams.Add(request.NewErrParamRequired("Tags")) 8441 } 8442 if s.Tags != nil && len(s.Tags) < 1 { 8443 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8444 } 8445 8446 if invalidParams.Len() > 0 { 8447 return invalidParams 8448 } 8449 return nil 8450 } 8451 8452 // SetResourceArn sets the ResourceArn field's value. 8453 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 8454 s.ResourceArn = &v 8455 return s 8456 } 8457 8458 // SetTags sets the Tags field's value. 8459 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 8460 s.Tags = v 8461 return s 8462 } 8463 8464 type TagResourceOutput struct { 8465 _ struct{} `type:"structure" nopayload:"true"` 8466 } 8467 8468 // String returns the string representation. 8469 // 8470 // API parameter values that are decorated as "sensitive" in the API will not 8471 // be included in the string output. The member name will be present, but the 8472 // value will be replaced with "sensitive". 8473 func (s TagResourceOutput) String() string { 8474 return awsutil.Prettify(s) 8475 } 8476 8477 // GoString returns the string representation. 8478 // 8479 // API parameter values that are decorated as "sensitive" in the API will not 8480 // be included in the string output. The member name will be present, but the 8481 // value will be replaced with "sensitive". 8482 func (s TagResourceOutput) GoString() string { 8483 return s.String() 8484 } 8485 8486 // Contains the parameters for TerminateJob. 8487 type TerminateJobInput struct { 8488 _ struct{} `type:"structure"` 8489 8490 // The Batch job ID of the job to terminate. 8491 // 8492 // JobId is a required field 8493 JobId *string `locationName:"jobId" type:"string" required:"true"` 8494 8495 // A message to attach to the job that explains the reason for canceling it. 8496 // This message is returned by future DescribeJobs operations on the job. This 8497 // message is also recorded in the Batch activity logs. 8498 // 8499 // Reason is a required field 8500 Reason *string `locationName:"reason" type:"string" required:"true"` 8501 } 8502 8503 // String returns the string representation. 8504 // 8505 // API parameter values that are decorated as "sensitive" in the API will not 8506 // be included in the string output. The member name will be present, but the 8507 // value will be replaced with "sensitive". 8508 func (s TerminateJobInput) String() string { 8509 return awsutil.Prettify(s) 8510 } 8511 8512 // GoString returns the string representation. 8513 // 8514 // API parameter values that are decorated as "sensitive" in the API will not 8515 // be included in the string output. The member name will be present, but the 8516 // value will be replaced with "sensitive". 8517 func (s TerminateJobInput) GoString() string { 8518 return s.String() 8519 } 8520 8521 // Validate inspects the fields of the type to determine if they are valid. 8522 func (s *TerminateJobInput) Validate() error { 8523 invalidParams := request.ErrInvalidParams{Context: "TerminateJobInput"} 8524 if s.JobId == nil { 8525 invalidParams.Add(request.NewErrParamRequired("JobId")) 8526 } 8527 if s.Reason == nil { 8528 invalidParams.Add(request.NewErrParamRequired("Reason")) 8529 } 8530 8531 if invalidParams.Len() > 0 { 8532 return invalidParams 8533 } 8534 return nil 8535 } 8536 8537 // SetJobId sets the JobId field's value. 8538 func (s *TerminateJobInput) SetJobId(v string) *TerminateJobInput { 8539 s.JobId = &v 8540 return s 8541 } 8542 8543 // SetReason sets the Reason field's value. 8544 func (s *TerminateJobInput) SetReason(v string) *TerminateJobInput { 8545 s.Reason = &v 8546 return s 8547 } 8548 8549 type TerminateJobOutput struct { 8550 _ struct{} `type:"structure" nopayload:"true"` 8551 } 8552 8553 // String returns the string representation. 8554 // 8555 // API parameter values that are decorated as "sensitive" in the API will not 8556 // be included in the string output. The member name will be present, but the 8557 // value will be replaced with "sensitive". 8558 func (s TerminateJobOutput) String() string { 8559 return awsutil.Prettify(s) 8560 } 8561 8562 // GoString returns the string representation. 8563 // 8564 // API parameter values that are decorated as "sensitive" in the API will not 8565 // be included in the string output. The member name will be present, but the 8566 // value will be replaced with "sensitive". 8567 func (s TerminateJobOutput) GoString() string { 8568 return s.String() 8569 } 8570 8571 // The container path, mount options, and size of the tmpfs mount. 8572 // 8573 // This object isn't applicable to jobs that are running on Fargate resources. 8574 type Tmpfs struct { 8575 _ struct{} `type:"structure"` 8576 8577 // The absolute file path in the container where the tmpfs volume is mounted. 8578 // 8579 // ContainerPath is a required field 8580 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 8581 8582 // The list of tmpfs volume mount options. 8583 // 8584 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 8585 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 8586 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 8587 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 8588 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 8589 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 8590 MountOptions []*string `locationName:"mountOptions" type:"list"` 8591 8592 // The size (in MiB) of the tmpfs volume. 8593 // 8594 // Size is a required field 8595 Size *int64 `locationName:"size" type:"integer" required:"true"` 8596 } 8597 8598 // String returns the string representation. 8599 // 8600 // API parameter values that are decorated as "sensitive" in the API will not 8601 // be included in the string output. The member name will be present, but the 8602 // value will be replaced with "sensitive". 8603 func (s Tmpfs) String() string { 8604 return awsutil.Prettify(s) 8605 } 8606 8607 // GoString returns the string representation. 8608 // 8609 // API parameter values that are decorated as "sensitive" in the API will not 8610 // be included in the string output. The member name will be present, but the 8611 // value will be replaced with "sensitive". 8612 func (s Tmpfs) GoString() string { 8613 return s.String() 8614 } 8615 8616 // Validate inspects the fields of the type to determine if they are valid. 8617 func (s *Tmpfs) Validate() error { 8618 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 8619 if s.ContainerPath == nil { 8620 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 8621 } 8622 if s.Size == nil { 8623 invalidParams.Add(request.NewErrParamRequired("Size")) 8624 } 8625 8626 if invalidParams.Len() > 0 { 8627 return invalidParams 8628 } 8629 return nil 8630 } 8631 8632 // SetContainerPath sets the ContainerPath field's value. 8633 func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 8634 s.ContainerPath = &v 8635 return s 8636 } 8637 8638 // SetMountOptions sets the MountOptions field's value. 8639 func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 8640 s.MountOptions = v 8641 return s 8642 } 8643 8644 // SetSize sets the Size field's value. 8645 func (s *Tmpfs) SetSize(v int64) *Tmpfs { 8646 s.Size = &v 8647 return s 8648 } 8649 8650 // The ulimit settings to pass to the container. 8651 // 8652 // This object isn't applicable to jobs that are running on Fargate resources. 8653 type Ulimit struct { 8654 _ struct{} `type:"structure"` 8655 8656 // The hard limit for the ulimit type. 8657 // 8658 // HardLimit is a required field 8659 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 8660 8661 // The type of the ulimit. 8662 // 8663 // Name is a required field 8664 Name *string `locationName:"name" type:"string" required:"true"` 8665 8666 // The soft limit for the ulimit type. 8667 // 8668 // SoftLimit is a required field 8669 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 8670 } 8671 8672 // String returns the string representation. 8673 // 8674 // API parameter values that are decorated as "sensitive" in the API will not 8675 // be included in the string output. The member name will be present, but the 8676 // value will be replaced with "sensitive". 8677 func (s Ulimit) String() string { 8678 return awsutil.Prettify(s) 8679 } 8680 8681 // GoString returns the string representation. 8682 // 8683 // API parameter values that are decorated as "sensitive" in the API will not 8684 // be included in the string output. The member name will be present, but the 8685 // value will be replaced with "sensitive". 8686 func (s Ulimit) GoString() string { 8687 return s.String() 8688 } 8689 8690 // Validate inspects the fields of the type to determine if they are valid. 8691 func (s *Ulimit) Validate() error { 8692 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 8693 if s.HardLimit == nil { 8694 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 8695 } 8696 if s.Name == nil { 8697 invalidParams.Add(request.NewErrParamRequired("Name")) 8698 } 8699 if s.SoftLimit == nil { 8700 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 8701 } 8702 8703 if invalidParams.Len() > 0 { 8704 return invalidParams 8705 } 8706 return nil 8707 } 8708 8709 // SetHardLimit sets the HardLimit field's value. 8710 func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 8711 s.HardLimit = &v 8712 return s 8713 } 8714 8715 // SetName sets the Name field's value. 8716 func (s *Ulimit) SetName(v string) *Ulimit { 8717 s.Name = &v 8718 return s 8719 } 8720 8721 // SetSoftLimit sets the SoftLimit field's value. 8722 func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 8723 s.SoftLimit = &v 8724 return s 8725 } 8726 8727 type UntagResourceInput struct { 8728 _ struct{} `type:"structure" nopayload:"true"` 8729 8730 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 8731 // Batch resources that support tags are compute environments, jobs, job definitions, 8732 // and job queues. ARNs for child jobs of array and multi-node parallel (MNP) 8733 // jobs are not supported. 8734 // 8735 // ResourceArn is a required field 8736 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8737 8738 // The keys of the tags to be removed. 8739 // 8740 // TagKeys is a required field 8741 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 8742 } 8743 8744 // String returns the string representation. 8745 // 8746 // API parameter values that are decorated as "sensitive" in the API will not 8747 // be included in the string output. The member name will be present, but the 8748 // value will be replaced with "sensitive". 8749 func (s UntagResourceInput) String() string { 8750 return awsutil.Prettify(s) 8751 } 8752 8753 // GoString returns the string representation. 8754 // 8755 // API parameter values that are decorated as "sensitive" in the API will not 8756 // be included in the string output. The member name will be present, but the 8757 // value will be replaced with "sensitive". 8758 func (s UntagResourceInput) GoString() string { 8759 return s.String() 8760 } 8761 8762 // Validate inspects the fields of the type to determine if they are valid. 8763 func (s *UntagResourceInput) Validate() error { 8764 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 8765 if s.ResourceArn == nil { 8766 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8767 } 8768 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8769 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8770 } 8771 if s.TagKeys == nil { 8772 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 8773 } 8774 if s.TagKeys != nil && len(s.TagKeys) < 1 { 8775 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 8776 } 8777 8778 if invalidParams.Len() > 0 { 8779 return invalidParams 8780 } 8781 return nil 8782 } 8783 8784 // SetResourceArn sets the ResourceArn field's value. 8785 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 8786 s.ResourceArn = &v 8787 return s 8788 } 8789 8790 // SetTagKeys sets the TagKeys field's value. 8791 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 8792 s.TagKeys = v 8793 return s 8794 } 8795 8796 type UntagResourceOutput struct { 8797 _ struct{} `type:"structure" nopayload:"true"` 8798 } 8799 8800 // String returns the string representation. 8801 // 8802 // API parameter values that are decorated as "sensitive" in the API will not 8803 // be included in the string output. The member name will be present, but the 8804 // value will be replaced with "sensitive". 8805 func (s UntagResourceOutput) String() string { 8806 return awsutil.Prettify(s) 8807 } 8808 8809 // GoString returns the string representation. 8810 // 8811 // API parameter values that are decorated as "sensitive" in the API will not 8812 // be included in the string output. The member name will be present, but the 8813 // value will be replaced with "sensitive". 8814 func (s UntagResourceOutput) GoString() string { 8815 return s.String() 8816 } 8817 8818 // Contains the parameters for UpdateComputeEnvironment. 8819 type UpdateComputeEnvironmentInput struct { 8820 _ struct{} `type:"structure"` 8821 8822 // The name or full Amazon Resource Name (ARN) of the compute environment to 8823 // update. 8824 // 8825 // ComputeEnvironment is a required field 8826 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 8827 8828 // Details of the compute resources managed by the compute environment. Required 8829 // for a managed compute environment. For more information, see Compute Environments 8830 // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 8831 // in the Batch User Guide. 8832 ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"` 8833 8834 // The full Amazon Resource Name (ARN) of the IAM role that allows Batch to 8835 // make calls to other Amazon Web Services services on your behalf. For more 8836 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 8837 // in the Batch User Guide. 8838 // 8839 // If the compute environment has a service-linked role, it can't be changed 8840 // to use a regular IAM role. Likewise, if the compute environment has a regular 8841 // IAM role, it can't be changed to use a service-linked role. 8842 // 8843 // If your specified role has a path other than /, then you must either specify 8844 // the full role ARN (this is recommended) or prefix the role name with the 8845 // path. 8846 // 8847 // Depending on how you created your Batch service role, its ARN might contain 8848 // the service-role path prefix. When you only specify the name of the service 8849 // role, Batch assumes that your ARN doesn't use the service-role path prefix. 8850 // Because of this, we recommend that you specify the full ARN of your service 8851 // role when you create compute environments. 8852 ServiceRole *string `locationName:"serviceRole" type:"string"` 8853 8854 // The state of the compute environment. Compute environments in the ENABLED 8855 // state can accept jobs from a queue and scale in or out automatically based 8856 // on the workload demand of its associated queues. 8857 // 8858 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 8859 // from an associated job queue on the compute resources within the environment. 8860 // If the compute environment is managed, then it can scale its instances out 8861 // or in automatically, based on the job queue demand. 8862 // 8863 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 8864 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 8865 // to progress normally. Managed compute environments in the DISABLED state 8866 // don't scale out. However, they scale in to minvCpus value after instances 8867 // become idle. 8868 State *string `locationName:"state" type:"string" enum:"CEState"` 8869 } 8870 8871 // String returns the string representation. 8872 // 8873 // API parameter values that are decorated as "sensitive" in the API will not 8874 // be included in the string output. The member name will be present, but the 8875 // value will be replaced with "sensitive". 8876 func (s UpdateComputeEnvironmentInput) String() string { 8877 return awsutil.Prettify(s) 8878 } 8879 8880 // GoString returns the string representation. 8881 // 8882 // API parameter values that are decorated as "sensitive" in the API will not 8883 // be included in the string output. The member name will be present, but the 8884 // value will be replaced with "sensitive". 8885 func (s UpdateComputeEnvironmentInput) GoString() string { 8886 return s.String() 8887 } 8888 8889 // Validate inspects the fields of the type to determine if they are valid. 8890 func (s *UpdateComputeEnvironmentInput) Validate() error { 8891 invalidParams := request.ErrInvalidParams{Context: "UpdateComputeEnvironmentInput"} 8892 if s.ComputeEnvironment == nil { 8893 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 8894 } 8895 8896 if invalidParams.Len() > 0 { 8897 return invalidParams 8898 } 8899 return nil 8900 } 8901 8902 // SetComputeEnvironment sets the ComputeEnvironment field's value. 8903 func (s *UpdateComputeEnvironmentInput) SetComputeEnvironment(v string) *UpdateComputeEnvironmentInput { 8904 s.ComputeEnvironment = &v 8905 return s 8906 } 8907 8908 // SetComputeResources sets the ComputeResources field's value. 8909 func (s *UpdateComputeEnvironmentInput) SetComputeResources(v *ComputeResourceUpdate) *UpdateComputeEnvironmentInput { 8910 s.ComputeResources = v 8911 return s 8912 } 8913 8914 // SetServiceRole sets the ServiceRole field's value. 8915 func (s *UpdateComputeEnvironmentInput) SetServiceRole(v string) *UpdateComputeEnvironmentInput { 8916 s.ServiceRole = &v 8917 return s 8918 } 8919 8920 // SetState sets the State field's value. 8921 func (s *UpdateComputeEnvironmentInput) SetState(v string) *UpdateComputeEnvironmentInput { 8922 s.State = &v 8923 return s 8924 } 8925 8926 type UpdateComputeEnvironmentOutput struct { 8927 _ struct{} `type:"structure"` 8928 8929 // The Amazon Resource Name (ARN) of the compute environment. 8930 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 8931 8932 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 8933 // numbers, hyphens, and underscores are allowed. 8934 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 8935 } 8936 8937 // String returns the string representation. 8938 // 8939 // API parameter values that are decorated as "sensitive" in the API will not 8940 // be included in the string output. The member name will be present, but the 8941 // value will be replaced with "sensitive". 8942 func (s UpdateComputeEnvironmentOutput) String() string { 8943 return awsutil.Prettify(s) 8944 } 8945 8946 // GoString returns the string representation. 8947 // 8948 // API parameter values that are decorated as "sensitive" in the API will not 8949 // be included in the string output. The member name will be present, but the 8950 // value will be replaced with "sensitive". 8951 func (s UpdateComputeEnvironmentOutput) GoString() string { 8952 return s.String() 8953 } 8954 8955 // SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 8956 func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *UpdateComputeEnvironmentOutput { 8957 s.ComputeEnvironmentArn = &v 8958 return s 8959 } 8960 8961 // SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 8962 func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *UpdateComputeEnvironmentOutput { 8963 s.ComputeEnvironmentName = &v 8964 return s 8965 } 8966 8967 // Contains the parameters for UpdateJobQueue. 8968 type UpdateJobQueueInput struct { 8969 _ struct{} `type:"structure"` 8970 8971 // Details the set of compute environments mapped to a job queue and their order 8972 // relative to each other. This is one of the parameters used by the job scheduler 8973 // to determine which compute environment should run a given job. Compute environments 8974 // must be in the VALID state before you can associate them with a job queue. 8975 // All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate 8976 // (FARGATE or FARGATE_SPOT). EC2 and Fargate compute environments can't be 8977 // mixed. 8978 // 8979 // All compute environments that are associated with a job queue must share 8980 // the same architecture. Batch doesn't support mixing compute environment architecture 8981 // types in a single job queue. 8982 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list"` 8983 8984 // The name or the Amazon Resource Name (ARN) of the job queue. 8985 // 8986 // JobQueue is a required field 8987 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 8988 8989 // The priority of the job queue. Job queues with a higher priority (or a higher 8990 // integer value for the priority parameter) are evaluated first when associated 8991 // with the same compute environment. Priority is determined in descending order, 8992 // for example, a job queue with a priority value of 10 is given scheduling 8993 // preference over a job queue with a priority value of 1. All of the compute 8994 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT). 8995 // EC2 and Fargate compute environments can't be mixed. 8996 Priority *int64 `locationName:"priority" type:"integer"` 8997 8998 // Describes the queue's ability to accept new jobs. If the job queue state 8999 // is ENABLED, it can accept jobs. If the job queue state is DISABLED, new jobs 9000 // can't be added to the queue, but jobs already in the queue can finish. 9001 State *string `locationName:"state" type:"string" enum:"JQState"` 9002 } 9003 9004 // String returns the string representation. 9005 // 9006 // API parameter values that are decorated as "sensitive" in the API will not 9007 // be included in the string output. The member name will be present, but the 9008 // value will be replaced with "sensitive". 9009 func (s UpdateJobQueueInput) String() string { 9010 return awsutil.Prettify(s) 9011 } 9012 9013 // GoString returns the string representation. 9014 // 9015 // API parameter values that are decorated as "sensitive" in the API will not 9016 // be included in the string output. The member name will be present, but the 9017 // value will be replaced with "sensitive". 9018 func (s UpdateJobQueueInput) GoString() string { 9019 return s.String() 9020 } 9021 9022 // Validate inspects the fields of the type to determine if they are valid. 9023 func (s *UpdateJobQueueInput) Validate() error { 9024 invalidParams := request.ErrInvalidParams{Context: "UpdateJobQueueInput"} 9025 if s.JobQueue == nil { 9026 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 9027 } 9028 if s.ComputeEnvironmentOrder != nil { 9029 for i, v := range s.ComputeEnvironmentOrder { 9030 if v == nil { 9031 continue 9032 } 9033 if err := v.Validate(); err != nil { 9034 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 9035 } 9036 } 9037 } 9038 9039 if invalidParams.Len() > 0 { 9040 return invalidParams 9041 } 9042 return nil 9043 } 9044 9045 // SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 9046 func (s *UpdateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *UpdateJobQueueInput { 9047 s.ComputeEnvironmentOrder = v 9048 return s 9049 } 9050 9051 // SetJobQueue sets the JobQueue field's value. 9052 func (s *UpdateJobQueueInput) SetJobQueue(v string) *UpdateJobQueueInput { 9053 s.JobQueue = &v 9054 return s 9055 } 9056 9057 // SetPriority sets the Priority field's value. 9058 func (s *UpdateJobQueueInput) SetPriority(v int64) *UpdateJobQueueInput { 9059 s.Priority = &v 9060 return s 9061 } 9062 9063 // SetState sets the State field's value. 9064 func (s *UpdateJobQueueInput) SetState(v string) *UpdateJobQueueInput { 9065 s.State = &v 9066 return s 9067 } 9068 9069 type UpdateJobQueueOutput struct { 9070 _ struct{} `type:"structure"` 9071 9072 // The Amazon Resource Name (ARN) of the job queue. 9073 JobQueueArn *string `locationName:"jobQueueArn" type:"string"` 9074 9075 // The name of the job queue. 9076 JobQueueName *string `locationName:"jobQueueName" type:"string"` 9077 } 9078 9079 // String returns the string representation. 9080 // 9081 // API parameter values that are decorated as "sensitive" in the API will not 9082 // be included in the string output. The member name will be present, but the 9083 // value will be replaced with "sensitive". 9084 func (s UpdateJobQueueOutput) String() string { 9085 return awsutil.Prettify(s) 9086 } 9087 9088 // GoString returns the string representation. 9089 // 9090 // API parameter values that are decorated as "sensitive" in the API will not 9091 // be included in the string output. The member name will be present, but the 9092 // value will be replaced with "sensitive". 9093 func (s UpdateJobQueueOutput) GoString() string { 9094 return s.String() 9095 } 9096 9097 // SetJobQueueArn sets the JobQueueArn field's value. 9098 func (s *UpdateJobQueueOutput) SetJobQueueArn(v string) *UpdateJobQueueOutput { 9099 s.JobQueueArn = &v 9100 return s 9101 } 9102 9103 // SetJobQueueName sets the JobQueueName field's value. 9104 func (s *UpdateJobQueueOutput) SetJobQueueName(v string) *UpdateJobQueueOutput { 9105 s.JobQueueName = &v 9106 return s 9107 } 9108 9109 // A data volume used in a job's container properties. 9110 type Volume struct { 9111 _ struct{} `type:"structure"` 9112 9113 // This parameter is specified when you are using an Amazon Elastic File System 9114 // file system for job storage. Jobs that are running on Fargate resources must 9115 // specify a platformVersion of at least 1.4.0. 9116 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 9117 9118 // The contents of the host parameter determine whether your data volume persists 9119 // on the host container instance and where it is stored. If the host parameter 9120 // is empty, then the Docker daemon assigns a host path for your data volume. 9121 // However, the data isn't guaranteed to persist after the containers associated 9122 // with it stop running. 9123 // 9124 // This parameter isn't applicable to jobs that are running on Fargate resources 9125 // and shouldn't be provided. 9126 Host *Host `locationName:"host" type:"structure"` 9127 9128 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 9129 // hyphens, and underscores are allowed. This name is referenced in the sourceVolume 9130 // parameter of container definition mountPoints. 9131 Name *string `locationName:"name" type:"string"` 9132 } 9133 9134 // String returns the string representation. 9135 // 9136 // API parameter values that are decorated as "sensitive" in the API will not 9137 // be included in the string output. The member name will be present, but the 9138 // value will be replaced with "sensitive". 9139 func (s Volume) String() string { 9140 return awsutil.Prettify(s) 9141 } 9142 9143 // GoString returns the string representation. 9144 // 9145 // API parameter values that are decorated as "sensitive" in the API will not 9146 // be included in the string output. The member name will be present, but the 9147 // value will be replaced with "sensitive". 9148 func (s Volume) GoString() string { 9149 return s.String() 9150 } 9151 9152 // Validate inspects the fields of the type to determine if they are valid. 9153 func (s *Volume) Validate() error { 9154 invalidParams := request.ErrInvalidParams{Context: "Volume"} 9155 if s.EfsVolumeConfiguration != nil { 9156 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 9157 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 9158 } 9159 } 9160 9161 if invalidParams.Len() > 0 { 9162 return invalidParams 9163 } 9164 return nil 9165 } 9166 9167 // SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 9168 func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 9169 s.EfsVolumeConfiguration = v 9170 return s 9171 } 9172 9173 // SetHost sets the Host field's value. 9174 func (s *Volume) SetHost(v *Host) *Volume { 9175 s.Host = v 9176 return s 9177 } 9178 9179 // SetName sets the Name field's value. 9180 func (s *Volume) SetName(v string) *Volume { 9181 s.Name = &v 9182 return s 9183 } 9184 9185 const ( 9186 // ArrayJobDependencyNToN is a ArrayJobDependency enum value 9187 ArrayJobDependencyNToN = "N_TO_N" 9188 9189 // ArrayJobDependencySequential is a ArrayJobDependency enum value 9190 ArrayJobDependencySequential = "SEQUENTIAL" 9191 ) 9192 9193 // ArrayJobDependency_Values returns all elements of the ArrayJobDependency enum 9194 func ArrayJobDependency_Values() []string { 9195 return []string{ 9196 ArrayJobDependencyNToN, 9197 ArrayJobDependencySequential, 9198 } 9199 } 9200 9201 const ( 9202 // AssignPublicIpEnabled is a AssignPublicIp enum value 9203 AssignPublicIpEnabled = "ENABLED" 9204 9205 // AssignPublicIpDisabled is a AssignPublicIp enum value 9206 AssignPublicIpDisabled = "DISABLED" 9207 ) 9208 9209 // AssignPublicIp_Values returns all elements of the AssignPublicIp enum 9210 func AssignPublicIp_Values() []string { 9211 return []string{ 9212 AssignPublicIpEnabled, 9213 AssignPublicIpDisabled, 9214 } 9215 } 9216 9217 const ( 9218 // CEStateEnabled is a CEState enum value 9219 CEStateEnabled = "ENABLED" 9220 9221 // CEStateDisabled is a CEState enum value 9222 CEStateDisabled = "DISABLED" 9223 ) 9224 9225 // CEState_Values returns all elements of the CEState enum 9226 func CEState_Values() []string { 9227 return []string{ 9228 CEStateEnabled, 9229 CEStateDisabled, 9230 } 9231 } 9232 9233 const ( 9234 // CEStatusCreating is a CEStatus enum value 9235 CEStatusCreating = "CREATING" 9236 9237 // CEStatusUpdating is a CEStatus enum value 9238 CEStatusUpdating = "UPDATING" 9239 9240 // CEStatusDeleting is a CEStatus enum value 9241 CEStatusDeleting = "DELETING" 9242 9243 // CEStatusDeleted is a CEStatus enum value 9244 CEStatusDeleted = "DELETED" 9245 9246 // CEStatusValid is a CEStatus enum value 9247 CEStatusValid = "VALID" 9248 9249 // CEStatusInvalid is a CEStatus enum value 9250 CEStatusInvalid = "INVALID" 9251 ) 9252 9253 // CEStatus_Values returns all elements of the CEStatus enum 9254 func CEStatus_Values() []string { 9255 return []string{ 9256 CEStatusCreating, 9257 CEStatusUpdating, 9258 CEStatusDeleting, 9259 CEStatusDeleted, 9260 CEStatusValid, 9261 CEStatusInvalid, 9262 } 9263 } 9264 9265 const ( 9266 // CETypeManaged is a CEType enum value 9267 CETypeManaged = "MANAGED" 9268 9269 // CETypeUnmanaged is a CEType enum value 9270 CETypeUnmanaged = "UNMANAGED" 9271 ) 9272 9273 // CEType_Values returns all elements of the CEType enum 9274 func CEType_Values() []string { 9275 return []string{ 9276 CETypeManaged, 9277 CETypeUnmanaged, 9278 } 9279 } 9280 9281 const ( 9282 // CRAllocationStrategyBestFit is a CRAllocationStrategy enum value 9283 CRAllocationStrategyBestFit = "BEST_FIT" 9284 9285 // CRAllocationStrategyBestFitProgressive is a CRAllocationStrategy enum value 9286 CRAllocationStrategyBestFitProgressive = "BEST_FIT_PROGRESSIVE" 9287 9288 // CRAllocationStrategySpotCapacityOptimized is a CRAllocationStrategy enum value 9289 CRAllocationStrategySpotCapacityOptimized = "SPOT_CAPACITY_OPTIMIZED" 9290 ) 9291 9292 // CRAllocationStrategy_Values returns all elements of the CRAllocationStrategy enum 9293 func CRAllocationStrategy_Values() []string { 9294 return []string{ 9295 CRAllocationStrategyBestFit, 9296 CRAllocationStrategyBestFitProgressive, 9297 CRAllocationStrategySpotCapacityOptimized, 9298 } 9299 } 9300 9301 const ( 9302 // CRTypeEc2 is a CRType enum value 9303 CRTypeEc2 = "EC2" 9304 9305 // CRTypeSpot is a CRType enum value 9306 CRTypeSpot = "SPOT" 9307 9308 // CRTypeFargate is a CRType enum value 9309 CRTypeFargate = "FARGATE" 9310 9311 // CRTypeFargateSpot is a CRType enum value 9312 CRTypeFargateSpot = "FARGATE_SPOT" 9313 ) 9314 9315 // CRType_Values returns all elements of the CRType enum 9316 func CRType_Values() []string { 9317 return []string{ 9318 CRTypeEc2, 9319 CRTypeSpot, 9320 CRTypeFargate, 9321 CRTypeFargateSpot, 9322 } 9323 } 9324 9325 const ( 9326 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 9327 DeviceCgroupPermissionRead = "READ" 9328 9329 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 9330 DeviceCgroupPermissionWrite = "WRITE" 9331 9332 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 9333 DeviceCgroupPermissionMknod = "MKNOD" 9334 ) 9335 9336 // DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 9337 func DeviceCgroupPermission_Values() []string { 9338 return []string{ 9339 DeviceCgroupPermissionRead, 9340 DeviceCgroupPermissionWrite, 9341 DeviceCgroupPermissionMknod, 9342 } 9343 } 9344 9345 const ( 9346 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 9347 EFSAuthorizationConfigIAMEnabled = "ENABLED" 9348 9349 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 9350 EFSAuthorizationConfigIAMDisabled = "DISABLED" 9351 ) 9352 9353 // EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 9354 func EFSAuthorizationConfigIAM_Values() []string { 9355 return []string{ 9356 EFSAuthorizationConfigIAMEnabled, 9357 EFSAuthorizationConfigIAMDisabled, 9358 } 9359 } 9360 9361 const ( 9362 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 9363 EFSTransitEncryptionEnabled = "ENABLED" 9364 9365 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 9366 EFSTransitEncryptionDisabled = "DISABLED" 9367 ) 9368 9369 // EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 9370 func EFSTransitEncryption_Values() []string { 9371 return []string{ 9372 EFSTransitEncryptionEnabled, 9373 EFSTransitEncryptionDisabled, 9374 } 9375 } 9376 9377 const ( 9378 // JQStateEnabled is a JQState enum value 9379 JQStateEnabled = "ENABLED" 9380 9381 // JQStateDisabled is a JQState enum value 9382 JQStateDisabled = "DISABLED" 9383 ) 9384 9385 // JQState_Values returns all elements of the JQState enum 9386 func JQState_Values() []string { 9387 return []string{ 9388 JQStateEnabled, 9389 JQStateDisabled, 9390 } 9391 } 9392 9393 const ( 9394 // JQStatusCreating is a JQStatus enum value 9395 JQStatusCreating = "CREATING" 9396 9397 // JQStatusUpdating is a JQStatus enum value 9398 JQStatusUpdating = "UPDATING" 9399 9400 // JQStatusDeleting is a JQStatus enum value 9401 JQStatusDeleting = "DELETING" 9402 9403 // JQStatusDeleted is a JQStatus enum value 9404 JQStatusDeleted = "DELETED" 9405 9406 // JQStatusValid is a JQStatus enum value 9407 JQStatusValid = "VALID" 9408 9409 // JQStatusInvalid is a JQStatus enum value 9410 JQStatusInvalid = "INVALID" 9411 ) 9412 9413 // JQStatus_Values returns all elements of the JQStatus enum 9414 func JQStatus_Values() []string { 9415 return []string{ 9416 JQStatusCreating, 9417 JQStatusUpdating, 9418 JQStatusDeleting, 9419 JQStatusDeleted, 9420 JQStatusValid, 9421 JQStatusInvalid, 9422 } 9423 } 9424 9425 const ( 9426 // JobDefinitionTypeContainer is a JobDefinitionType enum value 9427 JobDefinitionTypeContainer = "container" 9428 9429 // JobDefinitionTypeMultinode is a JobDefinitionType enum value 9430 JobDefinitionTypeMultinode = "multinode" 9431 ) 9432 9433 // JobDefinitionType_Values returns all elements of the JobDefinitionType enum 9434 func JobDefinitionType_Values() []string { 9435 return []string{ 9436 JobDefinitionTypeContainer, 9437 JobDefinitionTypeMultinode, 9438 } 9439 } 9440 9441 const ( 9442 // JobStatusSubmitted is a JobStatus enum value 9443 JobStatusSubmitted = "SUBMITTED" 9444 9445 // JobStatusPending is a JobStatus enum value 9446 JobStatusPending = "PENDING" 9447 9448 // JobStatusRunnable is a JobStatus enum value 9449 JobStatusRunnable = "RUNNABLE" 9450 9451 // JobStatusStarting is a JobStatus enum value 9452 JobStatusStarting = "STARTING" 9453 9454 // JobStatusRunning is a JobStatus enum value 9455 JobStatusRunning = "RUNNING" 9456 9457 // JobStatusSucceeded is a JobStatus enum value 9458 JobStatusSucceeded = "SUCCEEDED" 9459 9460 // JobStatusFailed is a JobStatus enum value 9461 JobStatusFailed = "FAILED" 9462 ) 9463 9464 // JobStatus_Values returns all elements of the JobStatus enum 9465 func JobStatus_Values() []string { 9466 return []string{ 9467 JobStatusSubmitted, 9468 JobStatusPending, 9469 JobStatusRunnable, 9470 JobStatusStarting, 9471 JobStatusRunning, 9472 JobStatusSucceeded, 9473 JobStatusFailed, 9474 } 9475 } 9476 9477 const ( 9478 // LogDriverJsonFile is a LogDriver enum value 9479 LogDriverJsonFile = "json-file" 9480 9481 // LogDriverSyslog is a LogDriver enum value 9482 LogDriverSyslog = "syslog" 9483 9484 // LogDriverJournald is a LogDriver enum value 9485 LogDriverJournald = "journald" 9486 9487 // LogDriverGelf is a LogDriver enum value 9488 LogDriverGelf = "gelf" 9489 9490 // LogDriverFluentd is a LogDriver enum value 9491 LogDriverFluentd = "fluentd" 9492 9493 // LogDriverAwslogs is a LogDriver enum value 9494 LogDriverAwslogs = "awslogs" 9495 9496 // LogDriverSplunk is a LogDriver enum value 9497 LogDriverSplunk = "splunk" 9498 ) 9499 9500 // LogDriver_Values returns all elements of the LogDriver enum 9501 func LogDriver_Values() []string { 9502 return []string{ 9503 LogDriverJsonFile, 9504 LogDriverSyslog, 9505 LogDriverJournald, 9506 LogDriverGelf, 9507 LogDriverFluentd, 9508 LogDriverAwslogs, 9509 LogDriverSplunk, 9510 } 9511 } 9512 9513 const ( 9514 // PlatformCapabilityEc2 is a PlatformCapability enum value 9515 PlatformCapabilityEc2 = "EC2" 9516 9517 // PlatformCapabilityFargate is a PlatformCapability enum value 9518 PlatformCapabilityFargate = "FARGATE" 9519 ) 9520 9521 // PlatformCapability_Values returns all elements of the PlatformCapability enum 9522 func PlatformCapability_Values() []string { 9523 return []string{ 9524 PlatformCapabilityEc2, 9525 PlatformCapabilityFargate, 9526 } 9527 } 9528 9529 const ( 9530 // ResourceTypeGpu is a ResourceType enum value 9531 ResourceTypeGpu = "GPU" 9532 9533 // ResourceTypeVcpu is a ResourceType enum value 9534 ResourceTypeVcpu = "VCPU" 9535 9536 // ResourceTypeMemory is a ResourceType enum value 9537 ResourceTypeMemory = "MEMORY" 9538 ) 9539 9540 // ResourceType_Values returns all elements of the ResourceType enum 9541 func ResourceType_Values() []string { 9542 return []string{ 9543 ResourceTypeGpu, 9544 ResourceTypeVcpu, 9545 ResourceTypeMemory, 9546 } 9547 } 9548 9549 const ( 9550 // RetryActionRetry is a RetryAction enum value 9551 RetryActionRetry = "RETRY" 9552 9553 // RetryActionExit is a RetryAction enum value 9554 RetryActionExit = "EXIT" 9555 ) 9556 9557 // RetryAction_Values returns all elements of the RetryAction enum 9558 func RetryAction_Values() []string { 9559 return []string{ 9560 RetryActionRetry, 9561 RetryActionExit, 9562 } 9563 }