1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package batch 4 5import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws/awsutil" 10 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/restjson" 13) 14 15const 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 41func (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 AWS Batch job queue. Jobs that are in the SUBMITTED, 61// PENDING, or RUNNABLE state are canceled. Jobs that have progressed to STARTING 62// or RUNNING aren't canceled, but the API operation still succeeds, even if 63// no 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 82func (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. 96func (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 103const 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 129func (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 AWS Batch compute environment. You can create MANAGED or UNMANAGED 148// compute environments. MANAGED compute environments can use Amazon EC2 or 149// AWS Fargate resources. UNMANAGED compute environments can only use EC2 resources. 150// 151// In a managed compute environment, AWS 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// AWS 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 AWS 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 208func (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. 222func (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 229const 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 255func (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 AWS Batch job queue. When you create a job queue, you associate 274// one 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// AWS Batch scheduler places jobs onto its associated compute environments. 279// For example, if a compute environment is associated with more than one job 280// queue, the job queue with a higher priority is given preference for scheduling 281// jobs 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 300func (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. 314func (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 321const 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 347func (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 AWS 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 AWS 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 392func (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. 406func (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 413const 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 439func (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 483func (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. 497func (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 504const 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 530func (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 AWS Batch job definition. Job definitions are permanently 550// deleted 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 569func (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. 583func (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 590const 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 616func (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 663func (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. 677func (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// 701func (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. 712func (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 736const 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 762func (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 806func (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. 820func (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// 844func (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. 855func (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 879const 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 905func (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 948func (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. 962func (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// 986func (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. 997func (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 1021const 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 1047func (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 AWS 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 1084func (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. 1098func (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 1105const 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 1131func (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 AWS 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 1185func (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. 1199func (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// 1223func (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. 1234func (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 1258const 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 1284func (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 AWS Batch resource. AWS Batch resources that support 1303// tags are compute environments, jobs, job definitions, and job queues. ARNs 1304// for child 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 1323func (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. 1337func (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 1344const 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 1370func (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 AWS 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 1407func (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. 1421func (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 1428const 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 1454func (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 AWS 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 1501func (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. 1515func (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 1522const 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 1548func (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 associated with 1570// that resource are deleted as well. AWS 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 1591func (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. 1605func (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 1612const 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 1638func (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 1678func (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. 1692func (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 1699const 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 1725func (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 AWS 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 1763func (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. 1777func (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 1784const 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 1810func (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 AWS 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 1847func (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. 1861func (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 1868const 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 1894func (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 1931func (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. 1945func (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 AWS Batch array job. 1953type 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 1961func (s ArrayProperties) String() string { 1962 return awsutil.Prettify(s) 1963} 1964 1965// GoString returns the string representation 1966func (s ArrayProperties) GoString() string { 1967 return s.String() 1968} 1969 1970// SetSize sets the Size field's value. 1971func (s *ArrayProperties) SetSize(v int64) *ArrayProperties { 1972 s.Size = &v 1973 return s 1974} 1975 1976// An object representing the array properties of a job. 1977type ArrayPropertiesDetail struct { 1978 _ struct{} `type:"structure"` 1979 1980 // The job index within the array that's associated with this job. This parameter 1981 // is returned for array job children. 1982 Index *int64 `locationName:"index" type:"integer"` 1983 1984 // The size of the array job. This parameter is returned for parent array jobs. 1985 Size *int64 `locationName:"size" type:"integer"` 1986 1987 // A summary of the number of array job children in each available job status. 1988 // This parameter is returned for parent array jobs. 1989 StatusSummary map[string]*int64 `locationName:"statusSummary" type:"map"` 1990} 1991 1992// String returns the string representation 1993func (s ArrayPropertiesDetail) String() string { 1994 return awsutil.Prettify(s) 1995} 1996 1997// GoString returns the string representation 1998func (s ArrayPropertiesDetail) GoString() string { 1999 return s.String() 2000} 2001 2002// SetIndex sets the Index field's value. 2003func (s *ArrayPropertiesDetail) SetIndex(v int64) *ArrayPropertiesDetail { 2004 s.Index = &v 2005 return s 2006} 2007 2008// SetSize sets the Size field's value. 2009func (s *ArrayPropertiesDetail) SetSize(v int64) *ArrayPropertiesDetail { 2010 s.Size = &v 2011 return s 2012} 2013 2014// SetStatusSummary sets the StatusSummary field's value. 2015func (s *ArrayPropertiesDetail) SetStatusSummary(v map[string]*int64) *ArrayPropertiesDetail { 2016 s.StatusSummary = v 2017 return s 2018} 2019 2020// An object representing the array properties of a job. 2021type ArrayPropertiesSummary struct { 2022 _ struct{} `type:"structure"` 2023 2024 // The job index within the array that's associated with this job. This parameter 2025 // is returned for children of array jobs. 2026 Index *int64 `locationName:"index" type:"integer"` 2027 2028 // The size of the array job. This parameter is returned for parent array jobs. 2029 Size *int64 `locationName:"size" type:"integer"` 2030} 2031 2032// String returns the string representation 2033func (s ArrayPropertiesSummary) String() string { 2034 return awsutil.Prettify(s) 2035} 2036 2037// GoString returns the string representation 2038func (s ArrayPropertiesSummary) GoString() string { 2039 return s.String() 2040} 2041 2042// SetIndex sets the Index field's value. 2043func (s *ArrayPropertiesSummary) SetIndex(v int64) *ArrayPropertiesSummary { 2044 s.Index = &v 2045 return s 2046} 2047 2048// SetSize sets the Size field's value. 2049func (s *ArrayPropertiesSummary) SetSize(v int64) *ArrayPropertiesSummary { 2050 s.Size = &v 2051 return s 2052} 2053 2054// An object representing the details of a container that's part of a job attempt. 2055type AttemptContainerDetail struct { 2056 _ struct{} `type:"structure"` 2057 2058 // The Amazon Resource Name (ARN) of the Amazon ECS container instance that 2059 // hosts the job attempt. 2060 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 2061 2062 // The exit code for the job attempt. A non-zero exit code is considered a failure. 2063 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2064 2065 // The name of the CloudWatch Logs log stream associated with the container. 2066 // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt 2067 // receives a log stream name when they reach the RUNNING status. 2068 LogStreamName *string `locationName:"logStreamName" type:"string"` 2069 2070 // The network interfaces associated with the job attempt. 2071 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 2072 2073 // A short (255 max characters) human-readable string to provide additional 2074 // details about a running or stopped container. 2075 Reason *string `locationName:"reason" type:"string"` 2076 2077 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 2078 // the job attempt. Each container attempt receives a task ARN when they reach 2079 // the STARTING status. 2080 TaskArn *string `locationName:"taskArn" type:"string"` 2081} 2082 2083// String returns the string representation 2084func (s AttemptContainerDetail) String() string { 2085 return awsutil.Prettify(s) 2086} 2087 2088// GoString returns the string representation 2089func (s AttemptContainerDetail) GoString() string { 2090 return s.String() 2091} 2092 2093// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 2094func (s *AttemptContainerDetail) SetContainerInstanceArn(v string) *AttemptContainerDetail { 2095 s.ContainerInstanceArn = &v 2096 return s 2097} 2098 2099// SetExitCode sets the ExitCode field's value. 2100func (s *AttemptContainerDetail) SetExitCode(v int64) *AttemptContainerDetail { 2101 s.ExitCode = &v 2102 return s 2103} 2104 2105// SetLogStreamName sets the LogStreamName field's value. 2106func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail { 2107 s.LogStreamName = &v 2108 return s 2109} 2110 2111// SetNetworkInterfaces sets the NetworkInterfaces field's value. 2112func (s *AttemptContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *AttemptContainerDetail { 2113 s.NetworkInterfaces = v 2114 return s 2115} 2116 2117// SetReason sets the Reason field's value. 2118func (s *AttemptContainerDetail) SetReason(v string) *AttemptContainerDetail { 2119 s.Reason = &v 2120 return s 2121} 2122 2123// SetTaskArn sets the TaskArn field's value. 2124func (s *AttemptContainerDetail) SetTaskArn(v string) *AttemptContainerDetail { 2125 s.TaskArn = &v 2126 return s 2127} 2128 2129// An object representing a job attempt. 2130type AttemptDetail struct { 2131 _ struct{} `type:"structure"` 2132 2133 // Details about the container in this job attempt. 2134 Container *AttemptContainerDetail `locationName:"container" type:"structure"` 2135 2136 // The Unix timestamp (in milliseconds) for when the attempt was started (when 2137 // the attempt transitioned from the STARTING state to the RUNNING state). 2138 StartedAt *int64 `locationName:"startedAt" type:"long"` 2139 2140 // A short, human-readable string to provide additional details about the current 2141 // status of the job attempt. 2142 StatusReason *string `locationName:"statusReason" type:"string"` 2143 2144 // The Unix timestamp (in milliseconds) for when the attempt was stopped (when 2145 // the attempt transitioned from the RUNNING state to a terminal state, such 2146 // as SUCCEEDED or FAILED). 2147 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 2148} 2149 2150// String returns the string representation 2151func (s AttemptDetail) String() string { 2152 return awsutil.Prettify(s) 2153} 2154 2155// GoString returns the string representation 2156func (s AttemptDetail) GoString() string { 2157 return s.String() 2158} 2159 2160// SetContainer sets the Container field's value. 2161func (s *AttemptDetail) SetContainer(v *AttemptContainerDetail) *AttemptDetail { 2162 s.Container = v 2163 return s 2164} 2165 2166// SetStartedAt sets the StartedAt field's value. 2167func (s *AttemptDetail) SetStartedAt(v int64) *AttemptDetail { 2168 s.StartedAt = &v 2169 return s 2170} 2171 2172// SetStatusReason sets the StatusReason field's value. 2173func (s *AttemptDetail) SetStatusReason(v string) *AttemptDetail { 2174 s.StatusReason = &v 2175 return s 2176} 2177 2178// SetStoppedAt sets the StoppedAt field's value. 2179func (s *AttemptDetail) SetStoppedAt(v int64) *AttemptDetail { 2180 s.StoppedAt = &v 2181 return s 2182} 2183 2184// Contains the parameters for CancelJob. 2185type CancelJobInput struct { 2186 _ struct{} `type:"structure"` 2187 2188 // The AWS Batch job ID of the job to cancel. 2189 // 2190 // JobId is a required field 2191 JobId *string `locationName:"jobId" type:"string" required:"true"` 2192 2193 // A message to attach to the job that explains the reason for canceling it. 2194 // This message is returned by future DescribeJobs operations on the job. This 2195 // message is also recorded in the AWS Batch activity logs. 2196 // 2197 // Reason is a required field 2198 Reason *string `locationName:"reason" type:"string" required:"true"` 2199} 2200 2201// String returns the string representation 2202func (s CancelJobInput) String() string { 2203 return awsutil.Prettify(s) 2204} 2205 2206// GoString returns the string representation 2207func (s CancelJobInput) GoString() string { 2208 return s.String() 2209} 2210 2211// Validate inspects the fields of the type to determine if they are valid. 2212func (s *CancelJobInput) Validate() error { 2213 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 2214 if s.JobId == nil { 2215 invalidParams.Add(request.NewErrParamRequired("JobId")) 2216 } 2217 if s.Reason == nil { 2218 invalidParams.Add(request.NewErrParamRequired("Reason")) 2219 } 2220 2221 if invalidParams.Len() > 0 { 2222 return invalidParams 2223 } 2224 return nil 2225} 2226 2227// SetJobId sets the JobId field's value. 2228func (s *CancelJobInput) SetJobId(v string) *CancelJobInput { 2229 s.JobId = &v 2230 return s 2231} 2232 2233// SetReason sets the Reason field's value. 2234func (s *CancelJobInput) SetReason(v string) *CancelJobInput { 2235 s.Reason = &v 2236 return s 2237} 2238 2239type CancelJobOutput struct { 2240 _ struct{} `type:"structure"` 2241} 2242 2243// String returns the string representation 2244func (s CancelJobOutput) String() string { 2245 return awsutil.Prettify(s) 2246} 2247 2248// GoString returns the string representation 2249func (s CancelJobOutput) GoString() string { 2250 return s.String() 2251} 2252 2253// These errors are usually caused by a client action, such as using an action 2254// or resource on behalf of a user that doesn't have permissions to use the 2255// action or resource, or specifying an identifier that's not valid. 2256type ClientException struct { 2257 _ struct{} `type:"structure"` 2258 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2259 2260 Message_ *string `locationName:"message" type:"string"` 2261} 2262 2263// String returns the string representation 2264func (s ClientException) String() string { 2265 return awsutil.Prettify(s) 2266} 2267 2268// GoString returns the string representation 2269func (s ClientException) GoString() string { 2270 return s.String() 2271} 2272 2273func newErrorClientException(v protocol.ResponseMetadata) error { 2274 return &ClientException{ 2275 RespMetadata: v, 2276 } 2277} 2278 2279// Code returns the exception type name. 2280func (s *ClientException) Code() string { 2281 return "ClientException" 2282} 2283 2284// Message returns the exception's message. 2285func (s *ClientException) Message() string { 2286 if s.Message_ != nil { 2287 return *s.Message_ 2288 } 2289 return "" 2290} 2291 2292// OrigErr always returns nil, satisfies awserr.Error interface. 2293func (s *ClientException) OrigErr() error { 2294 return nil 2295} 2296 2297func (s *ClientException) Error() string { 2298 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2299} 2300 2301// Status code returns the HTTP status code for the request's response error. 2302func (s *ClientException) StatusCode() int { 2303 return s.RespMetadata.StatusCode 2304} 2305 2306// RequestID returns the service's response RequestID for request. 2307func (s *ClientException) RequestID() string { 2308 return s.RespMetadata.RequestID 2309} 2310 2311// An object representing an AWS Batch compute environment. 2312type ComputeEnvironmentDetail struct { 2313 _ struct{} `type:"structure"` 2314 2315 // The Amazon Resource Name (ARN) of the compute environment. 2316 // 2317 // ComputeEnvironmentArn is a required field 2318 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string" required:"true"` 2319 2320 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 2321 // numbers, hyphens, and underscores are allowed. 2322 // 2323 // ComputeEnvironmentName is a required field 2324 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 2325 2326 // The compute resources defined for the compute environment. For more information, 2327 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2328 // in the AWS Batch User Guide. 2329 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 2330 2331 // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used 2332 // by the compute environment. 2333 // 2334 // EcsClusterArn is a required field 2335 EcsClusterArn *string `locationName:"ecsClusterArn" type:"string" required:"true"` 2336 2337 // The service role associated with the compute environment that allows AWS 2338 // Batch to make calls to AWS API operations on your behalf. For more information, 2339 // see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 2340 // in the AWS Batch User Guide. 2341 ServiceRole *string `locationName:"serviceRole" type:"string"` 2342 2343 // The state of the compute environment. The valid values are ENABLED or DISABLED. 2344 // 2345 // If the state is ENABLED, then the AWS Batch scheduler can attempt to place 2346 // jobs from an associated job queue on the compute resources within the environment. 2347 // If the compute environment is managed, then it can scale its instances out 2348 // or in automatically, based on the job queue demand. 2349 // 2350 // If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to 2351 // place jobs within the environment. Jobs in a STARTING or RUNNING state continue 2352 // to progress normally. Managed compute environments in the DISABLED state 2353 // don't scale out. However, they scale in to minvCpus value after instances 2354 // become idle. 2355 State *string `locationName:"state" type:"string" enum:"CEState"` 2356 2357 // The current status of the compute environment (for example, CREATING or VALID). 2358 Status *string `locationName:"status" type:"string" enum:"CEStatus"` 2359 2360 // A short, human-readable string to provide additional details about the current 2361 // status of the compute environment. 2362 StatusReason *string `locationName:"statusReason" type:"string"` 2363 2364 // The tags applied to the compute environment. 2365 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2366 2367 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 2368 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2369 // in the AWS Batch User Guide. 2370 Type *string `locationName:"type" type:"string" enum:"CEType"` 2371} 2372 2373// String returns the string representation 2374func (s ComputeEnvironmentDetail) String() string { 2375 return awsutil.Prettify(s) 2376} 2377 2378// GoString returns the string representation 2379func (s ComputeEnvironmentDetail) GoString() string { 2380 return s.String() 2381} 2382 2383// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 2384func (s *ComputeEnvironmentDetail) SetComputeEnvironmentArn(v string) *ComputeEnvironmentDetail { 2385 s.ComputeEnvironmentArn = &v 2386 return s 2387} 2388 2389// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 2390func (s *ComputeEnvironmentDetail) SetComputeEnvironmentName(v string) *ComputeEnvironmentDetail { 2391 s.ComputeEnvironmentName = &v 2392 return s 2393} 2394 2395// SetComputeResources sets the ComputeResources field's value. 2396func (s *ComputeEnvironmentDetail) SetComputeResources(v *ComputeResource) *ComputeEnvironmentDetail { 2397 s.ComputeResources = v 2398 return s 2399} 2400 2401// SetEcsClusterArn sets the EcsClusterArn field's value. 2402func (s *ComputeEnvironmentDetail) SetEcsClusterArn(v string) *ComputeEnvironmentDetail { 2403 s.EcsClusterArn = &v 2404 return s 2405} 2406 2407// SetServiceRole sets the ServiceRole field's value. 2408func (s *ComputeEnvironmentDetail) SetServiceRole(v string) *ComputeEnvironmentDetail { 2409 s.ServiceRole = &v 2410 return s 2411} 2412 2413// SetState sets the State field's value. 2414func (s *ComputeEnvironmentDetail) SetState(v string) *ComputeEnvironmentDetail { 2415 s.State = &v 2416 return s 2417} 2418 2419// SetStatus sets the Status field's value. 2420func (s *ComputeEnvironmentDetail) SetStatus(v string) *ComputeEnvironmentDetail { 2421 s.Status = &v 2422 return s 2423} 2424 2425// SetStatusReason sets the StatusReason field's value. 2426func (s *ComputeEnvironmentDetail) SetStatusReason(v string) *ComputeEnvironmentDetail { 2427 s.StatusReason = &v 2428 return s 2429} 2430 2431// SetTags sets the Tags field's value. 2432func (s *ComputeEnvironmentDetail) SetTags(v map[string]*string) *ComputeEnvironmentDetail { 2433 s.Tags = v 2434 return s 2435} 2436 2437// SetType sets the Type field's value. 2438func (s *ComputeEnvironmentDetail) SetType(v string) *ComputeEnvironmentDetail { 2439 s.Type = &v 2440 return s 2441} 2442 2443// The order in which compute environments are tried for job placement within 2444// a queue. Compute environments are tried in ascending order. For example, 2445// if two compute environments are associated with a job queue, the compute 2446// environment with a lower order integer value is tried for job placement first. 2447// Compute environments must be in the VALID state before you can associate 2448// them with a job queue. All of the compute environments must be either EC2 2449// (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate compute 2450// environments can't be mixed. 2451// 2452// All compute environments that are associated with a job queue must share 2453// the same architecture. AWS Batch doesn't support mixing compute environment 2454// architecture types in a single job queue. 2455type ComputeEnvironmentOrder struct { 2456 _ struct{} `type:"structure"` 2457 2458 // The Amazon Resource Name (ARN) of the compute environment. 2459 // 2460 // ComputeEnvironment is a required field 2461 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 2462 2463 // The order of the compute environment. Compute environments are tried in ascending 2464 // order. For example, if two compute environments are associated with a job 2465 // queue, the compute environment with a lower order integer value is tried 2466 // for job placement first. 2467 // 2468 // Order is a required field 2469 Order *int64 `locationName:"order" type:"integer" required:"true"` 2470} 2471 2472// String returns the string representation 2473func (s ComputeEnvironmentOrder) String() string { 2474 return awsutil.Prettify(s) 2475} 2476 2477// GoString returns the string representation 2478func (s ComputeEnvironmentOrder) GoString() string { 2479 return s.String() 2480} 2481 2482// Validate inspects the fields of the type to determine if they are valid. 2483func (s *ComputeEnvironmentOrder) Validate() error { 2484 invalidParams := request.ErrInvalidParams{Context: "ComputeEnvironmentOrder"} 2485 if s.ComputeEnvironment == nil { 2486 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 2487 } 2488 if s.Order == nil { 2489 invalidParams.Add(request.NewErrParamRequired("Order")) 2490 } 2491 2492 if invalidParams.Len() > 0 { 2493 return invalidParams 2494 } 2495 return nil 2496} 2497 2498// SetComputeEnvironment sets the ComputeEnvironment field's value. 2499func (s *ComputeEnvironmentOrder) SetComputeEnvironment(v string) *ComputeEnvironmentOrder { 2500 s.ComputeEnvironment = &v 2501 return s 2502} 2503 2504// SetOrder sets the Order field's value. 2505func (s *ComputeEnvironmentOrder) SetOrder(v int64) *ComputeEnvironmentOrder { 2506 s.Order = &v 2507 return s 2508} 2509 2510// An object representing an AWS Batch compute resource. For more information, 2511// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2512// in the AWS Batch User Guide. 2513type ComputeResource struct { 2514 _ struct{} `type:"structure"` 2515 2516 // The allocation strategy to use for the compute resource if not enough instances 2517 // of the best fitting instance type can be allocated. This might be because 2518 // of availability of the instance type in the Region or Amazon EC2 service 2519 // limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). 2520 // For more information, see Allocation Strategies (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html) 2521 // in the AWS Batch User Guide. 2522 // 2523 // This parameter isn't applicable to jobs running on Fargate resources, and 2524 // shouldn't be specified. 2525 // 2526 // BEST_FIT (default) 2527 // 2528 // AWS Batch selects an instance type that best fits the needs of the jobs with 2529 // a preference for the lowest-cost instance type. If additional instances of 2530 // the selected instance type aren't available, AWS Batch waits for the additional 2531 // instances to be available. If there aren't enough instances available, or 2532 // if the user is hitting Amazon EC2 service limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) 2533 // then additional jobs aren't run until the currently running jobs have completed. 2534 // This allocation strategy keeps costs lower but can limit scaling. If you 2535 // are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be 2536 // specified. 2537 // 2538 // BEST_FIT_PROGRESSIVE 2539 // 2540 // AWS Batch will select additional instance types that are large enough to 2541 // meet the requirements of the jobs in the queue, with a preference for instance 2542 // types with a lower cost per unit vCPU. If additional instances of the previously 2543 // selected instance types aren't available, AWS Batch will select new instance 2544 // types. 2545 // 2546 // SPOT_CAPACITY_OPTIMIZED 2547 // 2548 // AWS Batch will select one or more instance types that are large enough to 2549 // meet the requirements of the jobs in the queue, with a preference for instance 2550 // types that are less likely to be interrupted. This allocation strategy is 2551 // only available for Spot Instance compute resources. 2552 // 2553 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED strategies, AWS 2554 // Batch might need to go above maxvCpus to meet your capacity requirements. 2555 // In this event, AWS Batch never exceeds maxvCpus by more than a single instance. 2556 AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"CRAllocationStrategy"` 2557 2558 // The maximum percentage that a Spot Instance price can be when compared with 2559 // the On-Demand price for that instance type before instances are launched. 2560 // For example, if your maximum percentage is 20%, then the Spot price must 2561 // be less than 20% of the current On-Demand price for that Amazon EC2 instance. 2562 // You always pay the lowest (market) price and never more than your maximum 2563 // percentage. If you leave this field empty, the default value is 100% of the 2564 // On-Demand price. 2565 // 2566 // This parameter isn't applicable to jobs running on Fargate resources, and 2567 // shouldn't be specified. 2568 BidPercentage *int64 `locationName:"bidPercentage" type:"integer"` 2569 2570 // The desired number of Amazon EC2 vCPUS in the compute environment. AWS Batch 2571 // modifies this value between the minimum and maximum values, based on job 2572 // queue demand. 2573 // 2574 // This parameter isn't applicable to jobs running on Fargate resources, and 2575 // shouldn't be specified. 2576 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2577 2578 // Provides information used to select Amazon Machine Images (AMIs) for EC2 2579 // instances in the compute environment. If Ec2Configuration isn't specified, 2580 // the default is ECS_AL1. 2581 // 2582 // This parameter isn't applicable to jobs running on Fargate resources, and 2583 // shouldn't be specified. 2584 Ec2Configuration []*Ec2Configuration `locationName:"ec2Configuration" type:"list"` 2585 2586 // The Amazon EC2 key pair that's used for instances launched in the compute 2587 // environment. You can use this key pair to log in to your instances with SSH. 2588 // 2589 // This parameter isn't applicable to jobs running on Fargate resources, and 2590 // shouldn't be specified. 2591 Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"` 2592 2593 // The Amazon Machine Image (AMI) ID used for instances launched in the compute 2594 // environment. This parameter is overridden by the imageIdOverride member of 2595 // the Ec2Configuration structure. 2596 // 2597 // This parameter isn't applicable to jobs running on Fargate resources, and 2598 // shouldn't be specified. 2599 // 2600 // The AMI that you choose for a compute environment must match the architecture 2601 // of the instance types that you intend to use for that compute environment. 2602 // For example, if your compute environment uses A1 instance types, the compute 2603 // resource AMI that you choose must support ARM instances. Amazon ECS vends 2604 // both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. 2605 // 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) 2606 // in the Amazon Elastic Container Service Developer Guide. 2607 // 2608 // Deprecated: This field is deprecated, use ec2Configuration[].imageIdOverride instead. 2609 ImageId *string `locationName:"imageId" deprecated:"true" type:"string"` 2610 2611 // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute 2612 // environment. You can specify the short name or full Amazon Resource Name 2613 // (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole 2614 // . For more information, see Amazon ECS Instance Role (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) 2615 // in the AWS Batch User Guide. 2616 // 2617 // This parameter isn't applicable to jobs running on Fargate resources, and 2618 // shouldn't be specified. 2619 InstanceRole *string `locationName:"instanceRole" type:"string"` 2620 2621 // The instances types that can be launched. You can specify instance families 2622 // to launch any instance type within those families (for example, c5 or p3), 2623 // or you can specify specific sizes within a family (such as c5.8xlarge). You 2624 // can also choose optimal to select instance types (from the C4, M4, and R4 2625 // instance families) that match the demand of your job queues. 2626 // 2627 // This parameter isn't applicable to jobs running on Fargate resources, and 2628 // shouldn't be specified. 2629 // 2630 // When you create a compute environment, the instance types that you select 2631 // for the compute environment must share the same architecture. For example, 2632 // you can't mix x86 and ARM instances in the same compute environment. 2633 // 2634 // Currently, optimal uses instance types from the C4, M4, and R4 instance families. 2635 // In Regions that don't have instance types from those instance families, instance 2636 // types from the C5, M5. and R5 instance families are used. 2637 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 2638 2639 // The launch template to use for your compute resources. Any other compute 2640 // resource parameters that you specify in a CreateComputeEnvironment API operation 2641 // override the same parameters in the launch template. You must specify either 2642 // the launch template ID or launch template name in the request, but not both. 2643 // For more information, see Launch Template Support (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) 2644 // in the AWS Batch User Guide. 2645 // 2646 // This parameter isn't applicable to jobs running on Fargate resources, and 2647 // shouldn't be specified. 2648 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 2649 2650 // The maximum number of Amazon EC2 vCPUs that a compute environment can reach. 2651 // 2652 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 2653 // AWS Batch might need to exceed maxvCpus to meet your capacity requirements. 2654 // In this event, AWS Batch never exceeds maxvCpus by more than a single instance. 2655 // For example, no more than a single instance from among those specified in 2656 // your compute environment is allocated. 2657 // 2658 // MaxvCpus is a required field 2659 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"` 2660 2661 // The minimum number of Amazon EC2 vCPUs that an environment should maintain 2662 // (even if the compute environment is DISABLED). 2663 // 2664 // This parameter isn't applicable to jobs running on Fargate resources, and 2665 // shouldn't be specified. 2666 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 2667 2668 // The Amazon EC2 placement group to associate with your compute resources. 2669 // If you intend to submit multi-node parallel jobs to your compute environment, 2670 // you should consider creating a cluster placement group and associate it with 2671 // your compute resources. This keeps your multi-node parallel job on a logical 2672 // grouping of instances within a single Availability Zone with high network 2673 // flow potential. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 2674 // in the Amazon EC2 User Guide for Linux Instances. 2675 // 2676 // This parameter isn't applicable to jobs running on Fargate resources, and 2677 // shouldn't be specified. 2678 PlacementGroup *string `locationName:"placementGroup" type:"string"` 2679 2680 // The Amazon EC2 security groups associated with instances launched in the 2681 // compute environment. One or more security groups must be specified, either 2682 // in securityGroupIds or using a launch template referenced in launchTemplate. 2683 // This parameter is required for jobs running on Fargate resources and must 2684 // contain at least one security group. Fargate doesn't support launch templates. 2685 // If security groups are specified using both securityGroupIds and launchTemplate, 2686 // the values in securityGroupIds is used. 2687 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 2688 2689 // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied 2690 // to a SPOT compute environment. This role is required if the allocation strategy 2691 // set to BEST_FIT or if the allocation strategy isn't specified. For more information, 2692 // see Amazon EC2 Spot Fleet Role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 2693 // in the AWS Batch User Guide. 2694 // 2695 // This parameter isn't applicable to jobs running on Fargate resources, and 2696 // shouldn't be specified. 2697 // 2698 // To tag your Spot Instances on creation, the Spot Fleet IAM role specified 2699 // here must use the newer AmazonEC2SpotFleetTaggingRole managed policy. The 2700 // previously recommended AmazonEC2SpotFleetRole managed policy doesn't have 2701 // the required permissions to tag Spot Instances. For more information, see 2702 // Spot Instances not tagged on creation (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag) 2703 // in the AWS Batch User Guide. 2704 SpotIamFleetRole *string `locationName:"spotIamFleetRole" type:"string"` 2705 2706 // The VPC subnets into which the compute resources are launched. These subnets 2707 // must be within the same VPC. Fargate compute resources can contain up to 2708 // 16 subnets. For more information, see VPCs and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) 2709 // in the Amazon VPC User Guide. 2710 // 2711 // Subnets is a required field 2712 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 2713 2714 // Key-value pair tags to be applied to EC2 resources that are launched in the 2715 // compute environment. For AWS Batch, these take the form of "String1": "String2", 2716 // where String1 is the tag key and String2 is the tag value−for example, 2717 // { "Name": "AWS Batch Instance - C4OnDemand" }. This is helpful for recognizing 2718 // your AWS Batch instances in the Amazon EC2 console. These tags can't be updated 2719 // or removed after the compute environment has been created; any changes require 2720 // creating a new compute environment and removing the old compute environment. 2721 // These tags aren't seen when using the AWS Batch ListTagsForResource API operation. 2722 // 2723 // This parameter isn't applicable to jobs running on Fargate resources, and 2724 // shouldn't be specified. 2725 Tags map[string]*string `locationName:"tags" type:"map"` 2726 2727 // The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For 2728 // more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2729 // in the AWS Batch User Guide. 2730 // 2731 // If you choose SPOT, you must also specify an Amazon EC2 Spot Fleet role with 2732 // the spotIamFleetRole parameter. For more information, see Amazon EC2 Spot 2733 // Fleet role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 2734 // in the AWS Batch User Guide. 2735 // 2736 // Type is a required field 2737 Type *string `locationName:"type" type:"string" required:"true" enum:"CRType"` 2738} 2739 2740// String returns the string representation 2741func (s ComputeResource) String() string { 2742 return awsutil.Prettify(s) 2743} 2744 2745// GoString returns the string representation 2746func (s ComputeResource) GoString() string { 2747 return s.String() 2748} 2749 2750// Validate inspects the fields of the type to determine if they are valid. 2751func (s *ComputeResource) Validate() error { 2752 invalidParams := request.ErrInvalidParams{Context: "ComputeResource"} 2753 if s.MaxvCpus == nil { 2754 invalidParams.Add(request.NewErrParamRequired("MaxvCpus")) 2755 } 2756 if s.Subnets == nil { 2757 invalidParams.Add(request.NewErrParamRequired("Subnets")) 2758 } 2759 if s.Type == nil { 2760 invalidParams.Add(request.NewErrParamRequired("Type")) 2761 } 2762 if s.Ec2Configuration != nil { 2763 for i, v := range s.Ec2Configuration { 2764 if v == nil { 2765 continue 2766 } 2767 if err := v.Validate(); err != nil { 2768 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2Configuration", i), err.(request.ErrInvalidParams)) 2769 } 2770 } 2771 } 2772 2773 if invalidParams.Len() > 0 { 2774 return invalidParams 2775 } 2776 return nil 2777} 2778 2779// SetAllocationStrategy sets the AllocationStrategy field's value. 2780func (s *ComputeResource) SetAllocationStrategy(v string) *ComputeResource { 2781 s.AllocationStrategy = &v 2782 return s 2783} 2784 2785// SetBidPercentage sets the BidPercentage field's value. 2786func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource { 2787 s.BidPercentage = &v 2788 return s 2789} 2790 2791// SetDesiredvCpus sets the DesiredvCpus field's value. 2792func (s *ComputeResource) SetDesiredvCpus(v int64) *ComputeResource { 2793 s.DesiredvCpus = &v 2794 return s 2795} 2796 2797// SetEc2Configuration sets the Ec2Configuration field's value. 2798func (s *ComputeResource) SetEc2Configuration(v []*Ec2Configuration) *ComputeResource { 2799 s.Ec2Configuration = v 2800 return s 2801} 2802 2803// SetEc2KeyPair sets the Ec2KeyPair field's value. 2804func (s *ComputeResource) SetEc2KeyPair(v string) *ComputeResource { 2805 s.Ec2KeyPair = &v 2806 return s 2807} 2808 2809// SetImageId sets the ImageId field's value. 2810func (s *ComputeResource) SetImageId(v string) *ComputeResource { 2811 s.ImageId = &v 2812 return s 2813} 2814 2815// SetInstanceRole sets the InstanceRole field's value. 2816func (s *ComputeResource) SetInstanceRole(v string) *ComputeResource { 2817 s.InstanceRole = &v 2818 return s 2819} 2820 2821// SetInstanceTypes sets the InstanceTypes field's value. 2822func (s *ComputeResource) SetInstanceTypes(v []*string) *ComputeResource { 2823 s.InstanceTypes = v 2824 return s 2825} 2826 2827// SetLaunchTemplate sets the LaunchTemplate field's value. 2828func (s *ComputeResource) SetLaunchTemplate(v *LaunchTemplateSpecification) *ComputeResource { 2829 s.LaunchTemplate = v 2830 return s 2831} 2832 2833// SetMaxvCpus sets the MaxvCpus field's value. 2834func (s *ComputeResource) SetMaxvCpus(v int64) *ComputeResource { 2835 s.MaxvCpus = &v 2836 return s 2837} 2838 2839// SetMinvCpus sets the MinvCpus field's value. 2840func (s *ComputeResource) SetMinvCpus(v int64) *ComputeResource { 2841 s.MinvCpus = &v 2842 return s 2843} 2844 2845// SetPlacementGroup sets the PlacementGroup field's value. 2846func (s *ComputeResource) SetPlacementGroup(v string) *ComputeResource { 2847 s.PlacementGroup = &v 2848 return s 2849} 2850 2851// SetSecurityGroupIds sets the SecurityGroupIds field's value. 2852func (s *ComputeResource) SetSecurityGroupIds(v []*string) *ComputeResource { 2853 s.SecurityGroupIds = v 2854 return s 2855} 2856 2857// SetSpotIamFleetRole sets the SpotIamFleetRole field's value. 2858func (s *ComputeResource) SetSpotIamFleetRole(v string) *ComputeResource { 2859 s.SpotIamFleetRole = &v 2860 return s 2861} 2862 2863// SetSubnets sets the Subnets field's value. 2864func (s *ComputeResource) SetSubnets(v []*string) *ComputeResource { 2865 s.Subnets = v 2866 return s 2867} 2868 2869// SetTags sets the Tags field's value. 2870func (s *ComputeResource) SetTags(v map[string]*string) *ComputeResource { 2871 s.Tags = v 2872 return s 2873} 2874 2875// SetType sets the Type field's value. 2876func (s *ComputeResource) SetType(v string) *ComputeResource { 2877 s.Type = &v 2878 return s 2879} 2880 2881// An object representing the attributes of a compute environment that can be 2882// updated. For more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2883// in the AWS Batch User Guide. 2884type ComputeResourceUpdate struct { 2885 _ struct{} `type:"structure"` 2886 2887 // The desired number of Amazon EC2 vCPUS in the compute environment. 2888 // 2889 // This parameter isn't applicable to jobs running on Fargate resources, and 2890 // shouldn't be specified. 2891 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2892 2893 // The maximum number of Amazon EC2 vCPUs that an environment can reach. 2894 // 2895 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 2896 // AWS Batch might need to exceed maxvCpus to meet your capacity requirements. 2897 // In this event, AWS Batch never exceeds maxvCpus by more than a single instance. 2898 // That is, no more than a single instance from among those specified in your 2899 // compute environment. 2900 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"` 2901 2902 // The minimum number of Amazon EC2 vCPUs that an environment should maintain. 2903 // 2904 // This parameter isn't applicable to jobs running on Fargate resources, and 2905 // shouldn't be specified. 2906 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 2907 2908 // The Amazon EC2 security groups associated with instances launched in the 2909 // compute environment. This parameter is required for Fargate compute resources, 2910 // where it can contain up to 5 security groups. This can't be specified for 2911 // EC2 compute resources. Providing an empty list is handled as if this parameter 2912 // wasn't specified and no change is made. 2913 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 2914 2915 // The VPC subnets that the compute resources are launched into. Fargate compute 2916 // resources can contain up to 16 subnets. Providing an empty list will be handled 2917 // as if this parameter wasn't specified and no change is made. This can't be 2918 // specified for EC2 compute resources. For more information, see VPCs and Subnets 2919 // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the 2920 // Amazon VPC User Guide. 2921 Subnets []*string `locationName:"subnets" type:"list"` 2922} 2923 2924// String returns the string representation 2925func (s ComputeResourceUpdate) String() string { 2926 return awsutil.Prettify(s) 2927} 2928 2929// GoString returns the string representation 2930func (s ComputeResourceUpdate) GoString() string { 2931 return s.String() 2932} 2933 2934// SetDesiredvCpus sets the DesiredvCpus field's value. 2935func (s *ComputeResourceUpdate) SetDesiredvCpus(v int64) *ComputeResourceUpdate { 2936 s.DesiredvCpus = &v 2937 return s 2938} 2939 2940// SetMaxvCpus sets the MaxvCpus field's value. 2941func (s *ComputeResourceUpdate) SetMaxvCpus(v int64) *ComputeResourceUpdate { 2942 s.MaxvCpus = &v 2943 return s 2944} 2945 2946// SetMinvCpus sets the MinvCpus field's value. 2947func (s *ComputeResourceUpdate) SetMinvCpus(v int64) *ComputeResourceUpdate { 2948 s.MinvCpus = &v 2949 return s 2950} 2951 2952// SetSecurityGroupIds sets the SecurityGroupIds field's value. 2953func (s *ComputeResourceUpdate) SetSecurityGroupIds(v []*string) *ComputeResourceUpdate { 2954 s.SecurityGroupIds = v 2955 return s 2956} 2957 2958// SetSubnets sets the Subnets field's value. 2959func (s *ComputeResourceUpdate) SetSubnets(v []*string) *ComputeResourceUpdate { 2960 s.Subnets = v 2961 return s 2962} 2963 2964// An object representing the details of a container that's part of a job. 2965type ContainerDetail struct { 2966 _ struct{} `type:"structure"` 2967 2968 // The command that's passed to the container. 2969 Command []*string `locationName:"command" type:"list"` 2970 2971 // The Amazon Resource Name (ARN) of the container instance that the container 2972 // is running on. 2973 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 2974 2975 // The environment variables to pass to a container. 2976 // 2977 // Environment variables must not start with AWS_BATCH; this naming convention 2978 // is reserved for variables that are set by the AWS Batch service. 2979 Environment []*KeyValuePair `locationName:"environment" type:"list"` 2980 2981 // The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. 2982 // For more information, see AWS Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 2983 // in the AWS Batch User Guide. 2984 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 2985 2986 // The exit code to return upon completion. 2987 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2988 2989 // The platform configuration for jobs running on Fargate resources. Jobs running 2990 // on EC2 resources must not specify this parameter. 2991 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 2992 2993 // The image used to start the container. 2994 Image *string `locationName:"image" type:"string"` 2995 2996 // The instance type of the underlying host infrastructure of a multi-node parallel 2997 // job. 2998 // 2999 // This parameter isn't applicable to jobs running on Fargate resources. 3000 InstanceType *string `locationName:"instanceType" type:"string"` 3001 3002 // The Amazon Resource Name (ARN) associated with the job upon execution. 3003 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 3004 3005 // Linux-specific modifications that are applied to the container, such as details 3006 // for device mappings. 3007 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3008 3009 // The log configuration specification for the container. 3010 // 3011 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3012 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3013 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3014 // By default, containers use the same logging driver that the Docker daemon 3015 // uses. However, the container might use a different logging driver than the 3016 // Docker daemon by specifying a log driver with this parameter in the container 3017 // definition. To use a different logging driver for a container, the log system 3018 // must be configured properly on the container instance. Or, alternatively, 3019 // it must be configured on a different log server for remote logging options. 3020 // For more information on the options for different supported log drivers, 3021 // see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3022 // in the Docker documentation. 3023 // 3024 // AWS Batch currently supports a subset of the logging drivers available to 3025 // the Docker daemon (shown in the LogConfiguration data type). Additional log 3026 // drivers might be available in future releases of the Amazon ECS container 3027 // agent. 3028 // 3029 // This parameter requires version 1.18 of the Docker Remote API or greater 3030 // on your container instance. To check the Docker Remote API version on your 3031 // container instance, log into your container instance and run the following 3032 // command: sudo docker version | grep "Server API version" 3033 // 3034 // The Amazon ECS container agent running on a container instance must register 3035 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3036 // environment variable before containers placed on that instance can use these 3037 // log configuration options. For more information, see Amazon ECS Container 3038 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3039 // in the Amazon Elastic Container Service Developer Guide. 3040 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3041 3042 // The name of the CloudWatch Logs log stream associated with the container. 3043 // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt 3044 // receives a log stream name when they reach the RUNNING status. 3045 LogStreamName *string `locationName:"logStreamName" type:"string"` 3046 3047 // For jobs run on EC2 resources that didn't specify memory requirements using 3048 // ResourceRequirement, the number of MiB of memory reserved for the job. For 3049 // other jobs, including all run on Fargate resources, see resourceRequirements. 3050 Memory *int64 `locationName:"memory" type:"integer"` 3051 3052 // The mount points for data volumes in your container. 3053 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3054 3055 // The network configuration for jobs running on Fargate resources. Jobs running 3056 // on EC2 resources must not specify this parameter. 3057 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 3058 3059 // The network interfaces associated with the job. 3060 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 3061 3062 // When this parameter is true, the container is given elevated permissions 3063 // on the host container instance (similar to the root user). The default value 3064 // is false. 3065 // 3066 // This parameter isn't applicable to jobs running on Fargate resources and 3067 // shouldn't be provided, or specified as false. 3068 Privileged *bool `locationName:"privileged" type:"boolean"` 3069 3070 // When this parameter is true, the container is given read-only access to its 3071 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 3072 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 3073 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 3074 // --read-only option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 3075 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 3076 3077 // A short (255 max characters) human-readable string to provide additional 3078 // details about a running or stopped container. 3079 Reason *string `locationName:"reason" type:"string"` 3080 3081 // The type and amount of resources to assign to a container. The supported 3082 // resources include GPU, MEMORY, and VCPU. 3083 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3084 3085 // The secrets to pass to the container. For more information, see Specifying 3086 // sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 3087 // in the AWS Batch User Guide. 3088 Secrets []*Secret `locationName:"secrets" type:"list"` 3089 3090 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 3091 // the container job. Each container attempt receives a task ARN when they reach 3092 // the STARTING status. 3093 TaskArn *string `locationName:"taskArn" type:"string"` 3094 3095 // A list of ulimit values to set in the container. This parameter maps to Ulimits 3096 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3097 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3098 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 3099 // 3100 // This parameter isn't applicable to jobs running on Fargate resources. 3101 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 3102 3103 // The user name to use inside the container. This parameter maps to User in 3104 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3105 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3106 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 3107 User *string `locationName:"user" type:"string"` 3108 3109 // The number of vCPUs reserved for the container. For jobs that run on EC2 3110 // resources, you can specify the vCPU requirement for the job using resourceRequirements, 3111 // but you can't specify the vCPU requirements in both the vcpus and resourceRequirement 3112 // object. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3113 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3114 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3115 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 3116 // vCPU. This is required but can be specified in several places. It must be 3117 // specified for each node at least once. 3118 // 3119 // This parameter isn't applicable to jobs that run on Fargate resources. For 3120 // jobs that run on Fargate resources, you must specify the vCPU requirement 3121 // for the job using resourceRequirements. 3122 Vcpus *int64 `locationName:"vcpus" type:"integer"` 3123 3124 // A list of volumes associated with the job. 3125 Volumes []*Volume `locationName:"volumes" type:"list"` 3126} 3127 3128// String returns the string representation 3129func (s ContainerDetail) String() string { 3130 return awsutil.Prettify(s) 3131} 3132 3133// GoString returns the string representation 3134func (s ContainerDetail) GoString() string { 3135 return s.String() 3136} 3137 3138// SetCommand sets the Command field's value. 3139func (s *ContainerDetail) SetCommand(v []*string) *ContainerDetail { 3140 s.Command = v 3141 return s 3142} 3143 3144// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 3145func (s *ContainerDetail) SetContainerInstanceArn(v string) *ContainerDetail { 3146 s.ContainerInstanceArn = &v 3147 return s 3148} 3149 3150// SetEnvironment sets the Environment field's value. 3151func (s *ContainerDetail) SetEnvironment(v []*KeyValuePair) *ContainerDetail { 3152 s.Environment = v 3153 return s 3154} 3155 3156// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3157func (s *ContainerDetail) SetExecutionRoleArn(v string) *ContainerDetail { 3158 s.ExecutionRoleArn = &v 3159 return s 3160} 3161 3162// SetExitCode sets the ExitCode field's value. 3163func (s *ContainerDetail) SetExitCode(v int64) *ContainerDetail { 3164 s.ExitCode = &v 3165 return s 3166} 3167 3168// SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 3169func (s *ContainerDetail) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerDetail { 3170 s.FargatePlatformConfiguration = v 3171 return s 3172} 3173 3174// SetImage sets the Image field's value. 3175func (s *ContainerDetail) SetImage(v string) *ContainerDetail { 3176 s.Image = &v 3177 return s 3178} 3179 3180// SetInstanceType sets the InstanceType field's value. 3181func (s *ContainerDetail) SetInstanceType(v string) *ContainerDetail { 3182 s.InstanceType = &v 3183 return s 3184} 3185 3186// SetJobRoleArn sets the JobRoleArn field's value. 3187func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail { 3188 s.JobRoleArn = &v 3189 return s 3190} 3191 3192// SetLinuxParameters sets the LinuxParameters field's value. 3193func (s *ContainerDetail) SetLinuxParameters(v *LinuxParameters) *ContainerDetail { 3194 s.LinuxParameters = v 3195 return s 3196} 3197 3198// SetLogConfiguration sets the LogConfiguration field's value. 3199func (s *ContainerDetail) SetLogConfiguration(v *LogConfiguration) *ContainerDetail { 3200 s.LogConfiguration = v 3201 return s 3202} 3203 3204// SetLogStreamName sets the LogStreamName field's value. 3205func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail { 3206 s.LogStreamName = &v 3207 return s 3208} 3209 3210// SetMemory sets the Memory field's value. 3211func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail { 3212 s.Memory = &v 3213 return s 3214} 3215 3216// SetMountPoints sets the MountPoints field's value. 3217func (s *ContainerDetail) SetMountPoints(v []*MountPoint) *ContainerDetail { 3218 s.MountPoints = v 3219 return s 3220} 3221 3222// SetNetworkConfiguration sets the NetworkConfiguration field's value. 3223func (s *ContainerDetail) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerDetail { 3224 s.NetworkConfiguration = v 3225 return s 3226} 3227 3228// SetNetworkInterfaces sets the NetworkInterfaces field's value. 3229func (s *ContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *ContainerDetail { 3230 s.NetworkInterfaces = v 3231 return s 3232} 3233 3234// SetPrivileged sets the Privileged field's value. 3235func (s *ContainerDetail) SetPrivileged(v bool) *ContainerDetail { 3236 s.Privileged = &v 3237 return s 3238} 3239 3240// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 3241func (s *ContainerDetail) SetReadonlyRootFilesystem(v bool) *ContainerDetail { 3242 s.ReadonlyRootFilesystem = &v 3243 return s 3244} 3245 3246// SetReason sets the Reason field's value. 3247func (s *ContainerDetail) SetReason(v string) *ContainerDetail { 3248 s.Reason = &v 3249 return s 3250} 3251 3252// SetResourceRequirements sets the ResourceRequirements field's value. 3253func (s *ContainerDetail) SetResourceRequirements(v []*ResourceRequirement) *ContainerDetail { 3254 s.ResourceRequirements = v 3255 return s 3256} 3257 3258// SetSecrets sets the Secrets field's value. 3259func (s *ContainerDetail) SetSecrets(v []*Secret) *ContainerDetail { 3260 s.Secrets = v 3261 return s 3262} 3263 3264// SetTaskArn sets the TaskArn field's value. 3265func (s *ContainerDetail) SetTaskArn(v string) *ContainerDetail { 3266 s.TaskArn = &v 3267 return s 3268} 3269 3270// SetUlimits sets the Ulimits field's value. 3271func (s *ContainerDetail) SetUlimits(v []*Ulimit) *ContainerDetail { 3272 s.Ulimits = v 3273 return s 3274} 3275 3276// SetUser sets the User field's value. 3277func (s *ContainerDetail) SetUser(v string) *ContainerDetail { 3278 s.User = &v 3279 return s 3280} 3281 3282// SetVcpus sets the Vcpus field's value. 3283func (s *ContainerDetail) SetVcpus(v int64) *ContainerDetail { 3284 s.Vcpus = &v 3285 return s 3286} 3287 3288// SetVolumes sets the Volumes field's value. 3289func (s *ContainerDetail) SetVolumes(v []*Volume) *ContainerDetail { 3290 s.Volumes = v 3291 return s 3292} 3293 3294// The overrides that should be sent to a container. 3295type ContainerOverrides struct { 3296 _ struct{} `type:"structure"` 3297 3298 // The command to send to the container that overrides the default command from 3299 // the Docker image or the job definition. 3300 Command []*string `locationName:"command" type:"list"` 3301 3302 // The environment variables to send to the container. You can add new environment 3303 // variables, which are added to the container at launch, or you can override 3304 // the existing environment variables from the Docker image or the job definition. 3305 // 3306 // Environment variables must not start with AWS_BATCH; this naming convention 3307 // is reserved for variables that are set by the AWS Batch service. 3308 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3309 3310 // The instance type to use for a multi-node parallel job. 3311 // 3312 // This parameter isn't applicable to single-node container jobs or for jobs 3313 // running on Fargate resources and shouldn't be provided. 3314 InstanceType *string `locationName:"instanceType" type:"string"` 3315 3316 // This parameter indicates the amount of memory (in MiB) that's reserved for 3317 // the job. It overrides the memory parameter set in the job definition, but 3318 // doesn't override any memory requirement specified in the ResourceRequirement 3319 // structure in the job definition. 3320 // 3321 // This parameter is supported for jobs that run on EC2 resources, but isn't 3322 // supported for jobs that run on Fargate resources. For these resources, use 3323 // resourceRequirement instead. 3324 // 3325 // Deprecated: This field is deprecated, use resourceRequirements instead. 3326 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 3327 3328 // The type and amount of resources to assign to a container. This overrides 3329 // the settings in the job definition. The supported resources include GPU, 3330 // MEMORY, and VCPU. 3331 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3332 3333 // This parameter indicates the number of vCPUs reserved for the container.It 3334 // overrides the vcpus parameter that's set in the job definition, but doesn't 3335 // override any vCPU requirement specified in the resourceRequirement structure 3336 // in the job definition. 3337 // 3338 // This parameter is supported for jobs that run on EC2 resources, but isn't 3339 // supported for jobs that run on Fargate resources. For Fargate resources, 3340 // you can only use resourceRequirement. For EC2 resources, you can use either 3341 // this parameter or resourceRequirement but not both. 3342 // 3343 // This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3344 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3345 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3346 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 3347 // vCPU. 3348 // 3349 // This parameter isn't applicable to jobs that run on Fargate resources and 3350 // shouldn't be provided. For jobs that run on Fargate resources, you must specify 3351 // the vCPU requirement for the job using resourceRequirements. 3352 // 3353 // Deprecated: This field is deprecated, use resourceRequirements instead. 3354 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 3355} 3356 3357// String returns the string representation 3358func (s ContainerOverrides) String() string { 3359 return awsutil.Prettify(s) 3360} 3361 3362// GoString returns the string representation 3363func (s ContainerOverrides) GoString() string { 3364 return s.String() 3365} 3366 3367// Validate inspects the fields of the type to determine if they are valid. 3368func (s *ContainerOverrides) Validate() error { 3369 invalidParams := request.ErrInvalidParams{Context: "ContainerOverrides"} 3370 if s.ResourceRequirements != nil { 3371 for i, v := range s.ResourceRequirements { 3372 if v == nil { 3373 continue 3374 } 3375 if err := v.Validate(); err != nil { 3376 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 3377 } 3378 } 3379 } 3380 3381 if invalidParams.Len() > 0 { 3382 return invalidParams 3383 } 3384 return nil 3385} 3386 3387// SetCommand sets the Command field's value. 3388func (s *ContainerOverrides) SetCommand(v []*string) *ContainerOverrides { 3389 s.Command = v 3390 return s 3391} 3392 3393// SetEnvironment sets the Environment field's value. 3394func (s *ContainerOverrides) SetEnvironment(v []*KeyValuePair) *ContainerOverrides { 3395 s.Environment = v 3396 return s 3397} 3398 3399// SetInstanceType sets the InstanceType field's value. 3400func (s *ContainerOverrides) SetInstanceType(v string) *ContainerOverrides { 3401 s.InstanceType = &v 3402 return s 3403} 3404 3405// SetMemory sets the Memory field's value. 3406func (s *ContainerOverrides) SetMemory(v int64) *ContainerOverrides { 3407 s.Memory = &v 3408 return s 3409} 3410 3411// SetResourceRequirements sets the ResourceRequirements field's value. 3412func (s *ContainerOverrides) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverrides { 3413 s.ResourceRequirements = v 3414 return s 3415} 3416 3417// SetVcpus sets the Vcpus field's value. 3418func (s *ContainerOverrides) SetVcpus(v int64) *ContainerOverrides { 3419 s.Vcpus = &v 3420 return s 3421} 3422 3423// Container properties are used in job definitions to describe the container 3424// that's launched as part of a job. 3425type ContainerProperties struct { 3426 _ struct{} `type:"structure"` 3427 3428 // The command that's passed to the container. This parameter maps to Cmd in 3429 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3430 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3431 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 3432 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 3433 // (https://docs.docker.com/engine/reference/builder/#cmd). 3434 Command []*string `locationName:"command" type:"list"` 3435 3436 // The environment variables to pass to a container. This parameter maps to 3437 // Env in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3438 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3439 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 3440 // 3441 // We don't recommend using plaintext environment variables for sensitive information, 3442 // such as credential data. 3443 // 3444 // Environment variables must not start with AWS_BATCH; this naming convention 3445 // is reserved for variables that are set by the AWS Batch service. 3446 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3447 3448 // The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. 3449 // For jobs that run on Fargate resources, you must provide an execution role. 3450 // For more information, see AWS Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 3451 // in the AWS Batch User Guide. 3452 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 3453 3454 // The platform configuration for jobs running on Fargate resources. Jobs running 3455 // on EC2 resources must not specify this parameter. 3456 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 3457 3458 // The image used to start a container. This string is passed directly to the 3459 // Docker daemon. Images in the Docker Hub registry are available by default. 3460 // Other repositories are specified with repository-url/image:tag . Up to 255 3461 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, 3462 // periods, forward slashes, and number signs are allowed. This parameter maps 3463 // to Image in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3464 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3465 // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 3466 // 3467 // Docker image architecture must match the processor architecture of the compute 3468 // resources that they're scheduled on. For example, ARM-based Docker images 3469 // can only run on ARM-based compute resources. 3470 // 3471 // * Images in Amazon ECR repositories use the full registry and repository 3472 // URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>). 3473 // 3474 // * Images in official repositories on Docker Hub use a single name (for 3475 // example, ubuntu or mongo). 3476 // 3477 // * Images in other repositories on Docker Hub are qualified with an organization 3478 // name (for example, amazon/amazon-ecs-agent). 3479 // 3480 // * Images in other online repositories are qualified further by a domain 3481 // name (for example, quay.io/assemblyline/ubuntu). 3482 Image *string `locationName:"image" type:"string"` 3483 3484 // The instance type to use for a multi-node parallel job. All node groups in 3485 // a multi-node parallel job must use the same instance type. 3486 // 3487 // This parameter isn't applicable to single-node container jobs or for jobs 3488 // that run on Fargate resources and shouldn't be provided. 3489 InstanceType *string `locationName:"instanceType" type:"string"` 3490 3491 // The Amazon Resource Name (ARN) of the IAM role that the container can assume 3492 // for AWS permissions. For more information, see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3493 // in the Amazon Elastic Container Service Developer Guide. 3494 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 3495 3496 // Linux-specific modifications that are applied to the container, such as details 3497 // for device mappings. 3498 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3499 3500 // The log configuration specification for the container. 3501 // 3502 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3503 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3504 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3505 // By default, containers use the same logging driver that the Docker daemon 3506 // uses. However the container might use a different logging driver than the 3507 // Docker daemon by specifying a log driver with this parameter in the container 3508 // definition. To use a different logging driver for a container, the log system 3509 // must be configured properly on the container instance (or on a different 3510 // log server for remote logging options). For more information on the options 3511 // for different supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3512 // in the Docker documentation. 3513 // 3514 // AWS Batch currently supports a subset of the logging drivers available to 3515 // the Docker daemon (shown in the LogConfiguration data type). 3516 // 3517 // This parameter requires version 1.18 of the Docker Remote API or greater 3518 // on your container instance. To check the Docker Remote API version on your 3519 // container instance, log into your container instance and run the following 3520 // command: sudo docker version | grep "Server API version" 3521 // 3522 // The Amazon ECS container agent running on a container instance must register 3523 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3524 // environment variable before containers placed on that instance can use these 3525 // log configuration options. For more information, see Amazon ECS Container 3526 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3527 // in the Amazon Elastic Container Service Developer Guide. 3528 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3529 3530 // This parameter indicates the memory hard limit (in MiB) for a container. 3531 // If your container attempts to exceed the specified number, it is terminated. 3532 // You must specify at least 4 MiB of memory for a job using this parameter. 3533 // The memory hard limit can be specified in several places. It must be specified 3534 // for each node at least once. 3535 // 3536 // This parameter maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3537 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3538 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 3539 // 3540 // This parameter is supported on EC2 resources but isn't supported on Fargate 3541 // resources. For Fargate resources, you should specify the memory requirement 3542 // using resourceRequirement. You can do this for EC2 resources. 3543 // 3544 // If you're trying to maximize your resource utilization by providing your 3545 // jobs as much memory as possible for a particular instance type, see Memory 3546 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 3547 // in the AWS Batch User Guide. 3548 // 3549 // Deprecated: This field is deprecated, use resourceRequirements instead. 3550 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 3551 3552 // The mount points for data volumes in your container. This parameter maps 3553 // to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3554 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3555 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 3556 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3557 3558 // The network configuration for jobs running on Fargate resources. Jobs running 3559 // on EC2 resources must not specify this parameter. 3560 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 3561 3562 // When this parameter is true, the container is given elevated permissions 3563 // on the host container instance (similar to the root user). This parameter 3564 // maps to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3565 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3566 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 3567 // The default value is false. 3568 // 3569 // This parameter isn't applicable to jobs running on Fargate resources and 3570 // shouldn't be provided, or specified as false. 3571 Privileged *bool `locationName:"privileged" type:"boolean"` 3572 3573 // When this parameter is true, the container is given read-only access to its 3574 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 3575 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 3576 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 3577 // --read-only option to docker run. 3578 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 3579 3580 // The type and amount of resources to assign to a container. The supported 3581 // resources include GPU, MEMORY, and VCPU. 3582 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3583 3584 // The secrets for the container. For more information, see Specifying sensitive 3585 // data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 3586 // in the AWS Batch User Guide. 3587 Secrets []*Secret `locationName:"secrets" type:"list"` 3588 3589 // A list of ulimits to set in the container. This parameter maps to Ulimits 3590 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3591 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3592 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 3593 // 3594 // This parameter isn't applicable to jobs running on Fargate resources and 3595 // shouldn't be provided. 3596 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 3597 3598 // The user name to use inside the container. This parameter maps to User in 3599 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3600 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3601 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 3602 User *string `locationName:"user" type:"string"` 3603 3604 // The number of vCPUs reserved for the job. Each vCPU is equivalent to 1,024 3605 // CPU shares. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3606 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3607 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3608 // The number of vCPUs must be specified but can be be specified in several 3609 // places. You must specify it at least once for each node. 3610 // 3611 // This parameter is supported on EC2 resources but isn't supported for jobs 3612 // that run on Fargate resources. For these resources, use resourceRequirement 3613 // instead. You can use this parameter or resourceRequirements structure but 3614 // not both. 3615 // 3616 // This parameter isn't applicable to jobs running on Fargate resources and 3617 // shouldn't be provided. For jobs that run on Fargate resources, you must specify 3618 // the vCPU requirement for the job using resourceRequirements. 3619 // 3620 // Deprecated: This field is deprecated, use resourceRequirements instead. 3621 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 3622 3623 // A list of data volumes used in a job. 3624 Volumes []*Volume `locationName:"volumes" type:"list"` 3625} 3626 3627// String returns the string representation 3628func (s ContainerProperties) String() string { 3629 return awsutil.Prettify(s) 3630} 3631 3632// GoString returns the string representation 3633func (s ContainerProperties) GoString() string { 3634 return s.String() 3635} 3636 3637// Validate inspects the fields of the type to determine if they are valid. 3638func (s *ContainerProperties) Validate() error { 3639 invalidParams := request.ErrInvalidParams{Context: "ContainerProperties"} 3640 if s.LinuxParameters != nil { 3641 if err := s.LinuxParameters.Validate(); err != nil { 3642 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 3643 } 3644 } 3645 if s.LogConfiguration != nil { 3646 if err := s.LogConfiguration.Validate(); err != nil { 3647 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 3648 } 3649 } 3650 if s.ResourceRequirements != nil { 3651 for i, v := range s.ResourceRequirements { 3652 if v == nil { 3653 continue 3654 } 3655 if err := v.Validate(); err != nil { 3656 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 3657 } 3658 } 3659 } 3660 if s.Secrets != nil { 3661 for i, v := range s.Secrets { 3662 if v == nil { 3663 continue 3664 } 3665 if err := v.Validate(); err != nil { 3666 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 3667 } 3668 } 3669 } 3670 if s.Ulimits != nil { 3671 for i, v := range s.Ulimits { 3672 if v == nil { 3673 continue 3674 } 3675 if err := v.Validate(); err != nil { 3676 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 3677 } 3678 } 3679 } 3680 if s.Volumes != nil { 3681 for i, v := range s.Volumes { 3682 if v == nil { 3683 continue 3684 } 3685 if err := v.Validate(); err != nil { 3686 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 3687 } 3688 } 3689 } 3690 3691 if invalidParams.Len() > 0 { 3692 return invalidParams 3693 } 3694 return nil 3695} 3696 3697// SetCommand sets the Command field's value. 3698func (s *ContainerProperties) SetCommand(v []*string) *ContainerProperties { 3699 s.Command = v 3700 return s 3701} 3702 3703// SetEnvironment sets the Environment field's value. 3704func (s *ContainerProperties) SetEnvironment(v []*KeyValuePair) *ContainerProperties { 3705 s.Environment = v 3706 return s 3707} 3708 3709// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3710func (s *ContainerProperties) SetExecutionRoleArn(v string) *ContainerProperties { 3711 s.ExecutionRoleArn = &v 3712 return s 3713} 3714 3715// SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 3716func (s *ContainerProperties) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerProperties { 3717 s.FargatePlatformConfiguration = v 3718 return s 3719} 3720 3721// SetImage sets the Image field's value. 3722func (s *ContainerProperties) SetImage(v string) *ContainerProperties { 3723 s.Image = &v 3724 return s 3725} 3726 3727// SetInstanceType sets the InstanceType field's value. 3728func (s *ContainerProperties) SetInstanceType(v string) *ContainerProperties { 3729 s.InstanceType = &v 3730 return s 3731} 3732 3733// SetJobRoleArn sets the JobRoleArn field's value. 3734func (s *ContainerProperties) SetJobRoleArn(v string) *ContainerProperties { 3735 s.JobRoleArn = &v 3736 return s 3737} 3738 3739// SetLinuxParameters sets the LinuxParameters field's value. 3740func (s *ContainerProperties) SetLinuxParameters(v *LinuxParameters) *ContainerProperties { 3741 s.LinuxParameters = v 3742 return s 3743} 3744 3745// SetLogConfiguration sets the LogConfiguration field's value. 3746func (s *ContainerProperties) SetLogConfiguration(v *LogConfiguration) *ContainerProperties { 3747 s.LogConfiguration = v 3748 return s 3749} 3750 3751// SetMemory sets the Memory field's value. 3752func (s *ContainerProperties) SetMemory(v int64) *ContainerProperties { 3753 s.Memory = &v 3754 return s 3755} 3756 3757// SetMountPoints sets the MountPoints field's value. 3758func (s *ContainerProperties) SetMountPoints(v []*MountPoint) *ContainerProperties { 3759 s.MountPoints = v 3760 return s 3761} 3762 3763// SetNetworkConfiguration sets the NetworkConfiguration field's value. 3764func (s *ContainerProperties) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerProperties { 3765 s.NetworkConfiguration = v 3766 return s 3767} 3768 3769// SetPrivileged sets the Privileged field's value. 3770func (s *ContainerProperties) SetPrivileged(v bool) *ContainerProperties { 3771 s.Privileged = &v 3772 return s 3773} 3774 3775// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 3776func (s *ContainerProperties) SetReadonlyRootFilesystem(v bool) *ContainerProperties { 3777 s.ReadonlyRootFilesystem = &v 3778 return s 3779} 3780 3781// SetResourceRequirements sets the ResourceRequirements field's value. 3782func (s *ContainerProperties) SetResourceRequirements(v []*ResourceRequirement) *ContainerProperties { 3783 s.ResourceRequirements = v 3784 return s 3785} 3786 3787// SetSecrets sets the Secrets field's value. 3788func (s *ContainerProperties) SetSecrets(v []*Secret) *ContainerProperties { 3789 s.Secrets = v 3790 return s 3791} 3792 3793// SetUlimits sets the Ulimits field's value. 3794func (s *ContainerProperties) SetUlimits(v []*Ulimit) *ContainerProperties { 3795 s.Ulimits = v 3796 return s 3797} 3798 3799// SetUser sets the User field's value. 3800func (s *ContainerProperties) SetUser(v string) *ContainerProperties { 3801 s.User = &v 3802 return s 3803} 3804 3805// SetVcpus sets the Vcpus field's value. 3806func (s *ContainerProperties) SetVcpus(v int64) *ContainerProperties { 3807 s.Vcpus = &v 3808 return s 3809} 3810 3811// SetVolumes sets the Volumes field's value. 3812func (s *ContainerProperties) SetVolumes(v []*Volume) *ContainerProperties { 3813 s.Volumes = v 3814 return s 3815} 3816 3817// An object representing summary details of a container within a job. 3818type ContainerSummary struct { 3819 _ struct{} `type:"structure"` 3820 3821 // The exit code to return upon completion. 3822 ExitCode *int64 `locationName:"exitCode" type:"integer"` 3823 3824 // A short (255 max characters) human-readable string to provide additional 3825 // details about a running or stopped container. 3826 Reason *string `locationName:"reason" type:"string"` 3827} 3828 3829// String returns the string representation 3830func (s ContainerSummary) String() string { 3831 return awsutil.Prettify(s) 3832} 3833 3834// GoString returns the string representation 3835func (s ContainerSummary) GoString() string { 3836 return s.String() 3837} 3838 3839// SetExitCode sets the ExitCode field's value. 3840func (s *ContainerSummary) SetExitCode(v int64) *ContainerSummary { 3841 s.ExitCode = &v 3842 return s 3843} 3844 3845// SetReason sets the Reason field's value. 3846func (s *ContainerSummary) SetReason(v string) *ContainerSummary { 3847 s.Reason = &v 3848 return s 3849} 3850 3851// Contains the parameters for CreateComputeEnvironment. 3852type CreateComputeEnvironmentInput struct { 3853 _ struct{} `type:"structure"` 3854 3855 // The name for your compute environment. Up to 128 letters (uppercase and lowercase), 3856 // numbers, hyphens, and underscores are allowed. 3857 // 3858 // ComputeEnvironmentName is a required field 3859 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 3860 3861 // Details about the compute resources managed by the compute environment. This 3862 // parameter is required for managed compute environments. For more information, 3863 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3864 // in the AWS Batch User Guide. 3865 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 3866 3867 // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch 3868 // to make calls to other AWS services on your behalf. For more information, 3869 // see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 3870 // in the AWS Batch User Guide. 3871 // 3872 // If your account has already created the AWS Batch service-linked role, that 3873 // role is used by default for your compute environment unless you specify a 3874 // role here. If the AWS Batch service-linked role does not exist in your account, 3875 // and no role is specified here, the service will try to create the AWS Batch 3876 // service-linked role in your account. 3877 // 3878 // If your specified role has a path other than /, then you must specify either 3879 // the full role ARN (recommended) or prefix the role name with the path. For 3880 // example, if a role with the name bar has a path of /foo/ then you would specify 3881 // /foo/bar as the role name. For more information, see Friendly names and paths 3882 // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 3883 // in the IAM User Guide. 3884 // 3885 // Depending on how you created your AWS Batch service role, its ARN might contain 3886 // the service-role path prefix. When you only specify the name of the service 3887 // role, AWS Batch assumes that your ARN doesn't use the service-role path prefix. 3888 // Because of this, we recommend that you specify the full ARN of your service 3889 // role when you create compute environments. 3890 ServiceRole *string `locationName:"serviceRole" type:"string"` 3891 3892 // The state of the compute environment. If the state is ENABLED, then the compute 3893 // environment accepts jobs from a queue and can scale out automatically based 3894 // on queues. 3895 // 3896 // If the state is ENABLED, then the AWS Batch scheduler can attempt to place 3897 // jobs from an associated job queue on the compute resources within the environment. 3898 // If the compute environment is managed, then it can scale its instances out 3899 // or in automatically, based on the job queue demand. 3900 // 3901 // If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to 3902 // place jobs within the environment. Jobs in a STARTING or RUNNING state continue 3903 // to progress normally. Managed compute environments in the DISABLED state 3904 // don't scale out. However, they scale in to minvCpus value after instances 3905 // become idle. 3906 State *string `locationName:"state" type:"string" enum:"CEState"` 3907 3908 // The tags that you apply to the compute environment to help you categorize 3909 // and organize your resources. Each tag consists of a key and an optional value. 3910 // For more information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 3911 // in AWS General Reference. 3912 // 3913 // These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html) 3914 // and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html) 3915 // API operations. These tags don't propagate to the underlying compute resources. 3916 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 3917 3918 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 3919 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3920 // in the AWS Batch User Guide. 3921 // 3922 // Type is a required field 3923 Type *string `locationName:"type" type:"string" required:"true" enum:"CEType"` 3924} 3925 3926// String returns the string representation 3927func (s CreateComputeEnvironmentInput) String() string { 3928 return awsutil.Prettify(s) 3929} 3930 3931// GoString returns the string representation 3932func (s CreateComputeEnvironmentInput) GoString() string { 3933 return s.String() 3934} 3935 3936// Validate inspects the fields of the type to determine if they are valid. 3937func (s *CreateComputeEnvironmentInput) Validate() error { 3938 invalidParams := request.ErrInvalidParams{Context: "CreateComputeEnvironmentInput"} 3939 if s.ComputeEnvironmentName == nil { 3940 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentName")) 3941 } 3942 if s.Tags != nil && len(s.Tags) < 1 { 3943 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3944 } 3945 if s.Type == nil { 3946 invalidParams.Add(request.NewErrParamRequired("Type")) 3947 } 3948 if s.ComputeResources != nil { 3949 if err := s.ComputeResources.Validate(); err != nil { 3950 invalidParams.AddNested("ComputeResources", err.(request.ErrInvalidParams)) 3951 } 3952 } 3953 3954 if invalidParams.Len() > 0 { 3955 return invalidParams 3956 } 3957 return nil 3958} 3959 3960// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 3961func (s *CreateComputeEnvironmentInput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentInput { 3962 s.ComputeEnvironmentName = &v 3963 return s 3964} 3965 3966// SetComputeResources sets the ComputeResources field's value. 3967func (s *CreateComputeEnvironmentInput) SetComputeResources(v *ComputeResource) *CreateComputeEnvironmentInput { 3968 s.ComputeResources = v 3969 return s 3970} 3971 3972// SetServiceRole sets the ServiceRole field's value. 3973func (s *CreateComputeEnvironmentInput) SetServiceRole(v string) *CreateComputeEnvironmentInput { 3974 s.ServiceRole = &v 3975 return s 3976} 3977 3978// SetState sets the State field's value. 3979func (s *CreateComputeEnvironmentInput) SetState(v string) *CreateComputeEnvironmentInput { 3980 s.State = &v 3981 return s 3982} 3983 3984// SetTags sets the Tags field's value. 3985func (s *CreateComputeEnvironmentInput) SetTags(v map[string]*string) *CreateComputeEnvironmentInput { 3986 s.Tags = v 3987 return s 3988} 3989 3990// SetType sets the Type field's value. 3991func (s *CreateComputeEnvironmentInput) SetType(v string) *CreateComputeEnvironmentInput { 3992 s.Type = &v 3993 return s 3994} 3995 3996type CreateComputeEnvironmentOutput struct { 3997 _ struct{} `type:"structure"` 3998 3999 // The Amazon Resource Name (ARN) of the compute environment. 4000 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 4001 4002 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 4003 // numbers, hyphens, and underscores are allowed. 4004 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 4005} 4006 4007// String returns the string representation 4008func (s CreateComputeEnvironmentOutput) String() string { 4009 return awsutil.Prettify(s) 4010} 4011 4012// GoString returns the string representation 4013func (s CreateComputeEnvironmentOutput) GoString() string { 4014 return s.String() 4015} 4016 4017// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 4018func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *CreateComputeEnvironmentOutput { 4019 s.ComputeEnvironmentArn = &v 4020 return s 4021} 4022 4023// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 4024func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentOutput { 4025 s.ComputeEnvironmentName = &v 4026 return s 4027} 4028 4029// Contains the parameters for CreateJobQueue. 4030type CreateJobQueueInput struct { 4031 _ struct{} `type:"structure"` 4032 4033 // The set of compute environments mapped to a job queue and their order relative 4034 // to each other. The job scheduler uses this parameter to determine which compute 4035 // environment should run a specific job. Compute environments must be in the 4036 // VALID state before you can associate them with a job queue. You can associate 4037 // up to three compute environments with a job queue. All of the compute environments 4038 // must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 4039 // and Fargate compute environments can't be mixed. 4040 // 4041 // All compute environments that are associated with a job queue must share 4042 // the same architecture. AWS Batch doesn't support mixing compute environment 4043 // architecture types in a single job queue. 4044 // 4045 // ComputeEnvironmentOrder is a required field 4046 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 4047 4048 // The name of the job queue. Up to 128 letters (uppercase and lowercase), numbers, 4049 // and underscores are allowed. 4050 // 4051 // JobQueueName is a required field 4052 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4053 4054 // The priority of the job queue. Job queues with a higher priority (or a higher 4055 // integer value for the priority parameter) are evaluated first when associated 4056 // with the same compute environment. Priority is determined in descending order. 4057 // For example, a job queue with a priority value of 10 is given scheduling 4058 // preference over a job queue with a priority value of 1. All of the compute 4059 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 4060 // EC2 and Fargate compute environments cannot be mixed. 4061 // 4062 // Priority is a required field 4063 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 4064 4065 // The state of the job queue. If the job queue state is ENABLED, it is able 4066 // to accept jobs. If the job queue state is DISABLED, new jobs can't be added 4067 // to the queue, but jobs already in the queue can finish. 4068 State *string `locationName:"state" type:"string" enum:"JQState"` 4069 4070 // The tags that you apply to the job queue to help you categorize and organize 4071 // your resources. Each tag consists of a key and an optional value. For more 4072 // information, see Tagging your AWS Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 4073 // in AWS Batch User Guide. 4074 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4075} 4076 4077// String returns the string representation 4078func (s CreateJobQueueInput) String() string { 4079 return awsutil.Prettify(s) 4080} 4081 4082// GoString returns the string representation 4083func (s CreateJobQueueInput) GoString() string { 4084 return s.String() 4085} 4086 4087// Validate inspects the fields of the type to determine if they are valid. 4088func (s *CreateJobQueueInput) Validate() error { 4089 invalidParams := request.ErrInvalidParams{Context: "CreateJobQueueInput"} 4090 if s.ComputeEnvironmentOrder == nil { 4091 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentOrder")) 4092 } 4093 if s.JobQueueName == nil { 4094 invalidParams.Add(request.NewErrParamRequired("JobQueueName")) 4095 } 4096 if s.Priority == nil { 4097 invalidParams.Add(request.NewErrParamRequired("Priority")) 4098 } 4099 if s.Tags != nil && len(s.Tags) < 1 { 4100 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4101 } 4102 if s.ComputeEnvironmentOrder != nil { 4103 for i, v := range s.ComputeEnvironmentOrder { 4104 if v == nil { 4105 continue 4106 } 4107 if err := v.Validate(); err != nil { 4108 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 4109 } 4110 } 4111 } 4112 4113 if invalidParams.Len() > 0 { 4114 return invalidParams 4115 } 4116 return nil 4117} 4118 4119// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 4120func (s *CreateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *CreateJobQueueInput { 4121 s.ComputeEnvironmentOrder = v 4122 return s 4123} 4124 4125// SetJobQueueName sets the JobQueueName field's value. 4126func (s *CreateJobQueueInput) SetJobQueueName(v string) *CreateJobQueueInput { 4127 s.JobQueueName = &v 4128 return s 4129} 4130 4131// SetPriority sets the Priority field's value. 4132func (s *CreateJobQueueInput) SetPriority(v int64) *CreateJobQueueInput { 4133 s.Priority = &v 4134 return s 4135} 4136 4137// SetState sets the State field's value. 4138func (s *CreateJobQueueInput) SetState(v string) *CreateJobQueueInput { 4139 s.State = &v 4140 return s 4141} 4142 4143// SetTags sets the Tags field's value. 4144func (s *CreateJobQueueInput) SetTags(v map[string]*string) *CreateJobQueueInput { 4145 s.Tags = v 4146 return s 4147} 4148 4149type CreateJobQueueOutput struct { 4150 _ struct{} `type:"structure"` 4151 4152 // The Amazon Resource Name (ARN) of the job queue. 4153 // 4154 // JobQueueArn is a required field 4155 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 4156 4157 // The name of the job queue. 4158 // 4159 // JobQueueName is a required field 4160 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4161} 4162 4163// String returns the string representation 4164func (s CreateJobQueueOutput) String() string { 4165 return awsutil.Prettify(s) 4166} 4167 4168// GoString returns the string representation 4169func (s CreateJobQueueOutput) GoString() string { 4170 return s.String() 4171} 4172 4173// SetJobQueueArn sets the JobQueueArn field's value. 4174func (s *CreateJobQueueOutput) SetJobQueueArn(v string) *CreateJobQueueOutput { 4175 s.JobQueueArn = &v 4176 return s 4177} 4178 4179// SetJobQueueName sets the JobQueueName field's value. 4180func (s *CreateJobQueueOutput) SetJobQueueName(v string) *CreateJobQueueOutput { 4181 s.JobQueueName = &v 4182 return s 4183} 4184 4185// Contains the parameters for DeleteComputeEnvironment. 4186type DeleteComputeEnvironmentInput struct { 4187 _ struct{} `type:"structure"` 4188 4189 // The name or Amazon Resource Name (ARN) of the compute environment to delete. 4190 // 4191 // ComputeEnvironment is a required field 4192 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 4193} 4194 4195// String returns the string representation 4196func (s DeleteComputeEnvironmentInput) String() string { 4197 return awsutil.Prettify(s) 4198} 4199 4200// GoString returns the string representation 4201func (s DeleteComputeEnvironmentInput) GoString() string { 4202 return s.String() 4203} 4204 4205// Validate inspects the fields of the type to determine if they are valid. 4206func (s *DeleteComputeEnvironmentInput) Validate() error { 4207 invalidParams := request.ErrInvalidParams{Context: "DeleteComputeEnvironmentInput"} 4208 if s.ComputeEnvironment == nil { 4209 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 4210 } 4211 4212 if invalidParams.Len() > 0 { 4213 return invalidParams 4214 } 4215 return nil 4216} 4217 4218// SetComputeEnvironment sets the ComputeEnvironment field's value. 4219func (s *DeleteComputeEnvironmentInput) SetComputeEnvironment(v string) *DeleteComputeEnvironmentInput { 4220 s.ComputeEnvironment = &v 4221 return s 4222} 4223 4224type DeleteComputeEnvironmentOutput struct { 4225 _ struct{} `type:"structure"` 4226} 4227 4228// String returns the string representation 4229func (s DeleteComputeEnvironmentOutput) String() string { 4230 return awsutil.Prettify(s) 4231} 4232 4233// GoString returns the string representation 4234func (s DeleteComputeEnvironmentOutput) GoString() string { 4235 return s.String() 4236} 4237 4238// Contains the parameters for DeleteJobQueue. 4239type DeleteJobQueueInput struct { 4240 _ struct{} `type:"structure"` 4241 4242 // The short name or full Amazon Resource Name (ARN) of the queue to delete. 4243 // 4244 // JobQueue is a required field 4245 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 4246} 4247 4248// String returns the string representation 4249func (s DeleteJobQueueInput) String() string { 4250 return awsutil.Prettify(s) 4251} 4252 4253// GoString returns the string representation 4254func (s DeleteJobQueueInput) GoString() string { 4255 return s.String() 4256} 4257 4258// Validate inspects the fields of the type to determine if they are valid. 4259func (s *DeleteJobQueueInput) Validate() error { 4260 invalidParams := request.ErrInvalidParams{Context: "DeleteJobQueueInput"} 4261 if s.JobQueue == nil { 4262 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 4263 } 4264 4265 if invalidParams.Len() > 0 { 4266 return invalidParams 4267 } 4268 return nil 4269} 4270 4271// SetJobQueue sets the JobQueue field's value. 4272func (s *DeleteJobQueueInput) SetJobQueue(v string) *DeleteJobQueueInput { 4273 s.JobQueue = &v 4274 return s 4275} 4276 4277type DeleteJobQueueOutput struct { 4278 _ struct{} `type:"structure"` 4279} 4280 4281// String returns the string representation 4282func (s DeleteJobQueueOutput) String() string { 4283 return awsutil.Prettify(s) 4284} 4285 4286// GoString returns the string representation 4287func (s DeleteJobQueueOutput) GoString() string { 4288 return s.String() 4289} 4290 4291type DeregisterJobDefinitionInput struct { 4292 _ struct{} `type:"structure"` 4293 4294 // The name and revision (name:revision) or full Amazon Resource Name (ARN) 4295 // of the job definition to deregister. 4296 // 4297 // JobDefinition is a required field 4298 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 4299} 4300 4301// String returns the string representation 4302func (s DeregisterJobDefinitionInput) String() string { 4303 return awsutil.Prettify(s) 4304} 4305 4306// GoString returns the string representation 4307func (s DeregisterJobDefinitionInput) GoString() string { 4308 return s.String() 4309} 4310 4311// Validate inspects the fields of the type to determine if they are valid. 4312func (s *DeregisterJobDefinitionInput) Validate() error { 4313 invalidParams := request.ErrInvalidParams{Context: "DeregisterJobDefinitionInput"} 4314 if s.JobDefinition == nil { 4315 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 4316 } 4317 4318 if invalidParams.Len() > 0 { 4319 return invalidParams 4320 } 4321 return nil 4322} 4323 4324// SetJobDefinition sets the JobDefinition field's value. 4325func (s *DeregisterJobDefinitionInput) SetJobDefinition(v string) *DeregisterJobDefinitionInput { 4326 s.JobDefinition = &v 4327 return s 4328} 4329 4330type DeregisterJobDefinitionOutput struct { 4331 _ struct{} `type:"structure"` 4332} 4333 4334// String returns the string representation 4335func (s DeregisterJobDefinitionOutput) String() string { 4336 return awsutil.Prettify(s) 4337} 4338 4339// GoString returns the string representation 4340func (s DeregisterJobDefinitionOutput) GoString() string { 4341 return s.String() 4342} 4343 4344// Contains the parameters for DescribeComputeEnvironments. 4345type DescribeComputeEnvironmentsInput struct { 4346 _ struct{} `type:"structure"` 4347 4348 // A list of up to 100 compute environment names or full Amazon Resource Name 4349 // (ARN) entries. 4350 ComputeEnvironments []*string `locationName:"computeEnvironments" type:"list"` 4351 4352 // The maximum number of cluster results returned by DescribeComputeEnvironments 4353 // in paginated output. When this parameter is used, DescribeComputeEnvironments 4354 // only returns maxResults results in a single page along with a nextToken response 4355 // element. The remaining results of the initial request can be seen by sending 4356 // another DescribeComputeEnvironments request with the returned nextToken value. 4357 // This value can be between 1 and 100. If this parameter isn't used, then DescribeComputeEnvironments 4358 // returns up to 100 results and a nextToken value if applicable. 4359 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4360 4361 // The nextToken value returned from a previous paginated DescribeComputeEnvironments 4362 // request where maxResults was used and the results exceeded the value of that 4363 // parameter. Pagination continues from the end of the previous results that 4364 // returned the nextToken value. This value is null when there are no more results 4365 // to return. 4366 // 4367 // This token should be treated as an opaque identifier that's only used to 4368 // retrieve the next items in a list and not for other programmatic purposes. 4369 NextToken *string `locationName:"nextToken" type:"string"` 4370} 4371 4372// String returns the string representation 4373func (s DescribeComputeEnvironmentsInput) String() string { 4374 return awsutil.Prettify(s) 4375} 4376 4377// GoString returns the string representation 4378func (s DescribeComputeEnvironmentsInput) GoString() string { 4379 return s.String() 4380} 4381 4382// SetComputeEnvironments sets the ComputeEnvironments field's value. 4383func (s *DescribeComputeEnvironmentsInput) SetComputeEnvironments(v []*string) *DescribeComputeEnvironmentsInput { 4384 s.ComputeEnvironments = v 4385 return s 4386} 4387 4388// SetMaxResults sets the MaxResults field's value. 4389func (s *DescribeComputeEnvironmentsInput) SetMaxResults(v int64) *DescribeComputeEnvironmentsInput { 4390 s.MaxResults = &v 4391 return s 4392} 4393 4394// SetNextToken sets the NextToken field's value. 4395func (s *DescribeComputeEnvironmentsInput) SetNextToken(v string) *DescribeComputeEnvironmentsInput { 4396 s.NextToken = &v 4397 return s 4398} 4399 4400type DescribeComputeEnvironmentsOutput struct { 4401 _ struct{} `type:"structure"` 4402 4403 // The list of compute environments. 4404 ComputeEnvironments []*ComputeEnvironmentDetail `locationName:"computeEnvironments" type:"list"` 4405 4406 // The nextToken value to include in a future DescribeComputeEnvironments request. 4407 // When the results of a DescribeJobDefinitions request exceed maxResults, this 4408 // value can be used to retrieve the next page of results. This value is null 4409 // when there are no more results to return. 4410 NextToken *string `locationName:"nextToken" type:"string"` 4411} 4412 4413// String returns the string representation 4414func (s DescribeComputeEnvironmentsOutput) String() string { 4415 return awsutil.Prettify(s) 4416} 4417 4418// GoString returns the string representation 4419func (s DescribeComputeEnvironmentsOutput) GoString() string { 4420 return s.String() 4421} 4422 4423// SetComputeEnvironments sets the ComputeEnvironments field's value. 4424func (s *DescribeComputeEnvironmentsOutput) SetComputeEnvironments(v []*ComputeEnvironmentDetail) *DescribeComputeEnvironmentsOutput { 4425 s.ComputeEnvironments = v 4426 return s 4427} 4428 4429// SetNextToken sets the NextToken field's value. 4430func (s *DescribeComputeEnvironmentsOutput) SetNextToken(v string) *DescribeComputeEnvironmentsOutput { 4431 s.NextToken = &v 4432 return s 4433} 4434 4435// Contains the parameters for DescribeJobDefinitions. 4436type DescribeJobDefinitionsInput struct { 4437 _ struct{} `type:"structure"` 4438 4439 // The name of the job definition to describe. 4440 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string"` 4441 4442 // A list of up to 100 job definition names or full Amazon Resource Name (ARN) 4443 // entries. 4444 JobDefinitions []*string `locationName:"jobDefinitions" type:"list"` 4445 4446 // The maximum number of results returned by DescribeJobDefinitions in paginated 4447 // output. When this parameter is used, DescribeJobDefinitions only returns 4448 // maxResults results in a single page and a nextToken response element. The 4449 // remaining results of the initial request can be seen by sending another DescribeJobDefinitions 4450 // request with the returned nextToken value. This value can be between 1 and 4451 // 100. If this parameter isn't used, then DescribeJobDefinitions returns up 4452 // to 100 results and a nextToken value if applicable. 4453 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4454 4455 // The nextToken value returned from a previous paginated DescribeJobDefinitions 4456 // request where maxResults was used and the results exceeded the value of that 4457 // parameter. Pagination continues from the end of the previous results that 4458 // returned the nextToken value. This value is null when there are no more results 4459 // to return. 4460 // 4461 // This token should be treated as an opaque identifier that's only used to 4462 // retrieve the next items in a list and not for other programmatic purposes. 4463 NextToken *string `locationName:"nextToken" type:"string"` 4464 4465 // The status used to filter job definitions. 4466 Status *string `locationName:"status" type:"string"` 4467} 4468 4469// String returns the string representation 4470func (s DescribeJobDefinitionsInput) String() string { 4471 return awsutil.Prettify(s) 4472} 4473 4474// GoString returns the string representation 4475func (s DescribeJobDefinitionsInput) GoString() string { 4476 return s.String() 4477} 4478 4479// SetJobDefinitionName sets the JobDefinitionName field's value. 4480func (s *DescribeJobDefinitionsInput) SetJobDefinitionName(v string) *DescribeJobDefinitionsInput { 4481 s.JobDefinitionName = &v 4482 return s 4483} 4484 4485// SetJobDefinitions sets the JobDefinitions field's value. 4486func (s *DescribeJobDefinitionsInput) SetJobDefinitions(v []*string) *DescribeJobDefinitionsInput { 4487 s.JobDefinitions = v 4488 return s 4489} 4490 4491// SetMaxResults sets the MaxResults field's value. 4492func (s *DescribeJobDefinitionsInput) SetMaxResults(v int64) *DescribeJobDefinitionsInput { 4493 s.MaxResults = &v 4494 return s 4495} 4496 4497// SetNextToken sets the NextToken field's value. 4498func (s *DescribeJobDefinitionsInput) SetNextToken(v string) *DescribeJobDefinitionsInput { 4499 s.NextToken = &v 4500 return s 4501} 4502 4503// SetStatus sets the Status field's value. 4504func (s *DescribeJobDefinitionsInput) SetStatus(v string) *DescribeJobDefinitionsInput { 4505 s.Status = &v 4506 return s 4507} 4508 4509type DescribeJobDefinitionsOutput struct { 4510 _ struct{} `type:"structure"` 4511 4512 // The list of job definitions. 4513 JobDefinitions []*JobDefinition `locationName:"jobDefinitions" type:"list"` 4514 4515 // The nextToken value to include in a future DescribeJobDefinitions request. 4516 // When the results of a DescribeJobDefinitions request exceed maxResults, this 4517 // value can be used to retrieve the next page of results. This value is null 4518 // when there are no more results to return. 4519 NextToken *string `locationName:"nextToken" type:"string"` 4520} 4521 4522// String returns the string representation 4523func (s DescribeJobDefinitionsOutput) String() string { 4524 return awsutil.Prettify(s) 4525} 4526 4527// GoString returns the string representation 4528func (s DescribeJobDefinitionsOutput) GoString() string { 4529 return s.String() 4530} 4531 4532// SetJobDefinitions sets the JobDefinitions field's value. 4533func (s *DescribeJobDefinitionsOutput) SetJobDefinitions(v []*JobDefinition) *DescribeJobDefinitionsOutput { 4534 s.JobDefinitions = v 4535 return s 4536} 4537 4538// SetNextToken sets the NextToken field's value. 4539func (s *DescribeJobDefinitionsOutput) SetNextToken(v string) *DescribeJobDefinitionsOutput { 4540 s.NextToken = &v 4541 return s 4542} 4543 4544// Contains the parameters for DescribeJobQueues. 4545type DescribeJobQueuesInput struct { 4546 _ struct{} `type:"structure"` 4547 4548 // A list of up to 100 queue names or full queue Amazon Resource Name (ARN) 4549 // entries. 4550 JobQueues []*string `locationName:"jobQueues" type:"list"` 4551 4552 // The maximum number of results returned by DescribeJobQueues in paginated 4553 // output. When this parameter is used, DescribeJobQueues only returns maxResults 4554 // results in a single page and a nextToken response element. The remaining 4555 // results of the initial request can be seen by sending another DescribeJobQueues 4556 // request with the returned nextToken value. This value can be between 1 and 4557 // 100. If this parameter isn't used, then DescribeJobQueues returns up to 100 4558 // results and a nextToken value if applicable. 4559 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4560 4561 // The nextToken value returned from a previous paginated DescribeJobQueues 4562 // request where maxResults was used and the results exceeded the value of that 4563 // parameter. Pagination continues from the end of the previous results that 4564 // returned the nextToken value. This value is null when there are no more results 4565 // to return. 4566 // 4567 // This token should be treated as an opaque identifier that's only used to 4568 // retrieve the next items in a list and not for other programmatic purposes. 4569 NextToken *string `locationName:"nextToken" type:"string"` 4570} 4571 4572// String returns the string representation 4573func (s DescribeJobQueuesInput) String() string { 4574 return awsutil.Prettify(s) 4575} 4576 4577// GoString returns the string representation 4578func (s DescribeJobQueuesInput) GoString() string { 4579 return s.String() 4580} 4581 4582// SetJobQueues sets the JobQueues field's value. 4583func (s *DescribeJobQueuesInput) SetJobQueues(v []*string) *DescribeJobQueuesInput { 4584 s.JobQueues = v 4585 return s 4586} 4587 4588// SetMaxResults sets the MaxResults field's value. 4589func (s *DescribeJobQueuesInput) SetMaxResults(v int64) *DescribeJobQueuesInput { 4590 s.MaxResults = &v 4591 return s 4592} 4593 4594// SetNextToken sets the NextToken field's value. 4595func (s *DescribeJobQueuesInput) SetNextToken(v string) *DescribeJobQueuesInput { 4596 s.NextToken = &v 4597 return s 4598} 4599 4600type DescribeJobQueuesOutput struct { 4601 _ struct{} `type:"structure"` 4602 4603 // The list of job queues. 4604 JobQueues []*JobQueueDetail `locationName:"jobQueues" type:"list"` 4605 4606 // The nextToken value to include in a future DescribeJobQueues request. When 4607 // the results of a DescribeJobQueues request exceed maxResults, this value 4608 // can be used to retrieve the next page of results. This value is null when 4609 // there are no more results to return. 4610 NextToken *string `locationName:"nextToken" type:"string"` 4611} 4612 4613// String returns the string representation 4614func (s DescribeJobQueuesOutput) String() string { 4615 return awsutil.Prettify(s) 4616} 4617 4618// GoString returns the string representation 4619func (s DescribeJobQueuesOutput) GoString() string { 4620 return s.String() 4621} 4622 4623// SetJobQueues sets the JobQueues field's value. 4624func (s *DescribeJobQueuesOutput) SetJobQueues(v []*JobQueueDetail) *DescribeJobQueuesOutput { 4625 s.JobQueues = v 4626 return s 4627} 4628 4629// SetNextToken sets the NextToken field's value. 4630func (s *DescribeJobQueuesOutput) SetNextToken(v string) *DescribeJobQueuesOutput { 4631 s.NextToken = &v 4632 return s 4633} 4634 4635// Contains the parameters for DescribeJobs. 4636type DescribeJobsInput struct { 4637 _ struct{} `type:"structure"` 4638 4639 // A list of up to 100 job IDs. 4640 // 4641 // Jobs is a required field 4642 Jobs []*string `locationName:"jobs" type:"list" required:"true"` 4643} 4644 4645// String returns the string representation 4646func (s DescribeJobsInput) String() string { 4647 return awsutil.Prettify(s) 4648} 4649 4650// GoString returns the string representation 4651func (s DescribeJobsInput) GoString() string { 4652 return s.String() 4653} 4654 4655// Validate inspects the fields of the type to determine if they are valid. 4656func (s *DescribeJobsInput) Validate() error { 4657 invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"} 4658 if s.Jobs == nil { 4659 invalidParams.Add(request.NewErrParamRequired("Jobs")) 4660 } 4661 4662 if invalidParams.Len() > 0 { 4663 return invalidParams 4664 } 4665 return nil 4666} 4667 4668// SetJobs sets the Jobs field's value. 4669func (s *DescribeJobsInput) SetJobs(v []*string) *DescribeJobsInput { 4670 s.Jobs = v 4671 return s 4672} 4673 4674type DescribeJobsOutput struct { 4675 _ struct{} `type:"structure"` 4676 4677 // The list of jobs. 4678 Jobs []*JobDetail `locationName:"jobs" type:"list"` 4679} 4680 4681// String returns the string representation 4682func (s DescribeJobsOutput) String() string { 4683 return awsutil.Prettify(s) 4684} 4685 4686// GoString returns the string representation 4687func (s DescribeJobsOutput) GoString() string { 4688 return s.String() 4689} 4690 4691// SetJobs sets the Jobs field's value. 4692func (s *DescribeJobsOutput) SetJobs(v []*JobDetail) *DescribeJobsOutput { 4693 s.Jobs = v 4694 return s 4695} 4696 4697// An object representing a container instance host device. 4698// 4699// This object isn't applicable to jobs running on Fargate resources and shouldn't 4700// be provided. 4701type Device struct { 4702 _ struct{} `type:"structure"` 4703 4704 // The path inside the container used to expose the host device. By default, 4705 // the hostPath value is used. 4706 ContainerPath *string `locationName:"containerPath" type:"string"` 4707 4708 // The path for the device on the host container instance. 4709 // 4710 // HostPath is a required field 4711 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 4712 4713 // The explicit permissions to provide to the container for the device. By default, 4714 // the container has permissions for read, write, and mknod for the device. 4715 Permissions []*string `locationName:"permissions" type:"list"` 4716} 4717 4718// String returns the string representation 4719func (s Device) String() string { 4720 return awsutil.Prettify(s) 4721} 4722 4723// GoString returns the string representation 4724func (s Device) GoString() string { 4725 return s.String() 4726} 4727 4728// Validate inspects the fields of the type to determine if they are valid. 4729func (s *Device) Validate() error { 4730 invalidParams := request.ErrInvalidParams{Context: "Device"} 4731 if s.HostPath == nil { 4732 invalidParams.Add(request.NewErrParamRequired("HostPath")) 4733 } 4734 4735 if invalidParams.Len() > 0 { 4736 return invalidParams 4737 } 4738 return nil 4739} 4740 4741// SetContainerPath sets the ContainerPath field's value. 4742func (s *Device) SetContainerPath(v string) *Device { 4743 s.ContainerPath = &v 4744 return s 4745} 4746 4747// SetHostPath sets the HostPath field's value. 4748func (s *Device) SetHostPath(v string) *Device { 4749 s.HostPath = &v 4750 return s 4751} 4752 4753// SetPermissions sets the Permissions field's value. 4754func (s *Device) SetPermissions(v []*string) *Device { 4755 s.Permissions = v 4756 return s 4757} 4758 4759// The authorization configuration details for the Amazon EFS file system. 4760type EFSAuthorizationConfig struct { 4761 _ struct{} `type:"structure"` 4762 4763 // The Amazon EFS access point ID to use. If an access point is specified, the 4764 // root directory value specified in the EFSVolumeConfiguration must either 4765 // be omitted or set to / which will enforce the path set on the EFS access 4766 // point. If an access point is used, transit encryption must be enabled in 4767 // the EFSVolumeConfiguration. For more information, see Working with Amazon 4768 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 4769 // in the Amazon Elastic File System User Guide. 4770 AccessPointId *string `locationName:"accessPointId" type:"string"` 4771 4772 // Whether or not to use the AWS Batch execution IAM role defined in a job definition 4773 // when mounting the Amazon EFS file system. If enabled, transit encryption 4774 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 4775 // the default value of DISABLED is used. For more information, see Using Amazon 4776 // EFS Access Points (https://docs.aws.amazon.com/batch/latest/ug/efs-volumes.html#efs-volume-accesspoints) 4777 // in the AWS Batch User Guide. EFS IAM authorization requires that TransitEncryption 4778 // be ENABLED and that a JobRoleArn is specified. 4779 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 4780} 4781 4782// String returns the string representation 4783func (s EFSAuthorizationConfig) String() string { 4784 return awsutil.Prettify(s) 4785} 4786 4787// GoString returns the string representation 4788func (s EFSAuthorizationConfig) GoString() string { 4789 return s.String() 4790} 4791 4792// SetAccessPointId sets the AccessPointId field's value. 4793func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 4794 s.AccessPointId = &v 4795 return s 4796} 4797 4798// SetIam sets the Iam field's value. 4799func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 4800 s.Iam = &v 4801 return s 4802} 4803 4804// This parameter is specified when you are using an Amazon Elastic File System 4805// file system for task storage. For more information, see Amazon EFS Volumes 4806// (https://docs.aws.amazon.com/batch/latest/ug/efs-volumes.html) in the AWS 4807// Batch User Guide. 4808type EFSVolumeConfiguration struct { 4809 _ struct{} `type:"structure"` 4810 4811 // The authorization configuration details for the Amazon EFS file system. 4812 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 4813 4814 // The Amazon EFS file system ID to use. 4815 // 4816 // FileSystemId is a required field 4817 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 4818 4819 // The directory within the Amazon EFS file system to mount as the root directory 4820 // inside the host. If this parameter is omitted, the root of the Amazon EFS 4821 // volume will be used. Specifying / will have the same effect as omitting this 4822 // parameter. 4823 // 4824 // If an EFS access point is specified in the authorizationConfig, the root 4825 // directory parameter must either be omitted or set to / which will enforce 4826 // the path set on the Amazon EFS access point. 4827 RootDirectory *string `locationName:"rootDirectory" type:"string"` 4828 4829 // Whether or not to enable encryption for Amazon EFS data in transit between 4830 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 4831 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 4832 // the default value of DISABLED is used. For more information, see Encrypting 4833 // data in transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 4834 // in the Amazon Elastic File System User Guide. 4835 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 4836 4837 // The port to use when sending encrypted data between the Amazon ECS host and 4838 // the Amazon EFS server. If you do not specify a transit encryption port, it 4839 // will use the port selection strategy that the Amazon EFS mount helper uses. 4840 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 4841 // in the Amazon Elastic File System User Guide. 4842 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 4843} 4844 4845// String returns the string representation 4846func (s EFSVolumeConfiguration) String() string { 4847 return awsutil.Prettify(s) 4848} 4849 4850// GoString returns the string representation 4851func (s EFSVolumeConfiguration) GoString() string { 4852 return s.String() 4853} 4854 4855// Validate inspects the fields of the type to determine if they are valid. 4856func (s *EFSVolumeConfiguration) Validate() error { 4857 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 4858 if s.FileSystemId == nil { 4859 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 4860 } 4861 4862 if invalidParams.Len() > 0 { 4863 return invalidParams 4864 } 4865 return nil 4866} 4867 4868// SetAuthorizationConfig sets the AuthorizationConfig field's value. 4869func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 4870 s.AuthorizationConfig = v 4871 return s 4872} 4873 4874// SetFileSystemId sets the FileSystemId field's value. 4875func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 4876 s.FileSystemId = &v 4877 return s 4878} 4879 4880// SetRootDirectory sets the RootDirectory field's value. 4881func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 4882 s.RootDirectory = &v 4883 return s 4884} 4885 4886// SetTransitEncryption sets the TransitEncryption field's value. 4887func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 4888 s.TransitEncryption = &v 4889 return s 4890} 4891 4892// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 4893func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 4894 s.TransitEncryptionPort = &v 4895 return s 4896} 4897 4898// Provides information used to select Amazon Machine Images (AMIs) for instances 4899// in the compute environment. If Ec2Configuration isn't specified, the default 4900// is currently ECS_AL1 (Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)) 4901// for non-GPU, non-Graviton instances. Starting on March 31, 2021, this default 4902// will be changing to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)). 4903// 4904// This object isn't applicable to jobs running on Fargate resources. 4905type Ec2Configuration struct { 4906 _ struct{} `type:"structure"` 4907 4908 // The AMI ID used for instances launched in the compute environment that match 4909 // the image type. This setting overrides the imageId set in the computeResource 4910 // object. 4911 ImageIdOverride *string `locationName:"imageIdOverride" min:"1" type:"string"` 4912 4913 // The image type to match with the instance type to select an AMI. If the imageIdOverride 4914 // parameter isn't specified, then a recent Amazon ECS-optimized AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 4915 // (ECS_AL1) is used. Starting on March 31, 2021, this default will be changing 4916 // to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)). 4917 // 4918 // ECS_AL2 4919 // 4920 // Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)− 4921 // Default for all AWS Graviton-based instance families (for example, C6g, M6g, 4922 // R6g, and T4g) and can be used for all non-GPU instance types. 4923 // 4924 // ECS_AL2_NVIDIA 4925 // 4926 // Amazon Linux 2 (GPU) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)−Default 4927 // for all GPU instance families (for example P4 and G4) and can be used for 4928 // all non-AWS Graviton-based instance types. 4929 // 4930 // ECS_AL1 4931 // 4932 // Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)−Default 4933 // for all non-GPU, non-AWS Graviton instance families. Amazon Linux is reaching 4934 // the end-of-life of standard support. For more information, see Amazon Linux 4935 // AMI (http://aws.amazon.com/amazon-linux-ami/). 4936 // 4937 // ImageType is a required field 4938 ImageType *string `locationName:"imageType" min:"1" type:"string" required:"true"` 4939} 4940 4941// String returns the string representation 4942func (s Ec2Configuration) String() string { 4943 return awsutil.Prettify(s) 4944} 4945 4946// GoString returns the string representation 4947func (s Ec2Configuration) GoString() string { 4948 return s.String() 4949} 4950 4951// Validate inspects the fields of the type to determine if they are valid. 4952func (s *Ec2Configuration) Validate() error { 4953 invalidParams := request.ErrInvalidParams{Context: "Ec2Configuration"} 4954 if s.ImageIdOverride != nil && len(*s.ImageIdOverride) < 1 { 4955 invalidParams.Add(request.NewErrParamMinLen("ImageIdOverride", 1)) 4956 } 4957 if s.ImageType == nil { 4958 invalidParams.Add(request.NewErrParamRequired("ImageType")) 4959 } 4960 if s.ImageType != nil && len(*s.ImageType) < 1 { 4961 invalidParams.Add(request.NewErrParamMinLen("ImageType", 1)) 4962 } 4963 4964 if invalidParams.Len() > 0 { 4965 return invalidParams 4966 } 4967 return nil 4968} 4969 4970// SetImageIdOverride sets the ImageIdOverride field's value. 4971func (s *Ec2Configuration) SetImageIdOverride(v string) *Ec2Configuration { 4972 s.ImageIdOverride = &v 4973 return s 4974} 4975 4976// SetImageType sets the ImageType field's value. 4977func (s *Ec2Configuration) SetImageType(v string) *Ec2Configuration { 4978 s.ImageType = &v 4979 return s 4980} 4981 4982// Specifies a set of conditions to be met, and an action to take (RETRY or 4983// EXIT) if all conditions are met. 4984type EvaluateOnExit struct { 4985 _ struct{} `type:"structure"` 4986 4987 // Specifies the action to take if all of the specified conditions (onStatusReason, 4988 // onReason, and onExitCode) are met. The values aren't case sensitive. 4989 // 4990 // Action is a required field 4991 Action *string `locationName:"action" type:"string" required:"true" enum:"RetryAction"` 4992 4993 // Contains a glob pattern to match against the decimal representation of the 4994 // ExitCode returned for a job. The pattern can be up to 512 characters long, 4995 // can contain only numbers, and can optionally end with an asterisk (*) so 4996 // that only the start of the string needs to be an exact match. 4997 OnExitCode *string `locationName:"onExitCode" type:"string"` 4998 4999 // Contains a glob pattern to match against the Reason returned for a job. The 5000 // pattern can be up to 512 characters long, and can contain letters, numbers, 5001 // periods (.), colons (:), and white space (including spaces and tabs). It 5002 // can optionally end with an asterisk (*) so that only the start of the string 5003 // needs to be an exact match. 5004 OnReason *string `locationName:"onReason" type:"string"` 5005 5006 // Contains a glob pattern to match against the StatusReason returned for a 5007 // job. The pattern can be up to 512 characters long, and can contain letters, 5008 // numbers, periods (.), colons (:), and white space (including spaces or tabs). 5009 // It can optionally end with an asterisk (*) so that only the start of the 5010 // string needs to be an exact match. 5011 OnStatusReason *string `locationName:"onStatusReason" type:"string"` 5012} 5013 5014// String returns the string representation 5015func (s EvaluateOnExit) String() string { 5016 return awsutil.Prettify(s) 5017} 5018 5019// GoString returns the string representation 5020func (s EvaluateOnExit) GoString() string { 5021 return s.String() 5022} 5023 5024// Validate inspects the fields of the type to determine if they are valid. 5025func (s *EvaluateOnExit) Validate() error { 5026 invalidParams := request.ErrInvalidParams{Context: "EvaluateOnExit"} 5027 if s.Action == nil { 5028 invalidParams.Add(request.NewErrParamRequired("Action")) 5029 } 5030 5031 if invalidParams.Len() > 0 { 5032 return invalidParams 5033 } 5034 return nil 5035} 5036 5037// SetAction sets the Action field's value. 5038func (s *EvaluateOnExit) SetAction(v string) *EvaluateOnExit { 5039 s.Action = &v 5040 return s 5041} 5042 5043// SetOnExitCode sets the OnExitCode field's value. 5044func (s *EvaluateOnExit) SetOnExitCode(v string) *EvaluateOnExit { 5045 s.OnExitCode = &v 5046 return s 5047} 5048 5049// SetOnReason sets the OnReason field's value. 5050func (s *EvaluateOnExit) SetOnReason(v string) *EvaluateOnExit { 5051 s.OnReason = &v 5052 return s 5053} 5054 5055// SetOnStatusReason sets the OnStatusReason field's value. 5056func (s *EvaluateOnExit) SetOnStatusReason(v string) *EvaluateOnExit { 5057 s.OnStatusReason = &v 5058 return s 5059} 5060 5061// The platform configuration for jobs running on Fargate resources. For jobs 5062// that run on EC2 resources, you shouldn't specify this parameter. 5063type FargatePlatformConfiguration struct { 5064 _ struct{} `type:"structure"` 5065 5066 // The AWS Fargate platform version where the jobs are running. A platform version 5067 // is specified only for jobs running on Fargate resources. If one isn't specified, 5068 // the LATEST platform version is used by default. This uses a recent, approved 5069 // version of the AWS Fargate platform for compute resources. For more information, 5070 // see AWS Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 5071 // in the Amazon Elastic Container Service Developer Guide. 5072 PlatformVersion *string `locationName:"platformVersion" type:"string"` 5073} 5074 5075// String returns the string representation 5076func (s FargatePlatformConfiguration) String() string { 5077 return awsutil.Prettify(s) 5078} 5079 5080// GoString returns the string representation 5081func (s FargatePlatformConfiguration) GoString() string { 5082 return s.String() 5083} 5084 5085// SetPlatformVersion sets the PlatformVersion field's value. 5086func (s *FargatePlatformConfiguration) SetPlatformVersion(v string) *FargatePlatformConfiguration { 5087 s.PlatformVersion = &v 5088 return s 5089} 5090 5091// Determine whether your data volume persists on the host container instance 5092// and where it is stored. If this parameter is empty, then the Docker daemon 5093// assigns a host path for your data volume, but the data isn't guaranteed to 5094// persist after the containers associated with it stop running. 5095type Host struct { 5096 _ struct{} `type:"structure"` 5097 5098 // The path on the host container instance that's presented to the container. 5099 // If this parameter is empty, then the Docker daemon has assigned a host path 5100 // for you. If this parameter contains a file location, then the data volume 5101 // persists at the specified location on the host container instance until you 5102 // delete it manually. If the source path location doesn't exist on the host 5103 // container instance, the Docker daemon creates it. If the location does exist, 5104 // the contents of the source path folder are exported. 5105 // 5106 // This parameter isn't applicable to jobs that run on Fargate resources and 5107 // shouldn't be provided. 5108 SourcePath *string `locationName:"sourcePath" type:"string"` 5109} 5110 5111// String returns the string representation 5112func (s Host) String() string { 5113 return awsutil.Prettify(s) 5114} 5115 5116// GoString returns the string representation 5117func (s Host) GoString() string { 5118 return s.String() 5119} 5120 5121// SetSourcePath sets the SourcePath field's value. 5122func (s *Host) SetSourcePath(v string) *Host { 5123 s.SourcePath = &v 5124 return s 5125} 5126 5127// An object representing an AWS Batch job definition. 5128type JobDefinition struct { 5129 _ struct{} `type:"structure"` 5130 5131 // An object with various properties specific to container-based jobs. 5132 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 5133 5134 // The Amazon Resource Name (ARN) for the job definition. 5135 // 5136 // JobDefinitionArn is a required field 5137 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 5138 5139 // The name of the job definition. 5140 // 5141 // JobDefinitionName is a required field 5142 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 5143 5144 // An object with various properties specific to multi-node parallel jobs. 5145 // 5146 // If the job runs on Fargate resources, then you must not specify nodeProperties; 5147 // use containerProperties instead. 5148 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 5149 5150 // Default parameters or parameter substitution placeholders that are set in 5151 // the job definition. Parameters are specified as a key-value pair mapping. 5152 // Parameters in a SubmitJob request override any corresponding parameter defaults 5153 // from the job definition. For more information about specifying parameters, 5154 // see Job Definition Parameters (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html) 5155 // in the AWS Batch User Guide. 5156 Parameters map[string]*string `locationName:"parameters" type:"map"` 5157 5158 // The platform capabilities required by the job definition. If no value is 5159 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 5160 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 5161 5162 // Specifies whether to propagate the tags from the job or job definition to 5163 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 5164 // propagated. Tags can only be propagated to the tasks during task creation. 5165 // For tags with the same name, job tags are given priority over job definitions 5166 // tags. If the total number of combined tags from the job and job definition 5167 // is over 50, the job is moved to the FAILED state. 5168 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 5169 5170 // The retry strategy to use for failed jobs that are submitted with this job 5171 // definition. 5172 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5173 5174 // The revision of the job definition. 5175 // 5176 // Revision is a required field 5177 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 5178 5179 // The status of the job definition. 5180 Status *string `locationName:"status" type:"string"` 5181 5182 // The tags applied to the job definition. 5183 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5184 5185 // The timeout configuration for jobs that are submitted with this job definition. 5186 // You can specify a timeout duration after which AWS Batch terminates your 5187 // jobs if they haven't finished. 5188 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5189 5190 // The type of job definition. If the job is run on Fargate resources, then 5191 // multinode isn't supported. For more information about multi-node parallel 5192 // jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 5193 // in the AWS Batch User Guide. 5194 // 5195 // Type is a required field 5196 Type *string `locationName:"type" type:"string" required:"true"` 5197} 5198 5199// String returns the string representation 5200func (s JobDefinition) String() string { 5201 return awsutil.Prettify(s) 5202} 5203 5204// GoString returns the string representation 5205func (s JobDefinition) GoString() string { 5206 return s.String() 5207} 5208 5209// SetContainerProperties sets the ContainerProperties field's value. 5210func (s *JobDefinition) SetContainerProperties(v *ContainerProperties) *JobDefinition { 5211 s.ContainerProperties = v 5212 return s 5213} 5214 5215// SetJobDefinitionArn sets the JobDefinitionArn field's value. 5216func (s *JobDefinition) SetJobDefinitionArn(v string) *JobDefinition { 5217 s.JobDefinitionArn = &v 5218 return s 5219} 5220 5221// SetJobDefinitionName sets the JobDefinitionName field's value. 5222func (s *JobDefinition) SetJobDefinitionName(v string) *JobDefinition { 5223 s.JobDefinitionName = &v 5224 return s 5225} 5226 5227// SetNodeProperties sets the NodeProperties field's value. 5228func (s *JobDefinition) SetNodeProperties(v *NodeProperties) *JobDefinition { 5229 s.NodeProperties = v 5230 return s 5231} 5232 5233// SetParameters sets the Parameters field's value. 5234func (s *JobDefinition) SetParameters(v map[string]*string) *JobDefinition { 5235 s.Parameters = v 5236 return s 5237} 5238 5239// SetPlatformCapabilities sets the PlatformCapabilities field's value. 5240func (s *JobDefinition) SetPlatformCapabilities(v []*string) *JobDefinition { 5241 s.PlatformCapabilities = v 5242 return s 5243} 5244 5245// SetPropagateTags sets the PropagateTags field's value. 5246func (s *JobDefinition) SetPropagateTags(v bool) *JobDefinition { 5247 s.PropagateTags = &v 5248 return s 5249} 5250 5251// SetRetryStrategy sets the RetryStrategy field's value. 5252func (s *JobDefinition) SetRetryStrategy(v *RetryStrategy) *JobDefinition { 5253 s.RetryStrategy = v 5254 return s 5255} 5256 5257// SetRevision sets the Revision field's value. 5258func (s *JobDefinition) SetRevision(v int64) *JobDefinition { 5259 s.Revision = &v 5260 return s 5261} 5262 5263// SetStatus sets the Status field's value. 5264func (s *JobDefinition) SetStatus(v string) *JobDefinition { 5265 s.Status = &v 5266 return s 5267} 5268 5269// SetTags sets the Tags field's value. 5270func (s *JobDefinition) SetTags(v map[string]*string) *JobDefinition { 5271 s.Tags = v 5272 return s 5273} 5274 5275// SetTimeout sets the Timeout field's value. 5276func (s *JobDefinition) SetTimeout(v *JobTimeout) *JobDefinition { 5277 s.Timeout = v 5278 return s 5279} 5280 5281// SetType sets the Type field's value. 5282func (s *JobDefinition) SetType(v string) *JobDefinition { 5283 s.Type = &v 5284 return s 5285} 5286 5287// An object representing an AWS Batch job dependency. 5288type JobDependency struct { 5289 _ struct{} `type:"structure"` 5290 5291 // The job ID of the AWS Batch job associated with this dependency. 5292 JobId *string `locationName:"jobId" type:"string"` 5293 5294 // The type of the job dependency. 5295 Type *string `locationName:"type" type:"string" enum:"ArrayJobDependency"` 5296} 5297 5298// String returns the string representation 5299func (s JobDependency) String() string { 5300 return awsutil.Prettify(s) 5301} 5302 5303// GoString returns the string representation 5304func (s JobDependency) GoString() string { 5305 return s.String() 5306} 5307 5308// SetJobId sets the JobId field's value. 5309func (s *JobDependency) SetJobId(v string) *JobDependency { 5310 s.JobId = &v 5311 return s 5312} 5313 5314// SetType sets the Type field's value. 5315func (s *JobDependency) SetType(v string) *JobDependency { 5316 s.Type = &v 5317 return s 5318} 5319 5320// An object representing an AWS Batch job. 5321type JobDetail struct { 5322 _ struct{} `type:"structure"` 5323 5324 // The array properties of the job, if it is an array job. 5325 ArrayProperties *ArrayPropertiesDetail `locationName:"arrayProperties" type:"structure"` 5326 5327 // A list of job attempts associated with this job. 5328 Attempts []*AttemptDetail `locationName:"attempts" type:"list"` 5329 5330 // An object representing the details of the container that's associated with 5331 // the job. 5332 Container *ContainerDetail `locationName:"container" type:"structure"` 5333 5334 // The Unix timestamp (in milliseconds) for when the job was created. For non-array 5335 // jobs and parent array jobs, this is when the job entered the SUBMITTED state 5336 // (at the time SubmitJob was called). For array child jobs, this is when the 5337 // child job was spawned by its parent and entered the PENDING state. 5338 CreatedAt *int64 `locationName:"createdAt" type:"long"` 5339 5340 // A list of job IDs that this job depends on. 5341 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 5342 5343 // The Amazon Resource Name (ARN) of the job. 5344 JobArn *string `locationName:"jobArn" type:"string"` 5345 5346 // The job definition that's used by this job. 5347 // 5348 // JobDefinition is a required field 5349 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 5350 5351 // The ID for the job. 5352 // 5353 // JobId is a required field 5354 JobId *string `locationName:"jobId" type:"string" required:"true"` 5355 5356 // The name of the job. 5357 // 5358 // JobName is a required field 5359 JobName *string `locationName:"jobName" type:"string" required:"true"` 5360 5361 // The Amazon Resource Name (ARN) of the job queue that the job is associated 5362 // with. 5363 // 5364 // JobQueue is a required field 5365 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 5366 5367 // An object representing the details of a node that's associated with a multi-node 5368 // parallel job. 5369 NodeDetails *NodeDetails `locationName:"nodeDetails" type:"structure"` 5370 5371 // An object representing the node properties of a multi-node parallel job. 5372 // 5373 // This isn't applicable to jobs running on Fargate resources. 5374 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 5375 5376 // Additional parameters passed to the job that replace parameter substitution 5377 // placeholders or override any corresponding parameter defaults from the job 5378 // definition. 5379 Parameters map[string]*string `locationName:"parameters" type:"map"` 5380 5381 // The platform capabilities required by the job definition. If no value is 5382 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 5383 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 5384 5385 // Specifies whether to propagate the tags from the job or job definition to 5386 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 5387 // propagated. Tags can only be propagated to the tasks during task creation. 5388 // For tags with the same name, job tags are given priority over job definitions 5389 // tags. If the total number of combined tags from the job and job definition 5390 // is over 50, the job is moved to the FAILED state. 5391 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 5392 5393 // The retry strategy to use for this job if an attempt fails. 5394 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5395 5396 // The Unix timestamp (in milliseconds) for when the job was started (when the 5397 // job transitioned from the STARTING state to the RUNNING state). This parameter 5398 // isn't provided for child jobs of array jobs or multi-node parallel jobs. 5399 // 5400 // StartedAt is a required field 5401 StartedAt *int64 `locationName:"startedAt" type:"long" required:"true"` 5402 5403 // The current status for the job. 5404 // 5405 // If your jobs don't progress to STARTING, see Jobs Stuck in RUNNABLE Status 5406 // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable) 5407 // in the troubleshooting section of the AWS Batch User Guide. 5408 // 5409 // Status is a required field 5410 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 5411 5412 // A short, human-readable string to provide additional details about the current 5413 // status of the job. 5414 StatusReason *string `locationName:"statusReason" type:"string"` 5415 5416 // The Unix timestamp (in milliseconds) for when the job was stopped (when the 5417 // job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED 5418 // or FAILED). 5419 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 5420 5421 // The tags applied to the job. 5422 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5423 5424 // The timeout configuration for the job. 5425 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5426} 5427 5428// String returns the string representation 5429func (s JobDetail) String() string { 5430 return awsutil.Prettify(s) 5431} 5432 5433// GoString returns the string representation 5434func (s JobDetail) GoString() string { 5435 return s.String() 5436} 5437 5438// SetArrayProperties sets the ArrayProperties field's value. 5439func (s *JobDetail) SetArrayProperties(v *ArrayPropertiesDetail) *JobDetail { 5440 s.ArrayProperties = v 5441 return s 5442} 5443 5444// SetAttempts sets the Attempts field's value. 5445func (s *JobDetail) SetAttempts(v []*AttemptDetail) *JobDetail { 5446 s.Attempts = v 5447 return s 5448} 5449 5450// SetContainer sets the Container field's value. 5451func (s *JobDetail) SetContainer(v *ContainerDetail) *JobDetail { 5452 s.Container = v 5453 return s 5454} 5455 5456// SetCreatedAt sets the CreatedAt field's value. 5457func (s *JobDetail) SetCreatedAt(v int64) *JobDetail { 5458 s.CreatedAt = &v 5459 return s 5460} 5461 5462// SetDependsOn sets the DependsOn field's value. 5463func (s *JobDetail) SetDependsOn(v []*JobDependency) *JobDetail { 5464 s.DependsOn = v 5465 return s 5466} 5467 5468// SetJobArn sets the JobArn field's value. 5469func (s *JobDetail) SetJobArn(v string) *JobDetail { 5470 s.JobArn = &v 5471 return s 5472} 5473 5474// SetJobDefinition sets the JobDefinition field's value. 5475func (s *JobDetail) SetJobDefinition(v string) *JobDetail { 5476 s.JobDefinition = &v 5477 return s 5478} 5479 5480// SetJobId sets the JobId field's value. 5481func (s *JobDetail) SetJobId(v string) *JobDetail { 5482 s.JobId = &v 5483 return s 5484} 5485 5486// SetJobName sets the JobName field's value. 5487func (s *JobDetail) SetJobName(v string) *JobDetail { 5488 s.JobName = &v 5489 return s 5490} 5491 5492// SetJobQueue sets the JobQueue field's value. 5493func (s *JobDetail) SetJobQueue(v string) *JobDetail { 5494 s.JobQueue = &v 5495 return s 5496} 5497 5498// SetNodeDetails sets the NodeDetails field's value. 5499func (s *JobDetail) SetNodeDetails(v *NodeDetails) *JobDetail { 5500 s.NodeDetails = v 5501 return s 5502} 5503 5504// SetNodeProperties sets the NodeProperties field's value. 5505func (s *JobDetail) SetNodeProperties(v *NodeProperties) *JobDetail { 5506 s.NodeProperties = v 5507 return s 5508} 5509 5510// SetParameters sets the Parameters field's value. 5511func (s *JobDetail) SetParameters(v map[string]*string) *JobDetail { 5512 s.Parameters = v 5513 return s 5514} 5515 5516// SetPlatformCapabilities sets the PlatformCapabilities field's value. 5517func (s *JobDetail) SetPlatformCapabilities(v []*string) *JobDetail { 5518 s.PlatformCapabilities = v 5519 return s 5520} 5521 5522// SetPropagateTags sets the PropagateTags field's value. 5523func (s *JobDetail) SetPropagateTags(v bool) *JobDetail { 5524 s.PropagateTags = &v 5525 return s 5526} 5527 5528// SetRetryStrategy sets the RetryStrategy field's value. 5529func (s *JobDetail) SetRetryStrategy(v *RetryStrategy) *JobDetail { 5530 s.RetryStrategy = v 5531 return s 5532} 5533 5534// SetStartedAt sets the StartedAt field's value. 5535func (s *JobDetail) SetStartedAt(v int64) *JobDetail { 5536 s.StartedAt = &v 5537 return s 5538} 5539 5540// SetStatus sets the Status field's value. 5541func (s *JobDetail) SetStatus(v string) *JobDetail { 5542 s.Status = &v 5543 return s 5544} 5545 5546// SetStatusReason sets the StatusReason field's value. 5547func (s *JobDetail) SetStatusReason(v string) *JobDetail { 5548 s.StatusReason = &v 5549 return s 5550} 5551 5552// SetStoppedAt sets the StoppedAt field's value. 5553func (s *JobDetail) SetStoppedAt(v int64) *JobDetail { 5554 s.StoppedAt = &v 5555 return s 5556} 5557 5558// SetTags sets the Tags field's value. 5559func (s *JobDetail) SetTags(v map[string]*string) *JobDetail { 5560 s.Tags = v 5561 return s 5562} 5563 5564// SetTimeout sets the Timeout field's value. 5565func (s *JobDetail) SetTimeout(v *JobTimeout) *JobDetail { 5566 s.Timeout = v 5567 return s 5568} 5569 5570// An object representing the details of an AWS Batch job queue. 5571type JobQueueDetail struct { 5572 _ struct{} `type:"structure"` 5573 5574 // The compute environments that are attached to the job queue and the order 5575 // that job placement is preferred. Compute environments are selected for job 5576 // placement in ascending order. 5577 // 5578 // ComputeEnvironmentOrder is a required field 5579 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 5580 5581 // The Amazon Resource Name (ARN) of the job queue. 5582 // 5583 // JobQueueArn is a required field 5584 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 5585 5586 // The name of the job queue. 5587 // 5588 // JobQueueName is a required field 5589 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 5590 5591 // The priority of the job queue. Job queues with a higher priority (or a higher 5592 // integer value for the priority parameter) are evaluated first when associated 5593 // with the same compute environment. Priority is determined in descending order, 5594 // for example, a job queue with a priority value of 10 is given scheduling 5595 // preference over a job queue with a priority value of 1. All of the compute 5596 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 5597 // EC2 and Fargate compute environments can't be mixed. 5598 // 5599 // Priority is a required field 5600 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 5601 5602 // Describes the ability of the queue to accept new jobs. If the job queue state 5603 // is ENABLED, it's able to accept jobs. If the job queue state is DISABLED, 5604 // new jobs can't be added to the queue, but jobs already in the queue can finish. 5605 // 5606 // State is a required field 5607 State *string `locationName:"state" type:"string" required:"true" enum:"JQState"` 5608 5609 // The status of the job queue (for example, CREATING or VALID). 5610 Status *string `locationName:"status" type:"string" enum:"JQStatus"` 5611 5612 // A short, human-readable string to provide additional details about the current 5613 // status of the job queue. 5614 StatusReason *string `locationName:"statusReason" type:"string"` 5615 5616 // The tags applied to the job queue. For more information, see Tagging your 5617 // AWS Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 5618 // in AWS Batch User Guide. 5619 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 5620} 5621 5622// String returns the string representation 5623func (s JobQueueDetail) String() string { 5624 return awsutil.Prettify(s) 5625} 5626 5627// GoString returns the string representation 5628func (s JobQueueDetail) GoString() string { 5629 return s.String() 5630} 5631 5632// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 5633func (s *JobQueueDetail) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *JobQueueDetail { 5634 s.ComputeEnvironmentOrder = v 5635 return s 5636} 5637 5638// SetJobQueueArn sets the JobQueueArn field's value. 5639func (s *JobQueueDetail) SetJobQueueArn(v string) *JobQueueDetail { 5640 s.JobQueueArn = &v 5641 return s 5642} 5643 5644// SetJobQueueName sets the JobQueueName field's value. 5645func (s *JobQueueDetail) SetJobQueueName(v string) *JobQueueDetail { 5646 s.JobQueueName = &v 5647 return s 5648} 5649 5650// SetPriority sets the Priority field's value. 5651func (s *JobQueueDetail) SetPriority(v int64) *JobQueueDetail { 5652 s.Priority = &v 5653 return s 5654} 5655 5656// SetState sets the State field's value. 5657func (s *JobQueueDetail) SetState(v string) *JobQueueDetail { 5658 s.State = &v 5659 return s 5660} 5661 5662// SetStatus sets the Status field's value. 5663func (s *JobQueueDetail) SetStatus(v string) *JobQueueDetail { 5664 s.Status = &v 5665 return s 5666} 5667 5668// SetStatusReason sets the StatusReason field's value. 5669func (s *JobQueueDetail) SetStatusReason(v string) *JobQueueDetail { 5670 s.StatusReason = &v 5671 return s 5672} 5673 5674// SetTags sets the Tags field's value. 5675func (s *JobQueueDetail) SetTags(v map[string]*string) *JobQueueDetail { 5676 s.Tags = v 5677 return s 5678} 5679 5680// An object representing summary details of a job. 5681type JobSummary struct { 5682 _ struct{} `type:"structure"` 5683 5684 // The array properties of the job, if it is an array job. 5685 ArrayProperties *ArrayPropertiesSummary `locationName:"arrayProperties" type:"structure"` 5686 5687 // An object representing the details of the container that's associated with 5688 // the job. 5689 Container *ContainerSummary `locationName:"container" type:"structure"` 5690 5691 // The Unix timestamp for when the job was created. For non-array jobs and parent 5692 // array jobs, this is when the job entered the SUBMITTED state (at the time 5693 // SubmitJob was called). For array child jobs, this is when the child job was 5694 // spawned by its parent and entered the PENDING state. 5695 CreatedAt *int64 `locationName:"createdAt" type:"long"` 5696 5697 // The Amazon Resource Name (ARN) of the job. 5698 JobArn *string `locationName:"jobArn" type:"string"` 5699 5700 // The ID of 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 node properties for a single node in a job summary list. 5711 // 5712 // This isn't applicable to jobs running on Fargate resources. 5713 NodeProperties *NodePropertiesSummary `locationName:"nodeProperties" type:"structure"` 5714 5715 // The Unix timestamp for when the job was started (when the job transitioned 5716 // from the STARTING state to the RUNNING state). 5717 StartedAt *int64 `locationName:"startedAt" type:"long"` 5718 5719 // The current status for the job. 5720 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 5721 5722 // A short, human-readable string to provide additional details about the current 5723 // status of the job. 5724 StatusReason *string `locationName:"statusReason" type:"string"` 5725 5726 // The Unix timestamp for when the job was stopped (when the job transitioned 5727 // from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED). 5728 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 5729} 5730 5731// String returns the string representation 5732func (s JobSummary) String() string { 5733 return awsutil.Prettify(s) 5734} 5735 5736// GoString returns the string representation 5737func (s JobSummary) GoString() string { 5738 return s.String() 5739} 5740 5741// SetArrayProperties sets the ArrayProperties field's value. 5742func (s *JobSummary) SetArrayProperties(v *ArrayPropertiesSummary) *JobSummary { 5743 s.ArrayProperties = v 5744 return s 5745} 5746 5747// SetContainer sets the Container field's value. 5748func (s *JobSummary) SetContainer(v *ContainerSummary) *JobSummary { 5749 s.Container = v 5750 return s 5751} 5752 5753// SetCreatedAt sets the CreatedAt field's value. 5754func (s *JobSummary) SetCreatedAt(v int64) *JobSummary { 5755 s.CreatedAt = &v 5756 return s 5757} 5758 5759// SetJobArn sets the JobArn field's value. 5760func (s *JobSummary) SetJobArn(v string) *JobSummary { 5761 s.JobArn = &v 5762 return s 5763} 5764 5765// SetJobId sets the JobId field's value. 5766func (s *JobSummary) SetJobId(v string) *JobSummary { 5767 s.JobId = &v 5768 return s 5769} 5770 5771// SetJobName sets the JobName field's value. 5772func (s *JobSummary) SetJobName(v string) *JobSummary { 5773 s.JobName = &v 5774 return s 5775} 5776 5777// SetNodeProperties sets the NodeProperties field's value. 5778func (s *JobSummary) SetNodeProperties(v *NodePropertiesSummary) *JobSummary { 5779 s.NodeProperties = v 5780 return s 5781} 5782 5783// SetStartedAt sets the StartedAt field's value. 5784func (s *JobSummary) SetStartedAt(v int64) *JobSummary { 5785 s.StartedAt = &v 5786 return s 5787} 5788 5789// SetStatus sets the Status field's value. 5790func (s *JobSummary) SetStatus(v string) *JobSummary { 5791 s.Status = &v 5792 return s 5793} 5794 5795// SetStatusReason sets the StatusReason field's value. 5796func (s *JobSummary) SetStatusReason(v string) *JobSummary { 5797 s.StatusReason = &v 5798 return s 5799} 5800 5801// SetStoppedAt sets the StoppedAt field's value. 5802func (s *JobSummary) SetStoppedAt(v int64) *JobSummary { 5803 s.StoppedAt = &v 5804 return s 5805} 5806 5807// An object representing a job timeout configuration. 5808type JobTimeout struct { 5809 _ struct{} `type:"structure"` 5810 5811 // The time duration in seconds (measured from the job attempt's startedAt timestamp) 5812 // after which AWS Batch terminates your jobs if they have not finished. The 5813 // minimum value for the timeout is 60 seconds. 5814 AttemptDurationSeconds *int64 `locationName:"attemptDurationSeconds" type:"integer"` 5815} 5816 5817// String returns the string representation 5818func (s JobTimeout) String() string { 5819 return awsutil.Prettify(s) 5820} 5821 5822// GoString returns the string representation 5823func (s JobTimeout) GoString() string { 5824 return s.String() 5825} 5826 5827// SetAttemptDurationSeconds sets the AttemptDurationSeconds field's value. 5828func (s *JobTimeout) SetAttemptDurationSeconds(v int64) *JobTimeout { 5829 s.AttemptDurationSeconds = &v 5830 return s 5831} 5832 5833// A key-value pair object. 5834type KeyValuePair struct { 5835 _ struct{} `type:"structure"` 5836 5837 // The name of the key-value pair. For environment variables, this is the name 5838 // of the environment variable. 5839 Name *string `locationName:"name" type:"string"` 5840 5841 // The value of the key-value pair. For environment variables, this is the value 5842 // of the environment variable. 5843 Value *string `locationName:"value" type:"string"` 5844} 5845 5846// String returns the string representation 5847func (s KeyValuePair) String() string { 5848 return awsutil.Prettify(s) 5849} 5850 5851// GoString returns the string representation 5852func (s KeyValuePair) GoString() string { 5853 return s.String() 5854} 5855 5856// SetName sets the Name field's value. 5857func (s *KeyValuePair) SetName(v string) *KeyValuePair { 5858 s.Name = &v 5859 return s 5860} 5861 5862// SetValue sets the Value field's value. 5863func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 5864 s.Value = &v 5865 return s 5866} 5867 5868// An object representing a launch template associated with a compute resource. 5869// You must specify either the launch template ID or launch template name in 5870// the request, but not both. 5871// 5872// If security groups are specified using both the securityGroupIds parameter 5873// of CreateComputeEnvironment and the launch template, the values in the securityGroupIds 5874// parameter of CreateComputeEnvironment will be used. 5875// 5876// This object isn't applicable to jobs running on Fargate resources. 5877type LaunchTemplateSpecification struct { 5878 _ struct{} `type:"structure"` 5879 5880 // The ID of the launch template. 5881 LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` 5882 5883 // The name of the launch template. 5884 LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"` 5885 5886 // The version number of the launch template, $Latest, or $Default. 5887 // 5888 // If the value is $Latest, the latest version of the launch template is used. 5889 // If the value is $Default, the default version of the launch template is used. 5890 // 5891 // After the compute environment is created, the launch template version used 5892 // will not be changed, even if the $Default or $Latest version for the launch 5893 // template is updated. To use a new launch template version, create a new compute 5894 // environment, add the new compute environment to the existing job queue, remove 5895 // the old compute environment from the job queue, and delete the old compute 5896 // environment. 5897 // 5898 // Default: $Default. 5899 Version *string `locationName:"version" type:"string"` 5900} 5901 5902// String returns the string representation 5903func (s LaunchTemplateSpecification) String() string { 5904 return awsutil.Prettify(s) 5905} 5906 5907// GoString returns the string representation 5908func (s LaunchTemplateSpecification) GoString() string { 5909 return s.String() 5910} 5911 5912// SetLaunchTemplateId sets the LaunchTemplateId field's value. 5913func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification { 5914 s.LaunchTemplateId = &v 5915 return s 5916} 5917 5918// SetLaunchTemplateName sets the LaunchTemplateName field's value. 5919func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification { 5920 s.LaunchTemplateName = &v 5921 return s 5922} 5923 5924// SetVersion sets the Version field's value. 5925func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 5926 s.Version = &v 5927 return s 5928} 5929 5930// Linux-specific modifications that are applied to the container, such as details 5931// for device mappings. 5932type LinuxParameters struct { 5933 _ struct{} `type:"structure"` 5934 5935 // Any host devices to expose to the container. This parameter maps to Devices 5936 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 5937 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 5938 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 5939 // 5940 // This parameter isn't applicable to jobs running on Fargate resources and 5941 // shouldn't be provided. 5942 Devices []*Device `locationName:"devices" type:"list"` 5943 5944 // If true, run an init process inside the container that forwards signals and 5945 // reaps processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 5946 // This parameter requires version 1.25 of the Docker Remote API or greater 5947 // on your container instance. To check the Docker Remote API version on your 5948 // container instance, log into your container instance and run the following 5949 // command: sudo docker version | grep "Server API version" 5950 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 5951 5952 // The total amount of swap memory (in MiB) a container can use. This parameter 5953 // is translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 5954 // where the value is the sum of the container memory plus the maxSwap value. 5955 // For more information, see --memory-swap details (https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details) 5956 // in the Docker documentation. 5957 // 5958 // If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted 5959 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 5960 // the container doesn't use the swap configuration for the container instance 5961 // it is running on. A maxSwap value must be set for the swappiness parameter 5962 // to be used. 5963 // 5964 // This parameter isn't applicable to jobs running on Fargate resources and 5965 // shouldn't be provided. 5966 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 5967 5968 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 5969 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 5970 // 5971 // This parameter isn't applicable to jobs running on Fargate resources and 5972 // shouldn't be provided. 5973 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 5974 5975 // This allows you to tune a container's memory swappiness behavior. A swappiness 5976 // value of 0 causes swapping not to happen unless absolutely necessary. A swappiness 5977 // value of 100 causes pages to be swapped very aggressively. Accepted values 5978 // are whole numbers between 0 and 100. If the swappiness parameter isn't specified, 5979 // a default value of 60 is used. If a value isn't specified for maxSwap then 5980 // this parameter is ignored. If maxSwap is set to 0, the container doesn't 5981 // use swap. This parameter maps to the --memory-swappiness option to docker 5982 // run (https://docs.docker.com/engine/reference/run/). 5983 // 5984 // Consider the following when you use a per-container swap configuration. 5985 // 5986 // * Swap space must be enabled and allocated on the container instance for 5987 // the containers to use. The Amazon ECS optimized AMIs don't have swap enabled 5988 // by default. You must enable swap on the instance to use this feature. 5989 // For more information, see Instance Store Swap Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) 5990 // in the Amazon EC2 User Guide for Linux Instances or How do I allocate 5991 // memory to work as swap space in an Amazon EC2 instance by using a swap 5992 // file? (http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/) 5993 // 5994 // * The swap space parameters are only supported for job definitions using 5995 // EC2 resources. 5996 // 5997 // * If the maxSwap and swappiness parameters are omitted from a job definition, 5998 // each container will have a default swappiness value of 60, and the total 5999 // swap usage will be limited to two times the memory reservation of the 6000 // container. 6001 // 6002 // This parameter isn't applicable to jobs running on Fargate resources and 6003 // shouldn't be provided. 6004 Swappiness *int64 `locationName:"swappiness" type:"integer"` 6005 6006 // The container path, mount options, and size (in MiB) of the tmpfs mount. 6007 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 6008 // 6009 // This parameter isn't applicable to jobs running on Fargate resources and 6010 // shouldn't be provided. 6011 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 6012} 6013 6014// String returns the string representation 6015func (s LinuxParameters) String() string { 6016 return awsutil.Prettify(s) 6017} 6018 6019// GoString returns the string representation 6020func (s LinuxParameters) GoString() string { 6021 return s.String() 6022} 6023 6024// Validate inspects the fields of the type to determine if they are valid. 6025func (s *LinuxParameters) Validate() error { 6026 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 6027 if s.Devices != nil { 6028 for i, v := range s.Devices { 6029 if v == nil { 6030 continue 6031 } 6032 if err := v.Validate(); err != nil { 6033 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 6034 } 6035 } 6036 } 6037 if s.Tmpfs != nil { 6038 for i, v := range s.Tmpfs { 6039 if v == nil { 6040 continue 6041 } 6042 if err := v.Validate(); err != nil { 6043 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 6044 } 6045 } 6046 } 6047 6048 if invalidParams.Len() > 0 { 6049 return invalidParams 6050 } 6051 return nil 6052} 6053 6054// SetDevices sets the Devices field's value. 6055func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 6056 s.Devices = v 6057 return s 6058} 6059 6060// SetInitProcessEnabled sets the InitProcessEnabled field's value. 6061func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 6062 s.InitProcessEnabled = &v 6063 return s 6064} 6065 6066// SetMaxSwap sets the MaxSwap field's value. 6067func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 6068 s.MaxSwap = &v 6069 return s 6070} 6071 6072// SetSharedMemorySize sets the SharedMemorySize field's value. 6073func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 6074 s.SharedMemorySize = &v 6075 return s 6076} 6077 6078// SetSwappiness sets the Swappiness field's value. 6079func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 6080 s.Swappiness = &v 6081 return s 6082} 6083 6084// SetTmpfs sets the Tmpfs field's value. 6085func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 6086 s.Tmpfs = v 6087 return s 6088} 6089 6090// Contains the parameters for ListJobs. 6091type ListJobsInput struct { 6092 _ struct{} `type:"structure"` 6093 6094 // The job ID for an array job. Specifying an array job ID with this parameter 6095 // lists all child jobs from within the specified array. 6096 ArrayJobId *string `locationName:"arrayJobId" type:"string"` 6097 6098 // The name or full Amazon Resource Name (ARN) of the job queue used to list 6099 // jobs. 6100 JobQueue *string `locationName:"jobQueue" type:"string"` 6101 6102 // The job status used to filter jobs in the specified queue. If you don't specify 6103 // a status, only RUNNING jobs are returned. 6104 JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"` 6105 6106 // The maximum number of results returned by ListJobs in paginated output. When 6107 // this parameter is used, ListJobs only returns maxResults results in a single 6108 // page and a nextToken response element. The remaining results of the initial 6109 // request can be seen by sending another ListJobs request with the returned 6110 // nextToken value. This value can be between 1 and 100. If this parameter isn't 6111 // used, then ListJobs returns up to 100 results and a nextToken value if applicable. 6112 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6113 6114 // The job ID for a multi-node parallel job. Specifying a multi-node parallel 6115 // job ID with this parameter lists all nodes that are associated with the specified 6116 // job. 6117 MultiNodeJobId *string `locationName:"multiNodeJobId" type:"string"` 6118 6119 // The nextToken value returned from a previous paginated ListJobs request where 6120 // maxResults was used and the results exceeded the value of that parameter. 6121 // Pagination continues from the end of the previous results that returned the 6122 // nextToken value. This value is null when there are no more results to return. 6123 // 6124 // This token should be treated as an opaque identifier that's only used to 6125 // retrieve the next items in a list and not for other programmatic purposes. 6126 NextToken *string `locationName:"nextToken" type:"string"` 6127} 6128 6129// String returns the string representation 6130func (s ListJobsInput) String() string { 6131 return awsutil.Prettify(s) 6132} 6133 6134// GoString returns the string representation 6135func (s ListJobsInput) GoString() string { 6136 return s.String() 6137} 6138 6139// SetArrayJobId sets the ArrayJobId field's value. 6140func (s *ListJobsInput) SetArrayJobId(v string) *ListJobsInput { 6141 s.ArrayJobId = &v 6142 return s 6143} 6144 6145// SetJobQueue sets the JobQueue field's value. 6146func (s *ListJobsInput) SetJobQueue(v string) *ListJobsInput { 6147 s.JobQueue = &v 6148 return s 6149} 6150 6151// SetJobStatus sets the JobStatus field's value. 6152func (s *ListJobsInput) SetJobStatus(v string) *ListJobsInput { 6153 s.JobStatus = &v 6154 return s 6155} 6156 6157// SetMaxResults sets the MaxResults field's value. 6158func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 6159 s.MaxResults = &v 6160 return s 6161} 6162 6163// SetMultiNodeJobId sets the MultiNodeJobId field's value. 6164func (s *ListJobsInput) SetMultiNodeJobId(v string) *ListJobsInput { 6165 s.MultiNodeJobId = &v 6166 return s 6167} 6168 6169// SetNextToken sets the NextToken field's value. 6170func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 6171 s.NextToken = &v 6172 return s 6173} 6174 6175type ListJobsOutput struct { 6176 _ struct{} `type:"structure"` 6177 6178 // A list of job summaries that match the request. 6179 // 6180 // JobSummaryList is a required field 6181 JobSummaryList []*JobSummary `locationName:"jobSummaryList" type:"list" required:"true"` 6182 6183 // The nextToken value to include in a future ListJobs request. When the results 6184 // of a ListJobs request exceed maxResults, this value can be used to retrieve 6185 // the next page of results. This value is null when there are no more results 6186 // to return. 6187 NextToken *string `locationName:"nextToken" type:"string"` 6188} 6189 6190// String returns the string representation 6191func (s ListJobsOutput) String() string { 6192 return awsutil.Prettify(s) 6193} 6194 6195// GoString returns the string representation 6196func (s ListJobsOutput) GoString() string { 6197 return s.String() 6198} 6199 6200// SetJobSummaryList sets the JobSummaryList field's value. 6201func (s *ListJobsOutput) SetJobSummaryList(v []*JobSummary) *ListJobsOutput { 6202 s.JobSummaryList = v 6203 return s 6204} 6205 6206// SetNextToken sets the NextToken field's value. 6207func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 6208 s.NextToken = &v 6209 return s 6210} 6211 6212type ListTagsForResourceInput struct { 6213 _ struct{} `type:"structure"` 6214 6215 // The Amazon Resource Name (ARN) that identifies the resource that tags are 6216 // listed for. AWS Batch resources that support tags are compute environments, 6217 // jobs, job definitions, and job queues. ARNs for child jobs of array and multi-node 6218 // parallel (MNP) jobs are not supported. 6219 // 6220 // ResourceArn is a required field 6221 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6222} 6223 6224// String returns the string representation 6225func (s ListTagsForResourceInput) String() string { 6226 return awsutil.Prettify(s) 6227} 6228 6229// GoString returns the string representation 6230func (s ListTagsForResourceInput) GoString() string { 6231 return s.String() 6232} 6233 6234// Validate inspects the fields of the type to determine if they are valid. 6235func (s *ListTagsForResourceInput) Validate() error { 6236 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 6237 if s.ResourceArn == nil { 6238 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6239 } 6240 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6241 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6242 } 6243 6244 if invalidParams.Len() > 0 { 6245 return invalidParams 6246 } 6247 return nil 6248} 6249 6250// SetResourceArn sets the ResourceArn field's value. 6251func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 6252 s.ResourceArn = &v 6253 return s 6254} 6255 6256type ListTagsForResourceOutput struct { 6257 _ struct{} `type:"structure"` 6258 6259 // The tags for the resource. 6260 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6261} 6262 6263// String returns the string representation 6264func (s ListTagsForResourceOutput) String() string { 6265 return awsutil.Prettify(s) 6266} 6267 6268// GoString returns the string representation 6269func (s ListTagsForResourceOutput) GoString() string { 6270 return s.String() 6271} 6272 6273// SetTags sets the Tags field's value. 6274func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 6275 s.Tags = v 6276 return s 6277} 6278 6279// Log configuration options to send to a custom log driver for the container. 6280type LogConfiguration struct { 6281 _ struct{} `type:"structure"` 6282 6283 // The log driver to use for the container. The valid values listed for this 6284 // parameter are log drivers that the Amazon ECS container agent can communicate 6285 // with by default. 6286 // 6287 // The supported log drivers are awslogs, fluentd, gelf, json-file, journald, 6288 // logentries, syslog, and splunk. 6289 // 6290 // Jobs running on Fargate resources are restricted to the awslogs and splunk 6291 // log drivers. 6292 // 6293 // awslogs 6294 // 6295 // Specifies the Amazon CloudWatch Logs logging driver. For more information, 6296 // see Using the awslogs Log Driver (https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html) 6297 // in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver (https://docs.docker.com/config/containers/logging/awslogs/) 6298 // in the Docker documentation. 6299 // 6300 // fluentd 6301 // 6302 // Specifies the Fluentd logging driver. For more information, including usage 6303 // and options, see Fluentd logging driver (https://docs.docker.com/config/containers/logging/fluentd/) 6304 // in the Docker documentation. 6305 // 6306 // gelf 6307 // 6308 // Specifies the Graylog Extended Format (GELF) logging driver. For more information, 6309 // including usage and options, see Graylog Extended Format logging driver (https://docs.docker.com/config/containers/logging/gelf/) 6310 // in the Docker documentation. 6311 // 6312 // journald 6313 // 6314 // Specifies the journald logging driver. For more information, including usage 6315 // and options, see Journald logging driver (https://docs.docker.com/config/containers/logging/journald/) 6316 // in the Docker documentation. 6317 // 6318 // json-file 6319 // 6320 // Specifies the JSON file logging driver. For more information, including usage 6321 // and options, see JSON File logging driver (https://docs.docker.com/config/containers/logging/json-file/) 6322 // in the Docker documentation. 6323 // 6324 // splunk 6325 // 6326 // Specifies the Splunk logging driver. For more information, including usage 6327 // and options, see Splunk logging driver (https://docs.docker.com/config/containers/logging/splunk/) 6328 // in the Docker documentation. 6329 // 6330 // syslog 6331 // 6332 // Specifies the syslog logging driver. For more information, including usage 6333 // and options, see Syslog logging driver (https://docs.docker.com/config/containers/logging/syslog/) 6334 // in the Docker documentation. 6335 // 6336 // If you have a custom driver that's not listed earlier that you want to work 6337 // with the Amazon ECS container agent, you can fork the Amazon ECS container 6338 // agent project that's available on GitHub (https://github.com/aws/amazon-ecs-agent) 6339 // and customize it to work with that driver. We encourage you to submit pull 6340 // requests for changes that you want to have included. However, Amazon Web 6341 // Services doesn't currently support running modified copies of this software. 6342 // 6343 // This parameter requires version 1.18 of the Docker Remote API or greater 6344 // on your container instance. To check the Docker Remote API version on your 6345 // container instance, log into your container instance and run the following 6346 // command: sudo docker version | grep "Server API version" 6347 // 6348 // LogDriver is a required field 6349 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 6350 6351 // The configuration options to send to the log driver. This parameter requires 6352 // version 1.19 of the Docker Remote API or greater on your container instance. 6353 // To check the Docker Remote API version on your container instance, log into 6354 // your container instance and run the following command: sudo docker version 6355 // | grep "Server API version" 6356 Options map[string]*string `locationName:"options" type:"map"` 6357 6358 // The secrets to pass to the log configuration. For more information, see Specifying 6359 // Sensitive Data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 6360 // in the AWS Batch User Guide. 6361 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 6362} 6363 6364// String returns the string representation 6365func (s LogConfiguration) String() string { 6366 return awsutil.Prettify(s) 6367} 6368 6369// GoString returns the string representation 6370func (s LogConfiguration) GoString() string { 6371 return s.String() 6372} 6373 6374// Validate inspects the fields of the type to determine if they are valid. 6375func (s *LogConfiguration) Validate() error { 6376 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 6377 if s.LogDriver == nil { 6378 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 6379 } 6380 if s.SecretOptions != nil { 6381 for i, v := range s.SecretOptions { 6382 if v == nil { 6383 continue 6384 } 6385 if err := v.Validate(); err != nil { 6386 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 6387 } 6388 } 6389 } 6390 6391 if invalidParams.Len() > 0 { 6392 return invalidParams 6393 } 6394 return nil 6395} 6396 6397// SetLogDriver sets the LogDriver field's value. 6398func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 6399 s.LogDriver = &v 6400 return s 6401} 6402 6403// SetOptions sets the Options field's value. 6404func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 6405 s.Options = v 6406 return s 6407} 6408 6409// SetSecretOptions sets the SecretOptions field's value. 6410func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 6411 s.SecretOptions = v 6412 return s 6413} 6414 6415// Details on a Docker volume mount point that's used in a job's container properties. 6416// 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) 6417// section of the Docker Remote API and the --volume option to docker run. 6418type MountPoint struct { 6419 _ struct{} `type:"structure"` 6420 6421 // The path on the container where the host volume is mounted. 6422 ContainerPath *string `locationName:"containerPath" type:"string"` 6423 6424 // If this value is true, the container has read-only access to the volume. 6425 // Otherwise, the container can write to the volume. The default value is false. 6426 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 6427 6428 // The name of the volume to mount. 6429 SourceVolume *string `locationName:"sourceVolume" type:"string"` 6430} 6431 6432// String returns the string representation 6433func (s MountPoint) String() string { 6434 return awsutil.Prettify(s) 6435} 6436 6437// GoString returns the string representation 6438func (s MountPoint) GoString() string { 6439 return s.String() 6440} 6441 6442// SetContainerPath sets the ContainerPath field's value. 6443func (s *MountPoint) SetContainerPath(v string) *MountPoint { 6444 s.ContainerPath = &v 6445 return s 6446} 6447 6448// SetReadOnly sets the ReadOnly field's value. 6449func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 6450 s.ReadOnly = &v 6451 return s 6452} 6453 6454// SetSourceVolume sets the SourceVolume field's value. 6455func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 6456 s.SourceVolume = &v 6457 return s 6458} 6459 6460// The network configuration for jobs running on Fargate resources. Jobs running 6461// on EC2 resources must not specify this parameter. 6462type NetworkConfiguration struct { 6463 _ struct{} `type:"structure"` 6464 6465 // Indicates whether the job should have a public IP address. For a job running 6466 // on Fargate resources in a private subnet to send outbound traffic to the 6467 // internet (for example, in order to pull container images), the private subnet 6468 // requires a NAT gateway be attached to route requests to the internet. For 6469 // more information, see Amazon ECS task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html). 6470 // The default value is "DISABLED". 6471 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6472} 6473 6474// String returns the string representation 6475func (s NetworkConfiguration) String() string { 6476 return awsutil.Prettify(s) 6477} 6478 6479// GoString returns the string representation 6480func (s NetworkConfiguration) GoString() string { 6481 return s.String() 6482} 6483 6484// SetAssignPublicIp sets the AssignPublicIp field's value. 6485func (s *NetworkConfiguration) SetAssignPublicIp(v string) *NetworkConfiguration { 6486 s.AssignPublicIp = &v 6487 return s 6488} 6489 6490// An object representing the elastic network interface for a multi-node parallel 6491// job node. 6492type NetworkInterface struct { 6493 _ struct{} `type:"structure"` 6494 6495 // The attachment ID for the network interface. 6496 AttachmentId *string `locationName:"attachmentId" type:"string"` 6497 6498 // The private IPv6 address for the network interface. 6499 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 6500 6501 // The private IPv4 address for the network interface. 6502 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 6503} 6504 6505// String returns the string representation 6506func (s NetworkInterface) String() string { 6507 return awsutil.Prettify(s) 6508} 6509 6510// GoString returns the string representation 6511func (s NetworkInterface) GoString() string { 6512 return s.String() 6513} 6514 6515// SetAttachmentId sets the AttachmentId field's value. 6516func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 6517 s.AttachmentId = &v 6518 return s 6519} 6520 6521// SetIpv6Address sets the Ipv6Address field's value. 6522func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 6523 s.Ipv6Address = &v 6524 return s 6525} 6526 6527// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 6528func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 6529 s.PrivateIpv4Address = &v 6530 return s 6531} 6532 6533// An object representing the details of a multi-node parallel job node. 6534type NodeDetails struct { 6535 _ struct{} `type:"structure"` 6536 6537 // Specifies whether the current node is the main node for a multi-node parallel 6538 // job. 6539 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 6540 6541 // The node index for the node. Node index numbering begins at zero. This index 6542 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 6543 // variable. 6544 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 6545} 6546 6547// String returns the string representation 6548func (s NodeDetails) String() string { 6549 return awsutil.Prettify(s) 6550} 6551 6552// GoString returns the string representation 6553func (s NodeDetails) GoString() string { 6554 return s.String() 6555} 6556 6557// SetIsMainNode sets the IsMainNode field's value. 6558func (s *NodeDetails) SetIsMainNode(v bool) *NodeDetails { 6559 s.IsMainNode = &v 6560 return s 6561} 6562 6563// SetNodeIndex sets the NodeIndex field's value. 6564func (s *NodeDetails) SetNodeIndex(v int64) *NodeDetails { 6565 s.NodeIndex = &v 6566 return s 6567} 6568 6569// Object representing any node overrides to a job definition that's used in 6570// a SubmitJob API operation. 6571// 6572// This isn't applicable to jobs running on Fargate resources and shouldn't 6573// be provided; use containerOverrides instead. 6574type NodeOverrides struct { 6575 _ struct{} `type:"structure"` 6576 6577 // The node property overrides for the job. 6578 NodePropertyOverrides []*NodePropertyOverride `locationName:"nodePropertyOverrides" type:"list"` 6579 6580 // The number of nodes to use with a multi-node parallel job. This value overrides 6581 // the number of nodes that are specified in the job definition. To use this 6582 // override: 6583 // 6584 // * There must be at least one node range in your job definition that has 6585 // an open upper boundary (such as : or n:). 6586 // 6587 // * The lower boundary of the node range specified in the job definition 6588 // must be fewer than the number of nodes specified in the override. 6589 // 6590 // * The main node index specified in the job definition must be fewer than 6591 // the number of nodes specified in the override. 6592 NumNodes *int64 `locationName:"numNodes" type:"integer"` 6593} 6594 6595// String returns the string representation 6596func (s NodeOverrides) String() string { 6597 return awsutil.Prettify(s) 6598} 6599 6600// GoString returns the string representation 6601func (s NodeOverrides) GoString() string { 6602 return s.String() 6603} 6604 6605// Validate inspects the fields of the type to determine if they are valid. 6606func (s *NodeOverrides) Validate() error { 6607 invalidParams := request.ErrInvalidParams{Context: "NodeOverrides"} 6608 if s.NodePropertyOverrides != nil { 6609 for i, v := range s.NodePropertyOverrides { 6610 if v == nil { 6611 continue 6612 } 6613 if err := v.Validate(); err != nil { 6614 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodePropertyOverrides", i), err.(request.ErrInvalidParams)) 6615 } 6616 } 6617 } 6618 6619 if invalidParams.Len() > 0 { 6620 return invalidParams 6621 } 6622 return nil 6623} 6624 6625// SetNodePropertyOverrides sets the NodePropertyOverrides field's value. 6626func (s *NodeOverrides) SetNodePropertyOverrides(v []*NodePropertyOverride) *NodeOverrides { 6627 s.NodePropertyOverrides = v 6628 return s 6629} 6630 6631// SetNumNodes sets the NumNodes field's value. 6632func (s *NodeOverrides) SetNumNodes(v int64) *NodeOverrides { 6633 s.NumNodes = &v 6634 return s 6635} 6636 6637// An object representing the node properties of a multi-node parallel job. 6638type NodeProperties struct { 6639 _ struct{} `type:"structure"` 6640 6641 // Specifies the node index for the main node of a multi-node parallel job. 6642 // This node index value must be fewer than the number of nodes. 6643 // 6644 // MainNode is a required field 6645 MainNode *int64 `locationName:"mainNode" type:"integer" required:"true"` 6646 6647 // A list of node ranges and their properties associated with a multi-node parallel 6648 // job. 6649 // 6650 // NodeRangeProperties is a required field 6651 NodeRangeProperties []*NodeRangeProperty `locationName:"nodeRangeProperties" type:"list" required:"true"` 6652 6653 // The number of nodes associated with a multi-node parallel job. 6654 // 6655 // NumNodes is a required field 6656 NumNodes *int64 `locationName:"numNodes" type:"integer" required:"true"` 6657} 6658 6659// String returns the string representation 6660func (s NodeProperties) String() string { 6661 return awsutil.Prettify(s) 6662} 6663 6664// GoString returns the string representation 6665func (s NodeProperties) GoString() string { 6666 return s.String() 6667} 6668 6669// Validate inspects the fields of the type to determine if they are valid. 6670func (s *NodeProperties) Validate() error { 6671 invalidParams := request.ErrInvalidParams{Context: "NodeProperties"} 6672 if s.MainNode == nil { 6673 invalidParams.Add(request.NewErrParamRequired("MainNode")) 6674 } 6675 if s.NodeRangeProperties == nil { 6676 invalidParams.Add(request.NewErrParamRequired("NodeRangeProperties")) 6677 } 6678 if s.NumNodes == nil { 6679 invalidParams.Add(request.NewErrParamRequired("NumNodes")) 6680 } 6681 if s.NodeRangeProperties != nil { 6682 for i, v := range s.NodeRangeProperties { 6683 if v == nil { 6684 continue 6685 } 6686 if err := v.Validate(); err != nil { 6687 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeRangeProperties", i), err.(request.ErrInvalidParams)) 6688 } 6689 } 6690 } 6691 6692 if invalidParams.Len() > 0 { 6693 return invalidParams 6694 } 6695 return nil 6696} 6697 6698// SetMainNode sets the MainNode field's value. 6699func (s *NodeProperties) SetMainNode(v int64) *NodeProperties { 6700 s.MainNode = &v 6701 return s 6702} 6703 6704// SetNodeRangeProperties sets the NodeRangeProperties field's value. 6705func (s *NodeProperties) SetNodeRangeProperties(v []*NodeRangeProperty) *NodeProperties { 6706 s.NodeRangeProperties = v 6707 return s 6708} 6709 6710// SetNumNodes sets the NumNodes field's value. 6711func (s *NodeProperties) SetNumNodes(v int64) *NodeProperties { 6712 s.NumNodes = &v 6713 return s 6714} 6715 6716// An object representing the properties of a node that's associated with a 6717// multi-node parallel job. 6718type NodePropertiesSummary struct { 6719 _ struct{} `type:"structure"` 6720 6721 // Specifies whether the current node is the main node for a multi-node parallel 6722 // job. 6723 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 6724 6725 // The node index for the node. Node index numbering begins at zero. This index 6726 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 6727 // variable. 6728 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 6729 6730 // The number of nodes associated with a multi-node parallel job. 6731 NumNodes *int64 `locationName:"numNodes" type:"integer"` 6732} 6733 6734// String returns the string representation 6735func (s NodePropertiesSummary) String() string { 6736 return awsutil.Prettify(s) 6737} 6738 6739// GoString returns the string representation 6740func (s NodePropertiesSummary) GoString() string { 6741 return s.String() 6742} 6743 6744// SetIsMainNode sets the IsMainNode field's value. 6745func (s *NodePropertiesSummary) SetIsMainNode(v bool) *NodePropertiesSummary { 6746 s.IsMainNode = &v 6747 return s 6748} 6749 6750// SetNodeIndex sets the NodeIndex field's value. 6751func (s *NodePropertiesSummary) SetNodeIndex(v int64) *NodePropertiesSummary { 6752 s.NodeIndex = &v 6753 return s 6754} 6755 6756// SetNumNodes sets the NumNodes field's value. 6757func (s *NodePropertiesSummary) SetNumNodes(v int64) *NodePropertiesSummary { 6758 s.NumNodes = &v 6759 return s 6760} 6761 6762// Object representing any node overrides to a job definition that's used in 6763// a SubmitJob API operation. 6764type NodePropertyOverride struct { 6765 _ struct{} `type:"structure"` 6766 6767 // The overrides that should be sent to a node range. 6768 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 6769 6770 // The range of nodes, using node index values, that's used to override. A range 6771 // of 0:3 indicates nodes with index values of 0 through 3. If the starting 6772 // range value is omitted (:n), then 0 is used to start the range. If the ending 6773 // range value is omitted (n:), then the highest possible node index is used 6774 // to end the range. 6775 // 6776 // TargetNodes is a required field 6777 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 6778} 6779 6780// String returns the string representation 6781func (s NodePropertyOverride) String() string { 6782 return awsutil.Prettify(s) 6783} 6784 6785// GoString returns the string representation 6786func (s NodePropertyOverride) GoString() string { 6787 return s.String() 6788} 6789 6790// Validate inspects the fields of the type to determine if they are valid. 6791func (s *NodePropertyOverride) Validate() error { 6792 invalidParams := request.ErrInvalidParams{Context: "NodePropertyOverride"} 6793 if s.TargetNodes == nil { 6794 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 6795 } 6796 if s.ContainerOverrides != nil { 6797 if err := s.ContainerOverrides.Validate(); err != nil { 6798 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 6799 } 6800 } 6801 6802 if invalidParams.Len() > 0 { 6803 return invalidParams 6804 } 6805 return nil 6806} 6807 6808// SetContainerOverrides sets the ContainerOverrides field's value. 6809func (s *NodePropertyOverride) SetContainerOverrides(v *ContainerOverrides) *NodePropertyOverride { 6810 s.ContainerOverrides = v 6811 return s 6812} 6813 6814// SetTargetNodes sets the TargetNodes field's value. 6815func (s *NodePropertyOverride) SetTargetNodes(v string) *NodePropertyOverride { 6816 s.TargetNodes = &v 6817 return s 6818} 6819 6820// An object representing the properties of the node range for a multi-node 6821// parallel job. 6822type NodeRangeProperty struct { 6823 _ struct{} `type:"structure"` 6824 6825 // The container details for the node range. 6826 Container *ContainerProperties `locationName:"container" type:"structure"` 6827 6828 // The range of nodes, using node index values. A range of 0:3 indicates nodes 6829 // with index values of 0 through 3. If the starting range value is omitted 6830 // (:n), then 0 is used to start the range. If the ending range value is omitted 6831 // (n:), then the highest possible node index is used to end the range. Your 6832 // accumulative node ranges must account for all nodes (0:n). You can nest node 6833 // ranges, for example 0:10 and 4:5, in which case the 4:5 range properties 6834 // override the 0:10 properties. 6835 // 6836 // TargetNodes is a required field 6837 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 6838} 6839 6840// String returns the string representation 6841func (s NodeRangeProperty) String() string { 6842 return awsutil.Prettify(s) 6843} 6844 6845// GoString returns the string representation 6846func (s NodeRangeProperty) GoString() string { 6847 return s.String() 6848} 6849 6850// Validate inspects the fields of the type to determine if they are valid. 6851func (s *NodeRangeProperty) Validate() error { 6852 invalidParams := request.ErrInvalidParams{Context: "NodeRangeProperty"} 6853 if s.TargetNodes == nil { 6854 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 6855 } 6856 if s.Container != nil { 6857 if err := s.Container.Validate(); err != nil { 6858 invalidParams.AddNested("Container", err.(request.ErrInvalidParams)) 6859 } 6860 } 6861 6862 if invalidParams.Len() > 0 { 6863 return invalidParams 6864 } 6865 return nil 6866} 6867 6868// SetContainer sets the Container field's value. 6869func (s *NodeRangeProperty) SetContainer(v *ContainerProperties) *NodeRangeProperty { 6870 s.Container = v 6871 return s 6872} 6873 6874// SetTargetNodes sets the TargetNodes field's value. 6875func (s *NodeRangeProperty) SetTargetNodes(v string) *NodeRangeProperty { 6876 s.TargetNodes = &v 6877 return s 6878} 6879 6880// Contains the parameters for RegisterJobDefinition. 6881type RegisterJobDefinitionInput struct { 6882 _ struct{} `type:"structure"` 6883 6884 // An object with various properties specific to single-node container-based 6885 // jobs. If the job definition's type parameter is container, then you must 6886 // specify either containerProperties or nodeProperties. 6887 // 6888 // If the job runs on Fargate resources, then you must not specify nodeProperties; 6889 // use only containerProperties. 6890 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 6891 6892 // The name of the job definition to register. Up to 128 letters (uppercase 6893 // and lowercase), numbers, hyphens, and underscores are allowed. 6894 // 6895 // JobDefinitionName is a required field 6896 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 6897 6898 // An object with various properties specific to multi-node parallel jobs. If 6899 // you specify node properties for a job, it becomes a multi-node parallel job. 6900 // For more information, see Multi-node Parallel Jobs (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html) 6901 // in the AWS Batch User Guide. If the job definition's type parameter is container, 6902 // then you must specify either containerProperties or nodeProperties. 6903 // 6904 // If the job runs on Fargate resources, then you must not specify nodeProperties; 6905 // use containerProperties instead. 6906 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 6907 6908 // Default parameter substitution placeholders to set in the job definition. 6909 // Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob 6910 // request override any corresponding parameter defaults from the job definition. 6911 Parameters map[string]*string `locationName:"parameters" type:"map"` 6912 6913 // The platform capabilities required by the job definition. If no value is 6914 // specified, it defaults to EC2. To run the job on Fargate resources, specify 6915 // FARGATE. 6916 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 6917 6918 // Specifies whether to propagate the tags from the job or job definition to 6919 // the corresponding Amazon ECS task. If no value is specified, the tags are 6920 // not propagated. Tags can only be propagated to the tasks during task creation. 6921 // For tags with the same name, job tags are given priority over job definitions 6922 // tags. If the total number of combined tags from the job and job definition 6923 // is over 50, the job is moved to the FAILED state. 6924 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 6925 6926 // The retry strategy to use for failed jobs that are submitted with this job 6927 // definition. Any retry strategy that's specified during a SubmitJob operation 6928 // overrides the retry strategy defined here. If a job is terminated due to 6929 // a timeout, it isn't retried. 6930 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 6931 6932 // The tags that you apply to the job definition to help you categorize and 6933 // organize your resources. Each tag consists of a key and an optional value. 6934 // For more information, see Tagging AWS Resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 6935 // in AWS Batch User Guide. 6936 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6937 6938 // The timeout configuration for jobs that are submitted with this job definition, 6939 // after which AWS Batch terminates your jobs if they have not finished. If 6940 // a job is terminated due to a timeout, it isn't retried. The minimum value 6941 // for the timeout is 60 seconds. Any timeout configuration that's specified 6942 // during a SubmitJob operation overrides the timeout configuration defined 6943 // here. For more information, see Job Timeouts (https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html) 6944 // in the AWS Batch User Guide. 6945 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 6946 6947 // The type of job definition. For more information about multi-node parallel 6948 // jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 6949 // in the AWS Batch User Guide. 6950 // 6951 // If the job is run on Fargate resources, then multinode isn't supported. 6952 // 6953 // Type is a required field 6954 Type *string `locationName:"type" type:"string" required:"true" enum:"JobDefinitionType"` 6955} 6956 6957// String returns the string representation 6958func (s RegisterJobDefinitionInput) String() string { 6959 return awsutil.Prettify(s) 6960} 6961 6962// GoString returns the string representation 6963func (s RegisterJobDefinitionInput) GoString() string { 6964 return s.String() 6965} 6966 6967// Validate inspects the fields of the type to determine if they are valid. 6968func (s *RegisterJobDefinitionInput) Validate() error { 6969 invalidParams := request.ErrInvalidParams{Context: "RegisterJobDefinitionInput"} 6970 if s.JobDefinitionName == nil { 6971 invalidParams.Add(request.NewErrParamRequired("JobDefinitionName")) 6972 } 6973 if s.Tags != nil && len(s.Tags) < 1 { 6974 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 6975 } 6976 if s.Type == nil { 6977 invalidParams.Add(request.NewErrParamRequired("Type")) 6978 } 6979 if s.ContainerProperties != nil { 6980 if err := s.ContainerProperties.Validate(); err != nil { 6981 invalidParams.AddNested("ContainerProperties", err.(request.ErrInvalidParams)) 6982 } 6983 } 6984 if s.NodeProperties != nil { 6985 if err := s.NodeProperties.Validate(); err != nil { 6986 invalidParams.AddNested("NodeProperties", err.(request.ErrInvalidParams)) 6987 } 6988 } 6989 if s.RetryStrategy != nil { 6990 if err := s.RetryStrategy.Validate(); err != nil { 6991 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 6992 } 6993 } 6994 6995 if invalidParams.Len() > 0 { 6996 return invalidParams 6997 } 6998 return nil 6999} 7000 7001// SetContainerProperties sets the ContainerProperties field's value. 7002func (s *RegisterJobDefinitionInput) SetContainerProperties(v *ContainerProperties) *RegisterJobDefinitionInput { 7003 s.ContainerProperties = v 7004 return s 7005} 7006 7007// SetJobDefinitionName sets the JobDefinitionName field's value. 7008func (s *RegisterJobDefinitionInput) SetJobDefinitionName(v string) *RegisterJobDefinitionInput { 7009 s.JobDefinitionName = &v 7010 return s 7011} 7012 7013// SetNodeProperties sets the NodeProperties field's value. 7014func (s *RegisterJobDefinitionInput) SetNodeProperties(v *NodeProperties) *RegisterJobDefinitionInput { 7015 s.NodeProperties = v 7016 return s 7017} 7018 7019// SetParameters sets the Parameters field's value. 7020func (s *RegisterJobDefinitionInput) SetParameters(v map[string]*string) *RegisterJobDefinitionInput { 7021 s.Parameters = v 7022 return s 7023} 7024 7025// SetPlatformCapabilities sets the PlatformCapabilities field's value. 7026func (s *RegisterJobDefinitionInput) SetPlatformCapabilities(v []*string) *RegisterJobDefinitionInput { 7027 s.PlatformCapabilities = v 7028 return s 7029} 7030 7031// SetPropagateTags sets the PropagateTags field's value. 7032func (s *RegisterJobDefinitionInput) SetPropagateTags(v bool) *RegisterJobDefinitionInput { 7033 s.PropagateTags = &v 7034 return s 7035} 7036 7037// SetRetryStrategy sets the RetryStrategy field's value. 7038func (s *RegisterJobDefinitionInput) SetRetryStrategy(v *RetryStrategy) *RegisterJobDefinitionInput { 7039 s.RetryStrategy = v 7040 return s 7041} 7042 7043// SetTags sets the Tags field's value. 7044func (s *RegisterJobDefinitionInput) SetTags(v map[string]*string) *RegisterJobDefinitionInput { 7045 s.Tags = v 7046 return s 7047} 7048 7049// SetTimeout sets the Timeout field's value. 7050func (s *RegisterJobDefinitionInput) SetTimeout(v *JobTimeout) *RegisterJobDefinitionInput { 7051 s.Timeout = v 7052 return s 7053} 7054 7055// SetType sets the Type field's value. 7056func (s *RegisterJobDefinitionInput) SetType(v string) *RegisterJobDefinitionInput { 7057 s.Type = &v 7058 return s 7059} 7060 7061type RegisterJobDefinitionOutput struct { 7062 _ struct{} `type:"structure"` 7063 7064 // The Amazon Resource Name (ARN) of the job definition. 7065 // 7066 // JobDefinitionArn is a required field 7067 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 7068 7069 // The name of the job definition. 7070 // 7071 // JobDefinitionName is a required field 7072 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 7073 7074 // The revision of the job definition. 7075 // 7076 // Revision is a required field 7077 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 7078} 7079 7080// String returns the string representation 7081func (s RegisterJobDefinitionOutput) String() string { 7082 return awsutil.Prettify(s) 7083} 7084 7085// GoString returns the string representation 7086func (s RegisterJobDefinitionOutput) GoString() string { 7087 return s.String() 7088} 7089 7090// SetJobDefinitionArn sets the JobDefinitionArn field's value. 7091func (s *RegisterJobDefinitionOutput) SetJobDefinitionArn(v string) *RegisterJobDefinitionOutput { 7092 s.JobDefinitionArn = &v 7093 return s 7094} 7095 7096// SetJobDefinitionName sets the JobDefinitionName field's value. 7097func (s *RegisterJobDefinitionOutput) SetJobDefinitionName(v string) *RegisterJobDefinitionOutput { 7098 s.JobDefinitionName = &v 7099 return s 7100} 7101 7102// SetRevision sets the Revision field's value. 7103func (s *RegisterJobDefinitionOutput) SetRevision(v int64) *RegisterJobDefinitionOutput { 7104 s.Revision = &v 7105 return s 7106} 7107 7108// The type and amount of a resource to assign to a container. The supported 7109// resources include GPU, MEMORY, and VCPU. 7110type ResourceRequirement struct { 7111 _ struct{} `type:"structure"` 7112 7113 // The type of resource to assign to a container. The supported resources include 7114 // GPU, MEMORY, and VCPU. 7115 // 7116 // Type is a required field 7117 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 7118 7119 // The quantity of the specified resource to reserve for the container. The 7120 // values vary based on the type specified. 7121 // 7122 // type="GPU" 7123 // 7124 // The number of physical GPUs to reserve for the container. The number of GPUs 7125 // reserved for all containers in a job shouldn't exceed the number of available 7126 // GPUs on the compute resource that the job is launched on. 7127 // 7128 // GPUs are not available for jobs running on Fargate resources. 7129 // 7130 // type="MEMORY" 7131 // 7132 // The memory hard limit (in MiB) present to the container. This parameter is 7133 // supported for jobs running on EC2 resources. If your container attempts to 7134 // exceed the memory specified, the container is terminated. This parameter 7135 // maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7136 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7137 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7138 // You must specify at least 4 MiB of memory for a job. This is required but 7139 // can be specified in several places for multi-node parallel (MNP) jobs. It 7140 // must be specified for each node at least once. This parameter maps to Memory 7141 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7142 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7143 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7144 // 7145 // If you're trying to maximize your resource utilization by providing your 7146 // jobs as much memory as possible for a particular instance type, see Memory 7147 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 7148 // in the AWS Batch User Guide. 7149 // 7150 // For jobs running on Fargate resources, then value is the hard limit (in MiB), 7151 // and must match one of the supported values and the VCPU values must be one 7152 // of the values supported for that memory value. 7153 // 7154 // value = 512 7155 // 7156 // VCPU = 0.25 7157 // 7158 // value = 1024 7159 // 7160 // VCPU = 0.25 or 0.5 7161 // 7162 // value = 2048 7163 // 7164 // VCPU = 0.25, 0.5, or 1 7165 // 7166 // value = 3072 7167 // 7168 // VCPU = 0.5, or 1 7169 // 7170 // value = 4096 7171 // 7172 // VCPU = 0.5, 1, or 2 7173 // 7174 // value = 5120, 6144, or 7168 7175 // 7176 // VCPU = 1 or 2 7177 // 7178 // value = 8192 7179 // 7180 // VCPU = 1, 2, or 4 7181 // 7182 // value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 7183 // 7184 // VCPU = 2 or 4 7185 // 7186 // value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 7187 // 27648, 28672, 29696, or 30720 7188 // 7189 // VCPU = 4 7190 // 7191 // type="VCPU" 7192 // 7193 // The number of vCPUs reserved for the container. This parameter maps to CpuShares 7194 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7195 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7196 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 7197 // Each vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must 7198 // specify at least one vCPU. This is required but can be specified in several 7199 // places; it must be specified for each node at least once. 7200 // 7201 // For jobs running on Fargate resources, then value must match one of the supported 7202 // values and the MEMORY values must be one of the values supported for that 7203 // VCPU value. The supported values are 0.25, 0.5, 1, 2, and 4 7204 // 7205 // value = 0.25 7206 // 7207 // MEMORY = 512, 1024, or 2048 7208 // 7209 // value = 0.5 7210 // 7211 // MEMORY = 1024, 2048, 3072, or 4096 7212 // 7213 // value = 1 7214 // 7215 // MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192 7216 // 7217 // value = 2 7218 // 7219 // MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 7220 // 14336, 15360, or 16384 7221 // 7222 // value = 4 7223 // 7224 // MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 7225 // 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 7226 // 29696, or 30720 7227 // 7228 // Value is a required field 7229 Value *string `locationName:"value" type:"string" required:"true"` 7230} 7231 7232// String returns the string representation 7233func (s ResourceRequirement) String() string { 7234 return awsutil.Prettify(s) 7235} 7236 7237// GoString returns the string representation 7238func (s ResourceRequirement) GoString() string { 7239 return s.String() 7240} 7241 7242// Validate inspects the fields of the type to determine if they are valid. 7243func (s *ResourceRequirement) Validate() error { 7244 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 7245 if s.Type == nil { 7246 invalidParams.Add(request.NewErrParamRequired("Type")) 7247 } 7248 if s.Value == nil { 7249 invalidParams.Add(request.NewErrParamRequired("Value")) 7250 } 7251 7252 if invalidParams.Len() > 0 { 7253 return invalidParams 7254 } 7255 return nil 7256} 7257 7258// SetType sets the Type field's value. 7259func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 7260 s.Type = &v 7261 return s 7262} 7263 7264// SetValue sets the Value field's value. 7265func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 7266 s.Value = &v 7267 return s 7268} 7269 7270// The retry strategy associated with a job. For more information, see Automated 7271// job retries (https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) 7272// in the AWS Batch User Guide. 7273type RetryStrategy struct { 7274 _ struct{} `type:"structure"` 7275 7276 // The number of times to move a job to the RUNNABLE status. You can specify 7277 // between 1 and 10 attempts. If the value of attempts is greater than one, 7278 // the job is retried on failure the same number of attempts as the value. 7279 Attempts *int64 `locationName:"attempts" type:"integer"` 7280 7281 // Array of up to 5 objects that specify conditions under which the job should 7282 // be retried or failed. If this parameter is specified, then the attempts parameter 7283 // must also be specified. 7284 EvaluateOnExit []*EvaluateOnExit `locationName:"evaluateOnExit" type:"list"` 7285} 7286 7287// String returns the string representation 7288func (s RetryStrategy) String() string { 7289 return awsutil.Prettify(s) 7290} 7291 7292// GoString returns the string representation 7293func (s RetryStrategy) GoString() string { 7294 return s.String() 7295} 7296 7297// Validate inspects the fields of the type to determine if they are valid. 7298func (s *RetryStrategy) Validate() error { 7299 invalidParams := request.ErrInvalidParams{Context: "RetryStrategy"} 7300 if s.EvaluateOnExit != nil { 7301 for i, v := range s.EvaluateOnExit { 7302 if v == nil { 7303 continue 7304 } 7305 if err := v.Validate(); err != nil { 7306 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EvaluateOnExit", i), err.(request.ErrInvalidParams)) 7307 } 7308 } 7309 } 7310 7311 if invalidParams.Len() > 0 { 7312 return invalidParams 7313 } 7314 return nil 7315} 7316 7317// SetAttempts sets the Attempts field's value. 7318func (s *RetryStrategy) SetAttempts(v int64) *RetryStrategy { 7319 s.Attempts = &v 7320 return s 7321} 7322 7323// SetEvaluateOnExit sets the EvaluateOnExit field's value. 7324func (s *RetryStrategy) SetEvaluateOnExit(v []*EvaluateOnExit) *RetryStrategy { 7325 s.EvaluateOnExit = v 7326 return s 7327} 7328 7329// An object representing the secret to expose to your container. Secrets can 7330// be exposed to a container in the following ways: 7331// 7332// * To inject sensitive data into your containers as environment variables, 7333// use the secrets container definition parameter. 7334// 7335// * To reference sensitive information in the log configuration of a container, 7336// use the secretOptions container definition parameter. 7337// 7338// For more information, see Specifying sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 7339// in the AWS Batch User Guide. 7340type Secret struct { 7341 _ struct{} `type:"structure"` 7342 7343 // The name of the secret. 7344 // 7345 // Name is a required field 7346 Name *string `locationName:"name" type:"string" required:"true"` 7347 7348 // The secret to expose to the container. The supported values are either the 7349 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 7350 // in the AWS Systems Manager Parameter Store. 7351 // 7352 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 7353 // as the job you're launching, then you can use either the full ARN or name 7354 // of the parameter. If the parameter exists in a different Region, then the 7355 // full ARN must be specified. 7356 // 7357 // ValueFrom is a required field 7358 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 7359} 7360 7361// String returns the string representation 7362func (s Secret) String() string { 7363 return awsutil.Prettify(s) 7364} 7365 7366// GoString returns the string representation 7367func (s Secret) GoString() string { 7368 return s.String() 7369} 7370 7371// Validate inspects the fields of the type to determine if they are valid. 7372func (s *Secret) Validate() error { 7373 invalidParams := request.ErrInvalidParams{Context: "Secret"} 7374 if s.Name == nil { 7375 invalidParams.Add(request.NewErrParamRequired("Name")) 7376 } 7377 if s.ValueFrom == nil { 7378 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 7379 } 7380 7381 if invalidParams.Len() > 0 { 7382 return invalidParams 7383 } 7384 return nil 7385} 7386 7387// SetName sets the Name field's value. 7388func (s *Secret) SetName(v string) *Secret { 7389 s.Name = &v 7390 return s 7391} 7392 7393// SetValueFrom sets the ValueFrom field's value. 7394func (s *Secret) SetValueFrom(v string) *Secret { 7395 s.ValueFrom = &v 7396 return s 7397} 7398 7399// These errors are usually caused by a server issue. 7400type ServerException struct { 7401 _ struct{} `type:"structure"` 7402 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7403 7404 Message_ *string `locationName:"message" type:"string"` 7405} 7406 7407// String returns the string representation 7408func (s ServerException) String() string { 7409 return awsutil.Prettify(s) 7410} 7411 7412// GoString returns the string representation 7413func (s ServerException) GoString() string { 7414 return s.String() 7415} 7416 7417func newErrorServerException(v protocol.ResponseMetadata) error { 7418 return &ServerException{ 7419 RespMetadata: v, 7420 } 7421} 7422 7423// Code returns the exception type name. 7424func (s *ServerException) Code() string { 7425 return "ServerException" 7426} 7427 7428// Message returns the exception's message. 7429func (s *ServerException) Message() string { 7430 if s.Message_ != nil { 7431 return *s.Message_ 7432 } 7433 return "" 7434} 7435 7436// OrigErr always returns nil, satisfies awserr.Error interface. 7437func (s *ServerException) OrigErr() error { 7438 return nil 7439} 7440 7441func (s *ServerException) Error() string { 7442 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7443} 7444 7445// Status code returns the HTTP status code for the request's response error. 7446func (s *ServerException) StatusCode() int { 7447 return s.RespMetadata.StatusCode 7448} 7449 7450// RequestID returns the service's response RequestID for request. 7451func (s *ServerException) RequestID() string { 7452 return s.RespMetadata.RequestID 7453} 7454 7455// Contains the parameters for SubmitJob. 7456type SubmitJobInput struct { 7457 _ struct{} `type:"structure"` 7458 7459 // The array properties for the submitted job, such as the size of the array. 7460 // The array size can be between 2 and 10,000. If you specify array properties 7461 // for a job, it becomes an array job. For more information, see Array Jobs 7462 // (https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html) in the 7463 // AWS Batch User Guide. 7464 ArrayProperties *ArrayProperties `locationName:"arrayProperties" type:"structure"` 7465 7466 // A list of container overrides in the JSON format that specify the name of 7467 // a container in the specified job definition and the overrides it should receive. 7468 // You can override the default command for a container, which is specified 7469 // in the job definition or the Docker image, with a command override. You can 7470 // also override existing environment variables on a container or add new environment 7471 // variables to it with an environment override. 7472 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 7473 7474 // A list of dependencies for the job. A job can depend upon a maximum of 20 7475 // jobs. You can specify a SEQUENTIAL type dependency without specifying a job 7476 // ID for array jobs so that each child array job completes sequentially, starting 7477 // at index 0. You can also specify an N_TO_N type dependency with a job ID 7478 // for array jobs. In that case, each index child of this job must wait for 7479 // the corresponding index child of each dependency to complete before it can 7480 // begin. 7481 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 7482 7483 // The job definition used by this job. This value can be one of name, name:revision, 7484 // or the Amazon Resource Name (ARN) for the job definition. If name is specified 7485 // without a revision then the latest active revision is used. 7486 // 7487 // JobDefinition is a required field 7488 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 7489 7490 // The name of the job. The first character must be alphanumeric, and up to 7491 // 128 letters (uppercase and lowercase), numbers, hyphens, and underscores 7492 // are allowed. 7493 // 7494 // JobName is a required field 7495 JobName *string `locationName:"jobName" type:"string" required:"true"` 7496 7497 // The job queue where the job is submitted. You can specify either the name 7498 // or the Amazon Resource Name (ARN) of the queue. 7499 // 7500 // JobQueue is a required field 7501 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 7502 7503 // A list of node overrides in JSON format that specify the node range to target 7504 // and the container overrides for that node range. 7505 // 7506 // This parameter isn't applicable to jobs running on Fargate resources; use 7507 // containerOverrides instead. 7508 NodeOverrides *NodeOverrides `locationName:"nodeOverrides" type:"structure"` 7509 7510 // Additional parameters passed to the job that replace parameter substitution 7511 // placeholders that are set in the job definition. Parameters are specified 7512 // as a key and value pair mapping. Parameters in a SubmitJob request override 7513 // any corresponding parameter defaults from the job definition. 7514 Parameters map[string]*string `locationName:"parameters" type:"map"` 7515 7516 // Specifies whether to propagate the tags from the job or job definition to 7517 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 7518 // propagated. Tags can only be propagated to the tasks during task creation. 7519 // For tags with the same name, job tags are given priority over job definitions 7520 // tags. If the total number of combined tags from the job and job definition 7521 // is over 50, the job is moved to the FAILED state. When specified, this overrides 7522 // the tag propagation setting in the job definition. 7523 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 7524 7525 // The retry strategy to use for failed jobs from this SubmitJob operation. 7526 // When a retry strategy is specified here, it overrides the retry strategy 7527 // defined in the job definition. 7528 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 7529 7530 // The tags that you apply to the job request to help you categorize and organize 7531 // your resources. Each tag consists of a key and an optional value. For more 7532 // information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 7533 // in AWS General Reference. 7534 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7535 7536 // The timeout configuration for this SubmitJob operation. You can specify a 7537 // timeout duration after which AWS Batch terminates your jobs if they haven't 7538 // finished. If a job is terminated due to a timeout, it isn't retried. The 7539 // minimum value for the timeout is 60 seconds. This configuration overrides 7540 // any timeout configuration specified in the job definition. For array jobs, 7541 // child jobs have the same timeout configuration as the parent job. For more 7542 // information, see Job Timeouts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html) 7543 // in the Amazon Elastic Container Service Developer Guide. 7544 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 7545} 7546 7547// String returns the string representation 7548func (s SubmitJobInput) String() string { 7549 return awsutil.Prettify(s) 7550} 7551 7552// GoString returns the string representation 7553func (s SubmitJobInput) GoString() string { 7554 return s.String() 7555} 7556 7557// Validate inspects the fields of the type to determine if they are valid. 7558func (s *SubmitJobInput) Validate() error { 7559 invalidParams := request.ErrInvalidParams{Context: "SubmitJobInput"} 7560 if s.JobDefinition == nil { 7561 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 7562 } 7563 if s.JobName == nil { 7564 invalidParams.Add(request.NewErrParamRequired("JobName")) 7565 } 7566 if s.JobQueue == nil { 7567 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 7568 } 7569 if s.Tags != nil && len(s.Tags) < 1 { 7570 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 7571 } 7572 if s.ContainerOverrides != nil { 7573 if err := s.ContainerOverrides.Validate(); err != nil { 7574 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 7575 } 7576 } 7577 if s.NodeOverrides != nil { 7578 if err := s.NodeOverrides.Validate(); err != nil { 7579 invalidParams.AddNested("NodeOverrides", err.(request.ErrInvalidParams)) 7580 } 7581 } 7582 if s.RetryStrategy != nil { 7583 if err := s.RetryStrategy.Validate(); err != nil { 7584 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 7585 } 7586 } 7587 7588 if invalidParams.Len() > 0 { 7589 return invalidParams 7590 } 7591 return nil 7592} 7593 7594// SetArrayProperties sets the ArrayProperties field's value. 7595func (s *SubmitJobInput) SetArrayProperties(v *ArrayProperties) *SubmitJobInput { 7596 s.ArrayProperties = v 7597 return s 7598} 7599 7600// SetContainerOverrides sets the ContainerOverrides field's value. 7601func (s *SubmitJobInput) SetContainerOverrides(v *ContainerOverrides) *SubmitJobInput { 7602 s.ContainerOverrides = v 7603 return s 7604} 7605 7606// SetDependsOn sets the DependsOn field's value. 7607func (s *SubmitJobInput) SetDependsOn(v []*JobDependency) *SubmitJobInput { 7608 s.DependsOn = v 7609 return s 7610} 7611 7612// SetJobDefinition sets the JobDefinition field's value. 7613func (s *SubmitJobInput) SetJobDefinition(v string) *SubmitJobInput { 7614 s.JobDefinition = &v 7615 return s 7616} 7617 7618// SetJobName sets the JobName field's value. 7619func (s *SubmitJobInput) SetJobName(v string) *SubmitJobInput { 7620 s.JobName = &v 7621 return s 7622} 7623 7624// SetJobQueue sets the JobQueue field's value. 7625func (s *SubmitJobInput) SetJobQueue(v string) *SubmitJobInput { 7626 s.JobQueue = &v 7627 return s 7628} 7629 7630// SetNodeOverrides sets the NodeOverrides field's value. 7631func (s *SubmitJobInput) SetNodeOverrides(v *NodeOverrides) *SubmitJobInput { 7632 s.NodeOverrides = v 7633 return s 7634} 7635 7636// SetParameters sets the Parameters field's value. 7637func (s *SubmitJobInput) SetParameters(v map[string]*string) *SubmitJobInput { 7638 s.Parameters = v 7639 return s 7640} 7641 7642// SetPropagateTags sets the PropagateTags field's value. 7643func (s *SubmitJobInput) SetPropagateTags(v bool) *SubmitJobInput { 7644 s.PropagateTags = &v 7645 return s 7646} 7647 7648// SetRetryStrategy sets the RetryStrategy field's value. 7649func (s *SubmitJobInput) SetRetryStrategy(v *RetryStrategy) *SubmitJobInput { 7650 s.RetryStrategy = v 7651 return s 7652} 7653 7654// SetTags sets the Tags field's value. 7655func (s *SubmitJobInput) SetTags(v map[string]*string) *SubmitJobInput { 7656 s.Tags = v 7657 return s 7658} 7659 7660// SetTimeout sets the Timeout field's value. 7661func (s *SubmitJobInput) SetTimeout(v *JobTimeout) *SubmitJobInput { 7662 s.Timeout = v 7663 return s 7664} 7665 7666type SubmitJobOutput struct { 7667 _ struct{} `type:"structure"` 7668 7669 // The Amazon Resource Name (ARN) for the job. 7670 JobArn *string `locationName:"jobArn" type:"string"` 7671 7672 // The unique identifier for the job. 7673 // 7674 // JobId is a required field 7675 JobId *string `locationName:"jobId" type:"string" required:"true"` 7676 7677 // The name of the job. 7678 // 7679 // JobName is a required field 7680 JobName *string `locationName:"jobName" type:"string" required:"true"` 7681} 7682 7683// String returns the string representation 7684func (s SubmitJobOutput) String() string { 7685 return awsutil.Prettify(s) 7686} 7687 7688// GoString returns the string representation 7689func (s SubmitJobOutput) GoString() string { 7690 return s.String() 7691} 7692 7693// SetJobArn sets the JobArn field's value. 7694func (s *SubmitJobOutput) SetJobArn(v string) *SubmitJobOutput { 7695 s.JobArn = &v 7696 return s 7697} 7698 7699// SetJobId sets the JobId field's value. 7700func (s *SubmitJobOutput) SetJobId(v string) *SubmitJobOutput { 7701 s.JobId = &v 7702 return s 7703} 7704 7705// SetJobName sets the JobName field's value. 7706func (s *SubmitJobOutput) SetJobName(v string) *SubmitJobOutput { 7707 s.JobName = &v 7708 return s 7709} 7710 7711type TagResourceInput struct { 7712 _ struct{} `type:"structure"` 7713 7714 // The Amazon Resource Name (ARN) of the resource that tags are added to. AWS 7715 // Batch resources that support tags are compute environments, jobs, job definitions, 7716 // and job queues. ARNs for child jobs of array and multi-node parallel (MNP) 7717 // jobs are not supported. 7718 // 7719 // ResourceArn is a required field 7720 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 7721 7722 // The tags that you apply to the resource to help you categorize and organize 7723 // your resources. Each tag consists of a key and an optional value. For more 7724 // information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 7725 // in AWS General Reference. 7726 // 7727 // Tags is a required field 7728 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 7729} 7730 7731// String returns the string representation 7732func (s TagResourceInput) String() string { 7733 return awsutil.Prettify(s) 7734} 7735 7736// GoString returns the string representation 7737func (s TagResourceInput) GoString() string { 7738 return s.String() 7739} 7740 7741// Validate inspects the fields of the type to determine if they are valid. 7742func (s *TagResourceInput) Validate() error { 7743 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 7744 if s.ResourceArn == nil { 7745 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7746 } 7747 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7748 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7749 } 7750 if s.Tags == nil { 7751 invalidParams.Add(request.NewErrParamRequired("Tags")) 7752 } 7753 if s.Tags != nil && len(s.Tags) < 1 { 7754 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 7755 } 7756 7757 if invalidParams.Len() > 0 { 7758 return invalidParams 7759 } 7760 return nil 7761} 7762 7763// SetResourceArn sets the ResourceArn field's value. 7764func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 7765 s.ResourceArn = &v 7766 return s 7767} 7768 7769// SetTags sets the Tags field's value. 7770func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 7771 s.Tags = v 7772 return s 7773} 7774 7775type TagResourceOutput struct { 7776 _ struct{} `type:"structure"` 7777} 7778 7779// String returns the string representation 7780func (s TagResourceOutput) String() string { 7781 return awsutil.Prettify(s) 7782} 7783 7784// GoString returns the string representation 7785func (s TagResourceOutput) GoString() string { 7786 return s.String() 7787} 7788 7789// Contains the parameters for TerminateJob. 7790type TerminateJobInput struct { 7791 _ struct{} `type:"structure"` 7792 7793 // The AWS Batch job ID of the job to terminate. 7794 // 7795 // JobId is a required field 7796 JobId *string `locationName:"jobId" type:"string" required:"true"` 7797 7798 // A message to attach to the job that explains the reason for canceling it. 7799 // This message is returned by future DescribeJobs operations on the job. This 7800 // message is also recorded in the AWS Batch activity logs. 7801 // 7802 // Reason is a required field 7803 Reason *string `locationName:"reason" type:"string" required:"true"` 7804} 7805 7806// String returns the string representation 7807func (s TerminateJobInput) String() string { 7808 return awsutil.Prettify(s) 7809} 7810 7811// GoString returns the string representation 7812func (s TerminateJobInput) GoString() string { 7813 return s.String() 7814} 7815 7816// Validate inspects the fields of the type to determine if they are valid. 7817func (s *TerminateJobInput) Validate() error { 7818 invalidParams := request.ErrInvalidParams{Context: "TerminateJobInput"} 7819 if s.JobId == nil { 7820 invalidParams.Add(request.NewErrParamRequired("JobId")) 7821 } 7822 if s.Reason == nil { 7823 invalidParams.Add(request.NewErrParamRequired("Reason")) 7824 } 7825 7826 if invalidParams.Len() > 0 { 7827 return invalidParams 7828 } 7829 return nil 7830} 7831 7832// SetJobId sets the JobId field's value. 7833func (s *TerminateJobInput) SetJobId(v string) *TerminateJobInput { 7834 s.JobId = &v 7835 return s 7836} 7837 7838// SetReason sets the Reason field's value. 7839func (s *TerminateJobInput) SetReason(v string) *TerminateJobInput { 7840 s.Reason = &v 7841 return s 7842} 7843 7844type TerminateJobOutput struct { 7845 _ struct{} `type:"structure"` 7846} 7847 7848// String returns the string representation 7849func (s TerminateJobOutput) String() string { 7850 return awsutil.Prettify(s) 7851} 7852 7853// GoString returns the string representation 7854func (s TerminateJobOutput) GoString() string { 7855 return s.String() 7856} 7857 7858// The container path, mount options, and size of the tmpfs mount. 7859// 7860// This object isn't applicable to jobs running on Fargate resources. 7861type Tmpfs struct { 7862 _ struct{} `type:"structure"` 7863 7864 // The absolute file path in the container where the tmpfs volume is mounted. 7865 // 7866 // ContainerPath is a required field 7867 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 7868 7869 // The list of tmpfs volume mount options. 7870 // 7871 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 7872 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 7873 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 7874 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 7875 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 7876 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 7877 MountOptions []*string `locationName:"mountOptions" type:"list"` 7878 7879 // The size (in MiB) of the tmpfs volume. 7880 // 7881 // Size is a required field 7882 Size *int64 `locationName:"size" type:"integer" required:"true"` 7883} 7884 7885// String returns the string representation 7886func (s Tmpfs) String() string { 7887 return awsutil.Prettify(s) 7888} 7889 7890// GoString returns the string representation 7891func (s Tmpfs) GoString() string { 7892 return s.String() 7893} 7894 7895// Validate inspects the fields of the type to determine if they are valid. 7896func (s *Tmpfs) Validate() error { 7897 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 7898 if s.ContainerPath == nil { 7899 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 7900 } 7901 if s.Size == nil { 7902 invalidParams.Add(request.NewErrParamRequired("Size")) 7903 } 7904 7905 if invalidParams.Len() > 0 { 7906 return invalidParams 7907 } 7908 return nil 7909} 7910 7911// SetContainerPath sets the ContainerPath field's value. 7912func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 7913 s.ContainerPath = &v 7914 return s 7915} 7916 7917// SetMountOptions sets the MountOptions field's value. 7918func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 7919 s.MountOptions = v 7920 return s 7921} 7922 7923// SetSize sets the Size field's value. 7924func (s *Tmpfs) SetSize(v int64) *Tmpfs { 7925 s.Size = &v 7926 return s 7927} 7928 7929// The ulimit settings to pass to the container. 7930// 7931// This object isn't applicable to jobs running on Fargate resources. 7932type Ulimit struct { 7933 _ struct{} `type:"structure"` 7934 7935 // The hard limit for the ulimit type. 7936 // 7937 // HardLimit is a required field 7938 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 7939 7940 // The type of the ulimit. 7941 // 7942 // Name is a required field 7943 Name *string `locationName:"name" type:"string" required:"true"` 7944 7945 // The soft limit for the ulimit type. 7946 // 7947 // SoftLimit is a required field 7948 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 7949} 7950 7951// String returns the string representation 7952func (s Ulimit) String() string { 7953 return awsutil.Prettify(s) 7954} 7955 7956// GoString returns the string representation 7957func (s Ulimit) GoString() string { 7958 return s.String() 7959} 7960 7961// Validate inspects the fields of the type to determine if they are valid. 7962func (s *Ulimit) Validate() error { 7963 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 7964 if s.HardLimit == nil { 7965 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 7966 } 7967 if s.Name == nil { 7968 invalidParams.Add(request.NewErrParamRequired("Name")) 7969 } 7970 if s.SoftLimit == nil { 7971 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 7972 } 7973 7974 if invalidParams.Len() > 0 { 7975 return invalidParams 7976 } 7977 return nil 7978} 7979 7980// SetHardLimit sets the HardLimit field's value. 7981func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 7982 s.HardLimit = &v 7983 return s 7984} 7985 7986// SetName sets the Name field's value. 7987func (s *Ulimit) SetName(v string) *Ulimit { 7988 s.Name = &v 7989 return s 7990} 7991 7992// SetSoftLimit sets the SoftLimit field's value. 7993func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 7994 s.SoftLimit = &v 7995 return s 7996} 7997 7998type UntagResourceInput struct { 7999 _ struct{} `type:"structure"` 8000 8001 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 8002 // AWS Batch resources that support tags are compute environments, jobs, job 8003 // definitions, and job queues. ARNs for child jobs of array and multi-node 8004 // parallel (MNP) jobs are not supported. 8005 // 8006 // ResourceArn is a required field 8007 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 8008 8009 // The keys of the tags to be removed. 8010 // 8011 // TagKeys is a required field 8012 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 8013} 8014 8015// String returns the string representation 8016func (s UntagResourceInput) String() string { 8017 return awsutil.Prettify(s) 8018} 8019 8020// GoString returns the string representation 8021func (s UntagResourceInput) GoString() string { 8022 return s.String() 8023} 8024 8025// Validate inspects the fields of the type to determine if they are valid. 8026func (s *UntagResourceInput) Validate() error { 8027 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 8028 if s.ResourceArn == nil { 8029 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 8030 } 8031 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 8032 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 8033 } 8034 if s.TagKeys == nil { 8035 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 8036 } 8037 if s.TagKeys != nil && len(s.TagKeys) < 1 { 8038 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 8039 } 8040 8041 if invalidParams.Len() > 0 { 8042 return invalidParams 8043 } 8044 return nil 8045} 8046 8047// SetResourceArn sets the ResourceArn field's value. 8048func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 8049 s.ResourceArn = &v 8050 return s 8051} 8052 8053// SetTagKeys sets the TagKeys field's value. 8054func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 8055 s.TagKeys = v 8056 return s 8057} 8058 8059type UntagResourceOutput struct { 8060 _ struct{} `type:"structure"` 8061} 8062 8063// String returns the string representation 8064func (s UntagResourceOutput) String() string { 8065 return awsutil.Prettify(s) 8066} 8067 8068// GoString returns the string representation 8069func (s UntagResourceOutput) GoString() string { 8070 return s.String() 8071} 8072 8073// Contains the parameters for UpdateComputeEnvironment. 8074type UpdateComputeEnvironmentInput struct { 8075 _ struct{} `type:"structure"` 8076 8077 // The name or full Amazon Resource Name (ARN) of the compute environment to 8078 // update. 8079 // 8080 // ComputeEnvironment is a required field 8081 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 8082 8083 // Details of the compute resources managed by the compute environment. Required 8084 // for a managed compute environment. For more information, see Compute Environments 8085 // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 8086 // in the AWS Batch User Guide. 8087 ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"` 8088 8089 // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch 8090 // to make calls to other AWS services on your behalf. For more information, 8091 // see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 8092 // in the AWS Batch User Guide. 8093 // 8094 // If the compute environment has a service-linked role, it cannot be changed 8095 // to use a regular IAM role. If the compute environment has a regular IAM role, 8096 // it cannot be changed to use a service-linked role. 8097 // 8098 // If your specified role has a path other than /, then you must either specify 8099 // the full role ARN (this is recommended) or prefix the role name with the 8100 // path. 8101 // 8102 // Depending on how you created your AWS Batch service role, its ARN might contain 8103 // the service-role path prefix. When you only specify the name of the service 8104 // role, AWS Batch assumes that your ARN doesn't use the service-role path prefix. 8105 // Because of this, we recommend that you specify the full ARN of your service 8106 // role when you create compute environments. 8107 ServiceRole *string `locationName:"serviceRole" type:"string"` 8108 8109 // The state of the compute environment. Compute environments in the ENABLED 8110 // state can accept jobs from a queue and scale in or out automatically based 8111 // on the workload demand of its associated queues. 8112 // 8113 // If the state is ENABLED, then the AWS Batch scheduler can attempt to place 8114 // jobs from an associated job queue on the compute resources within the environment. 8115 // If the compute environment is managed, then it can scale its instances out 8116 // or in automatically, based on the job queue demand. 8117 // 8118 // If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to 8119 // place jobs within the environment. Jobs in a STARTING or RUNNING state continue 8120 // to progress normally. Managed compute environments in the DISABLED state 8121 // don't scale out. However, they scale in to minvCpus value after instances 8122 // become idle. 8123 State *string `locationName:"state" type:"string" enum:"CEState"` 8124} 8125 8126// String returns the string representation 8127func (s UpdateComputeEnvironmentInput) String() string { 8128 return awsutil.Prettify(s) 8129} 8130 8131// GoString returns the string representation 8132func (s UpdateComputeEnvironmentInput) GoString() string { 8133 return s.String() 8134} 8135 8136// Validate inspects the fields of the type to determine if they are valid. 8137func (s *UpdateComputeEnvironmentInput) Validate() error { 8138 invalidParams := request.ErrInvalidParams{Context: "UpdateComputeEnvironmentInput"} 8139 if s.ComputeEnvironment == nil { 8140 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 8141 } 8142 8143 if invalidParams.Len() > 0 { 8144 return invalidParams 8145 } 8146 return nil 8147} 8148 8149// SetComputeEnvironment sets the ComputeEnvironment field's value. 8150func (s *UpdateComputeEnvironmentInput) SetComputeEnvironment(v string) *UpdateComputeEnvironmentInput { 8151 s.ComputeEnvironment = &v 8152 return s 8153} 8154 8155// SetComputeResources sets the ComputeResources field's value. 8156func (s *UpdateComputeEnvironmentInput) SetComputeResources(v *ComputeResourceUpdate) *UpdateComputeEnvironmentInput { 8157 s.ComputeResources = v 8158 return s 8159} 8160 8161// SetServiceRole sets the ServiceRole field's value. 8162func (s *UpdateComputeEnvironmentInput) SetServiceRole(v string) *UpdateComputeEnvironmentInput { 8163 s.ServiceRole = &v 8164 return s 8165} 8166 8167// SetState sets the State field's value. 8168func (s *UpdateComputeEnvironmentInput) SetState(v string) *UpdateComputeEnvironmentInput { 8169 s.State = &v 8170 return s 8171} 8172 8173type UpdateComputeEnvironmentOutput struct { 8174 _ struct{} `type:"structure"` 8175 8176 // The Amazon Resource Name (ARN) of the compute environment. 8177 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 8178 8179 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 8180 // numbers, hyphens, and underscores are allowed. 8181 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 8182} 8183 8184// String returns the string representation 8185func (s UpdateComputeEnvironmentOutput) String() string { 8186 return awsutil.Prettify(s) 8187} 8188 8189// GoString returns the string representation 8190func (s UpdateComputeEnvironmentOutput) GoString() string { 8191 return s.String() 8192} 8193 8194// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 8195func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *UpdateComputeEnvironmentOutput { 8196 s.ComputeEnvironmentArn = &v 8197 return s 8198} 8199 8200// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 8201func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *UpdateComputeEnvironmentOutput { 8202 s.ComputeEnvironmentName = &v 8203 return s 8204} 8205 8206// Contains the parameters for UpdateJobQueue. 8207type UpdateJobQueueInput struct { 8208 _ struct{} `type:"structure"` 8209 8210 // Details the set of compute environments mapped to a job queue and their order 8211 // relative to each other. This is one of the parameters used by the job scheduler 8212 // to determine which compute environment should run a given job. Compute environments 8213 // must be in the VALID state before you can associate them with a job queue. 8214 // All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate 8215 // (FARGATE or FARGATE_SPOT). EC2 and Fargate compute environments can't be 8216 // mixed. 8217 // 8218 // All compute environments that are associated with a job queue must share 8219 // the same architecture. AWS Batch doesn't support mixing compute environment 8220 // architecture types in a single job queue. 8221 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list"` 8222 8223 // The name or the Amazon Resource Name (ARN) of the job queue. 8224 // 8225 // JobQueue is a required field 8226 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 8227 8228 // The priority of the job queue. Job queues with a higher priority (or a higher 8229 // integer value for the priority parameter) are evaluated first when associated 8230 // with the same compute environment. Priority is determined in descending order, 8231 // for example, a job queue with a priority value of 10 is given scheduling 8232 // preference over a job queue with a priority value of 1. All of the compute 8233 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT). 8234 // EC2 and Fargate compute environments can't be mixed. 8235 Priority *int64 `locationName:"priority" type:"integer"` 8236 8237 // Describes the queue's ability to accept new jobs. If the job queue state 8238 // is ENABLED, it can accept jobs. If the job queue state is DISABLED, new jobs 8239 // can't be added to the queue, but jobs already in the queue can finish. 8240 State *string `locationName:"state" type:"string" enum:"JQState"` 8241} 8242 8243// String returns the string representation 8244func (s UpdateJobQueueInput) String() string { 8245 return awsutil.Prettify(s) 8246} 8247 8248// GoString returns the string representation 8249func (s UpdateJobQueueInput) GoString() string { 8250 return s.String() 8251} 8252 8253// Validate inspects the fields of the type to determine if they are valid. 8254func (s *UpdateJobQueueInput) Validate() error { 8255 invalidParams := request.ErrInvalidParams{Context: "UpdateJobQueueInput"} 8256 if s.JobQueue == nil { 8257 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 8258 } 8259 if s.ComputeEnvironmentOrder != nil { 8260 for i, v := range s.ComputeEnvironmentOrder { 8261 if v == nil { 8262 continue 8263 } 8264 if err := v.Validate(); err != nil { 8265 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 8266 } 8267 } 8268 } 8269 8270 if invalidParams.Len() > 0 { 8271 return invalidParams 8272 } 8273 return nil 8274} 8275 8276// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 8277func (s *UpdateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *UpdateJobQueueInput { 8278 s.ComputeEnvironmentOrder = v 8279 return s 8280} 8281 8282// SetJobQueue sets the JobQueue field's value. 8283func (s *UpdateJobQueueInput) SetJobQueue(v string) *UpdateJobQueueInput { 8284 s.JobQueue = &v 8285 return s 8286} 8287 8288// SetPriority sets the Priority field's value. 8289func (s *UpdateJobQueueInput) SetPriority(v int64) *UpdateJobQueueInput { 8290 s.Priority = &v 8291 return s 8292} 8293 8294// SetState sets the State field's value. 8295func (s *UpdateJobQueueInput) SetState(v string) *UpdateJobQueueInput { 8296 s.State = &v 8297 return s 8298} 8299 8300type UpdateJobQueueOutput struct { 8301 _ struct{} `type:"structure"` 8302 8303 // The Amazon Resource Name (ARN) of the job queue. 8304 JobQueueArn *string `locationName:"jobQueueArn" type:"string"` 8305 8306 // The name of the job queue. 8307 JobQueueName *string `locationName:"jobQueueName" type:"string"` 8308} 8309 8310// String returns the string representation 8311func (s UpdateJobQueueOutput) String() string { 8312 return awsutil.Prettify(s) 8313} 8314 8315// GoString returns the string representation 8316func (s UpdateJobQueueOutput) GoString() string { 8317 return s.String() 8318} 8319 8320// SetJobQueueArn sets the JobQueueArn field's value. 8321func (s *UpdateJobQueueOutput) SetJobQueueArn(v string) *UpdateJobQueueOutput { 8322 s.JobQueueArn = &v 8323 return s 8324} 8325 8326// SetJobQueueName sets the JobQueueName field's value. 8327func (s *UpdateJobQueueOutput) SetJobQueueName(v string) *UpdateJobQueueOutput { 8328 s.JobQueueName = &v 8329 return s 8330} 8331 8332// A data volume used in a job's container properties. 8333type Volume struct { 8334 _ struct{} `type:"structure"` 8335 8336 // This parameter is specified when you are using an Amazon Elastic File System 8337 // file system for job storage. Jobs running on Fargate resources must specify 8338 // a platformVersion of at least 1.4.0. 8339 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 8340 8341 // The contents of the host parameter determine whether your data volume persists 8342 // on the host container instance and where it is stored. If the host parameter 8343 // is empty, then the Docker daemon assigns a host path for your data volume. 8344 // However, the data isn't guaranteed to persist after the containers associated 8345 // with it stop running. 8346 // 8347 // This parameter isn't applicable to jobs running on Fargate resources and 8348 // shouldn't be provided. 8349 Host *Host `locationName:"host" type:"structure"` 8350 8351 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 8352 // hyphens, and underscores are allowed. This name is referenced in the sourceVolume 8353 // parameter of container definition mountPoints. 8354 Name *string `locationName:"name" type:"string"` 8355} 8356 8357// String returns the string representation 8358func (s Volume) String() string { 8359 return awsutil.Prettify(s) 8360} 8361 8362// GoString returns the string representation 8363func (s Volume) GoString() string { 8364 return s.String() 8365} 8366 8367// Validate inspects the fields of the type to determine if they are valid. 8368func (s *Volume) Validate() error { 8369 invalidParams := request.ErrInvalidParams{Context: "Volume"} 8370 if s.EfsVolumeConfiguration != nil { 8371 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 8372 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 8373 } 8374 } 8375 8376 if invalidParams.Len() > 0 { 8377 return invalidParams 8378 } 8379 return nil 8380} 8381 8382// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 8383func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 8384 s.EfsVolumeConfiguration = v 8385 return s 8386} 8387 8388// SetHost sets the Host field's value. 8389func (s *Volume) SetHost(v *Host) *Volume { 8390 s.Host = v 8391 return s 8392} 8393 8394// SetName sets the Name field's value. 8395func (s *Volume) SetName(v string) *Volume { 8396 s.Name = &v 8397 return s 8398} 8399 8400const ( 8401 // ArrayJobDependencyNToN is a ArrayJobDependency enum value 8402 ArrayJobDependencyNToN = "N_TO_N" 8403 8404 // ArrayJobDependencySequential is a ArrayJobDependency enum value 8405 ArrayJobDependencySequential = "SEQUENTIAL" 8406) 8407 8408// ArrayJobDependency_Values returns all elements of the ArrayJobDependency enum 8409func ArrayJobDependency_Values() []string { 8410 return []string{ 8411 ArrayJobDependencyNToN, 8412 ArrayJobDependencySequential, 8413 } 8414} 8415 8416const ( 8417 // AssignPublicIpEnabled is a AssignPublicIp enum value 8418 AssignPublicIpEnabled = "ENABLED" 8419 8420 // AssignPublicIpDisabled is a AssignPublicIp enum value 8421 AssignPublicIpDisabled = "DISABLED" 8422) 8423 8424// AssignPublicIp_Values returns all elements of the AssignPublicIp enum 8425func AssignPublicIp_Values() []string { 8426 return []string{ 8427 AssignPublicIpEnabled, 8428 AssignPublicIpDisabled, 8429 } 8430} 8431 8432const ( 8433 // CEStateEnabled is a CEState enum value 8434 CEStateEnabled = "ENABLED" 8435 8436 // CEStateDisabled is a CEState enum value 8437 CEStateDisabled = "DISABLED" 8438) 8439 8440// CEState_Values returns all elements of the CEState enum 8441func CEState_Values() []string { 8442 return []string{ 8443 CEStateEnabled, 8444 CEStateDisabled, 8445 } 8446} 8447 8448const ( 8449 // CEStatusCreating is a CEStatus enum value 8450 CEStatusCreating = "CREATING" 8451 8452 // CEStatusUpdating is a CEStatus enum value 8453 CEStatusUpdating = "UPDATING" 8454 8455 // CEStatusDeleting is a CEStatus enum value 8456 CEStatusDeleting = "DELETING" 8457 8458 // CEStatusDeleted is a CEStatus enum value 8459 CEStatusDeleted = "DELETED" 8460 8461 // CEStatusValid is a CEStatus enum value 8462 CEStatusValid = "VALID" 8463 8464 // CEStatusInvalid is a CEStatus enum value 8465 CEStatusInvalid = "INVALID" 8466) 8467 8468// CEStatus_Values returns all elements of the CEStatus enum 8469func CEStatus_Values() []string { 8470 return []string{ 8471 CEStatusCreating, 8472 CEStatusUpdating, 8473 CEStatusDeleting, 8474 CEStatusDeleted, 8475 CEStatusValid, 8476 CEStatusInvalid, 8477 } 8478} 8479 8480const ( 8481 // CETypeManaged is a CEType enum value 8482 CETypeManaged = "MANAGED" 8483 8484 // CETypeUnmanaged is a CEType enum value 8485 CETypeUnmanaged = "UNMANAGED" 8486) 8487 8488// CEType_Values returns all elements of the CEType enum 8489func CEType_Values() []string { 8490 return []string{ 8491 CETypeManaged, 8492 CETypeUnmanaged, 8493 } 8494} 8495 8496const ( 8497 // CRAllocationStrategyBestFit is a CRAllocationStrategy enum value 8498 CRAllocationStrategyBestFit = "BEST_FIT" 8499 8500 // CRAllocationStrategyBestFitProgressive is a CRAllocationStrategy enum value 8501 CRAllocationStrategyBestFitProgressive = "BEST_FIT_PROGRESSIVE" 8502 8503 // CRAllocationStrategySpotCapacityOptimized is a CRAllocationStrategy enum value 8504 CRAllocationStrategySpotCapacityOptimized = "SPOT_CAPACITY_OPTIMIZED" 8505) 8506 8507// CRAllocationStrategy_Values returns all elements of the CRAllocationStrategy enum 8508func CRAllocationStrategy_Values() []string { 8509 return []string{ 8510 CRAllocationStrategyBestFit, 8511 CRAllocationStrategyBestFitProgressive, 8512 CRAllocationStrategySpotCapacityOptimized, 8513 } 8514} 8515 8516const ( 8517 // CRTypeEc2 is a CRType enum value 8518 CRTypeEc2 = "EC2" 8519 8520 // CRTypeSpot is a CRType enum value 8521 CRTypeSpot = "SPOT" 8522 8523 // CRTypeFargate is a CRType enum value 8524 CRTypeFargate = "FARGATE" 8525 8526 // CRTypeFargateSpot is a CRType enum value 8527 CRTypeFargateSpot = "FARGATE_SPOT" 8528) 8529 8530// CRType_Values returns all elements of the CRType enum 8531func CRType_Values() []string { 8532 return []string{ 8533 CRTypeEc2, 8534 CRTypeSpot, 8535 CRTypeFargate, 8536 CRTypeFargateSpot, 8537 } 8538} 8539 8540const ( 8541 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 8542 DeviceCgroupPermissionRead = "READ" 8543 8544 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 8545 DeviceCgroupPermissionWrite = "WRITE" 8546 8547 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 8548 DeviceCgroupPermissionMknod = "MKNOD" 8549) 8550 8551// DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 8552func DeviceCgroupPermission_Values() []string { 8553 return []string{ 8554 DeviceCgroupPermissionRead, 8555 DeviceCgroupPermissionWrite, 8556 DeviceCgroupPermissionMknod, 8557 } 8558} 8559 8560const ( 8561 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 8562 EFSAuthorizationConfigIAMEnabled = "ENABLED" 8563 8564 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 8565 EFSAuthorizationConfigIAMDisabled = "DISABLED" 8566) 8567 8568// EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 8569func EFSAuthorizationConfigIAM_Values() []string { 8570 return []string{ 8571 EFSAuthorizationConfigIAMEnabled, 8572 EFSAuthorizationConfigIAMDisabled, 8573 } 8574} 8575 8576const ( 8577 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 8578 EFSTransitEncryptionEnabled = "ENABLED" 8579 8580 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 8581 EFSTransitEncryptionDisabled = "DISABLED" 8582) 8583 8584// EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 8585func EFSTransitEncryption_Values() []string { 8586 return []string{ 8587 EFSTransitEncryptionEnabled, 8588 EFSTransitEncryptionDisabled, 8589 } 8590} 8591 8592const ( 8593 // JQStateEnabled is a JQState enum value 8594 JQStateEnabled = "ENABLED" 8595 8596 // JQStateDisabled is a JQState enum value 8597 JQStateDisabled = "DISABLED" 8598) 8599 8600// JQState_Values returns all elements of the JQState enum 8601func JQState_Values() []string { 8602 return []string{ 8603 JQStateEnabled, 8604 JQStateDisabled, 8605 } 8606} 8607 8608const ( 8609 // JQStatusCreating is a JQStatus enum value 8610 JQStatusCreating = "CREATING" 8611 8612 // JQStatusUpdating is a JQStatus enum value 8613 JQStatusUpdating = "UPDATING" 8614 8615 // JQStatusDeleting is a JQStatus enum value 8616 JQStatusDeleting = "DELETING" 8617 8618 // JQStatusDeleted is a JQStatus enum value 8619 JQStatusDeleted = "DELETED" 8620 8621 // JQStatusValid is a JQStatus enum value 8622 JQStatusValid = "VALID" 8623 8624 // JQStatusInvalid is a JQStatus enum value 8625 JQStatusInvalid = "INVALID" 8626) 8627 8628// JQStatus_Values returns all elements of the JQStatus enum 8629func JQStatus_Values() []string { 8630 return []string{ 8631 JQStatusCreating, 8632 JQStatusUpdating, 8633 JQStatusDeleting, 8634 JQStatusDeleted, 8635 JQStatusValid, 8636 JQStatusInvalid, 8637 } 8638} 8639 8640const ( 8641 // JobDefinitionTypeContainer is a JobDefinitionType enum value 8642 JobDefinitionTypeContainer = "container" 8643 8644 // JobDefinitionTypeMultinode is a JobDefinitionType enum value 8645 JobDefinitionTypeMultinode = "multinode" 8646) 8647 8648// JobDefinitionType_Values returns all elements of the JobDefinitionType enum 8649func JobDefinitionType_Values() []string { 8650 return []string{ 8651 JobDefinitionTypeContainer, 8652 JobDefinitionTypeMultinode, 8653 } 8654} 8655 8656const ( 8657 // JobStatusSubmitted is a JobStatus enum value 8658 JobStatusSubmitted = "SUBMITTED" 8659 8660 // JobStatusPending is a JobStatus enum value 8661 JobStatusPending = "PENDING" 8662 8663 // JobStatusRunnable is a JobStatus enum value 8664 JobStatusRunnable = "RUNNABLE" 8665 8666 // JobStatusStarting is a JobStatus enum value 8667 JobStatusStarting = "STARTING" 8668 8669 // JobStatusRunning is a JobStatus enum value 8670 JobStatusRunning = "RUNNING" 8671 8672 // JobStatusSucceeded is a JobStatus enum value 8673 JobStatusSucceeded = "SUCCEEDED" 8674 8675 // JobStatusFailed is a JobStatus enum value 8676 JobStatusFailed = "FAILED" 8677) 8678 8679// JobStatus_Values returns all elements of the JobStatus enum 8680func JobStatus_Values() []string { 8681 return []string{ 8682 JobStatusSubmitted, 8683 JobStatusPending, 8684 JobStatusRunnable, 8685 JobStatusStarting, 8686 JobStatusRunning, 8687 JobStatusSucceeded, 8688 JobStatusFailed, 8689 } 8690} 8691 8692const ( 8693 // LogDriverJsonFile is a LogDriver enum value 8694 LogDriverJsonFile = "json-file" 8695 8696 // LogDriverSyslog is a LogDriver enum value 8697 LogDriverSyslog = "syslog" 8698 8699 // LogDriverJournald is a LogDriver enum value 8700 LogDriverJournald = "journald" 8701 8702 // LogDriverGelf is a LogDriver enum value 8703 LogDriverGelf = "gelf" 8704 8705 // LogDriverFluentd is a LogDriver enum value 8706 LogDriverFluentd = "fluentd" 8707 8708 // LogDriverAwslogs is a LogDriver enum value 8709 LogDriverAwslogs = "awslogs" 8710 8711 // LogDriverSplunk is a LogDriver enum value 8712 LogDriverSplunk = "splunk" 8713) 8714 8715// LogDriver_Values returns all elements of the LogDriver enum 8716func LogDriver_Values() []string { 8717 return []string{ 8718 LogDriverJsonFile, 8719 LogDriverSyslog, 8720 LogDriverJournald, 8721 LogDriverGelf, 8722 LogDriverFluentd, 8723 LogDriverAwslogs, 8724 LogDriverSplunk, 8725 } 8726} 8727 8728const ( 8729 // PlatformCapabilityEc2 is a PlatformCapability enum value 8730 PlatformCapabilityEc2 = "EC2" 8731 8732 // PlatformCapabilityFargate is a PlatformCapability enum value 8733 PlatformCapabilityFargate = "FARGATE" 8734) 8735 8736// PlatformCapability_Values returns all elements of the PlatformCapability enum 8737func PlatformCapability_Values() []string { 8738 return []string{ 8739 PlatformCapabilityEc2, 8740 PlatformCapabilityFargate, 8741 } 8742} 8743 8744const ( 8745 // ResourceTypeGpu is a ResourceType enum value 8746 ResourceTypeGpu = "GPU" 8747 8748 // ResourceTypeVcpu is a ResourceType enum value 8749 ResourceTypeVcpu = "VCPU" 8750 8751 // ResourceTypeMemory is a ResourceType enum value 8752 ResourceTypeMemory = "MEMORY" 8753) 8754 8755// ResourceType_Values returns all elements of the ResourceType enum 8756func ResourceType_Values() []string { 8757 return []string{ 8758 ResourceTypeGpu, 8759 ResourceTypeVcpu, 8760 ResourceTypeMemory, 8761 } 8762} 8763 8764const ( 8765 // RetryActionRetry is a RetryAction enum value 8766 RetryActionRetry = "RETRY" 8767 8768 // RetryActionExit is a RetryAction enum value 8769 RetryActionExit = "EXIT" 8770) 8771 8772// RetryAction_Values returns all elements of the RetryAction enum 8773func RetryAction_Values() []string { 8774 return []string{ 8775 RetryActionRetry, 8776 RetryActionExit, 8777 } 8778} 8779