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 Batch job queue. Jobs that are in the SUBMITTED, PENDING, 61// or RUNNABLE state are canceled. Jobs that have progressed to STARTING or 62// RUNNING aren't canceled, but the API operation still succeeds, even if no 63// job is canceled. These jobs must be terminated with the TerminateJob operation. 64// 65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 66// with awserr.Error's Code and Message methods to get detailed information about 67// the error. 68// 69// See the AWS API reference guide for AWS Batch's 70// API operation CancelJob for usage and error information. 71// 72// Returned Error Types: 73// * ClientException 74// These errors are usually caused by a client action, such as using an action 75// or resource on behalf of a user that doesn't have permissions to use the 76// action or resource, or specifying an identifier that's not valid. 77// 78// * ServerException 79// These errors are usually caused by a server issue. 80// 81// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob 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 Batch compute environment. You can create MANAGED or UNMANAGED 148// compute environments. MANAGED compute environments can use Amazon EC2 or 149// Fargate resources. UNMANAGED compute environments can only use EC2 resources. 150// 151// In a managed compute environment, Batch manages the capacity and instance 152// types of the compute resources within the environment. This is based on the 153// compute resource specification that you define or the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) 154// that you specify when you create the compute environment. Either, you can 155// choose to use EC2 On-Demand Instances and EC2 Spot Instances. Or, you can 156// use Fargate and Fargate Spot capacity in your managed compute environment. 157// You can optionally set a maximum price so that Spot Instances only launch 158// when the Spot Instance price is less than a specified percentage of the On-Demand 159// price. 160// 161// Multi-node parallel jobs aren't supported on Spot Instances. 162// 163// In an unmanaged compute environment, you can manage your own EC2 compute 164// resources and have a lot of flexibility with how you configure your compute 165// resources. For example, you can use custom AMIs. However, you must verify 166// that each of your AMIs meet the Amazon ECS container instance AMI specification. 167// For more information, see container instance AMIs (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) 168// in the Amazon Elastic Container Service Developer Guide. After you created 169// your unmanaged compute environment, you can use the DescribeComputeEnvironments 170// operation to find the Amazon ECS cluster that's associated with it. Then, 171// launch your container instances into that Amazon ECS cluster. For more information, 172// see Launching an Amazon ECS container instance (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) 173// in the Amazon Elastic Container Service Developer Guide. 174// 175// Batch doesn't upgrade the AMIs in a compute environment after the environment 176// is created. For example, it doesn't update the AMIs when a newer version 177// of the Amazon ECS optimized AMI is available. Therefore, you're responsible 178// for managing the guest operating system (including its updates and security 179// patches) and any additional application software or utilities that you install 180// on the compute resources. To use a new AMI for your Batch jobs, complete 181// these steps: 182// 183// Create a new compute environment with the new AMI. 184// 185// Add the compute environment to an existing job queue. 186// 187// Remove the earlier compute environment from your job queue. 188// 189// Delete the earlier compute environment. 190// 191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 192// with awserr.Error's Code and Message methods to get detailed information about 193// the error. 194// 195// See the AWS API reference guide for AWS Batch's 196// API operation CreateComputeEnvironment for usage and error information. 197// 198// Returned Error Types: 199// * ClientException 200// These errors are usually caused by a client action, such as using an action 201// or resource on behalf of a user that doesn't have permissions to use the 202// action or resource, or specifying an identifier that's not valid. 203// 204// * ServerException 205// These errors are usually caused by a server issue. 206// 207// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment 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 Batch job queue. When you create a job queue, you associate one 274// or more compute environments to the queue and assign an order of preference 275// for the compute environments. 276// 277// You also set a priority to the job queue that determines the order that the 278// Batch scheduler places jobs onto its associated compute environments. For 279// example, if a compute environment is associated with more than one job queue, 280// the job queue with a higher priority is given preference for scheduling jobs 281// to that compute environment. 282// 283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 284// with awserr.Error's Code and Message methods to get detailed information about 285// the error. 286// 287// See the AWS API reference guide for AWS Batch's 288// API operation CreateJobQueue for usage and error information. 289// 290// Returned Error Types: 291// * ClientException 292// These errors are usually caused by a client action, such as using an action 293// or resource on behalf of a user that doesn't have permissions to use the 294// action or resource, or specifying an identifier that's not valid. 295// 296// * ServerException 297// These errors are usually caused by a server issue. 298// 299// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue 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 opCreateSchedulingPolicy = "CreateSchedulingPolicy" 322 323// CreateSchedulingPolicyRequest generates a "aws/request.Request" representing the 324// client's request for the CreateSchedulingPolicy 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 CreateSchedulingPolicy for more information on using the CreateSchedulingPolicy 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 CreateSchedulingPolicyRequest method. 339// req, resp := client.CreateSchedulingPolicyRequest(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/CreateSchedulingPolicy 347func (c *Batch) CreateSchedulingPolicyRequest(input *CreateSchedulingPolicyInput) (req *request.Request, output *CreateSchedulingPolicyOutput) { 348 op := &request.Operation{ 349 Name: opCreateSchedulingPolicy, 350 HTTPMethod: "POST", 351 HTTPPath: "/v1/createschedulingpolicy", 352 } 353 354 if input == nil { 355 input = &CreateSchedulingPolicyInput{} 356 } 357 358 output = &CreateSchedulingPolicyOutput{} 359 req = c.newRequest(op, input, output) 360 return 361} 362 363// CreateSchedulingPolicy API operation for AWS Batch. 364// 365// Creates an Batch scheduling policy. 366// 367// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 368// with awserr.Error's Code and Message methods to get detailed information about 369// the error. 370// 371// See the AWS API reference guide for AWS Batch's 372// API operation CreateSchedulingPolicy for usage and error information. 373// 374// Returned Error Types: 375// * ClientException 376// These errors are usually caused by a client action, such as using an action 377// or resource on behalf of a user that doesn't have permissions to use the 378// action or resource, or specifying an identifier that's not valid. 379// 380// * ServerException 381// These errors are usually caused by a server issue. 382// 383// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateSchedulingPolicy 384func (c *Batch) CreateSchedulingPolicy(input *CreateSchedulingPolicyInput) (*CreateSchedulingPolicyOutput, error) { 385 req, out := c.CreateSchedulingPolicyRequest(input) 386 return out, req.Send() 387} 388 389// CreateSchedulingPolicyWithContext is the same as CreateSchedulingPolicy with the addition of 390// the ability to pass a context and additional request options. 391// 392// See CreateSchedulingPolicy for details on how to use this API operation. 393// 394// The context must be non-nil and will be used for request cancellation. If 395// the context is nil a panic will occur. In the future the SDK may create 396// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 397// for more information on using Contexts. 398func (c *Batch) CreateSchedulingPolicyWithContext(ctx aws.Context, input *CreateSchedulingPolicyInput, opts ...request.Option) (*CreateSchedulingPolicyOutput, error) { 399 req, out := c.CreateSchedulingPolicyRequest(input) 400 req.SetContext(ctx) 401 req.ApplyOptions(opts...) 402 return out, req.Send() 403} 404 405const opDeleteComputeEnvironment = "DeleteComputeEnvironment" 406 407// DeleteComputeEnvironmentRequest generates a "aws/request.Request" representing the 408// client's request for the DeleteComputeEnvironment operation. The "output" return 409// value will be populated with the request's response once the request completes 410// successfully. 411// 412// Use "Send" method on the returned Request to send the API call to the service. 413// the "output" return value is not valid until after Send returns without error. 414// 415// See DeleteComputeEnvironment for more information on using the DeleteComputeEnvironment 416// API call, and error handling. 417// 418// This method is useful when you want to inject custom logic or configuration 419// into the SDK's request lifecycle. Such as custom headers, or retry logic. 420// 421// 422// // Example sending a request using the DeleteComputeEnvironmentRequest method. 423// req, resp := client.DeleteComputeEnvironmentRequest(params) 424// 425// err := req.Send() 426// if err == nil { // resp is now filled 427// fmt.Println(resp) 428// } 429// 430// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 431func (c *Batch) DeleteComputeEnvironmentRequest(input *DeleteComputeEnvironmentInput) (req *request.Request, output *DeleteComputeEnvironmentOutput) { 432 op := &request.Operation{ 433 Name: opDeleteComputeEnvironment, 434 HTTPMethod: "POST", 435 HTTPPath: "/v1/deletecomputeenvironment", 436 } 437 438 if input == nil { 439 input = &DeleteComputeEnvironmentInput{} 440 } 441 442 output = &DeleteComputeEnvironmentOutput{} 443 req = c.newRequest(op, input, output) 444 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 445 return 446} 447 448// DeleteComputeEnvironment API operation for AWS Batch. 449// 450// Deletes an Batch compute environment. 451// 452// Before you can delete a compute environment, you must set its state to DISABLED 453// with the UpdateComputeEnvironment API operation and disassociate it from 454// any job queues with the UpdateJobQueue API operation. Compute environments 455// that use Fargate resources must terminate all active jobs on that compute 456// environment before deleting the compute environment. If this isn't done, 457// the compute environment enters an invalid state. 458// 459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 460// with awserr.Error's Code and Message methods to get detailed information about 461// the error. 462// 463// See the AWS API reference guide for AWS Batch's 464// API operation DeleteComputeEnvironment for usage and error information. 465// 466// Returned Error Types: 467// * ClientException 468// These errors are usually caused by a client action, such as using an action 469// or resource on behalf of a user that doesn't have permissions to use the 470// action or resource, or specifying an identifier that's not valid. 471// 472// * ServerException 473// These errors are usually caused by a server issue. 474// 475// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 476func (c *Batch) DeleteComputeEnvironment(input *DeleteComputeEnvironmentInput) (*DeleteComputeEnvironmentOutput, error) { 477 req, out := c.DeleteComputeEnvironmentRequest(input) 478 return out, req.Send() 479} 480 481// DeleteComputeEnvironmentWithContext is the same as DeleteComputeEnvironment with the addition of 482// the ability to pass a context and additional request options. 483// 484// See DeleteComputeEnvironment for details on how to use this API operation. 485// 486// The context must be non-nil and will be used for request cancellation. If 487// the context is nil a panic will occur. In the future the SDK may create 488// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 489// for more information on using Contexts. 490func (c *Batch) DeleteComputeEnvironmentWithContext(ctx aws.Context, input *DeleteComputeEnvironmentInput, opts ...request.Option) (*DeleteComputeEnvironmentOutput, error) { 491 req, out := c.DeleteComputeEnvironmentRequest(input) 492 req.SetContext(ctx) 493 req.ApplyOptions(opts...) 494 return out, req.Send() 495} 496 497const opDeleteJobQueue = "DeleteJobQueue" 498 499// DeleteJobQueueRequest generates a "aws/request.Request" representing the 500// client's request for the DeleteJobQueue operation. The "output" return 501// value will be populated with the request's response once the request completes 502// successfully. 503// 504// Use "Send" method on the returned Request to send the API call to the service. 505// the "output" return value is not valid until after Send returns without error. 506// 507// See DeleteJobQueue for more information on using the DeleteJobQueue 508// API call, and error handling. 509// 510// This method is useful when you want to inject custom logic or configuration 511// into the SDK's request lifecycle. Such as custom headers, or retry logic. 512// 513// 514// // Example sending a request using the DeleteJobQueueRequest method. 515// req, resp := client.DeleteJobQueueRequest(params) 516// 517// err := req.Send() 518// if err == nil { // resp is now filled 519// fmt.Println(resp) 520// } 521// 522// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 523func (c *Batch) DeleteJobQueueRequest(input *DeleteJobQueueInput) (req *request.Request, output *DeleteJobQueueOutput) { 524 op := &request.Operation{ 525 Name: opDeleteJobQueue, 526 HTTPMethod: "POST", 527 HTTPPath: "/v1/deletejobqueue", 528 } 529 530 if input == nil { 531 input = &DeleteJobQueueInput{} 532 } 533 534 output = &DeleteJobQueueOutput{} 535 req = c.newRequest(op, input, output) 536 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 537 return 538} 539 540// DeleteJobQueue API operation for AWS Batch. 541// 542// Deletes the specified job queue. You must first disable submissions for a 543// queue with the UpdateJobQueue operation. All jobs in the queue are eventually 544// terminated when you delete a job queue. The jobs are terminated at a rate 545// of about 16 jobs each second. 546// 547// It's not necessary to disassociate compute environments from a queue before 548// submitting a DeleteJobQueue request. 549// 550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 551// with awserr.Error's Code and Message methods to get detailed information about 552// the error. 553// 554// See the AWS API reference guide for AWS Batch's 555// API operation DeleteJobQueue for usage and error information. 556// 557// Returned Error Types: 558// * ClientException 559// These errors are usually caused by a client action, such as using an action 560// or resource on behalf of a user that doesn't have permissions to use the 561// action or resource, or specifying an identifier that's not valid. 562// 563// * ServerException 564// These errors are usually caused by a server issue. 565// 566// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 567func (c *Batch) DeleteJobQueue(input *DeleteJobQueueInput) (*DeleteJobQueueOutput, error) { 568 req, out := c.DeleteJobQueueRequest(input) 569 return out, req.Send() 570} 571 572// DeleteJobQueueWithContext is the same as DeleteJobQueue with the addition of 573// the ability to pass a context and additional request options. 574// 575// See DeleteJobQueue for details on how to use this API operation. 576// 577// The context must be non-nil and will be used for request cancellation. If 578// the context is nil a panic will occur. In the future the SDK may create 579// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 580// for more information on using Contexts. 581func (c *Batch) DeleteJobQueueWithContext(ctx aws.Context, input *DeleteJobQueueInput, opts ...request.Option) (*DeleteJobQueueOutput, error) { 582 req, out := c.DeleteJobQueueRequest(input) 583 req.SetContext(ctx) 584 req.ApplyOptions(opts...) 585 return out, req.Send() 586} 587 588const opDeleteSchedulingPolicy = "DeleteSchedulingPolicy" 589 590// DeleteSchedulingPolicyRequest generates a "aws/request.Request" representing the 591// client's request for the DeleteSchedulingPolicy operation. The "output" return 592// value will be populated with the request's response once the request completes 593// successfully. 594// 595// Use "Send" method on the returned Request to send the API call to the service. 596// the "output" return value is not valid until after Send returns without error. 597// 598// See DeleteSchedulingPolicy for more information on using the DeleteSchedulingPolicy 599// API call, and error handling. 600// 601// This method is useful when you want to inject custom logic or configuration 602// into the SDK's request lifecycle. Such as custom headers, or retry logic. 603// 604// 605// // Example sending a request using the DeleteSchedulingPolicyRequest method. 606// req, resp := client.DeleteSchedulingPolicyRequest(params) 607// 608// err := req.Send() 609// if err == nil { // resp is now filled 610// fmt.Println(resp) 611// } 612// 613// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicy 614func (c *Batch) DeleteSchedulingPolicyRequest(input *DeleteSchedulingPolicyInput) (req *request.Request, output *DeleteSchedulingPolicyOutput) { 615 op := &request.Operation{ 616 Name: opDeleteSchedulingPolicy, 617 HTTPMethod: "POST", 618 HTTPPath: "/v1/deleteschedulingpolicy", 619 } 620 621 if input == nil { 622 input = &DeleteSchedulingPolicyInput{} 623 } 624 625 output = &DeleteSchedulingPolicyOutput{} 626 req = c.newRequest(op, input, output) 627 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 628 return 629} 630 631// DeleteSchedulingPolicy API operation for AWS Batch. 632// 633// Deletes the specified scheduling policy. 634// 635// You can't delete a scheduling policy that is used in any job queues. 636// 637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 638// with awserr.Error's Code and Message methods to get detailed information about 639// the error. 640// 641// See the AWS API reference guide for AWS Batch's 642// API operation DeleteSchedulingPolicy for usage and error information. 643// 644// Returned Error Types: 645// * ClientException 646// These errors are usually caused by a client action, such as using an action 647// or resource on behalf of a user that doesn't have permissions to use the 648// action or resource, or specifying an identifier that's not valid. 649// 650// * ServerException 651// These errors are usually caused by a server issue. 652// 653// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicy 654func (c *Batch) DeleteSchedulingPolicy(input *DeleteSchedulingPolicyInput) (*DeleteSchedulingPolicyOutput, error) { 655 req, out := c.DeleteSchedulingPolicyRequest(input) 656 return out, req.Send() 657} 658 659// DeleteSchedulingPolicyWithContext is the same as DeleteSchedulingPolicy with the addition of 660// the ability to pass a context and additional request options. 661// 662// See DeleteSchedulingPolicy for details on how to use this API operation. 663// 664// The context must be non-nil and will be used for request cancellation. If 665// the context is nil a panic will occur. In the future the SDK may create 666// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 667// for more information on using Contexts. 668func (c *Batch) DeleteSchedulingPolicyWithContext(ctx aws.Context, input *DeleteSchedulingPolicyInput, opts ...request.Option) (*DeleteSchedulingPolicyOutput, error) { 669 req, out := c.DeleteSchedulingPolicyRequest(input) 670 req.SetContext(ctx) 671 req.ApplyOptions(opts...) 672 return out, req.Send() 673} 674 675const opDeregisterJobDefinition = "DeregisterJobDefinition" 676 677// DeregisterJobDefinitionRequest generates a "aws/request.Request" representing the 678// client's request for the DeregisterJobDefinition operation. The "output" return 679// value will be populated with the request's response once the request completes 680// successfully. 681// 682// Use "Send" method on the returned Request to send the API call to the service. 683// the "output" return value is not valid until after Send returns without error. 684// 685// See DeregisterJobDefinition for more information on using the DeregisterJobDefinition 686// API call, and error handling. 687// 688// This method is useful when you want to inject custom logic or configuration 689// into the SDK's request lifecycle. Such as custom headers, or retry logic. 690// 691// 692// // Example sending a request using the DeregisterJobDefinitionRequest method. 693// req, resp := client.DeregisterJobDefinitionRequest(params) 694// 695// err := req.Send() 696// if err == nil { // resp is now filled 697// fmt.Println(resp) 698// } 699// 700// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 701func (c *Batch) DeregisterJobDefinitionRequest(input *DeregisterJobDefinitionInput) (req *request.Request, output *DeregisterJobDefinitionOutput) { 702 op := &request.Operation{ 703 Name: opDeregisterJobDefinition, 704 HTTPMethod: "POST", 705 HTTPPath: "/v1/deregisterjobdefinition", 706 } 707 708 if input == nil { 709 input = &DeregisterJobDefinitionInput{} 710 } 711 712 output = &DeregisterJobDefinitionOutput{} 713 req = c.newRequest(op, input, output) 714 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 715 return 716} 717 718// DeregisterJobDefinition API operation for AWS Batch. 719// 720// Deregisters an Batch job definition. Job definitions are permanently deleted 721// after 180 days. 722// 723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 724// with awserr.Error's Code and Message methods to get detailed information about 725// the error. 726// 727// See the AWS API reference guide for AWS Batch's 728// API operation DeregisterJobDefinition for usage and error information. 729// 730// Returned Error Types: 731// * ClientException 732// These errors are usually caused by a client action, such as using an action 733// or resource on behalf of a user that doesn't have permissions to use the 734// action or resource, or specifying an identifier that's not valid. 735// 736// * ServerException 737// These errors are usually caused by a server issue. 738// 739// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 740func (c *Batch) DeregisterJobDefinition(input *DeregisterJobDefinitionInput) (*DeregisterJobDefinitionOutput, error) { 741 req, out := c.DeregisterJobDefinitionRequest(input) 742 return out, req.Send() 743} 744 745// DeregisterJobDefinitionWithContext is the same as DeregisterJobDefinition with the addition of 746// the ability to pass a context and additional request options. 747// 748// See DeregisterJobDefinition for details on how to use this API operation. 749// 750// The context must be non-nil and will be used for request cancellation. If 751// the context is nil a panic will occur. In the future the SDK may create 752// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 753// for more information on using Contexts. 754func (c *Batch) DeregisterJobDefinitionWithContext(ctx aws.Context, input *DeregisterJobDefinitionInput, opts ...request.Option) (*DeregisterJobDefinitionOutput, error) { 755 req, out := c.DeregisterJobDefinitionRequest(input) 756 req.SetContext(ctx) 757 req.ApplyOptions(opts...) 758 return out, req.Send() 759} 760 761const opDescribeComputeEnvironments = "DescribeComputeEnvironments" 762 763// DescribeComputeEnvironmentsRequest generates a "aws/request.Request" representing the 764// client's request for the DescribeComputeEnvironments operation. The "output" return 765// value will be populated with the request's response once the request completes 766// successfully. 767// 768// Use "Send" method on the returned Request to send the API call to the service. 769// the "output" return value is not valid until after Send returns without error. 770// 771// See DescribeComputeEnvironments for more information on using the DescribeComputeEnvironments 772// API call, and error handling. 773// 774// This method is useful when you want to inject custom logic or configuration 775// into the SDK's request lifecycle. Such as custom headers, or retry logic. 776// 777// 778// // Example sending a request using the DescribeComputeEnvironmentsRequest method. 779// req, resp := client.DescribeComputeEnvironmentsRequest(params) 780// 781// err := req.Send() 782// if err == nil { // resp is now filled 783// fmt.Println(resp) 784// } 785// 786// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 787func (c *Batch) DescribeComputeEnvironmentsRequest(input *DescribeComputeEnvironmentsInput) (req *request.Request, output *DescribeComputeEnvironmentsOutput) { 788 op := &request.Operation{ 789 Name: opDescribeComputeEnvironments, 790 HTTPMethod: "POST", 791 HTTPPath: "/v1/describecomputeenvironments", 792 Paginator: &request.Paginator{ 793 InputTokens: []string{"nextToken"}, 794 OutputTokens: []string{"nextToken"}, 795 LimitToken: "maxResults", 796 TruncationToken: "", 797 }, 798 } 799 800 if input == nil { 801 input = &DescribeComputeEnvironmentsInput{} 802 } 803 804 output = &DescribeComputeEnvironmentsOutput{} 805 req = c.newRequest(op, input, output) 806 return 807} 808 809// DescribeComputeEnvironments API operation for AWS Batch. 810// 811// Describes one or more of your compute environments. 812// 813// If you're using an unmanaged compute environment, you can use the DescribeComputeEnvironment 814// operation to determine the ecsClusterArn that you should launch your Amazon 815// ECS container instances into. 816// 817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 818// with awserr.Error's Code and Message methods to get detailed information about 819// the error. 820// 821// See the AWS API reference guide for AWS Batch's 822// API operation DescribeComputeEnvironments for usage and error information. 823// 824// Returned Error Types: 825// * ClientException 826// These errors are usually caused by a client action, such as using an action 827// or resource on behalf of a user that doesn't have permissions to use the 828// action or resource, or specifying an identifier that's not valid. 829// 830// * ServerException 831// These errors are usually caused by a server issue. 832// 833// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 834func (c *Batch) DescribeComputeEnvironments(input *DescribeComputeEnvironmentsInput) (*DescribeComputeEnvironmentsOutput, error) { 835 req, out := c.DescribeComputeEnvironmentsRequest(input) 836 return out, req.Send() 837} 838 839// DescribeComputeEnvironmentsWithContext is the same as DescribeComputeEnvironments with the addition of 840// the ability to pass a context and additional request options. 841// 842// See DescribeComputeEnvironments for details on how to use this API operation. 843// 844// The context must be non-nil and will be used for request cancellation. If 845// the context is nil a panic will occur. In the future the SDK may create 846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 847// for more information on using Contexts. 848func (c *Batch) DescribeComputeEnvironmentsWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, opts ...request.Option) (*DescribeComputeEnvironmentsOutput, error) { 849 req, out := c.DescribeComputeEnvironmentsRequest(input) 850 req.SetContext(ctx) 851 req.ApplyOptions(opts...) 852 return out, req.Send() 853} 854 855// DescribeComputeEnvironmentsPages iterates over the pages of a DescribeComputeEnvironments operation, 856// calling the "fn" function with the response data for each page. To stop 857// iterating, return false from the fn function. 858// 859// See DescribeComputeEnvironments method for more information on how to use this operation. 860// 861// Note: This operation can generate multiple requests to a service. 862// 863// // Example iterating over at most 3 pages of a DescribeComputeEnvironments operation. 864// pageNum := 0 865// err := client.DescribeComputeEnvironmentsPages(params, 866// func(page *batch.DescribeComputeEnvironmentsOutput, lastPage bool) bool { 867// pageNum++ 868// fmt.Println(page) 869// return pageNum <= 3 870// }) 871// 872func (c *Batch) DescribeComputeEnvironmentsPages(input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool) error { 873 return c.DescribeComputeEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn) 874} 875 876// DescribeComputeEnvironmentsPagesWithContext same as DescribeComputeEnvironmentsPages except 877// it takes a Context and allows setting request options on the pages. 878// 879// The context must be non-nil and will be used for request cancellation. If 880// the context is nil a panic will occur. In the future the SDK may create 881// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 882// for more information on using Contexts. 883func (c *Batch) DescribeComputeEnvironmentsPagesWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool, opts ...request.Option) error { 884 p := request.Pagination{ 885 NewRequest: func() (*request.Request, error) { 886 var inCpy *DescribeComputeEnvironmentsInput 887 if input != nil { 888 tmp := *input 889 inCpy = &tmp 890 } 891 req, _ := c.DescribeComputeEnvironmentsRequest(inCpy) 892 req.SetContext(ctx) 893 req.ApplyOptions(opts...) 894 return req, nil 895 }, 896 } 897 898 for p.Next() { 899 if !fn(p.Page().(*DescribeComputeEnvironmentsOutput), !p.HasNextPage()) { 900 break 901 } 902 } 903 904 return p.Err() 905} 906 907const opDescribeJobDefinitions = "DescribeJobDefinitions" 908 909// DescribeJobDefinitionsRequest generates a "aws/request.Request" representing the 910// client's request for the DescribeJobDefinitions operation. The "output" return 911// value will be populated with the request's response once the request completes 912// successfully. 913// 914// Use "Send" method on the returned Request to send the API call to the service. 915// the "output" return value is not valid until after Send returns without error. 916// 917// See DescribeJobDefinitions for more information on using the DescribeJobDefinitions 918// API call, and error handling. 919// 920// This method is useful when you want to inject custom logic or configuration 921// into the SDK's request lifecycle. Such as custom headers, or retry logic. 922// 923// 924// // Example sending a request using the DescribeJobDefinitionsRequest method. 925// req, resp := client.DescribeJobDefinitionsRequest(params) 926// 927// err := req.Send() 928// if err == nil { // resp is now filled 929// fmt.Println(resp) 930// } 931// 932// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 933func (c *Batch) DescribeJobDefinitionsRequest(input *DescribeJobDefinitionsInput) (req *request.Request, output *DescribeJobDefinitionsOutput) { 934 op := &request.Operation{ 935 Name: opDescribeJobDefinitions, 936 HTTPMethod: "POST", 937 HTTPPath: "/v1/describejobdefinitions", 938 Paginator: &request.Paginator{ 939 InputTokens: []string{"nextToken"}, 940 OutputTokens: []string{"nextToken"}, 941 LimitToken: "maxResults", 942 TruncationToken: "", 943 }, 944 } 945 946 if input == nil { 947 input = &DescribeJobDefinitionsInput{} 948 } 949 950 output = &DescribeJobDefinitionsOutput{} 951 req = c.newRequest(op, input, output) 952 return 953} 954 955// DescribeJobDefinitions API operation for AWS Batch. 956// 957// Describes a list of job definitions. You can specify a status (such as ACTIVE) 958// to only return job definitions that match that status. 959// 960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 961// with awserr.Error's Code and Message methods to get detailed information about 962// the error. 963// 964// See the AWS API reference guide for AWS Batch's 965// API operation DescribeJobDefinitions for usage and error information. 966// 967// Returned Error Types: 968// * ClientException 969// These errors are usually caused by a client action, such as using an action 970// or resource on behalf of a user that doesn't have permissions to use the 971// action or resource, or specifying an identifier that's not valid. 972// 973// * ServerException 974// These errors are usually caused by a server issue. 975// 976// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 977func (c *Batch) DescribeJobDefinitions(input *DescribeJobDefinitionsInput) (*DescribeJobDefinitionsOutput, error) { 978 req, out := c.DescribeJobDefinitionsRequest(input) 979 return out, req.Send() 980} 981 982// DescribeJobDefinitionsWithContext is the same as DescribeJobDefinitions with the addition of 983// the ability to pass a context and additional request options. 984// 985// See DescribeJobDefinitions for details on how to use this API operation. 986// 987// The context must be non-nil and will be used for request cancellation. If 988// the context is nil a panic will occur. In the future the SDK may create 989// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 990// for more information on using Contexts. 991func (c *Batch) DescribeJobDefinitionsWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, opts ...request.Option) (*DescribeJobDefinitionsOutput, error) { 992 req, out := c.DescribeJobDefinitionsRequest(input) 993 req.SetContext(ctx) 994 req.ApplyOptions(opts...) 995 return out, req.Send() 996} 997 998// DescribeJobDefinitionsPages iterates over the pages of a DescribeJobDefinitions operation, 999// calling the "fn" function with the response data for each page. To stop 1000// iterating, return false from the fn function. 1001// 1002// See DescribeJobDefinitions method for more information on how to use this operation. 1003// 1004// Note: This operation can generate multiple requests to a service. 1005// 1006// // Example iterating over at most 3 pages of a DescribeJobDefinitions operation. 1007// pageNum := 0 1008// err := client.DescribeJobDefinitionsPages(params, 1009// func(page *batch.DescribeJobDefinitionsOutput, lastPage bool) bool { 1010// pageNum++ 1011// fmt.Println(page) 1012// return pageNum <= 3 1013// }) 1014// 1015func (c *Batch) DescribeJobDefinitionsPages(input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool) error { 1016 return c.DescribeJobDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 1017} 1018 1019// DescribeJobDefinitionsPagesWithContext same as DescribeJobDefinitionsPages except 1020// it takes a Context and allows setting request options on the pages. 1021// 1022// The context must be non-nil and will be used for request cancellation. If 1023// the context is nil a panic will occur. In the future the SDK may create 1024// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1025// for more information on using Contexts. 1026func (c *Batch) DescribeJobDefinitionsPagesWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool, opts ...request.Option) error { 1027 p := request.Pagination{ 1028 NewRequest: func() (*request.Request, error) { 1029 var inCpy *DescribeJobDefinitionsInput 1030 if input != nil { 1031 tmp := *input 1032 inCpy = &tmp 1033 } 1034 req, _ := c.DescribeJobDefinitionsRequest(inCpy) 1035 req.SetContext(ctx) 1036 req.ApplyOptions(opts...) 1037 return req, nil 1038 }, 1039 } 1040 1041 for p.Next() { 1042 if !fn(p.Page().(*DescribeJobDefinitionsOutput), !p.HasNextPage()) { 1043 break 1044 } 1045 } 1046 1047 return p.Err() 1048} 1049 1050const opDescribeJobQueues = "DescribeJobQueues" 1051 1052// DescribeJobQueuesRequest generates a "aws/request.Request" representing the 1053// client's request for the DescribeJobQueues operation. The "output" return 1054// value will be populated with the request's response once the request completes 1055// successfully. 1056// 1057// Use "Send" method on the returned Request to send the API call to the service. 1058// the "output" return value is not valid until after Send returns without error. 1059// 1060// See DescribeJobQueues for more information on using the DescribeJobQueues 1061// API call, and error handling. 1062// 1063// This method is useful when you want to inject custom logic or configuration 1064// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1065// 1066// 1067// // Example sending a request using the DescribeJobQueuesRequest method. 1068// req, resp := client.DescribeJobQueuesRequest(params) 1069// 1070// err := req.Send() 1071// if err == nil { // resp is now filled 1072// fmt.Println(resp) 1073// } 1074// 1075// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 1076func (c *Batch) DescribeJobQueuesRequest(input *DescribeJobQueuesInput) (req *request.Request, output *DescribeJobQueuesOutput) { 1077 op := &request.Operation{ 1078 Name: opDescribeJobQueues, 1079 HTTPMethod: "POST", 1080 HTTPPath: "/v1/describejobqueues", 1081 Paginator: &request.Paginator{ 1082 InputTokens: []string{"nextToken"}, 1083 OutputTokens: []string{"nextToken"}, 1084 LimitToken: "maxResults", 1085 TruncationToken: "", 1086 }, 1087 } 1088 1089 if input == nil { 1090 input = &DescribeJobQueuesInput{} 1091 } 1092 1093 output = &DescribeJobQueuesOutput{} 1094 req = c.newRequest(op, input, output) 1095 return 1096} 1097 1098// DescribeJobQueues API operation for AWS Batch. 1099// 1100// Describes one or more of your job queues. 1101// 1102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1103// with awserr.Error's Code and Message methods to get detailed information about 1104// the error. 1105// 1106// See the AWS API reference guide for AWS Batch's 1107// API operation DescribeJobQueues for usage and error information. 1108// 1109// Returned Error Types: 1110// * ClientException 1111// These errors are usually caused by a client action, such as using an action 1112// or resource on behalf of a user that doesn't have permissions to use the 1113// action or resource, or specifying an identifier that's not valid. 1114// 1115// * ServerException 1116// These errors are usually caused by a server issue. 1117// 1118// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 1119func (c *Batch) DescribeJobQueues(input *DescribeJobQueuesInput) (*DescribeJobQueuesOutput, error) { 1120 req, out := c.DescribeJobQueuesRequest(input) 1121 return out, req.Send() 1122} 1123 1124// DescribeJobQueuesWithContext is the same as DescribeJobQueues with the addition of 1125// the ability to pass a context and additional request options. 1126// 1127// See DescribeJobQueues for details on how to use this API operation. 1128// 1129// The context must be non-nil and will be used for request cancellation. If 1130// the context is nil a panic will occur. In the future the SDK may create 1131// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1132// for more information on using Contexts. 1133func (c *Batch) DescribeJobQueuesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, opts ...request.Option) (*DescribeJobQueuesOutput, error) { 1134 req, out := c.DescribeJobQueuesRequest(input) 1135 req.SetContext(ctx) 1136 req.ApplyOptions(opts...) 1137 return out, req.Send() 1138} 1139 1140// DescribeJobQueuesPages iterates over the pages of a DescribeJobQueues operation, 1141// calling the "fn" function with the response data for each page. To stop 1142// iterating, return false from the fn function. 1143// 1144// See DescribeJobQueues method for more information on how to use this operation. 1145// 1146// Note: This operation can generate multiple requests to a service. 1147// 1148// // Example iterating over at most 3 pages of a DescribeJobQueues operation. 1149// pageNum := 0 1150// err := client.DescribeJobQueuesPages(params, 1151// func(page *batch.DescribeJobQueuesOutput, lastPage bool) bool { 1152// pageNum++ 1153// fmt.Println(page) 1154// return pageNum <= 3 1155// }) 1156// 1157func (c *Batch) DescribeJobQueuesPages(input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool) error { 1158 return c.DescribeJobQueuesPagesWithContext(aws.BackgroundContext(), input, fn) 1159} 1160 1161// DescribeJobQueuesPagesWithContext same as DescribeJobQueuesPages except 1162// it takes a Context and allows setting request options on the pages. 1163// 1164// The context must be non-nil and will be used for request cancellation. If 1165// the context is nil a panic will occur. In the future the SDK may create 1166// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1167// for more information on using Contexts. 1168func (c *Batch) DescribeJobQueuesPagesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool, opts ...request.Option) error { 1169 p := request.Pagination{ 1170 NewRequest: func() (*request.Request, error) { 1171 var inCpy *DescribeJobQueuesInput 1172 if input != nil { 1173 tmp := *input 1174 inCpy = &tmp 1175 } 1176 req, _ := c.DescribeJobQueuesRequest(inCpy) 1177 req.SetContext(ctx) 1178 req.ApplyOptions(opts...) 1179 return req, nil 1180 }, 1181 } 1182 1183 for p.Next() { 1184 if !fn(p.Page().(*DescribeJobQueuesOutput), !p.HasNextPage()) { 1185 break 1186 } 1187 } 1188 1189 return p.Err() 1190} 1191 1192const opDescribeJobs = "DescribeJobs" 1193 1194// DescribeJobsRequest generates a "aws/request.Request" representing the 1195// client's request for the DescribeJobs operation. The "output" return 1196// value will be populated with the request's response once the request completes 1197// successfully. 1198// 1199// Use "Send" method on the returned Request to send the API call to the service. 1200// the "output" return value is not valid until after Send returns without error. 1201// 1202// See DescribeJobs for more information on using the DescribeJobs 1203// API call, and error handling. 1204// 1205// This method is useful when you want to inject custom logic or configuration 1206// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1207// 1208// 1209// // Example sending a request using the DescribeJobsRequest method. 1210// req, resp := client.DescribeJobsRequest(params) 1211// 1212// err := req.Send() 1213// if err == nil { // resp is now filled 1214// fmt.Println(resp) 1215// } 1216// 1217// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1218func (c *Batch) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput) { 1219 op := &request.Operation{ 1220 Name: opDescribeJobs, 1221 HTTPMethod: "POST", 1222 HTTPPath: "/v1/describejobs", 1223 } 1224 1225 if input == nil { 1226 input = &DescribeJobsInput{} 1227 } 1228 1229 output = &DescribeJobsOutput{} 1230 req = c.newRequest(op, input, output) 1231 return 1232} 1233 1234// DescribeJobs API operation for AWS Batch. 1235// 1236// Describes a list of Batch jobs. 1237// 1238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1239// with awserr.Error's Code and Message methods to get detailed information about 1240// the error. 1241// 1242// See the AWS API reference guide for AWS Batch's 1243// API operation DescribeJobs for usage and error information. 1244// 1245// Returned Error Types: 1246// * ClientException 1247// These errors are usually caused by a client action, such as using an action 1248// or resource on behalf of a user that doesn't have permissions to use the 1249// action or resource, or specifying an identifier that's not valid. 1250// 1251// * ServerException 1252// These errors are usually caused by a server issue. 1253// 1254// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1255func (c *Batch) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error) { 1256 req, out := c.DescribeJobsRequest(input) 1257 return out, req.Send() 1258} 1259 1260// DescribeJobsWithContext is the same as DescribeJobs with the addition of 1261// the ability to pass a context and additional request options. 1262// 1263// See DescribeJobs for details on how to use this API operation. 1264// 1265// The context must be non-nil and will be used for request cancellation. If 1266// the context is nil a panic will occur. In the future the SDK may create 1267// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1268// for more information on using Contexts. 1269func (c *Batch) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error) { 1270 req, out := c.DescribeJobsRequest(input) 1271 req.SetContext(ctx) 1272 req.ApplyOptions(opts...) 1273 return out, req.Send() 1274} 1275 1276const opDescribeSchedulingPolicies = "DescribeSchedulingPolicies" 1277 1278// DescribeSchedulingPoliciesRequest generates a "aws/request.Request" representing the 1279// client's request for the DescribeSchedulingPolicies operation. The "output" return 1280// value will be populated with the request's response once the request completes 1281// successfully. 1282// 1283// Use "Send" method on the returned Request to send the API call to the service. 1284// the "output" return value is not valid until after Send returns without error. 1285// 1286// See DescribeSchedulingPolicies for more information on using the DescribeSchedulingPolicies 1287// API call, and error handling. 1288// 1289// This method is useful when you want to inject custom logic or configuration 1290// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1291// 1292// 1293// // Example sending a request using the DescribeSchedulingPoliciesRequest method. 1294// req, resp := client.DescribeSchedulingPoliciesRequest(params) 1295// 1296// err := req.Send() 1297// if err == nil { // resp is now filled 1298// fmt.Println(resp) 1299// } 1300// 1301// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPolicies 1302func (c *Batch) DescribeSchedulingPoliciesRequest(input *DescribeSchedulingPoliciesInput) (req *request.Request, output *DescribeSchedulingPoliciesOutput) { 1303 op := &request.Operation{ 1304 Name: opDescribeSchedulingPolicies, 1305 HTTPMethod: "POST", 1306 HTTPPath: "/v1/describeschedulingpolicies", 1307 } 1308 1309 if input == nil { 1310 input = &DescribeSchedulingPoliciesInput{} 1311 } 1312 1313 output = &DescribeSchedulingPoliciesOutput{} 1314 req = c.newRequest(op, input, output) 1315 return 1316} 1317 1318// DescribeSchedulingPolicies API operation for AWS Batch. 1319// 1320// Describes one or more of your scheduling policies. 1321// 1322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1323// with awserr.Error's Code and Message methods to get detailed information about 1324// the error. 1325// 1326// See the AWS API reference guide for AWS Batch's 1327// API operation DescribeSchedulingPolicies for usage and error information. 1328// 1329// Returned Error Types: 1330// * ClientException 1331// These errors are usually caused by a client action, such as using an action 1332// or resource on behalf of a user that doesn't have permissions to use the 1333// action or resource, or specifying an identifier that's not valid. 1334// 1335// * ServerException 1336// These errors are usually caused by a server issue. 1337// 1338// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPolicies 1339func (c *Batch) DescribeSchedulingPolicies(input *DescribeSchedulingPoliciesInput) (*DescribeSchedulingPoliciesOutput, error) { 1340 req, out := c.DescribeSchedulingPoliciesRequest(input) 1341 return out, req.Send() 1342} 1343 1344// DescribeSchedulingPoliciesWithContext is the same as DescribeSchedulingPolicies with the addition of 1345// the ability to pass a context and additional request options. 1346// 1347// See DescribeSchedulingPolicies for details on how to use this API operation. 1348// 1349// The context must be non-nil and will be used for request cancellation. If 1350// the context is nil a panic will occur. In the future the SDK may create 1351// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1352// for more information on using Contexts. 1353func (c *Batch) DescribeSchedulingPoliciesWithContext(ctx aws.Context, input *DescribeSchedulingPoliciesInput, opts ...request.Option) (*DescribeSchedulingPoliciesOutput, error) { 1354 req, out := c.DescribeSchedulingPoliciesRequest(input) 1355 req.SetContext(ctx) 1356 req.ApplyOptions(opts...) 1357 return out, req.Send() 1358} 1359 1360const opListJobs = "ListJobs" 1361 1362// ListJobsRequest generates a "aws/request.Request" representing the 1363// client's request for the ListJobs operation. The "output" return 1364// value will be populated with the request's response once the request completes 1365// successfully. 1366// 1367// Use "Send" method on the returned Request to send the API call to the service. 1368// the "output" return value is not valid until after Send returns without error. 1369// 1370// See ListJobs for more information on using the ListJobs 1371// API call, and error handling. 1372// 1373// This method is useful when you want to inject custom logic or configuration 1374// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1375// 1376// 1377// // Example sending a request using the ListJobsRequest method. 1378// req, resp := client.ListJobsRequest(params) 1379// 1380// err := req.Send() 1381// if err == nil { // resp is now filled 1382// fmt.Println(resp) 1383// } 1384// 1385// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1386func (c *Batch) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 1387 op := &request.Operation{ 1388 Name: opListJobs, 1389 HTTPMethod: "POST", 1390 HTTPPath: "/v1/listjobs", 1391 Paginator: &request.Paginator{ 1392 InputTokens: []string{"nextToken"}, 1393 OutputTokens: []string{"nextToken"}, 1394 LimitToken: "maxResults", 1395 TruncationToken: "", 1396 }, 1397 } 1398 1399 if input == nil { 1400 input = &ListJobsInput{} 1401 } 1402 1403 output = &ListJobsOutput{} 1404 req = c.newRequest(op, input, output) 1405 return 1406} 1407 1408// ListJobs API operation for AWS Batch. 1409// 1410// Returns a list of Batch jobs. 1411// 1412// You must specify only one of the following items: 1413// 1414// * A job queue ID to return a list of jobs in that job queue 1415// 1416// * A multi-node parallel job ID to return a list of nodes for that job 1417// 1418// * An array job ID to return a list of the children for that job 1419// 1420// You can filter the results by job status with the jobStatus parameter. If 1421// you don't specify a status, only RUNNING jobs are returned. 1422// 1423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1424// with awserr.Error's Code and Message methods to get detailed information about 1425// the error. 1426// 1427// See the AWS API reference guide for AWS Batch's 1428// API operation ListJobs for usage and error information. 1429// 1430// Returned Error Types: 1431// * ClientException 1432// These errors are usually caused by a client action, such as using an action 1433// or resource on behalf of a user that doesn't have permissions to use the 1434// action or resource, or specifying an identifier that's not valid. 1435// 1436// * ServerException 1437// These errors are usually caused by a server issue. 1438// 1439// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1440func (c *Batch) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 1441 req, out := c.ListJobsRequest(input) 1442 return out, req.Send() 1443} 1444 1445// ListJobsWithContext is the same as ListJobs with the addition of 1446// the ability to pass a context and additional request options. 1447// 1448// See ListJobs for details on how to use this API operation. 1449// 1450// The context must be non-nil and will be used for request cancellation. If 1451// the context is nil a panic will occur. In the future the SDK may create 1452// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1453// for more information on using Contexts. 1454func (c *Batch) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 1455 req, out := c.ListJobsRequest(input) 1456 req.SetContext(ctx) 1457 req.ApplyOptions(opts...) 1458 return out, req.Send() 1459} 1460 1461// ListJobsPages iterates over the pages of a ListJobs operation, 1462// calling the "fn" function with the response data for each page. To stop 1463// iterating, return false from the fn function. 1464// 1465// See ListJobs method for more information on how to use this operation. 1466// 1467// Note: This operation can generate multiple requests to a service. 1468// 1469// // Example iterating over at most 3 pages of a ListJobs operation. 1470// pageNum := 0 1471// err := client.ListJobsPages(params, 1472// func(page *batch.ListJobsOutput, lastPage bool) bool { 1473// pageNum++ 1474// fmt.Println(page) 1475// return pageNum <= 3 1476// }) 1477// 1478func (c *Batch) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 1479 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 1480} 1481 1482// ListJobsPagesWithContext same as ListJobsPages except 1483// it takes a Context and allows setting request options on the pages. 1484// 1485// The context must be non-nil and will be used for request cancellation. If 1486// the context is nil a panic will occur. In the future the SDK may create 1487// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1488// for more information on using Contexts. 1489func (c *Batch) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 1490 p := request.Pagination{ 1491 NewRequest: func() (*request.Request, error) { 1492 var inCpy *ListJobsInput 1493 if input != nil { 1494 tmp := *input 1495 inCpy = &tmp 1496 } 1497 req, _ := c.ListJobsRequest(inCpy) 1498 req.SetContext(ctx) 1499 req.ApplyOptions(opts...) 1500 return req, nil 1501 }, 1502 } 1503 1504 for p.Next() { 1505 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 1506 break 1507 } 1508 } 1509 1510 return p.Err() 1511} 1512 1513const opListSchedulingPolicies = "ListSchedulingPolicies" 1514 1515// ListSchedulingPoliciesRequest generates a "aws/request.Request" representing the 1516// client's request for the ListSchedulingPolicies operation. The "output" return 1517// value will be populated with the request's response once the request completes 1518// successfully. 1519// 1520// Use "Send" method on the returned Request to send the API call to the service. 1521// the "output" return value is not valid until after Send returns without error. 1522// 1523// See ListSchedulingPolicies for more information on using the ListSchedulingPolicies 1524// API call, and error handling. 1525// 1526// This method is useful when you want to inject custom logic or configuration 1527// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1528// 1529// 1530// // Example sending a request using the ListSchedulingPoliciesRequest method. 1531// req, resp := client.ListSchedulingPoliciesRequest(params) 1532// 1533// err := req.Send() 1534// if err == nil { // resp is now filled 1535// fmt.Println(resp) 1536// } 1537// 1538// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPolicies 1539func (c *Batch) ListSchedulingPoliciesRequest(input *ListSchedulingPoliciesInput) (req *request.Request, output *ListSchedulingPoliciesOutput) { 1540 op := &request.Operation{ 1541 Name: opListSchedulingPolicies, 1542 HTTPMethod: "POST", 1543 HTTPPath: "/v1/listschedulingpolicies", 1544 Paginator: &request.Paginator{ 1545 InputTokens: []string{"nextToken"}, 1546 OutputTokens: []string{"nextToken"}, 1547 LimitToken: "maxResults", 1548 TruncationToken: "", 1549 }, 1550 } 1551 1552 if input == nil { 1553 input = &ListSchedulingPoliciesInput{} 1554 } 1555 1556 output = &ListSchedulingPoliciesOutput{} 1557 req = c.newRequest(op, input, output) 1558 return 1559} 1560 1561// ListSchedulingPolicies API operation for AWS Batch. 1562// 1563// Returns a list of Batch scheduling policies. 1564// 1565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1566// with awserr.Error's Code and Message methods to get detailed information about 1567// the error. 1568// 1569// See the AWS API reference guide for AWS Batch's 1570// API operation ListSchedulingPolicies for usage and error information. 1571// 1572// Returned Error Types: 1573// * ClientException 1574// These errors are usually caused by a client action, such as using an action 1575// or resource on behalf of a user that doesn't have permissions to use the 1576// action or resource, or specifying an identifier that's not valid. 1577// 1578// * ServerException 1579// These errors are usually caused by a server issue. 1580// 1581// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPolicies 1582func (c *Batch) ListSchedulingPolicies(input *ListSchedulingPoliciesInput) (*ListSchedulingPoliciesOutput, error) { 1583 req, out := c.ListSchedulingPoliciesRequest(input) 1584 return out, req.Send() 1585} 1586 1587// ListSchedulingPoliciesWithContext is the same as ListSchedulingPolicies with the addition of 1588// the ability to pass a context and additional request options. 1589// 1590// See ListSchedulingPolicies for details on how to use this API operation. 1591// 1592// The context must be non-nil and will be used for request cancellation. If 1593// the context is nil a panic will occur. In the future the SDK may create 1594// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1595// for more information on using Contexts. 1596func (c *Batch) ListSchedulingPoliciesWithContext(ctx aws.Context, input *ListSchedulingPoliciesInput, opts ...request.Option) (*ListSchedulingPoliciesOutput, error) { 1597 req, out := c.ListSchedulingPoliciesRequest(input) 1598 req.SetContext(ctx) 1599 req.ApplyOptions(opts...) 1600 return out, req.Send() 1601} 1602 1603// ListSchedulingPoliciesPages iterates over the pages of a ListSchedulingPolicies operation, 1604// calling the "fn" function with the response data for each page. To stop 1605// iterating, return false from the fn function. 1606// 1607// See ListSchedulingPolicies method for more information on how to use this operation. 1608// 1609// Note: This operation can generate multiple requests to a service. 1610// 1611// // Example iterating over at most 3 pages of a ListSchedulingPolicies operation. 1612// pageNum := 0 1613// err := client.ListSchedulingPoliciesPages(params, 1614// func(page *batch.ListSchedulingPoliciesOutput, lastPage bool) bool { 1615// pageNum++ 1616// fmt.Println(page) 1617// return pageNum <= 3 1618// }) 1619// 1620func (c *Batch) ListSchedulingPoliciesPages(input *ListSchedulingPoliciesInput, fn func(*ListSchedulingPoliciesOutput, bool) bool) error { 1621 return c.ListSchedulingPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 1622} 1623 1624// ListSchedulingPoliciesPagesWithContext same as ListSchedulingPoliciesPages except 1625// it takes a Context and allows setting request options on the pages. 1626// 1627// The context must be non-nil and will be used for request cancellation. If 1628// the context is nil a panic will occur. In the future the SDK may create 1629// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1630// for more information on using Contexts. 1631func (c *Batch) ListSchedulingPoliciesPagesWithContext(ctx aws.Context, input *ListSchedulingPoliciesInput, fn func(*ListSchedulingPoliciesOutput, bool) bool, opts ...request.Option) error { 1632 p := request.Pagination{ 1633 NewRequest: func() (*request.Request, error) { 1634 var inCpy *ListSchedulingPoliciesInput 1635 if input != nil { 1636 tmp := *input 1637 inCpy = &tmp 1638 } 1639 req, _ := c.ListSchedulingPoliciesRequest(inCpy) 1640 req.SetContext(ctx) 1641 req.ApplyOptions(opts...) 1642 return req, nil 1643 }, 1644 } 1645 1646 for p.Next() { 1647 if !fn(p.Page().(*ListSchedulingPoliciesOutput), !p.HasNextPage()) { 1648 break 1649 } 1650 } 1651 1652 return p.Err() 1653} 1654 1655const opListTagsForResource = "ListTagsForResource" 1656 1657// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1658// client's request for the ListTagsForResource operation. The "output" return 1659// value will be populated with the request's response once the request completes 1660// successfully. 1661// 1662// Use "Send" method on the returned Request to send the API call to the service. 1663// the "output" return value is not valid until after Send returns without error. 1664// 1665// See ListTagsForResource for more information on using the ListTagsForResource 1666// API call, and error handling. 1667// 1668// This method is useful when you want to inject custom logic or configuration 1669// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1670// 1671// 1672// // Example sending a request using the ListTagsForResourceRequest method. 1673// req, resp := client.ListTagsForResourceRequest(params) 1674// 1675// err := req.Send() 1676// if err == nil { // resp is now filled 1677// fmt.Println(resp) 1678// } 1679// 1680// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource 1681func (c *Batch) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1682 op := &request.Operation{ 1683 Name: opListTagsForResource, 1684 HTTPMethod: "GET", 1685 HTTPPath: "/v1/tags/{resourceArn}", 1686 } 1687 1688 if input == nil { 1689 input = &ListTagsForResourceInput{} 1690 } 1691 1692 output = &ListTagsForResourceOutput{} 1693 req = c.newRequest(op, input, output) 1694 return 1695} 1696 1697// ListTagsForResource API operation for AWS Batch. 1698// 1699// Lists the tags for an Batch resource. Batch resources that support tags are 1700// compute environments, jobs, job definitions, job queues, and scheduling policies. 1701// ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported. 1702// 1703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1704// with awserr.Error's Code and Message methods to get detailed information about 1705// the error. 1706// 1707// See the AWS API reference guide for AWS Batch's 1708// API operation ListTagsForResource for usage and error information. 1709// 1710// Returned Error Types: 1711// * ClientException 1712// These errors are usually caused by a client action, such as using an action 1713// or resource on behalf of a user that doesn't have permissions to use the 1714// action or resource, or specifying an identifier that's not valid. 1715// 1716// * ServerException 1717// These errors are usually caused by a server issue. 1718// 1719// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource 1720func (c *Batch) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1721 req, out := c.ListTagsForResourceRequest(input) 1722 return out, req.Send() 1723} 1724 1725// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1726// the ability to pass a context and additional request options. 1727// 1728// See ListTagsForResource for details on how to use this API operation. 1729// 1730// The context must be non-nil and will be used for request cancellation. If 1731// the context is nil a panic will occur. In the future the SDK may create 1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1733// for more information on using Contexts. 1734func (c *Batch) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1735 req, out := c.ListTagsForResourceRequest(input) 1736 req.SetContext(ctx) 1737 req.ApplyOptions(opts...) 1738 return out, req.Send() 1739} 1740 1741const opRegisterJobDefinition = "RegisterJobDefinition" 1742 1743// RegisterJobDefinitionRequest generates a "aws/request.Request" representing the 1744// client's request for the RegisterJobDefinition operation. The "output" return 1745// value will be populated with the request's response once the request completes 1746// successfully. 1747// 1748// Use "Send" method on the returned Request to send the API call to the service. 1749// the "output" return value is not valid until after Send returns without error. 1750// 1751// See RegisterJobDefinition for more information on using the RegisterJobDefinition 1752// API call, and error handling. 1753// 1754// This method is useful when you want to inject custom logic or configuration 1755// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1756// 1757// 1758// // Example sending a request using the RegisterJobDefinitionRequest method. 1759// req, resp := client.RegisterJobDefinitionRequest(params) 1760// 1761// err := req.Send() 1762// if err == nil { // resp is now filled 1763// fmt.Println(resp) 1764// } 1765// 1766// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1767func (c *Batch) RegisterJobDefinitionRequest(input *RegisterJobDefinitionInput) (req *request.Request, output *RegisterJobDefinitionOutput) { 1768 op := &request.Operation{ 1769 Name: opRegisterJobDefinition, 1770 HTTPMethod: "POST", 1771 HTTPPath: "/v1/registerjobdefinition", 1772 } 1773 1774 if input == nil { 1775 input = &RegisterJobDefinitionInput{} 1776 } 1777 1778 output = &RegisterJobDefinitionOutput{} 1779 req = c.newRequest(op, input, output) 1780 return 1781} 1782 1783// RegisterJobDefinition API operation for AWS Batch. 1784// 1785// Registers an Batch job definition. 1786// 1787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1788// with awserr.Error's Code and Message methods to get detailed information about 1789// the error. 1790// 1791// See the AWS API reference guide for AWS Batch's 1792// API operation RegisterJobDefinition for usage and error information. 1793// 1794// Returned Error Types: 1795// * ClientException 1796// These errors are usually caused by a client action, such as using an action 1797// or resource on behalf of a user that doesn't have permissions to use the 1798// action or resource, or specifying an identifier that's not valid. 1799// 1800// * ServerException 1801// These errors are usually caused by a server issue. 1802// 1803// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1804func (c *Batch) RegisterJobDefinition(input *RegisterJobDefinitionInput) (*RegisterJobDefinitionOutput, error) { 1805 req, out := c.RegisterJobDefinitionRequest(input) 1806 return out, req.Send() 1807} 1808 1809// RegisterJobDefinitionWithContext is the same as RegisterJobDefinition with the addition of 1810// the ability to pass a context and additional request options. 1811// 1812// See RegisterJobDefinition for details on how to use this API operation. 1813// 1814// The context must be non-nil and will be used for request cancellation. If 1815// the context is nil a panic will occur. In the future the SDK may create 1816// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1817// for more information on using Contexts. 1818func (c *Batch) RegisterJobDefinitionWithContext(ctx aws.Context, input *RegisterJobDefinitionInput, opts ...request.Option) (*RegisterJobDefinitionOutput, error) { 1819 req, out := c.RegisterJobDefinitionRequest(input) 1820 req.SetContext(ctx) 1821 req.ApplyOptions(opts...) 1822 return out, req.Send() 1823} 1824 1825const opSubmitJob = "SubmitJob" 1826 1827// SubmitJobRequest generates a "aws/request.Request" representing the 1828// client's request for the SubmitJob operation. The "output" return 1829// value will be populated with the request's response once the request completes 1830// successfully. 1831// 1832// Use "Send" method on the returned Request to send the API call to the service. 1833// the "output" return value is not valid until after Send returns without error. 1834// 1835// See SubmitJob for more information on using the SubmitJob 1836// API call, and error handling. 1837// 1838// This method is useful when you want to inject custom logic or configuration 1839// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1840// 1841// 1842// // Example sending a request using the SubmitJobRequest method. 1843// req, resp := client.SubmitJobRequest(params) 1844// 1845// err := req.Send() 1846// if err == nil { // resp is now filled 1847// fmt.Println(resp) 1848// } 1849// 1850// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1851func (c *Batch) SubmitJobRequest(input *SubmitJobInput) (req *request.Request, output *SubmitJobOutput) { 1852 op := &request.Operation{ 1853 Name: opSubmitJob, 1854 HTTPMethod: "POST", 1855 HTTPPath: "/v1/submitjob", 1856 } 1857 1858 if input == nil { 1859 input = &SubmitJobInput{} 1860 } 1861 1862 output = &SubmitJobOutput{} 1863 req = c.newRequest(op, input, output) 1864 return 1865} 1866 1867// SubmitJob API operation for AWS Batch. 1868// 1869// Submits an Batch job from a job definition. Parameters that are specified 1870// during SubmitJob override parameters defined in the job definition. vCPU 1871// and memory requirements that are specified in the resourceRequirements objects 1872// in the job definition are the exception. They can't be overridden this way 1873// using the memory and vcpus parameters. Rather, you must specify updates to 1874// job definition parameters in a ResourceRequirements object that's included 1875// in the containerOverrides parameter. 1876// 1877// Job queues with a scheduling policy are limited to 500 active fair share 1878// identifiers at a time. 1879// 1880// Jobs that run on Fargate resources can't be guaranteed to run for more than 1881// 14 days. This is because, after 14 days, Fargate resources might become unavailable 1882// and job might be terminated. 1883// 1884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1885// with awserr.Error's Code and Message methods to get detailed information about 1886// the error. 1887// 1888// See the AWS API reference guide for AWS Batch's 1889// API operation SubmitJob for usage and error information. 1890// 1891// Returned Error Types: 1892// * ClientException 1893// These errors are usually caused by a client action, such as using an action 1894// or resource on behalf of a user that doesn't have permissions to use the 1895// action or resource, or specifying an identifier that's not valid. 1896// 1897// * ServerException 1898// These errors are usually caused by a server issue. 1899// 1900// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1901func (c *Batch) SubmitJob(input *SubmitJobInput) (*SubmitJobOutput, error) { 1902 req, out := c.SubmitJobRequest(input) 1903 return out, req.Send() 1904} 1905 1906// SubmitJobWithContext is the same as SubmitJob with the addition of 1907// the ability to pass a context and additional request options. 1908// 1909// See SubmitJob for details on how to use this API operation. 1910// 1911// The context must be non-nil and will be used for request cancellation. If 1912// the context is nil a panic will occur. In the future the SDK may create 1913// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1914// for more information on using Contexts. 1915func (c *Batch) SubmitJobWithContext(ctx aws.Context, input *SubmitJobInput, opts ...request.Option) (*SubmitJobOutput, error) { 1916 req, out := c.SubmitJobRequest(input) 1917 req.SetContext(ctx) 1918 req.ApplyOptions(opts...) 1919 return out, req.Send() 1920} 1921 1922const opTagResource = "TagResource" 1923 1924// TagResourceRequest generates a "aws/request.Request" representing the 1925// client's request for the TagResource operation. The "output" return 1926// value will be populated with the request's response once the request completes 1927// successfully. 1928// 1929// Use "Send" method on the returned Request to send the API call to the service. 1930// the "output" return value is not valid until after Send returns without error. 1931// 1932// See TagResource for more information on using the TagResource 1933// API call, and error handling. 1934// 1935// This method is useful when you want to inject custom logic or configuration 1936// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1937// 1938// 1939// // Example sending a request using the TagResourceRequest method. 1940// req, resp := client.TagResourceRequest(params) 1941// 1942// err := req.Send() 1943// if err == nil { // resp is now filled 1944// fmt.Println(resp) 1945// } 1946// 1947// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource 1948func (c *Batch) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1949 op := &request.Operation{ 1950 Name: opTagResource, 1951 HTTPMethod: "POST", 1952 HTTPPath: "/v1/tags/{resourceArn}", 1953 } 1954 1955 if input == nil { 1956 input = &TagResourceInput{} 1957 } 1958 1959 output = &TagResourceOutput{} 1960 req = c.newRequest(op, input, output) 1961 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1962 return 1963} 1964 1965// TagResource API operation for AWS Batch. 1966// 1967// Associates the specified tags to a resource with the specified resourceArn. 1968// If existing tags on a resource aren't specified in the request parameters, 1969// they aren't changed. When a resource is deleted, the tags that are associated 1970// with that resource are deleted as well. Batch resources that support tags 1971// are compute environments, jobs, job definitions, job queues, and scheduling 1972// policies. ARNs for child jobs of array and multi-node parallel (MNP) jobs 1973// are not supported. 1974// 1975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1976// with awserr.Error's Code and Message methods to get detailed information about 1977// the error. 1978// 1979// See the AWS API reference guide for AWS Batch's 1980// API operation TagResource for usage and error information. 1981// 1982// Returned Error Types: 1983// * ClientException 1984// These errors are usually caused by a client action, such as using an action 1985// or resource on behalf of a user that doesn't have permissions to use the 1986// action or resource, or specifying an identifier that's not valid. 1987// 1988// * ServerException 1989// These errors are usually caused by a server issue. 1990// 1991// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource 1992func (c *Batch) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1993 req, out := c.TagResourceRequest(input) 1994 return out, req.Send() 1995} 1996 1997// TagResourceWithContext is the same as TagResource with the addition of 1998// the ability to pass a context and additional request options. 1999// 2000// See TagResource for details on how to use this API operation. 2001// 2002// The context must be non-nil and will be used for request cancellation. If 2003// the context is nil a panic will occur. In the future the SDK may create 2004// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2005// for more information on using Contexts. 2006func (c *Batch) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2007 req, out := c.TagResourceRequest(input) 2008 req.SetContext(ctx) 2009 req.ApplyOptions(opts...) 2010 return out, req.Send() 2011} 2012 2013const opTerminateJob = "TerminateJob" 2014 2015// TerminateJobRequest generates a "aws/request.Request" representing the 2016// client's request for the TerminateJob operation. The "output" return 2017// value will be populated with the request's response once the request completes 2018// successfully. 2019// 2020// Use "Send" method on the returned Request to send the API call to the service. 2021// the "output" return value is not valid until after Send returns without error. 2022// 2023// See TerminateJob for more information on using the TerminateJob 2024// API call, and error handling. 2025// 2026// This method is useful when you want to inject custom logic or configuration 2027// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2028// 2029// 2030// // Example sending a request using the TerminateJobRequest method. 2031// req, resp := client.TerminateJobRequest(params) 2032// 2033// err := req.Send() 2034// if err == nil { // resp is now filled 2035// fmt.Println(resp) 2036// } 2037// 2038// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 2039func (c *Batch) TerminateJobRequest(input *TerminateJobInput) (req *request.Request, output *TerminateJobOutput) { 2040 op := &request.Operation{ 2041 Name: opTerminateJob, 2042 HTTPMethod: "POST", 2043 HTTPPath: "/v1/terminatejob", 2044 } 2045 2046 if input == nil { 2047 input = &TerminateJobInput{} 2048 } 2049 2050 output = &TerminateJobOutput{} 2051 req = c.newRequest(op, input, output) 2052 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2053 return 2054} 2055 2056// TerminateJob API operation for AWS Batch. 2057// 2058// Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING 2059// state are terminated, which causes them to transition to FAILED. Jobs that 2060// have not progressed to the STARTING state are cancelled. 2061// 2062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2063// with awserr.Error's Code and Message methods to get detailed information about 2064// the error. 2065// 2066// See the AWS API reference guide for AWS Batch's 2067// API operation TerminateJob for usage and error information. 2068// 2069// Returned Error Types: 2070// * ClientException 2071// These errors are usually caused by a client action, such as using an action 2072// or resource on behalf of a user that doesn't have permissions to use the 2073// action or resource, or specifying an identifier that's not valid. 2074// 2075// * ServerException 2076// These errors are usually caused by a server issue. 2077// 2078// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 2079func (c *Batch) TerminateJob(input *TerminateJobInput) (*TerminateJobOutput, error) { 2080 req, out := c.TerminateJobRequest(input) 2081 return out, req.Send() 2082} 2083 2084// TerminateJobWithContext is the same as TerminateJob with the addition of 2085// the ability to pass a context and additional request options. 2086// 2087// See TerminateJob for details on how to use this API operation. 2088// 2089// The context must be non-nil and will be used for request cancellation. If 2090// the context is nil a panic will occur. In the future the SDK may create 2091// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2092// for more information on using Contexts. 2093func (c *Batch) TerminateJobWithContext(ctx aws.Context, input *TerminateJobInput, opts ...request.Option) (*TerminateJobOutput, error) { 2094 req, out := c.TerminateJobRequest(input) 2095 req.SetContext(ctx) 2096 req.ApplyOptions(opts...) 2097 return out, req.Send() 2098} 2099 2100const opUntagResource = "UntagResource" 2101 2102// UntagResourceRequest generates a "aws/request.Request" representing the 2103// client's request for the UntagResource operation. The "output" return 2104// value will be populated with the request's response once the request completes 2105// successfully. 2106// 2107// Use "Send" method on the returned Request to send the API call to the service. 2108// the "output" return value is not valid until after Send returns without error. 2109// 2110// See UntagResource for more information on using the UntagResource 2111// API call, and error handling. 2112// 2113// This method is useful when you want to inject custom logic or configuration 2114// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2115// 2116// 2117// // Example sending a request using the UntagResourceRequest method. 2118// req, resp := client.UntagResourceRequest(params) 2119// 2120// err := req.Send() 2121// if err == nil { // resp is now filled 2122// fmt.Println(resp) 2123// } 2124// 2125// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource 2126func (c *Batch) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2127 op := &request.Operation{ 2128 Name: opUntagResource, 2129 HTTPMethod: "DELETE", 2130 HTTPPath: "/v1/tags/{resourceArn}", 2131 } 2132 2133 if input == nil { 2134 input = &UntagResourceInput{} 2135 } 2136 2137 output = &UntagResourceOutput{} 2138 req = c.newRequest(op, input, output) 2139 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2140 return 2141} 2142 2143// UntagResource API operation for AWS Batch. 2144// 2145// Deletes specified tags from an Batch resource. 2146// 2147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2148// with awserr.Error's Code and Message methods to get detailed information about 2149// the error. 2150// 2151// See the AWS API reference guide for AWS Batch's 2152// API operation UntagResource for usage and error information. 2153// 2154// Returned Error Types: 2155// * ClientException 2156// These errors are usually caused by a client action, such as using an action 2157// or resource on behalf of a user that doesn't have permissions to use the 2158// action or resource, or specifying an identifier that's not valid. 2159// 2160// * ServerException 2161// These errors are usually caused by a server issue. 2162// 2163// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource 2164func (c *Batch) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2165 req, out := c.UntagResourceRequest(input) 2166 return out, req.Send() 2167} 2168 2169// UntagResourceWithContext is the same as UntagResource with the addition of 2170// the ability to pass a context and additional request options. 2171// 2172// See UntagResource for details on how to use this API operation. 2173// 2174// The context must be non-nil and will be used for request cancellation. If 2175// the context is nil a panic will occur. In the future the SDK may create 2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2177// for more information on using Contexts. 2178func (c *Batch) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2179 req, out := c.UntagResourceRequest(input) 2180 req.SetContext(ctx) 2181 req.ApplyOptions(opts...) 2182 return out, req.Send() 2183} 2184 2185const opUpdateComputeEnvironment = "UpdateComputeEnvironment" 2186 2187// UpdateComputeEnvironmentRequest generates a "aws/request.Request" representing the 2188// client's request for the UpdateComputeEnvironment operation. The "output" return 2189// value will be populated with the request's response once the request completes 2190// successfully. 2191// 2192// Use "Send" method on the returned Request to send the API call to the service. 2193// the "output" return value is not valid until after Send returns without error. 2194// 2195// See UpdateComputeEnvironment for more information on using the UpdateComputeEnvironment 2196// API call, and error handling. 2197// 2198// This method is useful when you want to inject custom logic or configuration 2199// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2200// 2201// 2202// // Example sending a request using the UpdateComputeEnvironmentRequest method. 2203// req, resp := client.UpdateComputeEnvironmentRequest(params) 2204// 2205// err := req.Send() 2206// if err == nil { // resp is now filled 2207// fmt.Println(resp) 2208// } 2209// 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 2211func (c *Batch) UpdateComputeEnvironmentRequest(input *UpdateComputeEnvironmentInput) (req *request.Request, output *UpdateComputeEnvironmentOutput) { 2212 op := &request.Operation{ 2213 Name: opUpdateComputeEnvironment, 2214 HTTPMethod: "POST", 2215 HTTPPath: "/v1/updatecomputeenvironment", 2216 } 2217 2218 if input == nil { 2219 input = &UpdateComputeEnvironmentInput{} 2220 } 2221 2222 output = &UpdateComputeEnvironmentOutput{} 2223 req = c.newRequest(op, input, output) 2224 return 2225} 2226 2227// UpdateComputeEnvironment API operation for AWS Batch. 2228// 2229// Updates an Batch compute environment. 2230// 2231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2232// with awserr.Error's Code and Message methods to get detailed information about 2233// the error. 2234// 2235// See the AWS API reference guide for AWS Batch's 2236// API operation UpdateComputeEnvironment for usage and error information. 2237// 2238// Returned Error Types: 2239// * ClientException 2240// These errors are usually caused by a client action, such as using an action 2241// or resource on behalf of a user that doesn't have permissions to use the 2242// action or resource, or specifying an identifier that's not valid. 2243// 2244// * ServerException 2245// These errors are usually caused by a server issue. 2246// 2247// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 2248func (c *Batch) UpdateComputeEnvironment(input *UpdateComputeEnvironmentInput) (*UpdateComputeEnvironmentOutput, error) { 2249 req, out := c.UpdateComputeEnvironmentRequest(input) 2250 return out, req.Send() 2251} 2252 2253// UpdateComputeEnvironmentWithContext is the same as UpdateComputeEnvironment with the addition of 2254// the ability to pass a context and additional request options. 2255// 2256// See UpdateComputeEnvironment for details on how to use this API operation. 2257// 2258// The context must be non-nil and will be used for request cancellation. If 2259// the context is nil a panic will occur. In the future the SDK may create 2260// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2261// for more information on using Contexts. 2262func (c *Batch) UpdateComputeEnvironmentWithContext(ctx aws.Context, input *UpdateComputeEnvironmentInput, opts ...request.Option) (*UpdateComputeEnvironmentOutput, error) { 2263 req, out := c.UpdateComputeEnvironmentRequest(input) 2264 req.SetContext(ctx) 2265 req.ApplyOptions(opts...) 2266 return out, req.Send() 2267} 2268 2269const opUpdateJobQueue = "UpdateJobQueue" 2270 2271// UpdateJobQueueRequest generates a "aws/request.Request" representing the 2272// client's request for the UpdateJobQueue operation. The "output" return 2273// value will be populated with the request's response once the request completes 2274// successfully. 2275// 2276// Use "Send" method on the returned Request to send the API call to the service. 2277// the "output" return value is not valid until after Send returns without error. 2278// 2279// See UpdateJobQueue for more information on using the UpdateJobQueue 2280// API call, and error handling. 2281// 2282// This method is useful when you want to inject custom logic or configuration 2283// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2284// 2285// 2286// // Example sending a request using the UpdateJobQueueRequest method. 2287// req, resp := client.UpdateJobQueueRequest(params) 2288// 2289// err := req.Send() 2290// if err == nil { // resp is now filled 2291// fmt.Println(resp) 2292// } 2293// 2294// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 2295func (c *Batch) UpdateJobQueueRequest(input *UpdateJobQueueInput) (req *request.Request, output *UpdateJobQueueOutput) { 2296 op := &request.Operation{ 2297 Name: opUpdateJobQueue, 2298 HTTPMethod: "POST", 2299 HTTPPath: "/v1/updatejobqueue", 2300 } 2301 2302 if input == nil { 2303 input = &UpdateJobQueueInput{} 2304 } 2305 2306 output = &UpdateJobQueueOutput{} 2307 req = c.newRequest(op, input, output) 2308 return 2309} 2310 2311// UpdateJobQueue API operation for AWS Batch. 2312// 2313// Updates a job queue. 2314// 2315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2316// with awserr.Error's Code and Message methods to get detailed information about 2317// the error. 2318// 2319// See the AWS API reference guide for AWS Batch's 2320// API operation UpdateJobQueue for usage and error information. 2321// 2322// Returned Error Types: 2323// * ClientException 2324// These errors are usually caused by a client action, such as using an action 2325// or resource on behalf of a user that doesn't have permissions to use the 2326// action or resource, or specifying an identifier that's not valid. 2327// 2328// * ServerException 2329// These errors are usually caused by a server issue. 2330// 2331// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 2332func (c *Batch) UpdateJobQueue(input *UpdateJobQueueInput) (*UpdateJobQueueOutput, error) { 2333 req, out := c.UpdateJobQueueRequest(input) 2334 return out, req.Send() 2335} 2336 2337// UpdateJobQueueWithContext is the same as UpdateJobQueue with the addition of 2338// the ability to pass a context and additional request options. 2339// 2340// See UpdateJobQueue for details on how to use this API operation. 2341// 2342// The context must be non-nil and will be used for request cancellation. If 2343// the context is nil a panic will occur. In the future the SDK may create 2344// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2345// for more information on using Contexts. 2346func (c *Batch) UpdateJobQueueWithContext(ctx aws.Context, input *UpdateJobQueueInput, opts ...request.Option) (*UpdateJobQueueOutput, error) { 2347 req, out := c.UpdateJobQueueRequest(input) 2348 req.SetContext(ctx) 2349 req.ApplyOptions(opts...) 2350 return out, req.Send() 2351} 2352 2353const opUpdateSchedulingPolicy = "UpdateSchedulingPolicy" 2354 2355// UpdateSchedulingPolicyRequest generates a "aws/request.Request" representing the 2356// client's request for the UpdateSchedulingPolicy operation. The "output" return 2357// value will be populated with the request's response once the request completes 2358// successfully. 2359// 2360// Use "Send" method on the returned Request to send the API call to the service. 2361// the "output" return value is not valid until after Send returns without error. 2362// 2363// See UpdateSchedulingPolicy for more information on using the UpdateSchedulingPolicy 2364// API call, and error handling. 2365// 2366// This method is useful when you want to inject custom logic or configuration 2367// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2368// 2369// 2370// // Example sending a request using the UpdateSchedulingPolicyRequest method. 2371// req, resp := client.UpdateSchedulingPolicyRequest(params) 2372// 2373// err := req.Send() 2374// if err == nil { // resp is now filled 2375// fmt.Println(resp) 2376// } 2377// 2378// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicy 2379func (c *Batch) UpdateSchedulingPolicyRequest(input *UpdateSchedulingPolicyInput) (req *request.Request, output *UpdateSchedulingPolicyOutput) { 2380 op := &request.Operation{ 2381 Name: opUpdateSchedulingPolicy, 2382 HTTPMethod: "POST", 2383 HTTPPath: "/v1/updateschedulingpolicy", 2384 } 2385 2386 if input == nil { 2387 input = &UpdateSchedulingPolicyInput{} 2388 } 2389 2390 output = &UpdateSchedulingPolicyOutput{} 2391 req = c.newRequest(op, input, output) 2392 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2393 return 2394} 2395 2396// UpdateSchedulingPolicy API operation for AWS Batch. 2397// 2398// Updates a scheduling policy. 2399// 2400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2401// with awserr.Error's Code and Message methods to get detailed information about 2402// the error. 2403// 2404// See the AWS API reference guide for AWS Batch's 2405// API operation UpdateSchedulingPolicy for usage and error information. 2406// 2407// Returned Error Types: 2408// * ClientException 2409// These errors are usually caused by a client action, such as using an action 2410// or resource on behalf of a user that doesn't have permissions to use the 2411// action or resource, or specifying an identifier that's not valid. 2412// 2413// * ServerException 2414// These errors are usually caused by a server issue. 2415// 2416// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicy 2417func (c *Batch) UpdateSchedulingPolicy(input *UpdateSchedulingPolicyInput) (*UpdateSchedulingPolicyOutput, error) { 2418 req, out := c.UpdateSchedulingPolicyRequest(input) 2419 return out, req.Send() 2420} 2421 2422// UpdateSchedulingPolicyWithContext is the same as UpdateSchedulingPolicy with the addition of 2423// the ability to pass a context and additional request options. 2424// 2425// See UpdateSchedulingPolicy for details on how to use this API operation. 2426// 2427// The context must be non-nil and will be used for request cancellation. If 2428// the context is nil a panic will occur. In the future the SDK may create 2429// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2430// for more information on using Contexts. 2431func (c *Batch) UpdateSchedulingPolicyWithContext(ctx aws.Context, input *UpdateSchedulingPolicyInput, opts ...request.Option) (*UpdateSchedulingPolicyOutput, error) { 2432 req, out := c.UpdateSchedulingPolicyRequest(input) 2433 req.SetContext(ctx) 2434 req.ApplyOptions(opts...) 2435 return out, req.Send() 2436} 2437 2438// An object representing an Batch array job. 2439type ArrayProperties struct { 2440 _ struct{} `type:"structure"` 2441 2442 // The size of the array job. 2443 Size *int64 `locationName:"size" type:"integer"` 2444} 2445 2446// String returns the string representation. 2447// 2448// API parameter values that are decorated as "sensitive" in the API will not 2449// be included in the string output. The member name will be present, but the 2450// value will be replaced with "sensitive". 2451func (s ArrayProperties) String() string { 2452 return awsutil.Prettify(s) 2453} 2454 2455// GoString returns the string representation. 2456// 2457// API parameter values that are decorated as "sensitive" in the API will not 2458// be included in the string output. The member name will be present, but the 2459// value will be replaced with "sensitive". 2460func (s ArrayProperties) GoString() string { 2461 return s.String() 2462} 2463 2464// SetSize sets the Size field's value. 2465func (s *ArrayProperties) SetSize(v int64) *ArrayProperties { 2466 s.Size = &v 2467 return s 2468} 2469 2470// An object representing the array properties of a job. 2471type ArrayPropertiesDetail struct { 2472 _ struct{} `type:"structure"` 2473 2474 // The job index within the array that's associated with this job. This parameter 2475 // is returned for array job children. 2476 Index *int64 `locationName:"index" type:"integer"` 2477 2478 // The size of the array job. This parameter is returned for parent array jobs. 2479 Size *int64 `locationName:"size" type:"integer"` 2480 2481 // A summary of the number of array job children in each available job status. 2482 // This parameter is returned for parent array jobs. 2483 StatusSummary map[string]*int64 `locationName:"statusSummary" type:"map"` 2484} 2485 2486// String returns the string representation. 2487// 2488// API parameter values that are decorated as "sensitive" in the API will not 2489// be included in the string output. The member name will be present, but the 2490// value will be replaced with "sensitive". 2491func (s ArrayPropertiesDetail) String() string { 2492 return awsutil.Prettify(s) 2493} 2494 2495// GoString returns the string representation. 2496// 2497// API parameter values that are decorated as "sensitive" in the API will not 2498// be included in the string output. The member name will be present, but the 2499// value will be replaced with "sensitive". 2500func (s ArrayPropertiesDetail) GoString() string { 2501 return s.String() 2502} 2503 2504// SetIndex sets the Index field's value. 2505func (s *ArrayPropertiesDetail) SetIndex(v int64) *ArrayPropertiesDetail { 2506 s.Index = &v 2507 return s 2508} 2509 2510// SetSize sets the Size field's value. 2511func (s *ArrayPropertiesDetail) SetSize(v int64) *ArrayPropertiesDetail { 2512 s.Size = &v 2513 return s 2514} 2515 2516// SetStatusSummary sets the StatusSummary field's value. 2517func (s *ArrayPropertiesDetail) SetStatusSummary(v map[string]*int64) *ArrayPropertiesDetail { 2518 s.StatusSummary = v 2519 return s 2520} 2521 2522// An object representing the array properties of a job. 2523type ArrayPropertiesSummary struct { 2524 _ struct{} `type:"structure"` 2525 2526 // The job index within the array that's associated with this job. This parameter 2527 // is returned for children of array jobs. 2528 Index *int64 `locationName:"index" type:"integer"` 2529 2530 // The size of the array job. This parameter is returned for parent array jobs. 2531 Size *int64 `locationName:"size" type:"integer"` 2532} 2533 2534// String returns the string representation. 2535// 2536// API parameter values that are decorated as "sensitive" in the API will not 2537// be included in the string output. The member name will be present, but the 2538// value will be replaced with "sensitive". 2539func (s ArrayPropertiesSummary) String() string { 2540 return awsutil.Prettify(s) 2541} 2542 2543// GoString returns the string representation. 2544// 2545// API parameter values that are decorated as "sensitive" in the API will not 2546// be included in the string output. The member name will be present, but the 2547// value will be replaced with "sensitive". 2548func (s ArrayPropertiesSummary) GoString() string { 2549 return s.String() 2550} 2551 2552// SetIndex sets the Index field's value. 2553func (s *ArrayPropertiesSummary) SetIndex(v int64) *ArrayPropertiesSummary { 2554 s.Index = &v 2555 return s 2556} 2557 2558// SetSize sets the Size field's value. 2559func (s *ArrayPropertiesSummary) SetSize(v int64) *ArrayPropertiesSummary { 2560 s.Size = &v 2561 return s 2562} 2563 2564// An object representing the details of a container that's part of a job attempt. 2565type AttemptContainerDetail struct { 2566 _ struct{} `type:"structure"` 2567 2568 // The Amazon Resource Name (ARN) of the Amazon ECS container instance that 2569 // hosts the job attempt. 2570 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 2571 2572 // The exit code for the job attempt. A non-zero exit code is considered a failure. 2573 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2574 2575 // The name of the CloudWatch Logs log stream associated with the container. 2576 // The log group for Batch jobs is /aws/batch/job. Each container attempt receives 2577 // a log stream name when they reach the RUNNING status. 2578 LogStreamName *string `locationName:"logStreamName" type:"string"` 2579 2580 // The network interfaces associated with the job attempt. 2581 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 2582 2583 // A short (255 max characters) human-readable string to provide additional 2584 // details about a running or stopped container. 2585 Reason *string `locationName:"reason" type:"string"` 2586 2587 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 2588 // the job attempt. Each container attempt receives a task ARN when they reach 2589 // the STARTING status. 2590 TaskArn *string `locationName:"taskArn" type:"string"` 2591} 2592 2593// String returns the string representation. 2594// 2595// API parameter values that are decorated as "sensitive" in the API will not 2596// be included in the string output. The member name will be present, but the 2597// value will be replaced with "sensitive". 2598func (s AttemptContainerDetail) String() string { 2599 return awsutil.Prettify(s) 2600} 2601 2602// GoString returns the string representation. 2603// 2604// API parameter values that are decorated as "sensitive" in the API will not 2605// be included in the string output. The member name will be present, but the 2606// value will be replaced with "sensitive". 2607func (s AttemptContainerDetail) GoString() string { 2608 return s.String() 2609} 2610 2611// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 2612func (s *AttemptContainerDetail) SetContainerInstanceArn(v string) *AttemptContainerDetail { 2613 s.ContainerInstanceArn = &v 2614 return s 2615} 2616 2617// SetExitCode sets the ExitCode field's value. 2618func (s *AttemptContainerDetail) SetExitCode(v int64) *AttemptContainerDetail { 2619 s.ExitCode = &v 2620 return s 2621} 2622 2623// SetLogStreamName sets the LogStreamName field's value. 2624func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail { 2625 s.LogStreamName = &v 2626 return s 2627} 2628 2629// SetNetworkInterfaces sets the NetworkInterfaces field's value. 2630func (s *AttemptContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *AttemptContainerDetail { 2631 s.NetworkInterfaces = v 2632 return s 2633} 2634 2635// SetReason sets the Reason field's value. 2636func (s *AttemptContainerDetail) SetReason(v string) *AttemptContainerDetail { 2637 s.Reason = &v 2638 return s 2639} 2640 2641// SetTaskArn sets the TaskArn field's value. 2642func (s *AttemptContainerDetail) SetTaskArn(v string) *AttemptContainerDetail { 2643 s.TaskArn = &v 2644 return s 2645} 2646 2647// An object representing a job attempt. 2648type AttemptDetail struct { 2649 _ struct{} `type:"structure"` 2650 2651 // Details about the container in this job attempt. 2652 Container *AttemptContainerDetail `locationName:"container" type:"structure"` 2653 2654 // The Unix timestamp (in milliseconds) for when the attempt was started (when 2655 // the attempt transitioned from the STARTING state to the RUNNING state). 2656 StartedAt *int64 `locationName:"startedAt" type:"long"` 2657 2658 // A short, human-readable string to provide additional details about the current 2659 // status of the job attempt. 2660 StatusReason *string `locationName:"statusReason" type:"string"` 2661 2662 // The Unix timestamp (in milliseconds) for when the attempt was stopped (when 2663 // the attempt transitioned from the RUNNING state to a terminal state, such 2664 // as SUCCEEDED or FAILED). 2665 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 2666} 2667 2668// String returns the string representation. 2669// 2670// API parameter values that are decorated as "sensitive" in the API will not 2671// be included in the string output. The member name will be present, but the 2672// value will be replaced with "sensitive". 2673func (s AttemptDetail) String() string { 2674 return awsutil.Prettify(s) 2675} 2676 2677// GoString returns the string representation. 2678// 2679// API parameter values that are decorated as "sensitive" in the API will not 2680// be included in the string output. The member name will be present, but the 2681// value will be replaced with "sensitive". 2682func (s AttemptDetail) GoString() string { 2683 return s.String() 2684} 2685 2686// SetContainer sets the Container field's value. 2687func (s *AttemptDetail) SetContainer(v *AttemptContainerDetail) *AttemptDetail { 2688 s.Container = v 2689 return s 2690} 2691 2692// SetStartedAt sets the StartedAt field's value. 2693func (s *AttemptDetail) SetStartedAt(v int64) *AttemptDetail { 2694 s.StartedAt = &v 2695 return s 2696} 2697 2698// SetStatusReason sets the StatusReason field's value. 2699func (s *AttemptDetail) SetStatusReason(v string) *AttemptDetail { 2700 s.StatusReason = &v 2701 return s 2702} 2703 2704// SetStoppedAt sets the StoppedAt field's value. 2705func (s *AttemptDetail) SetStoppedAt(v int64) *AttemptDetail { 2706 s.StoppedAt = &v 2707 return s 2708} 2709 2710// Contains the parameters for CancelJob. 2711type CancelJobInput struct { 2712 _ struct{} `type:"structure"` 2713 2714 // The Batch job ID of the job to cancel. 2715 // 2716 // JobId is a required field 2717 JobId *string `locationName:"jobId" type:"string" required:"true"` 2718 2719 // A message to attach to the job that explains the reason for canceling it. 2720 // This message is returned by future DescribeJobs operations on the job. This 2721 // message is also recorded in the Batch activity logs. 2722 // 2723 // Reason is a required field 2724 Reason *string `locationName:"reason" type:"string" required:"true"` 2725} 2726 2727// String returns the string representation. 2728// 2729// API parameter values that are decorated as "sensitive" in the API will not 2730// be included in the string output. The member name will be present, but the 2731// value will be replaced with "sensitive". 2732func (s CancelJobInput) String() string { 2733 return awsutil.Prettify(s) 2734} 2735 2736// GoString returns the string representation. 2737// 2738// API parameter values that are decorated as "sensitive" in the API will not 2739// be included in the string output. The member name will be present, but the 2740// value will be replaced with "sensitive". 2741func (s CancelJobInput) GoString() string { 2742 return s.String() 2743} 2744 2745// Validate inspects the fields of the type to determine if they are valid. 2746func (s *CancelJobInput) Validate() error { 2747 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 2748 if s.JobId == nil { 2749 invalidParams.Add(request.NewErrParamRequired("JobId")) 2750 } 2751 if s.Reason == nil { 2752 invalidParams.Add(request.NewErrParamRequired("Reason")) 2753 } 2754 2755 if invalidParams.Len() > 0 { 2756 return invalidParams 2757 } 2758 return nil 2759} 2760 2761// SetJobId sets the JobId field's value. 2762func (s *CancelJobInput) SetJobId(v string) *CancelJobInput { 2763 s.JobId = &v 2764 return s 2765} 2766 2767// SetReason sets the Reason field's value. 2768func (s *CancelJobInput) SetReason(v string) *CancelJobInput { 2769 s.Reason = &v 2770 return s 2771} 2772 2773type CancelJobOutput struct { 2774 _ struct{} `type:"structure"` 2775} 2776 2777// String returns the string representation. 2778// 2779// API parameter values that are decorated as "sensitive" in the API will not 2780// be included in the string output. The member name will be present, but the 2781// value will be replaced with "sensitive". 2782func (s CancelJobOutput) String() string { 2783 return awsutil.Prettify(s) 2784} 2785 2786// GoString returns the string representation. 2787// 2788// API parameter values that are decorated as "sensitive" in the API will not 2789// be included in the string output. The member name will be present, but the 2790// value will be replaced with "sensitive". 2791func (s CancelJobOutput) GoString() string { 2792 return s.String() 2793} 2794 2795// These errors are usually caused by a client action, such as using an action 2796// or resource on behalf of a user that doesn't have permissions to use the 2797// action or resource, or specifying an identifier that's not valid. 2798type ClientException struct { 2799 _ struct{} `type:"structure"` 2800 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2801 2802 Message_ *string `locationName:"message" type:"string"` 2803} 2804 2805// String returns the string representation. 2806// 2807// API parameter values that are decorated as "sensitive" in the API will not 2808// be included in the string output. The member name will be present, but the 2809// value will be replaced with "sensitive". 2810func (s ClientException) String() string { 2811 return awsutil.Prettify(s) 2812} 2813 2814// GoString returns the string representation. 2815// 2816// API parameter values that are decorated as "sensitive" in the API will not 2817// be included in the string output. The member name will be present, but the 2818// value will be replaced with "sensitive". 2819func (s ClientException) GoString() string { 2820 return s.String() 2821} 2822 2823func newErrorClientException(v protocol.ResponseMetadata) error { 2824 return &ClientException{ 2825 RespMetadata: v, 2826 } 2827} 2828 2829// Code returns the exception type name. 2830func (s *ClientException) Code() string { 2831 return "ClientException" 2832} 2833 2834// Message returns the exception's message. 2835func (s *ClientException) Message() string { 2836 if s.Message_ != nil { 2837 return *s.Message_ 2838 } 2839 return "" 2840} 2841 2842// OrigErr always returns nil, satisfies awserr.Error interface. 2843func (s *ClientException) OrigErr() error { 2844 return nil 2845} 2846 2847func (s *ClientException) Error() string { 2848 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2849} 2850 2851// Status code returns the HTTP status code for the request's response error. 2852func (s *ClientException) StatusCode() int { 2853 return s.RespMetadata.StatusCode 2854} 2855 2856// RequestID returns the service's response RequestID for request. 2857func (s *ClientException) RequestID() string { 2858 return s.RespMetadata.RequestID 2859} 2860 2861// An object representing an Batch compute environment. 2862type ComputeEnvironmentDetail struct { 2863 _ struct{} `type:"structure"` 2864 2865 // The Amazon Resource Name (ARN) of the compute environment. 2866 // 2867 // ComputeEnvironmentArn is a required field 2868 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string" required:"true"` 2869 2870 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 2871 // numbers, hyphens, and underscores are allowed. 2872 // 2873 // ComputeEnvironmentName is a required field 2874 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 2875 2876 // The compute resources defined for the compute environment. For more information, 2877 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2878 // in the Batch User Guide. 2879 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 2880 2881 // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used 2882 // by the compute environment. 2883 // 2884 // EcsClusterArn is a required field 2885 EcsClusterArn *string `locationName:"ecsClusterArn" type:"string" required:"true"` 2886 2887 // The service role associated with the compute environment that allows Batch 2888 // to make calls to Amazon Web Services API operations on your behalf. For more 2889 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 2890 // in the Batch User Guide. 2891 ServiceRole *string `locationName:"serviceRole" type:"string"` 2892 2893 // The state of the compute environment. The valid values are ENABLED or DISABLED. 2894 // 2895 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 2896 // from an associated job queue on the compute resources within the environment. 2897 // If the compute environment is managed, then it can scale its instances out 2898 // or in automatically, based on the job queue demand. 2899 // 2900 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 2901 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 2902 // to progress normally. Managed compute environments in the DISABLED state 2903 // don't scale out. However, they scale in to minvCpus value after instances 2904 // become idle. 2905 State *string `locationName:"state" type:"string" enum:"CEState"` 2906 2907 // The current status of the compute environment (for example, CREATING or VALID). 2908 Status *string `locationName:"status" type:"string" enum:"CEStatus"` 2909 2910 // A short, human-readable string to provide additional details about the current 2911 // status of the compute environment. 2912 StatusReason *string `locationName:"statusReason" type:"string"` 2913 2914 // The tags applied to the compute environment. 2915 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 2916 2917 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 2918 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 2919 // in the Batch User Guide. 2920 Type *string `locationName:"type" type:"string" enum:"CEType"` 2921 2922 // The maximum number of VCPUs expected to be used for an unmanaged compute 2923 // environment. 2924 UnmanagedvCpus *int64 `locationName:"unmanagedvCpus" type:"integer"` 2925} 2926 2927// String returns the string representation. 2928// 2929// API parameter values that are decorated as "sensitive" in the API will not 2930// be included in the string output. The member name will be present, but the 2931// value will be replaced with "sensitive". 2932func (s ComputeEnvironmentDetail) String() string { 2933 return awsutil.Prettify(s) 2934} 2935 2936// GoString returns the string representation. 2937// 2938// API parameter values that are decorated as "sensitive" in the API will not 2939// be included in the string output. The member name will be present, but the 2940// value will be replaced with "sensitive". 2941func (s ComputeEnvironmentDetail) GoString() string { 2942 return s.String() 2943} 2944 2945// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 2946func (s *ComputeEnvironmentDetail) SetComputeEnvironmentArn(v string) *ComputeEnvironmentDetail { 2947 s.ComputeEnvironmentArn = &v 2948 return s 2949} 2950 2951// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 2952func (s *ComputeEnvironmentDetail) SetComputeEnvironmentName(v string) *ComputeEnvironmentDetail { 2953 s.ComputeEnvironmentName = &v 2954 return s 2955} 2956 2957// SetComputeResources sets the ComputeResources field's value. 2958func (s *ComputeEnvironmentDetail) SetComputeResources(v *ComputeResource) *ComputeEnvironmentDetail { 2959 s.ComputeResources = v 2960 return s 2961} 2962 2963// SetEcsClusterArn sets the EcsClusterArn field's value. 2964func (s *ComputeEnvironmentDetail) SetEcsClusterArn(v string) *ComputeEnvironmentDetail { 2965 s.EcsClusterArn = &v 2966 return s 2967} 2968 2969// SetServiceRole sets the ServiceRole field's value. 2970func (s *ComputeEnvironmentDetail) SetServiceRole(v string) *ComputeEnvironmentDetail { 2971 s.ServiceRole = &v 2972 return s 2973} 2974 2975// SetState sets the State field's value. 2976func (s *ComputeEnvironmentDetail) SetState(v string) *ComputeEnvironmentDetail { 2977 s.State = &v 2978 return s 2979} 2980 2981// SetStatus sets the Status field's value. 2982func (s *ComputeEnvironmentDetail) SetStatus(v string) *ComputeEnvironmentDetail { 2983 s.Status = &v 2984 return s 2985} 2986 2987// SetStatusReason sets the StatusReason field's value. 2988func (s *ComputeEnvironmentDetail) SetStatusReason(v string) *ComputeEnvironmentDetail { 2989 s.StatusReason = &v 2990 return s 2991} 2992 2993// SetTags sets the Tags field's value. 2994func (s *ComputeEnvironmentDetail) SetTags(v map[string]*string) *ComputeEnvironmentDetail { 2995 s.Tags = v 2996 return s 2997} 2998 2999// SetType sets the Type field's value. 3000func (s *ComputeEnvironmentDetail) SetType(v string) *ComputeEnvironmentDetail { 3001 s.Type = &v 3002 return s 3003} 3004 3005// SetUnmanagedvCpus sets the UnmanagedvCpus field's value. 3006func (s *ComputeEnvironmentDetail) SetUnmanagedvCpus(v int64) *ComputeEnvironmentDetail { 3007 s.UnmanagedvCpus = &v 3008 return s 3009} 3010 3011// The order in which compute environments are tried for job placement within 3012// a queue. Compute environments are tried in ascending order. For example, 3013// if two compute environments are associated with a job queue, the compute 3014// environment with a lower order integer value is tried for job placement first. 3015// Compute environments must be in the VALID state before you can associate 3016// them with a job queue. All of the compute environments must be either EC2 3017// (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate compute 3018// environments can't be mixed. 3019// 3020// All compute environments that are associated with a job queue must share 3021// the same architecture. Batch doesn't support mixing compute environment architecture 3022// types in a single job queue. 3023type ComputeEnvironmentOrder struct { 3024 _ struct{} `type:"structure"` 3025 3026 // The Amazon Resource Name (ARN) of the compute environment. 3027 // 3028 // ComputeEnvironment is a required field 3029 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 3030 3031 // The order of the compute environment. Compute environments are tried in ascending 3032 // order. For example, if two compute environments are associated with a job 3033 // queue, the compute environment with a lower order integer value is tried 3034 // for job placement first. 3035 // 3036 // Order is a required field 3037 Order *int64 `locationName:"order" type:"integer" required:"true"` 3038} 3039 3040// String returns the string representation. 3041// 3042// API parameter values that are decorated as "sensitive" in the API will not 3043// be included in the string output. The member name will be present, but the 3044// value will be replaced with "sensitive". 3045func (s ComputeEnvironmentOrder) String() string { 3046 return awsutil.Prettify(s) 3047} 3048 3049// GoString returns the string representation. 3050// 3051// API parameter values that are decorated as "sensitive" in the API will not 3052// be included in the string output. The member name will be present, but the 3053// value will be replaced with "sensitive". 3054func (s ComputeEnvironmentOrder) GoString() string { 3055 return s.String() 3056} 3057 3058// Validate inspects the fields of the type to determine if they are valid. 3059func (s *ComputeEnvironmentOrder) Validate() error { 3060 invalidParams := request.ErrInvalidParams{Context: "ComputeEnvironmentOrder"} 3061 if s.ComputeEnvironment == nil { 3062 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 3063 } 3064 if s.Order == nil { 3065 invalidParams.Add(request.NewErrParamRequired("Order")) 3066 } 3067 3068 if invalidParams.Len() > 0 { 3069 return invalidParams 3070 } 3071 return nil 3072} 3073 3074// SetComputeEnvironment sets the ComputeEnvironment field's value. 3075func (s *ComputeEnvironmentOrder) SetComputeEnvironment(v string) *ComputeEnvironmentOrder { 3076 s.ComputeEnvironment = &v 3077 return s 3078} 3079 3080// SetOrder sets the Order field's value. 3081func (s *ComputeEnvironmentOrder) SetOrder(v int64) *ComputeEnvironmentOrder { 3082 s.Order = &v 3083 return s 3084} 3085 3086// An object representing an Batch compute resource. For more information, see 3087// Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3088// in the Batch User Guide. 3089type ComputeResource struct { 3090 _ struct{} `type:"structure"` 3091 3092 // The allocation strategy to use for the compute resource if not enough instances 3093 // of the best fitting instance type can be allocated. This might be because 3094 // of availability of the instance type in the Region or Amazon EC2 service 3095 // limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html). 3096 // For more information, see Allocation Strategies (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html) 3097 // in the Batch User Guide. 3098 // 3099 // This parameter isn't applicable to jobs that are running on Fargate resources, 3100 // and shouldn't be specified. 3101 // 3102 // BEST_FIT (default) 3103 // 3104 // Batch selects an instance type that best fits the needs of the jobs with 3105 // a preference for the lowest-cost instance type. If additional instances of 3106 // the selected instance type aren't available, Batch waits for the additional 3107 // instances to be available. If there aren't enough instances available, or 3108 // if the user is reaching Amazon EC2 service limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html) 3109 // then additional jobs aren't run until the currently running jobs have completed. 3110 // This allocation strategy keeps costs lower but can limit scaling. If you 3111 // are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be 3112 // specified. 3113 // 3114 // BEST_FIT_PROGRESSIVE 3115 // 3116 // Batch will select additional instance types that are large enough to meet 3117 // the requirements of the jobs in the queue, with a preference for instance 3118 // types with a lower cost per unit vCPU. If additional instances of the previously 3119 // selected instance types aren't available, Batch will select new instance 3120 // types. 3121 // 3122 // SPOT_CAPACITY_OPTIMIZED 3123 // 3124 // Batch will select one or more instance types that are large enough to meet 3125 // the requirements of the jobs in the queue, with a preference for instance 3126 // types that are less likely to be interrupted. This allocation strategy is 3127 // only available for Spot Instance compute resources. 3128 // 3129 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED strategies, Batch 3130 // might need to go above maxvCpus to meet your capacity requirements. In this 3131 // event, Batch never exceeds maxvCpus by more than a single instance. 3132 AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"CRAllocationStrategy"` 3133 3134 // The maximum percentage that a Spot Instance price can be when compared with 3135 // the On-Demand price for that instance type before instances are launched. 3136 // For example, if your maximum percentage is 20%, then the Spot price must 3137 // be less than 20% of the current On-Demand price for that Amazon EC2 instance. 3138 // You always pay the lowest (market) price and never more than your maximum 3139 // percentage. If you leave this field empty, the default value is 100% of the 3140 // On-Demand price. 3141 // 3142 // This parameter isn't applicable to jobs that are running on Fargate resources, 3143 // and shouldn't be specified. 3144 BidPercentage *int64 `locationName:"bidPercentage" type:"integer"` 3145 3146 // The desired number of Amazon EC2 vCPUS in the compute environment. Batch 3147 // modifies this value between the minimum and maximum values, based on job 3148 // queue demand. 3149 // 3150 // This parameter isn't applicable to jobs that are running on Fargate resources, 3151 // and shouldn't be specified. 3152 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 3153 3154 // Provides information used to select Amazon Machine Images (AMIs) for EC2 3155 // instances in the compute environment. If Ec2Configuration isn't specified, 3156 // the default is ECS_AL2. 3157 // 3158 // One or two values can be provided. 3159 // 3160 // This parameter isn't applicable to jobs that are running on Fargate resources, 3161 // and shouldn't be specified. 3162 Ec2Configuration []*Ec2Configuration `locationName:"ec2Configuration" type:"list"` 3163 3164 // The Amazon EC2 key pair that's used for instances launched in the compute 3165 // environment. You can use this key pair to log in to your instances with SSH. 3166 // 3167 // This parameter isn't applicable to jobs that are running on Fargate resources, 3168 // and shouldn't be specified. 3169 Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"` 3170 3171 // The Amazon Machine Image (AMI) ID used for instances launched in the compute 3172 // environment. This parameter is overridden by the imageIdOverride member of 3173 // the Ec2Configuration structure. 3174 // 3175 // This parameter isn't applicable to jobs that are running on Fargate resources, 3176 // and shouldn't be specified. 3177 // 3178 // The AMI that you choose for a compute environment must match the architecture 3179 // of the instance types that you intend to use for that compute environment. 3180 // For example, if your compute environment uses A1 instance types, the compute 3181 // resource AMI that you choose must support ARM instances. Amazon ECS vends 3182 // both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI. 3183 // 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) 3184 // in the Amazon Elastic Container Service Developer Guide. 3185 // 3186 // Deprecated: This field is deprecated, use ec2Configuration[].imageIdOverride instead. 3187 ImageId *string `locationName:"imageId" deprecated:"true" type:"string"` 3188 3189 // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute 3190 // environment. You can specify the short name or full Amazon Resource Name 3191 // (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole 3192 // . For more information, see Amazon ECS Instance Role (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) 3193 // in the Batch User Guide. 3194 // 3195 // This parameter isn't applicable to jobs that are running on Fargate resources, 3196 // and shouldn't be specified. 3197 InstanceRole *string `locationName:"instanceRole" type:"string"` 3198 3199 // The instances types that can be launched. You can specify instance families 3200 // to launch any instance type within those families (for example, c5 or p3), 3201 // or you can specify specific sizes within a family (such as c5.8xlarge). You 3202 // can also choose optimal to select instance types (from the C4, M4, and R4 3203 // instance families) that match the demand of your job queues. 3204 // 3205 // This parameter isn't applicable to jobs that are running on Fargate resources, 3206 // and shouldn't be specified. 3207 // 3208 // When you create a compute environment, the instance types that you select 3209 // for the compute environment must share the same architecture. For example, 3210 // you can't mix x86 and ARM instances in the same compute environment. 3211 // 3212 // Currently, optimal uses instance types from the C4, M4, and R4 instance families. 3213 // In Regions that don't have instance types from those instance families, instance 3214 // types from the C5, M5. and R5 instance families are used. 3215 InstanceTypes []*string `locationName:"instanceTypes" type:"list"` 3216 3217 // The launch template to use for your compute resources. Any other compute 3218 // resource parameters that you specify in a CreateComputeEnvironment API operation 3219 // override the same parameters in the launch template. You must specify either 3220 // the launch template ID or launch template name in the request, but not both. 3221 // For more information, see Launch Template Support (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) 3222 // in the Batch User Guide. 3223 // 3224 // This parameter isn't applicable to jobs that are running on Fargate resources, 3225 // and shouldn't be specified. 3226 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 3227 3228 // The maximum number of Amazon EC2 vCPUs that a compute environment can reach. 3229 // 3230 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 3231 // Batch might need to exceed maxvCpus to meet your capacity requirements. In 3232 // this event, Batch never exceeds maxvCpus by more than a single instance. 3233 // For example, no more than a single instance from among those specified in 3234 // your compute environment is allocated. 3235 // 3236 // MaxvCpus is a required field 3237 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"` 3238 3239 // The minimum number of Amazon EC2 vCPUs that an environment should maintain 3240 // (even if the compute environment is DISABLED). 3241 // 3242 // This parameter isn't applicable to jobs that are running on Fargate resources, 3243 // and shouldn't be specified. 3244 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 3245 3246 // The Amazon EC2 placement group to associate with your compute resources. 3247 // If you intend to submit multi-node parallel jobs to your compute environment, 3248 // you should consider creating a cluster placement group and associate it with 3249 // your compute resources. This keeps your multi-node parallel job on a logical 3250 // grouping of instances within a single Availability Zone with high network 3251 // flow potential. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 3252 // in the Amazon EC2 User Guide for Linux Instances. 3253 // 3254 // This parameter isn't applicable to jobs that are running on Fargate resources, 3255 // and shouldn't be specified. 3256 PlacementGroup *string `locationName:"placementGroup" type:"string"` 3257 3258 // The Amazon EC2 security groups associated with instances launched in the 3259 // compute environment. One or more security groups must be specified, either 3260 // in securityGroupIds or using a launch template referenced in launchTemplate. 3261 // This parameter is required for jobs that are running on Fargate resources 3262 // and must contain at least one security group. Fargate doesn't support launch 3263 // templates. If security groups are specified using both securityGroupIds and 3264 // launchTemplate, the values in securityGroupIds are used. 3265 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 3266 3267 // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied 3268 // to a SPOT compute environment. This role is required if the allocation strategy 3269 // set to BEST_FIT or if the allocation strategy isn't specified. For more information, 3270 // see Amazon EC2 Spot Fleet Role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 3271 // in the Batch User Guide. 3272 // 3273 // This parameter isn't applicable to jobs that are running on Fargate resources, 3274 // and shouldn't be specified. 3275 // 3276 // To tag your Spot Instances on creation, the Spot Fleet IAM role specified 3277 // here must use the newer AmazonEC2SpotFleetTaggingRole managed policy. The 3278 // previously recommended AmazonEC2SpotFleetRole managed policy doesn't have 3279 // the required permissions to tag Spot Instances. For more information, see 3280 // Spot Instances not tagged on creation (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag) 3281 // in the Batch User Guide. 3282 SpotIamFleetRole *string `locationName:"spotIamFleetRole" type:"string"` 3283 3284 // The VPC subnets where the compute resources are launched. These subnets must 3285 // be within the same VPC. Fargate compute resources can contain up to 16 subnets. 3286 // For more information, see VPCs and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) 3287 // in the Amazon VPC User Guide. 3288 // 3289 // Subnets is a required field 3290 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 3291 3292 // Key-value pair tags to be applied to EC2 resources that are launched in the 3293 // compute environment. For Batch, these take the form of "String1": "String2", 3294 // where String1 is the tag key and String2 is the tag value−for example, 3295 // { "Name": "Batch Instance - C4OnDemand" }. This is helpful for recognizing 3296 // your Batch instances in the Amazon EC2 console. These tags can't be updated 3297 // or removed after the compute environment is created. Any changes to these 3298 // tags require that you create a new compute environment and remove the old 3299 // compute environment. These tags aren't seen when using the Batch ListTagsForResource 3300 // API operation. 3301 // 3302 // This parameter isn't applicable to jobs that are running on Fargate resources, 3303 // and shouldn't be specified. 3304 Tags map[string]*string `locationName:"tags" type:"map"` 3305 3306 // The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For 3307 // more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3308 // in the Batch User Guide. 3309 // 3310 // If you choose SPOT, you must also specify an Amazon EC2 Spot Fleet role with 3311 // the spotIamFleetRole parameter. For more information, see Amazon EC2 Spot 3312 // Fleet role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 3313 // in the Batch User Guide. 3314 // 3315 // Type is a required field 3316 Type *string `locationName:"type" type:"string" required:"true" enum:"CRType"` 3317} 3318 3319// String returns the string representation. 3320// 3321// API parameter values that are decorated as "sensitive" in the API will not 3322// be included in the string output. The member name will be present, but the 3323// value will be replaced with "sensitive". 3324func (s ComputeResource) String() string { 3325 return awsutil.Prettify(s) 3326} 3327 3328// GoString returns the string representation. 3329// 3330// API parameter values that are decorated as "sensitive" in the API will not 3331// be included in the string output. The member name will be present, but the 3332// value will be replaced with "sensitive". 3333func (s ComputeResource) GoString() string { 3334 return s.String() 3335} 3336 3337// Validate inspects the fields of the type to determine if they are valid. 3338func (s *ComputeResource) Validate() error { 3339 invalidParams := request.ErrInvalidParams{Context: "ComputeResource"} 3340 if s.MaxvCpus == nil { 3341 invalidParams.Add(request.NewErrParamRequired("MaxvCpus")) 3342 } 3343 if s.Subnets == nil { 3344 invalidParams.Add(request.NewErrParamRequired("Subnets")) 3345 } 3346 if s.Type == nil { 3347 invalidParams.Add(request.NewErrParamRequired("Type")) 3348 } 3349 if s.Ec2Configuration != nil { 3350 for i, v := range s.Ec2Configuration { 3351 if v == nil { 3352 continue 3353 } 3354 if err := v.Validate(); err != nil { 3355 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2Configuration", i), err.(request.ErrInvalidParams)) 3356 } 3357 } 3358 } 3359 3360 if invalidParams.Len() > 0 { 3361 return invalidParams 3362 } 3363 return nil 3364} 3365 3366// SetAllocationStrategy sets the AllocationStrategy field's value. 3367func (s *ComputeResource) SetAllocationStrategy(v string) *ComputeResource { 3368 s.AllocationStrategy = &v 3369 return s 3370} 3371 3372// SetBidPercentage sets the BidPercentage field's value. 3373func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource { 3374 s.BidPercentage = &v 3375 return s 3376} 3377 3378// SetDesiredvCpus sets the DesiredvCpus field's value. 3379func (s *ComputeResource) SetDesiredvCpus(v int64) *ComputeResource { 3380 s.DesiredvCpus = &v 3381 return s 3382} 3383 3384// SetEc2Configuration sets the Ec2Configuration field's value. 3385func (s *ComputeResource) SetEc2Configuration(v []*Ec2Configuration) *ComputeResource { 3386 s.Ec2Configuration = v 3387 return s 3388} 3389 3390// SetEc2KeyPair sets the Ec2KeyPair field's value. 3391func (s *ComputeResource) SetEc2KeyPair(v string) *ComputeResource { 3392 s.Ec2KeyPair = &v 3393 return s 3394} 3395 3396// SetImageId sets the ImageId field's value. 3397func (s *ComputeResource) SetImageId(v string) *ComputeResource { 3398 s.ImageId = &v 3399 return s 3400} 3401 3402// SetInstanceRole sets the InstanceRole field's value. 3403func (s *ComputeResource) SetInstanceRole(v string) *ComputeResource { 3404 s.InstanceRole = &v 3405 return s 3406} 3407 3408// SetInstanceTypes sets the InstanceTypes field's value. 3409func (s *ComputeResource) SetInstanceTypes(v []*string) *ComputeResource { 3410 s.InstanceTypes = v 3411 return s 3412} 3413 3414// SetLaunchTemplate sets the LaunchTemplate field's value. 3415func (s *ComputeResource) SetLaunchTemplate(v *LaunchTemplateSpecification) *ComputeResource { 3416 s.LaunchTemplate = v 3417 return s 3418} 3419 3420// SetMaxvCpus sets the MaxvCpus field's value. 3421func (s *ComputeResource) SetMaxvCpus(v int64) *ComputeResource { 3422 s.MaxvCpus = &v 3423 return s 3424} 3425 3426// SetMinvCpus sets the MinvCpus field's value. 3427func (s *ComputeResource) SetMinvCpus(v int64) *ComputeResource { 3428 s.MinvCpus = &v 3429 return s 3430} 3431 3432// SetPlacementGroup sets the PlacementGroup field's value. 3433func (s *ComputeResource) SetPlacementGroup(v string) *ComputeResource { 3434 s.PlacementGroup = &v 3435 return s 3436} 3437 3438// SetSecurityGroupIds sets the SecurityGroupIds field's value. 3439func (s *ComputeResource) SetSecurityGroupIds(v []*string) *ComputeResource { 3440 s.SecurityGroupIds = v 3441 return s 3442} 3443 3444// SetSpotIamFleetRole sets the SpotIamFleetRole field's value. 3445func (s *ComputeResource) SetSpotIamFleetRole(v string) *ComputeResource { 3446 s.SpotIamFleetRole = &v 3447 return s 3448} 3449 3450// SetSubnets sets the Subnets field's value. 3451func (s *ComputeResource) SetSubnets(v []*string) *ComputeResource { 3452 s.Subnets = v 3453 return s 3454} 3455 3456// SetTags sets the Tags field's value. 3457func (s *ComputeResource) SetTags(v map[string]*string) *ComputeResource { 3458 s.Tags = v 3459 return s 3460} 3461 3462// SetType sets the Type field's value. 3463func (s *ComputeResource) SetType(v string) *ComputeResource { 3464 s.Type = &v 3465 return s 3466} 3467 3468// An object representing the attributes of a compute environment that can be 3469// updated. For more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3470// in the Batch User Guide. 3471type ComputeResourceUpdate struct { 3472 _ struct{} `type:"structure"` 3473 3474 // The desired number of Amazon EC2 vCPUS in the compute environment. 3475 // 3476 // This parameter isn't applicable to jobs that are running on Fargate resources, 3477 // and shouldn't be specified. 3478 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 3479 3480 // The maximum number of Amazon EC2 vCPUs that an environment can reach. 3481 // 3482 // With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies, 3483 // Batch might need to exceed maxvCpus to meet your capacity requirements. In 3484 // this event, Batch never exceeds maxvCpus by more than a single instance. 3485 // That is, no more than a single instance from among those specified in your 3486 // compute environment. 3487 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"` 3488 3489 // The minimum number of Amazon EC2 vCPUs that an environment should maintain. 3490 // 3491 // This parameter isn't applicable to jobs that are running on Fargate resources, 3492 // and shouldn't be specified. 3493 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 3494 3495 // The Amazon EC2 security groups associated with instances launched in the 3496 // compute environment. This parameter is required for Fargate compute resources, 3497 // where it can contain up to 5 security groups. This can't be specified for 3498 // EC2 compute resources. Providing an empty list is handled as if this parameter 3499 // wasn't specified and no change is made. 3500 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 3501 3502 // The VPC subnets where the compute resources are launched. Fargate compute 3503 // resources can contain up to 16 subnets. Providing an empty list will be handled 3504 // as if this parameter wasn't specified and no change is made. This can't be 3505 // specified for EC2 compute resources. For more information, see VPCs and Subnets 3506 // (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the 3507 // Amazon VPC User Guide. 3508 Subnets []*string `locationName:"subnets" type:"list"` 3509} 3510 3511// String returns the string representation. 3512// 3513// API parameter values that are decorated as "sensitive" in the API will not 3514// be included in the string output. The member name will be present, but the 3515// value will be replaced with "sensitive". 3516func (s ComputeResourceUpdate) String() string { 3517 return awsutil.Prettify(s) 3518} 3519 3520// GoString returns the string representation. 3521// 3522// API parameter values that are decorated as "sensitive" in the API will not 3523// be included in the string output. The member name will be present, but the 3524// value will be replaced with "sensitive". 3525func (s ComputeResourceUpdate) GoString() string { 3526 return s.String() 3527} 3528 3529// SetDesiredvCpus sets the DesiredvCpus field's value. 3530func (s *ComputeResourceUpdate) SetDesiredvCpus(v int64) *ComputeResourceUpdate { 3531 s.DesiredvCpus = &v 3532 return s 3533} 3534 3535// SetMaxvCpus sets the MaxvCpus field's value. 3536func (s *ComputeResourceUpdate) SetMaxvCpus(v int64) *ComputeResourceUpdate { 3537 s.MaxvCpus = &v 3538 return s 3539} 3540 3541// SetMinvCpus sets the MinvCpus field's value. 3542func (s *ComputeResourceUpdate) SetMinvCpus(v int64) *ComputeResourceUpdate { 3543 s.MinvCpus = &v 3544 return s 3545} 3546 3547// SetSecurityGroupIds sets the SecurityGroupIds field's value. 3548func (s *ComputeResourceUpdate) SetSecurityGroupIds(v []*string) *ComputeResourceUpdate { 3549 s.SecurityGroupIds = v 3550 return s 3551} 3552 3553// SetSubnets sets the Subnets field's value. 3554func (s *ComputeResourceUpdate) SetSubnets(v []*string) *ComputeResourceUpdate { 3555 s.Subnets = v 3556 return s 3557} 3558 3559// An object representing the details of a container that's part of a job. 3560type ContainerDetail struct { 3561 _ struct{} `type:"structure"` 3562 3563 // The command that's passed to the container. 3564 Command []*string `locationName:"command" type:"list"` 3565 3566 // The Amazon Resource Name (ARN) of the container instance that the container 3567 // is running on. 3568 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 3569 3570 // The environment variables to pass to a container. 3571 // 3572 // Environment variables must not start with AWS_BATCH; this naming convention 3573 // is reserved for variables that are set by the Batch service. 3574 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3575 3576 // The Amazon Resource Name (ARN) of the execution role that Batch can assume. 3577 // For more information, see Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 3578 // in the Batch User Guide. 3579 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 3580 3581 // The exit code to return upon completion. 3582 ExitCode *int64 `locationName:"exitCode" type:"integer"` 3583 3584 // The platform configuration for jobs that are running on Fargate resources. 3585 // Jobs that are running on EC2 resources must not specify this parameter. 3586 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 3587 3588 // The image used to start the container. 3589 Image *string `locationName:"image" type:"string"` 3590 3591 // The instance type of the underlying host infrastructure of a multi-node parallel 3592 // job. 3593 // 3594 // This parameter isn't applicable to jobs that are running on Fargate resources. 3595 InstanceType *string `locationName:"instanceType" type:"string"` 3596 3597 // The Amazon Resource Name (ARN) associated with the job upon execution. 3598 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 3599 3600 // Linux-specific modifications that are applied to the container, such as details 3601 // for device mappings. 3602 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3603 3604 // The log configuration specification for the container. 3605 // 3606 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3607 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3608 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3609 // By default, containers use the same logging driver that the Docker daemon 3610 // uses. However, the container might use a different logging driver than the 3611 // Docker daemon by specifying a log driver with this parameter in the container 3612 // definition. To use a different logging driver for a container, the log system 3613 // must be configured properly on the container instance. Or, alternatively, 3614 // it must be configured on a different log server for remote logging options. 3615 // For more information on the options for different supported log drivers, 3616 // see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3617 // in the Docker documentation. 3618 // 3619 // Batch currently supports a subset of the logging drivers available to the 3620 // Docker daemon (shown in the LogConfiguration data type). Additional log drivers 3621 // might be available in future releases of the Amazon ECS container agent. 3622 // 3623 // This parameter requires version 1.18 of the Docker Remote API or greater 3624 // on your container instance. To check the Docker Remote API version on your 3625 // container instance, log into your container instance and run the following 3626 // command: sudo docker version | grep "Server API version" 3627 // 3628 // The Amazon ECS container agent running on a container instance must register 3629 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3630 // environment variable before containers placed on that instance can use these 3631 // log configuration options. For more information, see Amazon ECS Container 3632 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3633 // in the Amazon Elastic Container Service Developer Guide. 3634 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3635 3636 // The name of the CloudWatch Logs log stream associated with the container. 3637 // The log group for Batch jobs is /aws/batch/job. Each container attempt receives 3638 // a log stream name when they reach the RUNNING status. 3639 LogStreamName *string `locationName:"logStreamName" type:"string"` 3640 3641 // For jobs run on EC2 resources that didn't specify memory requirements using 3642 // resourceRequirements, the number of MiB of memory reserved for the job. For 3643 // other jobs, including all run on Fargate resources, see resourceRequirements. 3644 Memory *int64 `locationName:"memory" type:"integer"` 3645 3646 // The mount points for data volumes in your container. 3647 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3648 3649 // The network configuration for jobs that are running on Fargate resources. 3650 // Jobs that are running on EC2 resources must not specify this parameter. 3651 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 3652 3653 // The network interfaces associated with the job. 3654 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 3655 3656 // When this parameter is true, the container is given elevated permissions 3657 // on the host container instance (similar to the root user). The default value 3658 // is false. 3659 // 3660 // This parameter isn't applicable to jobs that are running on Fargate resources 3661 // and shouldn't be provided, or specified as false. 3662 Privileged *bool `locationName:"privileged" type:"boolean"` 3663 3664 // When this parameter is true, the container is given read-only access to its 3665 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 3666 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 3667 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 3668 // --read-only option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 3669 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 3670 3671 // A short (255 max characters) human-readable string to provide additional 3672 // details about a running or stopped container. 3673 Reason *string `locationName:"reason" type:"string"` 3674 3675 // The type and amount of resources to assign to a container. The supported 3676 // resources include GPU, MEMORY, and VCPU. 3677 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3678 3679 // The secrets to pass to the container. For more information, see Specifying 3680 // sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 3681 // in the Batch User Guide. 3682 Secrets []*Secret `locationName:"secrets" type:"list"` 3683 3684 // The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with 3685 // the container job. Each container attempt receives a task ARN when they reach 3686 // the STARTING status. 3687 TaskArn *string `locationName:"taskArn" type:"string"` 3688 3689 // A list of ulimit values to set in the container. This parameter maps to Ulimits 3690 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3691 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3692 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 3693 // 3694 // This parameter isn't applicable to jobs that are running on Fargate resources. 3695 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 3696 3697 // The user name to use inside the container. This parameter maps to User in 3698 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3699 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3700 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 3701 User *string `locationName:"user" type:"string"` 3702 3703 // The number of vCPUs reserved for the container. For jobs that run on EC2 3704 // resources, you can specify the vCPU requirement for the job using resourceRequirements, 3705 // but you can't specify the vCPU requirements in both the vcpus and resourceRequirements 3706 // object. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 3707 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 3708 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3709 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 3710 // vCPU. This is required but can be specified in several places. It must be 3711 // specified for each node at least once. 3712 // 3713 // This parameter isn't applicable to jobs that run on Fargate resources. For 3714 // jobs that run on Fargate resources, you must specify the vCPU requirement 3715 // for the job using resourceRequirements. 3716 Vcpus *int64 `locationName:"vcpus" type:"integer"` 3717 3718 // A list of volumes associated with the job. 3719 Volumes []*Volume `locationName:"volumes" type:"list"` 3720} 3721 3722// String returns the string representation. 3723// 3724// API parameter values that are decorated as "sensitive" in the API will not 3725// be included in the string output. The member name will be present, but the 3726// value will be replaced with "sensitive". 3727func (s ContainerDetail) String() string { 3728 return awsutil.Prettify(s) 3729} 3730 3731// GoString returns the string representation. 3732// 3733// API parameter values that are decorated as "sensitive" in the API will not 3734// be included in the string output. The member name will be present, but the 3735// value will be replaced with "sensitive". 3736func (s ContainerDetail) GoString() string { 3737 return s.String() 3738} 3739 3740// SetCommand sets the Command field's value. 3741func (s *ContainerDetail) SetCommand(v []*string) *ContainerDetail { 3742 s.Command = v 3743 return s 3744} 3745 3746// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 3747func (s *ContainerDetail) SetContainerInstanceArn(v string) *ContainerDetail { 3748 s.ContainerInstanceArn = &v 3749 return s 3750} 3751 3752// SetEnvironment sets the Environment field's value. 3753func (s *ContainerDetail) SetEnvironment(v []*KeyValuePair) *ContainerDetail { 3754 s.Environment = v 3755 return s 3756} 3757 3758// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 3759func (s *ContainerDetail) SetExecutionRoleArn(v string) *ContainerDetail { 3760 s.ExecutionRoleArn = &v 3761 return s 3762} 3763 3764// SetExitCode sets the ExitCode field's value. 3765func (s *ContainerDetail) SetExitCode(v int64) *ContainerDetail { 3766 s.ExitCode = &v 3767 return s 3768} 3769 3770// SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 3771func (s *ContainerDetail) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerDetail { 3772 s.FargatePlatformConfiguration = v 3773 return s 3774} 3775 3776// SetImage sets the Image field's value. 3777func (s *ContainerDetail) SetImage(v string) *ContainerDetail { 3778 s.Image = &v 3779 return s 3780} 3781 3782// SetInstanceType sets the InstanceType field's value. 3783func (s *ContainerDetail) SetInstanceType(v string) *ContainerDetail { 3784 s.InstanceType = &v 3785 return s 3786} 3787 3788// SetJobRoleArn sets the JobRoleArn field's value. 3789func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail { 3790 s.JobRoleArn = &v 3791 return s 3792} 3793 3794// SetLinuxParameters sets the LinuxParameters field's value. 3795func (s *ContainerDetail) SetLinuxParameters(v *LinuxParameters) *ContainerDetail { 3796 s.LinuxParameters = v 3797 return s 3798} 3799 3800// SetLogConfiguration sets the LogConfiguration field's value. 3801func (s *ContainerDetail) SetLogConfiguration(v *LogConfiguration) *ContainerDetail { 3802 s.LogConfiguration = v 3803 return s 3804} 3805 3806// SetLogStreamName sets the LogStreamName field's value. 3807func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail { 3808 s.LogStreamName = &v 3809 return s 3810} 3811 3812// SetMemory sets the Memory field's value. 3813func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail { 3814 s.Memory = &v 3815 return s 3816} 3817 3818// SetMountPoints sets the MountPoints field's value. 3819func (s *ContainerDetail) SetMountPoints(v []*MountPoint) *ContainerDetail { 3820 s.MountPoints = v 3821 return s 3822} 3823 3824// SetNetworkConfiguration sets the NetworkConfiguration field's value. 3825func (s *ContainerDetail) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerDetail { 3826 s.NetworkConfiguration = v 3827 return s 3828} 3829 3830// SetNetworkInterfaces sets the NetworkInterfaces field's value. 3831func (s *ContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *ContainerDetail { 3832 s.NetworkInterfaces = v 3833 return s 3834} 3835 3836// SetPrivileged sets the Privileged field's value. 3837func (s *ContainerDetail) SetPrivileged(v bool) *ContainerDetail { 3838 s.Privileged = &v 3839 return s 3840} 3841 3842// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 3843func (s *ContainerDetail) SetReadonlyRootFilesystem(v bool) *ContainerDetail { 3844 s.ReadonlyRootFilesystem = &v 3845 return s 3846} 3847 3848// SetReason sets the Reason field's value. 3849func (s *ContainerDetail) SetReason(v string) *ContainerDetail { 3850 s.Reason = &v 3851 return s 3852} 3853 3854// SetResourceRequirements sets the ResourceRequirements field's value. 3855func (s *ContainerDetail) SetResourceRequirements(v []*ResourceRequirement) *ContainerDetail { 3856 s.ResourceRequirements = v 3857 return s 3858} 3859 3860// SetSecrets sets the Secrets field's value. 3861func (s *ContainerDetail) SetSecrets(v []*Secret) *ContainerDetail { 3862 s.Secrets = v 3863 return s 3864} 3865 3866// SetTaskArn sets the TaskArn field's value. 3867func (s *ContainerDetail) SetTaskArn(v string) *ContainerDetail { 3868 s.TaskArn = &v 3869 return s 3870} 3871 3872// SetUlimits sets the Ulimits field's value. 3873func (s *ContainerDetail) SetUlimits(v []*Ulimit) *ContainerDetail { 3874 s.Ulimits = v 3875 return s 3876} 3877 3878// SetUser sets the User field's value. 3879func (s *ContainerDetail) SetUser(v string) *ContainerDetail { 3880 s.User = &v 3881 return s 3882} 3883 3884// SetVcpus sets the Vcpus field's value. 3885func (s *ContainerDetail) SetVcpus(v int64) *ContainerDetail { 3886 s.Vcpus = &v 3887 return s 3888} 3889 3890// SetVolumes sets the Volumes field's value. 3891func (s *ContainerDetail) SetVolumes(v []*Volume) *ContainerDetail { 3892 s.Volumes = v 3893 return s 3894} 3895 3896// The overrides that should be sent to a container. 3897type ContainerOverrides struct { 3898 _ struct{} `type:"structure"` 3899 3900 // The command to send to the container that overrides the default command from 3901 // the Docker image or the job definition. 3902 Command []*string `locationName:"command" type:"list"` 3903 3904 // The environment variables to send to the container. You can add new environment 3905 // variables, which are added to the container at launch, or you can override 3906 // the existing environment variables from the Docker image or the job definition. 3907 // 3908 // Environment variables must not start with AWS_BATCH; this naming convention 3909 // is reserved for variables that are set by the Batch service. 3910 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3911 3912 // The instance type to use for a multi-node parallel job. 3913 // 3914 // This parameter isn't applicable to single-node container jobs or jobs that 3915 // run on Fargate resources, and shouldn't be provided. 3916 InstanceType *string `locationName:"instanceType" type:"string"` 3917 3918 // This parameter is deprecated, use resourceRequirements to override the memory 3919 // requirements specified in the job definition. It's not supported for jobs 3920 // that run on Fargate resources. For jobs run on EC2 resources, it overrides 3921 // the memory parameter set in the job definition, but doesn't override any 3922 // memory requirement specified in the resourceRequirements structure in the 3923 // job definition. To override memory requirements that are specified in the 3924 // resourceRequirements structure in the job definition, resourceRequirements 3925 // must be specified in the SubmitJob request, with type set to MEMORY and value 3926 // set to the new value. For more information, see Can't override job definition 3927 // resource requirements (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements) 3928 // in the Batch User Guide. 3929 // 3930 // Deprecated: This field is deprecated, use resourceRequirements instead. 3931 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 3932 3933 // The type and amount of resources to assign to a container. This overrides 3934 // the settings in the job definition. The supported resources include GPU, 3935 // MEMORY, and VCPU. 3936 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 3937 3938 // This parameter is deprecated, use resourceRequirements to override the vcpus 3939 // parameter that's set in the job definition. It's not supported for jobs that 3940 // run on Fargate resources. For jobs run on EC2 resources, it overrides the 3941 // vcpus parameter set in the job definition, but doesn't override any vCPU 3942 // requirement specified in the resourceRequirements structure in the job definition. 3943 // To override vCPU requirements that are specified in the resourceRequirements 3944 // structure in the job definition, resourceRequirements must be specified in 3945 // the SubmitJob request, with type set to VCPU and value set to the new value. 3946 // For more information, see Can't override job definition resource requirements 3947 // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements) 3948 // in the Batch User Guide. 3949 // 3950 // Deprecated: This field is deprecated, use resourceRequirements instead. 3951 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 3952} 3953 3954// String returns the string representation. 3955// 3956// API parameter values that are decorated as "sensitive" in the API will not 3957// be included in the string output. The member name will be present, but the 3958// value will be replaced with "sensitive". 3959func (s ContainerOverrides) String() string { 3960 return awsutil.Prettify(s) 3961} 3962 3963// GoString returns the string representation. 3964// 3965// API parameter values that are decorated as "sensitive" in the API will not 3966// be included in the string output. The member name will be present, but the 3967// value will be replaced with "sensitive". 3968func (s ContainerOverrides) GoString() string { 3969 return s.String() 3970} 3971 3972// Validate inspects the fields of the type to determine if they are valid. 3973func (s *ContainerOverrides) Validate() error { 3974 invalidParams := request.ErrInvalidParams{Context: "ContainerOverrides"} 3975 if s.ResourceRequirements != nil { 3976 for i, v := range s.ResourceRequirements { 3977 if v == nil { 3978 continue 3979 } 3980 if err := v.Validate(); err != nil { 3981 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 3982 } 3983 } 3984 } 3985 3986 if invalidParams.Len() > 0 { 3987 return invalidParams 3988 } 3989 return nil 3990} 3991 3992// SetCommand sets the Command field's value. 3993func (s *ContainerOverrides) SetCommand(v []*string) *ContainerOverrides { 3994 s.Command = v 3995 return s 3996} 3997 3998// SetEnvironment sets the Environment field's value. 3999func (s *ContainerOverrides) SetEnvironment(v []*KeyValuePair) *ContainerOverrides { 4000 s.Environment = v 4001 return s 4002} 4003 4004// SetInstanceType sets the InstanceType field's value. 4005func (s *ContainerOverrides) SetInstanceType(v string) *ContainerOverrides { 4006 s.InstanceType = &v 4007 return s 4008} 4009 4010// SetMemory sets the Memory field's value. 4011func (s *ContainerOverrides) SetMemory(v int64) *ContainerOverrides { 4012 s.Memory = &v 4013 return s 4014} 4015 4016// SetResourceRequirements sets the ResourceRequirements field's value. 4017func (s *ContainerOverrides) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverrides { 4018 s.ResourceRequirements = v 4019 return s 4020} 4021 4022// SetVcpus sets the Vcpus field's value. 4023func (s *ContainerOverrides) SetVcpus(v int64) *ContainerOverrides { 4024 s.Vcpus = &v 4025 return s 4026} 4027 4028// Container properties are used in job definitions to describe the container 4029// that's launched as part of a job. 4030type ContainerProperties struct { 4031 _ struct{} `type:"structure"` 4032 4033 // The command that's passed to the container. This parameter maps to Cmd in 4034 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4035 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4036 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 4037 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 4038 // (https://docs.docker.com/engine/reference/builder/#cmd). 4039 Command []*string `locationName:"command" type:"list"` 4040 4041 // The environment variables to pass to a container. This parameter maps to 4042 // Env in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4043 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4044 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 4045 // 4046 // We don't recommend using plaintext environment variables for sensitive information, 4047 // such as credential data. 4048 // 4049 // Environment variables must not start with AWS_BATCH; this naming convention 4050 // is reserved for variables that are set by the Batch service. 4051 Environment []*KeyValuePair `locationName:"environment" type:"list"` 4052 4053 // The Amazon Resource Name (ARN) of the execution role that Batch can assume. 4054 // For jobs that run on Fargate resources, you must provide an execution role. 4055 // For more information, see Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) 4056 // in the Batch User Guide. 4057 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 4058 4059 // The platform configuration for jobs that are running on Fargate resources. 4060 // Jobs that are running on EC2 resources must not specify this parameter. 4061 FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"` 4062 4063 // The image used to start a container. This string is passed directly to the 4064 // Docker daemon. Images in the Docker Hub registry are available by default. 4065 // Other repositories are specified with repository-url/image:tag . Up to 255 4066 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, 4067 // periods, forward slashes, and number signs are allowed. This parameter maps 4068 // to Image in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4069 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4070 // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 4071 // 4072 // Docker image architecture must match the processor architecture of the compute 4073 // resources that they're scheduled on. For example, ARM-based Docker images 4074 // can only run on ARM-based compute resources. 4075 // 4076 // * Images in Amazon ECR repositories use the full registry and repository 4077 // URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>). 4078 // 4079 // * Images in official repositories on Docker Hub use a single name (for 4080 // example, ubuntu or mongo). 4081 // 4082 // * Images in other repositories on Docker Hub are qualified with an organization 4083 // name (for example, amazon/amazon-ecs-agent). 4084 // 4085 // * Images in other online repositories are qualified further by a domain 4086 // name (for example, quay.io/assemblyline/ubuntu). 4087 Image *string `locationName:"image" type:"string"` 4088 4089 // The instance type to use for a multi-node parallel job. All node groups in 4090 // a multi-node parallel job must use the same instance type. 4091 // 4092 // This parameter isn't applicable to single-node container jobs or jobs that 4093 // run on Fargate resources, and shouldn't be provided. 4094 InstanceType *string `locationName:"instanceType" type:"string"` 4095 4096 // The Amazon Resource Name (ARN) of the IAM role that the container can assume 4097 // for Amazon Web Services permissions. For more information, see IAM Roles 4098 // for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 4099 // in the Amazon Elastic Container Service Developer Guide. 4100 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 4101 4102 // Linux-specific modifications that are applied to the container, such as details 4103 // for device mappings. 4104 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 4105 4106 // The log configuration specification for the container. 4107 // 4108 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4109 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4110 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 4111 // By default, containers use the same logging driver that the Docker daemon 4112 // uses. However the container might use a different logging driver than the 4113 // Docker daemon by specifying a log driver with this parameter in the container 4114 // definition. To use a different logging driver for a container, the log system 4115 // must be configured properly on the container instance (or on a different 4116 // log server for remote logging options). For more information on the options 4117 // for different supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 4118 // in the Docker documentation. 4119 // 4120 // Batch currently supports a subset of the logging drivers available to the 4121 // Docker daemon (shown in the LogConfiguration data type). 4122 // 4123 // This parameter requires version 1.18 of the Docker Remote API or greater 4124 // on your container instance. To check the Docker Remote API version on your 4125 // container instance, log into your container instance and run the following 4126 // command: sudo docker version | grep "Server API version" 4127 // 4128 // The Amazon ECS container agent running on a container instance must register 4129 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 4130 // environment variable before containers placed on that instance can use these 4131 // log configuration options. For more information, see Amazon ECS Container 4132 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4133 // in the Amazon Elastic Container Service Developer Guide. 4134 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 4135 4136 // This parameter is deprecated, use resourceRequirements to specify the memory 4137 // requirements for the job definition. It's not supported for jobs that run 4138 // on Fargate resources. For jobs run on EC2 resources, it specifies the memory 4139 // hard limit (in MiB) for a container. If your container attempts to exceed 4140 // the specified number, it's terminated. You must specify at least 4 MiB of 4141 // memory for a job using this parameter. The memory hard limit can be specified 4142 // in several places. It must be specified for each node at least once. 4143 // 4144 // Deprecated: This field is deprecated, use resourceRequirements instead. 4145 Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"` 4146 4147 // The mount points for data volumes in your container. This parameter maps 4148 // to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4149 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4150 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 4151 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 4152 4153 // The network configuration for jobs that are running on Fargate resources. 4154 // Jobs that are running on EC2 resources must not specify this parameter. 4155 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 4156 4157 // When this parameter is true, the container is given elevated permissions 4158 // on the host container instance (similar to the root user). This parameter 4159 // maps to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4160 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4161 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 4162 // The default value is false. 4163 // 4164 // This parameter isn't applicable to jobs that are running on Fargate resources 4165 // and shouldn't be provided, or specified as false. 4166 Privileged *bool `locationName:"privileged" type:"boolean"` 4167 4168 // When this parameter is true, the container is given read-only access to its 4169 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 4170 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 4171 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 4172 // --read-only option to docker run. 4173 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 4174 4175 // The type and amount of resources to assign to a container. The supported 4176 // resources include GPU, MEMORY, and VCPU. 4177 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 4178 4179 // The secrets for the container. For more information, see Specifying sensitive 4180 // data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 4181 // in the Batch User Guide. 4182 Secrets []*Secret `locationName:"secrets" type:"list"` 4183 4184 // A list of ulimits to set in the container. This parameter maps to Ulimits 4185 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4186 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4187 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 4188 // 4189 // This parameter isn't applicable to jobs that are running on Fargate resources 4190 // and shouldn't be provided. 4191 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 4192 4193 // The user name to use inside the container. This parameter maps to User in 4194 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4195 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4196 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 4197 User *string `locationName:"user" type:"string"` 4198 4199 // This parameter is deprecated, use resourceRequirements to specify the vCPU 4200 // requirements for the job definition. It's not supported for jobs that run 4201 // on Fargate resources. For jobs run on EC2 resources, it specifies the number 4202 // of vCPUs reserved for the job. 4203 // 4204 // Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares 4205 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4206 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4207 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 4208 // The number of vCPUs must be specified but can be specified in several places. 4209 // You must specify it at least once for each node. 4210 // 4211 // Deprecated: This field is deprecated, use resourceRequirements instead. 4212 Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"` 4213 4214 // A list of data volumes used in a job. 4215 Volumes []*Volume `locationName:"volumes" type:"list"` 4216} 4217 4218// String returns the string representation. 4219// 4220// API parameter values that are decorated as "sensitive" in the API will not 4221// be included in the string output. The member name will be present, but the 4222// value will be replaced with "sensitive". 4223func (s ContainerProperties) String() string { 4224 return awsutil.Prettify(s) 4225} 4226 4227// GoString returns the string representation. 4228// 4229// API parameter values that are decorated as "sensitive" in the API will not 4230// be included in the string output. The member name will be present, but the 4231// value will be replaced with "sensitive". 4232func (s ContainerProperties) GoString() string { 4233 return s.String() 4234} 4235 4236// Validate inspects the fields of the type to determine if they are valid. 4237func (s *ContainerProperties) Validate() error { 4238 invalidParams := request.ErrInvalidParams{Context: "ContainerProperties"} 4239 if s.LinuxParameters != nil { 4240 if err := s.LinuxParameters.Validate(); err != nil { 4241 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 4242 } 4243 } 4244 if s.LogConfiguration != nil { 4245 if err := s.LogConfiguration.Validate(); err != nil { 4246 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 4247 } 4248 } 4249 if s.ResourceRequirements != nil { 4250 for i, v := range s.ResourceRequirements { 4251 if v == nil { 4252 continue 4253 } 4254 if err := v.Validate(); err != nil { 4255 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 4256 } 4257 } 4258 } 4259 if s.Secrets != nil { 4260 for i, v := range s.Secrets { 4261 if v == nil { 4262 continue 4263 } 4264 if err := v.Validate(); err != nil { 4265 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 4266 } 4267 } 4268 } 4269 if s.Ulimits != nil { 4270 for i, v := range s.Ulimits { 4271 if v == nil { 4272 continue 4273 } 4274 if err := v.Validate(); err != nil { 4275 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 4276 } 4277 } 4278 } 4279 if s.Volumes != nil { 4280 for i, v := range s.Volumes { 4281 if v == nil { 4282 continue 4283 } 4284 if err := v.Validate(); err != nil { 4285 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 4286 } 4287 } 4288 } 4289 4290 if invalidParams.Len() > 0 { 4291 return invalidParams 4292 } 4293 return nil 4294} 4295 4296// SetCommand sets the Command field's value. 4297func (s *ContainerProperties) SetCommand(v []*string) *ContainerProperties { 4298 s.Command = v 4299 return s 4300} 4301 4302// SetEnvironment sets the Environment field's value. 4303func (s *ContainerProperties) SetEnvironment(v []*KeyValuePair) *ContainerProperties { 4304 s.Environment = v 4305 return s 4306} 4307 4308// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 4309func (s *ContainerProperties) SetExecutionRoleArn(v string) *ContainerProperties { 4310 s.ExecutionRoleArn = &v 4311 return s 4312} 4313 4314// SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value. 4315func (s *ContainerProperties) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerProperties { 4316 s.FargatePlatformConfiguration = v 4317 return s 4318} 4319 4320// SetImage sets the Image field's value. 4321func (s *ContainerProperties) SetImage(v string) *ContainerProperties { 4322 s.Image = &v 4323 return s 4324} 4325 4326// SetInstanceType sets the InstanceType field's value. 4327func (s *ContainerProperties) SetInstanceType(v string) *ContainerProperties { 4328 s.InstanceType = &v 4329 return s 4330} 4331 4332// SetJobRoleArn sets the JobRoleArn field's value. 4333func (s *ContainerProperties) SetJobRoleArn(v string) *ContainerProperties { 4334 s.JobRoleArn = &v 4335 return s 4336} 4337 4338// SetLinuxParameters sets the LinuxParameters field's value. 4339func (s *ContainerProperties) SetLinuxParameters(v *LinuxParameters) *ContainerProperties { 4340 s.LinuxParameters = v 4341 return s 4342} 4343 4344// SetLogConfiguration sets the LogConfiguration field's value. 4345func (s *ContainerProperties) SetLogConfiguration(v *LogConfiguration) *ContainerProperties { 4346 s.LogConfiguration = v 4347 return s 4348} 4349 4350// SetMemory sets the Memory field's value. 4351func (s *ContainerProperties) SetMemory(v int64) *ContainerProperties { 4352 s.Memory = &v 4353 return s 4354} 4355 4356// SetMountPoints sets the MountPoints field's value. 4357func (s *ContainerProperties) SetMountPoints(v []*MountPoint) *ContainerProperties { 4358 s.MountPoints = v 4359 return s 4360} 4361 4362// SetNetworkConfiguration sets the NetworkConfiguration field's value. 4363func (s *ContainerProperties) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerProperties { 4364 s.NetworkConfiguration = v 4365 return s 4366} 4367 4368// SetPrivileged sets the Privileged field's value. 4369func (s *ContainerProperties) SetPrivileged(v bool) *ContainerProperties { 4370 s.Privileged = &v 4371 return s 4372} 4373 4374// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 4375func (s *ContainerProperties) SetReadonlyRootFilesystem(v bool) *ContainerProperties { 4376 s.ReadonlyRootFilesystem = &v 4377 return s 4378} 4379 4380// SetResourceRequirements sets the ResourceRequirements field's value. 4381func (s *ContainerProperties) SetResourceRequirements(v []*ResourceRequirement) *ContainerProperties { 4382 s.ResourceRequirements = v 4383 return s 4384} 4385 4386// SetSecrets sets the Secrets field's value. 4387func (s *ContainerProperties) SetSecrets(v []*Secret) *ContainerProperties { 4388 s.Secrets = v 4389 return s 4390} 4391 4392// SetUlimits sets the Ulimits field's value. 4393func (s *ContainerProperties) SetUlimits(v []*Ulimit) *ContainerProperties { 4394 s.Ulimits = v 4395 return s 4396} 4397 4398// SetUser sets the User field's value. 4399func (s *ContainerProperties) SetUser(v string) *ContainerProperties { 4400 s.User = &v 4401 return s 4402} 4403 4404// SetVcpus sets the Vcpus field's value. 4405func (s *ContainerProperties) SetVcpus(v int64) *ContainerProperties { 4406 s.Vcpus = &v 4407 return s 4408} 4409 4410// SetVolumes sets the Volumes field's value. 4411func (s *ContainerProperties) SetVolumes(v []*Volume) *ContainerProperties { 4412 s.Volumes = v 4413 return s 4414} 4415 4416// An object representing summary details of a container within a job. 4417type ContainerSummary struct { 4418 _ struct{} `type:"structure"` 4419 4420 // The exit code to return upon completion. 4421 ExitCode *int64 `locationName:"exitCode" type:"integer"` 4422 4423 // A short (255 max characters) human-readable string to provide additional 4424 // details about a running or stopped container. 4425 Reason *string `locationName:"reason" type:"string"` 4426} 4427 4428// String returns the string representation. 4429// 4430// API parameter values that are decorated as "sensitive" in the API will not 4431// be included in the string output. The member name will be present, but the 4432// value will be replaced with "sensitive". 4433func (s ContainerSummary) String() string { 4434 return awsutil.Prettify(s) 4435} 4436 4437// GoString returns the string representation. 4438// 4439// API parameter values that are decorated as "sensitive" in the API will not 4440// be included in the string output. The member name will be present, but the 4441// value will be replaced with "sensitive". 4442func (s ContainerSummary) GoString() string { 4443 return s.String() 4444} 4445 4446// SetExitCode sets the ExitCode field's value. 4447func (s *ContainerSummary) SetExitCode(v int64) *ContainerSummary { 4448 s.ExitCode = &v 4449 return s 4450} 4451 4452// SetReason sets the Reason field's value. 4453func (s *ContainerSummary) SetReason(v string) *ContainerSummary { 4454 s.Reason = &v 4455 return s 4456} 4457 4458// Contains the parameters for CreateComputeEnvironment. 4459type CreateComputeEnvironmentInput struct { 4460 _ struct{} `type:"structure"` 4461 4462 // The name for your compute environment. Up to 128 letters (uppercase and lowercase), 4463 // numbers, hyphens, and underscores are allowed. 4464 // 4465 // ComputeEnvironmentName is a required field 4466 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 4467 4468 // Details about the compute resources managed by the compute environment. This 4469 // parameter is required for managed compute environments. For more information, 4470 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 4471 // in the Batch User Guide. 4472 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 4473 4474 // The full Amazon Resource Name (ARN) of the IAM role that allows Batch to 4475 // make calls to other Amazon Web Services services on your behalf. For more 4476 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 4477 // in the Batch User Guide. 4478 // 4479 // If your account already created the Batch service-linked role, that role 4480 // is used by default for your compute environment unless you specify a different 4481 // role here. If the Batch service-linked role doesn't exist in your account, 4482 // and no role is specified here, the service attempts to create the Batch service-linked 4483 // role in your account. 4484 // 4485 // If your specified role has a path other than /, then you must specify either 4486 // the full role ARN (recommended) or prefix the role name with the path. For 4487 // example, if a role with the name bar has a path of /foo/ then you would specify 4488 // /foo/bar as the role name. For more information, see Friendly names and paths 4489 // (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 4490 // in the IAM User Guide. 4491 // 4492 // Depending on how you created your Batch service role, its ARN might contain 4493 // the service-role path prefix. When you only specify the name of the service 4494 // role, Batch assumes that your ARN doesn't use the service-role path prefix. 4495 // Because of this, we recommend that you specify the full ARN of your service 4496 // role when you create compute environments. 4497 ServiceRole *string `locationName:"serviceRole" type:"string"` 4498 4499 // The state of the compute environment. If the state is ENABLED, then the compute 4500 // environment accepts jobs from a queue and can scale out automatically based 4501 // on queues. 4502 // 4503 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 4504 // from an associated job queue on the compute resources within the environment. 4505 // If the compute environment is managed, then it can scale its instances out 4506 // or in automatically, based on the job queue demand. 4507 // 4508 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 4509 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 4510 // to progress normally. Managed compute environments in the DISABLED state 4511 // don't scale out. However, they scale in to minvCpus value after instances 4512 // become idle. 4513 State *string `locationName:"state" type:"string" enum:"CEState"` 4514 4515 // The tags that you apply to the compute environment to help you categorize 4516 // and organize your resources. Each tag consists of a key and an optional value. 4517 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 4518 // in Amazon Web Services General Reference. 4519 // 4520 // These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html) 4521 // and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html) 4522 // API operations. These tags don't propagate to the underlying compute resources. 4523 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4524 4525 // The type of the compute environment: MANAGED or UNMANAGED. For more information, 4526 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 4527 // in the Batch User Guide. 4528 // 4529 // Type is a required field 4530 Type *string `locationName:"type" type:"string" required:"true" enum:"CEType"` 4531 4532 // The maximum number of vCPUs for an unmanaged compute environment. This parameter 4533 // is only used for fair share scheduling to reserve vCPU capacity for new share 4534 // identifiers. If this parameter is not provided for a fair share job queue, 4535 // no vCPU capacity will be reserved. 4536 // 4537 // This parameter is only supported when the type parameter is set to UNMANAGED/ 4538 UnmanagedvCpus *int64 `locationName:"unmanagedvCpus" type:"integer"` 4539} 4540 4541// String returns the string representation. 4542// 4543// API parameter values that are decorated as "sensitive" in the API will not 4544// be included in the string output. The member name will be present, but the 4545// value will be replaced with "sensitive". 4546func (s CreateComputeEnvironmentInput) String() string { 4547 return awsutil.Prettify(s) 4548} 4549 4550// GoString returns the string representation. 4551// 4552// API parameter values that are decorated as "sensitive" in the API will not 4553// be included in the string output. The member name will be present, but the 4554// value will be replaced with "sensitive". 4555func (s CreateComputeEnvironmentInput) GoString() string { 4556 return s.String() 4557} 4558 4559// Validate inspects the fields of the type to determine if they are valid. 4560func (s *CreateComputeEnvironmentInput) Validate() error { 4561 invalidParams := request.ErrInvalidParams{Context: "CreateComputeEnvironmentInput"} 4562 if s.ComputeEnvironmentName == nil { 4563 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentName")) 4564 } 4565 if s.Tags != nil && len(s.Tags) < 1 { 4566 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4567 } 4568 if s.Type == nil { 4569 invalidParams.Add(request.NewErrParamRequired("Type")) 4570 } 4571 if s.ComputeResources != nil { 4572 if err := s.ComputeResources.Validate(); err != nil { 4573 invalidParams.AddNested("ComputeResources", err.(request.ErrInvalidParams)) 4574 } 4575 } 4576 4577 if invalidParams.Len() > 0 { 4578 return invalidParams 4579 } 4580 return nil 4581} 4582 4583// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 4584func (s *CreateComputeEnvironmentInput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentInput { 4585 s.ComputeEnvironmentName = &v 4586 return s 4587} 4588 4589// SetComputeResources sets the ComputeResources field's value. 4590func (s *CreateComputeEnvironmentInput) SetComputeResources(v *ComputeResource) *CreateComputeEnvironmentInput { 4591 s.ComputeResources = v 4592 return s 4593} 4594 4595// SetServiceRole sets the ServiceRole field's value. 4596func (s *CreateComputeEnvironmentInput) SetServiceRole(v string) *CreateComputeEnvironmentInput { 4597 s.ServiceRole = &v 4598 return s 4599} 4600 4601// SetState sets the State field's value. 4602func (s *CreateComputeEnvironmentInput) SetState(v string) *CreateComputeEnvironmentInput { 4603 s.State = &v 4604 return s 4605} 4606 4607// SetTags sets the Tags field's value. 4608func (s *CreateComputeEnvironmentInput) SetTags(v map[string]*string) *CreateComputeEnvironmentInput { 4609 s.Tags = v 4610 return s 4611} 4612 4613// SetType sets the Type field's value. 4614func (s *CreateComputeEnvironmentInput) SetType(v string) *CreateComputeEnvironmentInput { 4615 s.Type = &v 4616 return s 4617} 4618 4619// SetUnmanagedvCpus sets the UnmanagedvCpus field's value. 4620func (s *CreateComputeEnvironmentInput) SetUnmanagedvCpus(v int64) *CreateComputeEnvironmentInput { 4621 s.UnmanagedvCpus = &v 4622 return s 4623} 4624 4625type CreateComputeEnvironmentOutput struct { 4626 _ struct{} `type:"structure"` 4627 4628 // The Amazon Resource Name (ARN) of the compute environment. 4629 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 4630 4631 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 4632 // numbers, hyphens, and underscores are allowed. 4633 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 4634} 4635 4636// String returns the string representation. 4637// 4638// API parameter values that are decorated as "sensitive" in the API will not 4639// be included in the string output. The member name will be present, but the 4640// value will be replaced with "sensitive". 4641func (s CreateComputeEnvironmentOutput) String() string { 4642 return awsutil.Prettify(s) 4643} 4644 4645// GoString returns the string representation. 4646// 4647// API parameter values that are decorated as "sensitive" in the API will not 4648// be included in the string output. The member name will be present, but the 4649// value will be replaced with "sensitive". 4650func (s CreateComputeEnvironmentOutput) GoString() string { 4651 return s.String() 4652} 4653 4654// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 4655func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *CreateComputeEnvironmentOutput { 4656 s.ComputeEnvironmentArn = &v 4657 return s 4658} 4659 4660// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 4661func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentOutput { 4662 s.ComputeEnvironmentName = &v 4663 return s 4664} 4665 4666// Contains the parameters for CreateJobQueue. 4667type CreateJobQueueInput struct { 4668 _ struct{} `type:"structure"` 4669 4670 // The set of compute environments mapped to a job queue and their order relative 4671 // to each other. The job scheduler uses this parameter to determine which compute 4672 // environment should run a specific job. Compute environments must be in the 4673 // VALID state before you can associate them with a job queue. You can associate 4674 // up to three compute environments with a job queue. All of the compute environments 4675 // must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 4676 // and Fargate compute environments can't be mixed. 4677 // 4678 // All compute environments that are associated with a job queue must share 4679 // the same architecture. Batch doesn't support mixing compute environment architecture 4680 // types in a single job queue. 4681 // 4682 // ComputeEnvironmentOrder is a required field 4683 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 4684 4685 // The name of the job queue. Up to 128 letters (uppercase and lowercase), numbers, 4686 // and underscores are allowed. 4687 // 4688 // JobQueueName is a required field 4689 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4690 4691 // The priority of the job queue. Job queues with a higher priority (or a higher 4692 // integer value for the priority parameter) are evaluated first when associated 4693 // with the same compute environment. Priority is determined in descending order. 4694 // For example, a job queue with a priority value of 10 is given scheduling 4695 // preference over a job queue with a priority value of 1. All of the compute 4696 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 4697 // EC2 and Fargate compute environments can't be mixed. 4698 // 4699 // Priority is a required field 4700 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 4701 4702 // Amazon Resource Name (ARN) of the fair share scheduling policy. If this parameter 4703 // is specified, the job queue will use a fair share scheduling policy. If this 4704 // parameter is not specified, the job queue will use a first in, first out 4705 // (FIFO) scheduling policy. Once a job queue is created, the fair share scheduling 4706 // policy can be replaced but not removed. The format is aws:Partition:batch:Region:Account:scheduling-policy/Name 4707 // . For example, aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy. 4708 SchedulingPolicyArn *string `locationName:"schedulingPolicyArn" type:"string"` 4709 4710 // The state of the job queue. If the job queue state is ENABLED, it is able 4711 // to accept jobs. If the job queue state is DISABLED, new jobs can't be added 4712 // to the queue, but jobs already in the queue can finish. 4713 State *string `locationName:"state" type:"string" enum:"JQState"` 4714 4715 // The tags that you apply to the job queue to help you categorize and organize 4716 // your resources. Each tag consists of a key and an optional value. For more 4717 // information, see Tagging your Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 4718 // in Batch User Guide. 4719 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4720} 4721 4722// String returns the string representation. 4723// 4724// API parameter values that are decorated as "sensitive" in the API will not 4725// be included in the string output. The member name will be present, but the 4726// value will be replaced with "sensitive". 4727func (s CreateJobQueueInput) String() string { 4728 return awsutil.Prettify(s) 4729} 4730 4731// GoString returns the string representation. 4732// 4733// API parameter values that are decorated as "sensitive" in the API will not 4734// be included in the string output. The member name will be present, but the 4735// value will be replaced with "sensitive". 4736func (s CreateJobQueueInput) GoString() string { 4737 return s.String() 4738} 4739 4740// Validate inspects the fields of the type to determine if they are valid. 4741func (s *CreateJobQueueInput) Validate() error { 4742 invalidParams := request.ErrInvalidParams{Context: "CreateJobQueueInput"} 4743 if s.ComputeEnvironmentOrder == nil { 4744 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentOrder")) 4745 } 4746 if s.JobQueueName == nil { 4747 invalidParams.Add(request.NewErrParamRequired("JobQueueName")) 4748 } 4749 if s.Priority == nil { 4750 invalidParams.Add(request.NewErrParamRequired("Priority")) 4751 } 4752 if s.Tags != nil && len(s.Tags) < 1 { 4753 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4754 } 4755 if s.ComputeEnvironmentOrder != nil { 4756 for i, v := range s.ComputeEnvironmentOrder { 4757 if v == nil { 4758 continue 4759 } 4760 if err := v.Validate(); err != nil { 4761 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 4762 } 4763 } 4764 } 4765 4766 if invalidParams.Len() > 0 { 4767 return invalidParams 4768 } 4769 return nil 4770} 4771 4772// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 4773func (s *CreateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *CreateJobQueueInput { 4774 s.ComputeEnvironmentOrder = v 4775 return s 4776} 4777 4778// SetJobQueueName sets the JobQueueName field's value. 4779func (s *CreateJobQueueInput) SetJobQueueName(v string) *CreateJobQueueInput { 4780 s.JobQueueName = &v 4781 return s 4782} 4783 4784// SetPriority sets the Priority field's value. 4785func (s *CreateJobQueueInput) SetPriority(v int64) *CreateJobQueueInput { 4786 s.Priority = &v 4787 return s 4788} 4789 4790// SetSchedulingPolicyArn sets the SchedulingPolicyArn field's value. 4791func (s *CreateJobQueueInput) SetSchedulingPolicyArn(v string) *CreateJobQueueInput { 4792 s.SchedulingPolicyArn = &v 4793 return s 4794} 4795 4796// SetState sets the State field's value. 4797func (s *CreateJobQueueInput) SetState(v string) *CreateJobQueueInput { 4798 s.State = &v 4799 return s 4800} 4801 4802// SetTags sets the Tags field's value. 4803func (s *CreateJobQueueInput) SetTags(v map[string]*string) *CreateJobQueueInput { 4804 s.Tags = v 4805 return s 4806} 4807 4808type CreateJobQueueOutput struct { 4809 _ struct{} `type:"structure"` 4810 4811 // The Amazon Resource Name (ARN) of the job queue. 4812 // 4813 // JobQueueArn is a required field 4814 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 4815 4816 // The name of the job queue. 4817 // 4818 // JobQueueName is a required field 4819 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4820} 4821 4822// String returns the string representation. 4823// 4824// API parameter values that are decorated as "sensitive" in the API will not 4825// be included in the string output. The member name will be present, but the 4826// value will be replaced with "sensitive". 4827func (s CreateJobQueueOutput) String() string { 4828 return awsutil.Prettify(s) 4829} 4830 4831// GoString returns the string representation. 4832// 4833// API parameter values that are decorated as "sensitive" in the API will not 4834// be included in the string output. The member name will be present, but the 4835// value will be replaced with "sensitive". 4836func (s CreateJobQueueOutput) GoString() string { 4837 return s.String() 4838} 4839 4840// SetJobQueueArn sets the JobQueueArn field's value. 4841func (s *CreateJobQueueOutput) SetJobQueueArn(v string) *CreateJobQueueOutput { 4842 s.JobQueueArn = &v 4843 return s 4844} 4845 4846// SetJobQueueName sets the JobQueueName field's value. 4847func (s *CreateJobQueueOutput) SetJobQueueName(v string) *CreateJobQueueOutput { 4848 s.JobQueueName = &v 4849 return s 4850} 4851 4852type CreateSchedulingPolicyInput struct { 4853 _ struct{} `type:"structure"` 4854 4855 // The fair share policy of the scheduling policy. 4856 FairsharePolicy *FairsharePolicy `locationName:"fairsharePolicy" type:"structure"` 4857 4858 // The name of the scheduling policy. Up to 128 letters (uppercase and lowercase), 4859 // numbers, hyphens, and underscores are allowed. 4860 // 4861 // Name is a required field 4862 Name *string `locationName:"name" type:"string" required:"true"` 4863 4864 // The tags that you apply to the scheduling policy to help you categorize and 4865 // organize your resources. Each tag consists of a key and an optional value. 4866 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 4867 // in Amazon Web Services General Reference. 4868 // 4869 // These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html) 4870 // and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html) 4871 // API operations. 4872 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 4873} 4874 4875// String returns the string representation. 4876// 4877// API parameter values that are decorated as "sensitive" in the API will not 4878// be included in the string output. The member name will be present, but the 4879// value will be replaced with "sensitive". 4880func (s CreateSchedulingPolicyInput) String() string { 4881 return awsutil.Prettify(s) 4882} 4883 4884// GoString returns the string representation. 4885// 4886// API parameter values that are decorated as "sensitive" in the API will not 4887// be included in the string output. The member name will be present, but the 4888// value will be replaced with "sensitive". 4889func (s CreateSchedulingPolicyInput) GoString() string { 4890 return s.String() 4891} 4892 4893// Validate inspects the fields of the type to determine if they are valid. 4894func (s *CreateSchedulingPolicyInput) Validate() error { 4895 invalidParams := request.ErrInvalidParams{Context: "CreateSchedulingPolicyInput"} 4896 if s.Name == nil { 4897 invalidParams.Add(request.NewErrParamRequired("Name")) 4898 } 4899 if s.Tags != nil && len(s.Tags) < 1 { 4900 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 4901 } 4902 if s.FairsharePolicy != nil { 4903 if err := s.FairsharePolicy.Validate(); err != nil { 4904 invalidParams.AddNested("FairsharePolicy", err.(request.ErrInvalidParams)) 4905 } 4906 } 4907 4908 if invalidParams.Len() > 0 { 4909 return invalidParams 4910 } 4911 return nil 4912} 4913 4914// SetFairsharePolicy sets the FairsharePolicy field's value. 4915func (s *CreateSchedulingPolicyInput) SetFairsharePolicy(v *FairsharePolicy) *CreateSchedulingPolicyInput { 4916 s.FairsharePolicy = v 4917 return s 4918} 4919 4920// SetName sets the Name field's value. 4921func (s *CreateSchedulingPolicyInput) SetName(v string) *CreateSchedulingPolicyInput { 4922 s.Name = &v 4923 return s 4924} 4925 4926// SetTags sets the Tags field's value. 4927func (s *CreateSchedulingPolicyInput) SetTags(v map[string]*string) *CreateSchedulingPolicyInput { 4928 s.Tags = v 4929 return s 4930} 4931 4932type CreateSchedulingPolicyOutput struct { 4933 _ struct{} `type:"structure"` 4934 4935 // The Amazon Resource Name (ARN) of the scheduling policy. The format is aws:Partition:batch:Region:Account:scheduling-policy/Name 4936 // . For example, aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy. 4937 // 4938 // Arn is a required field 4939 Arn *string `locationName:"arn" type:"string" required:"true"` 4940 4941 // The name of the scheduling policy. 4942 // 4943 // Name is a required field 4944 Name *string `locationName:"name" type:"string" required:"true"` 4945} 4946 4947// String returns the string representation. 4948// 4949// API parameter values that are decorated as "sensitive" in the API will not 4950// be included in the string output. The member name will be present, but the 4951// value will be replaced with "sensitive". 4952func (s CreateSchedulingPolicyOutput) String() string { 4953 return awsutil.Prettify(s) 4954} 4955 4956// GoString returns the string representation. 4957// 4958// API parameter values that are decorated as "sensitive" in the API will not 4959// be included in the string output. The member name will be present, but the 4960// value will be replaced with "sensitive". 4961func (s CreateSchedulingPolicyOutput) GoString() string { 4962 return s.String() 4963} 4964 4965// SetArn sets the Arn field's value. 4966func (s *CreateSchedulingPolicyOutput) SetArn(v string) *CreateSchedulingPolicyOutput { 4967 s.Arn = &v 4968 return s 4969} 4970 4971// SetName sets the Name field's value. 4972func (s *CreateSchedulingPolicyOutput) SetName(v string) *CreateSchedulingPolicyOutput { 4973 s.Name = &v 4974 return s 4975} 4976 4977// Contains the parameters for DeleteComputeEnvironment. 4978type DeleteComputeEnvironmentInput struct { 4979 _ struct{} `type:"structure"` 4980 4981 // The name or Amazon Resource Name (ARN) of the compute environment to delete. 4982 // 4983 // ComputeEnvironment is a required field 4984 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 4985} 4986 4987// String returns the string representation. 4988// 4989// API parameter values that are decorated as "sensitive" in the API will not 4990// be included in the string output. The member name will be present, but the 4991// value will be replaced with "sensitive". 4992func (s DeleteComputeEnvironmentInput) String() string { 4993 return awsutil.Prettify(s) 4994} 4995 4996// GoString returns the string representation. 4997// 4998// API parameter values that are decorated as "sensitive" in the API will not 4999// be included in the string output. The member name will be present, but the 5000// value will be replaced with "sensitive". 5001func (s DeleteComputeEnvironmentInput) GoString() string { 5002 return s.String() 5003} 5004 5005// Validate inspects the fields of the type to determine if they are valid. 5006func (s *DeleteComputeEnvironmentInput) Validate() error { 5007 invalidParams := request.ErrInvalidParams{Context: "DeleteComputeEnvironmentInput"} 5008 if s.ComputeEnvironment == nil { 5009 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 5010 } 5011 5012 if invalidParams.Len() > 0 { 5013 return invalidParams 5014 } 5015 return nil 5016} 5017 5018// SetComputeEnvironment sets the ComputeEnvironment field's value. 5019func (s *DeleteComputeEnvironmentInput) SetComputeEnvironment(v string) *DeleteComputeEnvironmentInput { 5020 s.ComputeEnvironment = &v 5021 return s 5022} 5023 5024type DeleteComputeEnvironmentOutput struct { 5025 _ struct{} `type:"structure"` 5026} 5027 5028// String returns the string representation. 5029// 5030// API parameter values that are decorated as "sensitive" in the API will not 5031// be included in the string output. The member name will be present, but the 5032// value will be replaced with "sensitive". 5033func (s DeleteComputeEnvironmentOutput) String() string { 5034 return awsutil.Prettify(s) 5035} 5036 5037// GoString returns the string representation. 5038// 5039// API parameter values that are decorated as "sensitive" in the API will not 5040// be included in the string output. The member name will be present, but the 5041// value will be replaced with "sensitive". 5042func (s DeleteComputeEnvironmentOutput) GoString() string { 5043 return s.String() 5044} 5045 5046// Contains the parameters for DeleteJobQueue. 5047type DeleteJobQueueInput struct { 5048 _ struct{} `type:"structure"` 5049 5050 // The short name or full Amazon Resource Name (ARN) of the queue to delete. 5051 // 5052 // JobQueue is a required field 5053 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 5054} 5055 5056// String returns the string representation. 5057// 5058// API parameter values that are decorated as "sensitive" in the API will not 5059// be included in the string output. The member name will be present, but the 5060// value will be replaced with "sensitive". 5061func (s DeleteJobQueueInput) String() string { 5062 return awsutil.Prettify(s) 5063} 5064 5065// GoString returns the string representation. 5066// 5067// API parameter values that are decorated as "sensitive" in the API will not 5068// be included in the string output. The member name will be present, but the 5069// value will be replaced with "sensitive". 5070func (s DeleteJobQueueInput) GoString() string { 5071 return s.String() 5072} 5073 5074// Validate inspects the fields of the type to determine if they are valid. 5075func (s *DeleteJobQueueInput) Validate() error { 5076 invalidParams := request.ErrInvalidParams{Context: "DeleteJobQueueInput"} 5077 if s.JobQueue == nil { 5078 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 5079 } 5080 5081 if invalidParams.Len() > 0 { 5082 return invalidParams 5083 } 5084 return nil 5085} 5086 5087// SetJobQueue sets the JobQueue field's value. 5088func (s *DeleteJobQueueInput) SetJobQueue(v string) *DeleteJobQueueInput { 5089 s.JobQueue = &v 5090 return s 5091} 5092 5093type DeleteJobQueueOutput struct { 5094 _ struct{} `type:"structure"` 5095} 5096 5097// String returns the string representation. 5098// 5099// API parameter values that are decorated as "sensitive" in the API will not 5100// be included in the string output. The member name will be present, but the 5101// value will be replaced with "sensitive". 5102func (s DeleteJobQueueOutput) String() string { 5103 return awsutil.Prettify(s) 5104} 5105 5106// GoString returns the string representation. 5107// 5108// API parameter values that are decorated as "sensitive" in the API will not 5109// be included in the string output. The member name will be present, but the 5110// value will be replaced with "sensitive". 5111func (s DeleteJobQueueOutput) GoString() string { 5112 return s.String() 5113} 5114 5115type DeleteSchedulingPolicyInput struct { 5116 _ struct{} `type:"structure"` 5117 5118 // The Amazon Resource Name (ARN) of the scheduling policy to delete. 5119 // 5120 // Arn is a required field 5121 Arn *string `locationName:"arn" type:"string" required:"true"` 5122} 5123 5124// String returns the string representation. 5125// 5126// API parameter values that are decorated as "sensitive" in the API will not 5127// be included in the string output. The member name will be present, but the 5128// value will be replaced with "sensitive". 5129func (s DeleteSchedulingPolicyInput) String() string { 5130 return awsutil.Prettify(s) 5131} 5132 5133// GoString returns the string representation. 5134// 5135// API parameter values that are decorated as "sensitive" in the API will not 5136// be included in the string output. The member name will be present, but the 5137// value will be replaced with "sensitive". 5138func (s DeleteSchedulingPolicyInput) GoString() string { 5139 return s.String() 5140} 5141 5142// Validate inspects the fields of the type to determine if they are valid. 5143func (s *DeleteSchedulingPolicyInput) Validate() error { 5144 invalidParams := request.ErrInvalidParams{Context: "DeleteSchedulingPolicyInput"} 5145 if s.Arn == nil { 5146 invalidParams.Add(request.NewErrParamRequired("Arn")) 5147 } 5148 5149 if invalidParams.Len() > 0 { 5150 return invalidParams 5151 } 5152 return nil 5153} 5154 5155// SetArn sets the Arn field's value. 5156func (s *DeleteSchedulingPolicyInput) SetArn(v string) *DeleteSchedulingPolicyInput { 5157 s.Arn = &v 5158 return s 5159} 5160 5161type DeleteSchedulingPolicyOutput struct { 5162 _ struct{} `type:"structure"` 5163} 5164 5165// String returns the string representation. 5166// 5167// API parameter values that are decorated as "sensitive" in the API will not 5168// be included in the string output. The member name will be present, but the 5169// value will be replaced with "sensitive". 5170func (s DeleteSchedulingPolicyOutput) String() string { 5171 return awsutil.Prettify(s) 5172} 5173 5174// GoString returns the string representation. 5175// 5176// API parameter values that are decorated as "sensitive" in the API will not 5177// be included in the string output. The member name will be present, but the 5178// value will be replaced with "sensitive". 5179func (s DeleteSchedulingPolicyOutput) GoString() string { 5180 return s.String() 5181} 5182 5183type DeregisterJobDefinitionInput struct { 5184 _ struct{} `type:"structure"` 5185 5186 // The name and revision (name:revision) or full Amazon Resource Name (ARN) 5187 // of the job definition to deregister. 5188 // 5189 // JobDefinition is a required field 5190 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 5191} 5192 5193// String returns the string representation. 5194// 5195// API parameter values that are decorated as "sensitive" in the API will not 5196// be included in the string output. The member name will be present, but the 5197// value will be replaced with "sensitive". 5198func (s DeregisterJobDefinitionInput) String() string { 5199 return awsutil.Prettify(s) 5200} 5201 5202// GoString returns the string representation. 5203// 5204// API parameter values that are decorated as "sensitive" in the API will not 5205// be included in the string output. The member name will be present, but the 5206// value will be replaced with "sensitive". 5207func (s DeregisterJobDefinitionInput) GoString() string { 5208 return s.String() 5209} 5210 5211// Validate inspects the fields of the type to determine if they are valid. 5212func (s *DeregisterJobDefinitionInput) Validate() error { 5213 invalidParams := request.ErrInvalidParams{Context: "DeregisterJobDefinitionInput"} 5214 if s.JobDefinition == nil { 5215 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 5216 } 5217 5218 if invalidParams.Len() > 0 { 5219 return invalidParams 5220 } 5221 return nil 5222} 5223 5224// SetJobDefinition sets the JobDefinition field's value. 5225func (s *DeregisterJobDefinitionInput) SetJobDefinition(v string) *DeregisterJobDefinitionInput { 5226 s.JobDefinition = &v 5227 return s 5228} 5229 5230type DeregisterJobDefinitionOutput struct { 5231 _ struct{} `type:"structure"` 5232} 5233 5234// String returns the string representation. 5235// 5236// API parameter values that are decorated as "sensitive" in the API will not 5237// be included in the string output. The member name will be present, but the 5238// value will be replaced with "sensitive". 5239func (s DeregisterJobDefinitionOutput) String() string { 5240 return awsutil.Prettify(s) 5241} 5242 5243// GoString returns the string representation. 5244// 5245// API parameter values that are decorated as "sensitive" in the API will not 5246// be included in the string output. The member name will be present, but the 5247// value will be replaced with "sensitive". 5248func (s DeregisterJobDefinitionOutput) GoString() string { 5249 return s.String() 5250} 5251 5252// Contains the parameters for DescribeComputeEnvironments. 5253type DescribeComputeEnvironmentsInput struct { 5254 _ struct{} `type:"structure"` 5255 5256 // A list of up to 100 compute environment names or full Amazon Resource Name 5257 // (ARN) entries. 5258 ComputeEnvironments []*string `locationName:"computeEnvironments" type:"list"` 5259 5260 // The maximum number of cluster results returned by DescribeComputeEnvironments 5261 // in paginated output. When this parameter is used, DescribeComputeEnvironments 5262 // only returns maxResults results in a single page along with a nextToken response 5263 // element. The remaining results of the initial request can be seen by sending 5264 // another DescribeComputeEnvironments request with the returned nextToken value. 5265 // This value can be between 1 and 100. If this parameter isn't used, then DescribeComputeEnvironments 5266 // returns up to 100 results and a nextToken value if applicable. 5267 MaxResults *int64 `locationName:"maxResults" type:"integer"` 5268 5269 // The nextToken value returned from a previous paginated DescribeComputeEnvironments 5270 // request where maxResults was used and the results exceeded the value of that 5271 // parameter. Pagination continues from the end of the previous results that 5272 // returned the nextToken value. This value is null when there are no more results 5273 // to return. 5274 // 5275 // This token should be treated as an opaque identifier that's only used to 5276 // retrieve the next items in a list and not for other programmatic purposes. 5277 NextToken *string `locationName:"nextToken" type:"string"` 5278} 5279 5280// String returns the string representation. 5281// 5282// API parameter values that are decorated as "sensitive" in the API will not 5283// be included in the string output. The member name will be present, but the 5284// value will be replaced with "sensitive". 5285func (s DescribeComputeEnvironmentsInput) String() string { 5286 return awsutil.Prettify(s) 5287} 5288 5289// GoString returns the string representation. 5290// 5291// API parameter values that are decorated as "sensitive" in the API will not 5292// be included in the string output. The member name will be present, but the 5293// value will be replaced with "sensitive". 5294func (s DescribeComputeEnvironmentsInput) GoString() string { 5295 return s.String() 5296} 5297 5298// SetComputeEnvironments sets the ComputeEnvironments field's value. 5299func (s *DescribeComputeEnvironmentsInput) SetComputeEnvironments(v []*string) *DescribeComputeEnvironmentsInput { 5300 s.ComputeEnvironments = v 5301 return s 5302} 5303 5304// SetMaxResults sets the MaxResults field's value. 5305func (s *DescribeComputeEnvironmentsInput) SetMaxResults(v int64) *DescribeComputeEnvironmentsInput { 5306 s.MaxResults = &v 5307 return s 5308} 5309 5310// SetNextToken sets the NextToken field's value. 5311func (s *DescribeComputeEnvironmentsInput) SetNextToken(v string) *DescribeComputeEnvironmentsInput { 5312 s.NextToken = &v 5313 return s 5314} 5315 5316type DescribeComputeEnvironmentsOutput struct { 5317 _ struct{} `type:"structure"` 5318 5319 // The list of compute environments. 5320 ComputeEnvironments []*ComputeEnvironmentDetail `locationName:"computeEnvironments" type:"list"` 5321 5322 // The nextToken value to include in a future DescribeComputeEnvironments request. 5323 // When the results of a DescribeComputeEnvironments request exceed maxResults, 5324 // this value can be used to retrieve the next page of results. This value is 5325 // null when there are no more results to return. 5326 NextToken *string `locationName:"nextToken" type:"string"` 5327} 5328 5329// String returns the string representation. 5330// 5331// API parameter values that are decorated as "sensitive" in the API will not 5332// be included in the string output. The member name will be present, but the 5333// value will be replaced with "sensitive". 5334func (s DescribeComputeEnvironmentsOutput) String() string { 5335 return awsutil.Prettify(s) 5336} 5337 5338// GoString returns the string representation. 5339// 5340// API parameter values that are decorated as "sensitive" in the API will not 5341// be included in the string output. The member name will be present, but the 5342// value will be replaced with "sensitive". 5343func (s DescribeComputeEnvironmentsOutput) GoString() string { 5344 return s.String() 5345} 5346 5347// SetComputeEnvironments sets the ComputeEnvironments field's value. 5348func (s *DescribeComputeEnvironmentsOutput) SetComputeEnvironments(v []*ComputeEnvironmentDetail) *DescribeComputeEnvironmentsOutput { 5349 s.ComputeEnvironments = v 5350 return s 5351} 5352 5353// SetNextToken sets the NextToken field's value. 5354func (s *DescribeComputeEnvironmentsOutput) SetNextToken(v string) *DescribeComputeEnvironmentsOutput { 5355 s.NextToken = &v 5356 return s 5357} 5358 5359// Contains the parameters for DescribeJobDefinitions. 5360type DescribeJobDefinitionsInput struct { 5361 _ struct{} `type:"structure"` 5362 5363 // The name of the job definition to describe. 5364 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string"` 5365 5366 // A list of up to 100 job definitions. Each entry in the list can either be 5367 // an ARN of the form arn:aws:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision} 5368 // or a short version using the form ${JobDefinitionName}:${Revision}. 5369 JobDefinitions []*string `locationName:"jobDefinitions" type:"list"` 5370 5371 // The maximum number of results returned by DescribeJobDefinitions in paginated 5372 // output. When this parameter is used, DescribeJobDefinitions only returns 5373 // maxResults results in a single page and a nextToken response element. The 5374 // remaining results of the initial request can be seen by sending another DescribeJobDefinitions 5375 // request with the returned nextToken value. This value can be between 1 and 5376 // 100. If this parameter isn't used, then DescribeJobDefinitions returns up 5377 // to 100 results and a nextToken value if applicable. 5378 MaxResults *int64 `locationName:"maxResults" type:"integer"` 5379 5380 // The nextToken value returned from a previous paginated DescribeJobDefinitions 5381 // request where maxResults was used and the results exceeded the value of that 5382 // parameter. Pagination continues from the end of the previous results that 5383 // returned the nextToken value. This value is null when there are no more results 5384 // to return. 5385 // 5386 // This token should be treated as an opaque identifier that's only used to 5387 // retrieve the next items in a list and not for other programmatic purposes. 5388 NextToken *string `locationName:"nextToken" type:"string"` 5389 5390 // The status used to filter job definitions. 5391 Status *string `locationName:"status" type:"string"` 5392} 5393 5394// String returns the string representation. 5395// 5396// API parameter values that are decorated as "sensitive" in the API will not 5397// be included in the string output. The member name will be present, but the 5398// value will be replaced with "sensitive". 5399func (s DescribeJobDefinitionsInput) String() string { 5400 return awsutil.Prettify(s) 5401} 5402 5403// GoString returns the string representation. 5404// 5405// API parameter values that are decorated as "sensitive" in the API will not 5406// be included in the string output. The member name will be present, but the 5407// value will be replaced with "sensitive". 5408func (s DescribeJobDefinitionsInput) GoString() string { 5409 return s.String() 5410} 5411 5412// SetJobDefinitionName sets the JobDefinitionName field's value. 5413func (s *DescribeJobDefinitionsInput) SetJobDefinitionName(v string) *DescribeJobDefinitionsInput { 5414 s.JobDefinitionName = &v 5415 return s 5416} 5417 5418// SetJobDefinitions sets the JobDefinitions field's value. 5419func (s *DescribeJobDefinitionsInput) SetJobDefinitions(v []*string) *DescribeJobDefinitionsInput { 5420 s.JobDefinitions = v 5421 return s 5422} 5423 5424// SetMaxResults sets the MaxResults field's value. 5425func (s *DescribeJobDefinitionsInput) SetMaxResults(v int64) *DescribeJobDefinitionsInput { 5426 s.MaxResults = &v 5427 return s 5428} 5429 5430// SetNextToken sets the NextToken field's value. 5431func (s *DescribeJobDefinitionsInput) SetNextToken(v string) *DescribeJobDefinitionsInput { 5432 s.NextToken = &v 5433 return s 5434} 5435 5436// SetStatus sets the Status field's value. 5437func (s *DescribeJobDefinitionsInput) SetStatus(v string) *DescribeJobDefinitionsInput { 5438 s.Status = &v 5439 return s 5440} 5441 5442type DescribeJobDefinitionsOutput struct { 5443 _ struct{} `type:"structure"` 5444 5445 // The list of job definitions. 5446 JobDefinitions []*JobDefinition `locationName:"jobDefinitions" type:"list"` 5447 5448 // The nextToken value to include in a future DescribeJobDefinitions request. 5449 // When the results of a DescribeJobDefinitions request exceed maxResults, this 5450 // value can be used to retrieve the next page of results. This value is null 5451 // when there are no more results to return. 5452 NextToken *string `locationName:"nextToken" type:"string"` 5453} 5454 5455// String returns the string representation. 5456// 5457// API parameter values that are decorated as "sensitive" in the API will not 5458// be included in the string output. The member name will be present, but the 5459// value will be replaced with "sensitive". 5460func (s DescribeJobDefinitionsOutput) String() string { 5461 return awsutil.Prettify(s) 5462} 5463 5464// GoString returns the string representation. 5465// 5466// API parameter values that are decorated as "sensitive" in the API will not 5467// be included in the string output. The member name will be present, but the 5468// value will be replaced with "sensitive". 5469func (s DescribeJobDefinitionsOutput) GoString() string { 5470 return s.String() 5471} 5472 5473// SetJobDefinitions sets the JobDefinitions field's value. 5474func (s *DescribeJobDefinitionsOutput) SetJobDefinitions(v []*JobDefinition) *DescribeJobDefinitionsOutput { 5475 s.JobDefinitions = v 5476 return s 5477} 5478 5479// SetNextToken sets the NextToken field's value. 5480func (s *DescribeJobDefinitionsOutput) SetNextToken(v string) *DescribeJobDefinitionsOutput { 5481 s.NextToken = &v 5482 return s 5483} 5484 5485// Contains the parameters for DescribeJobQueues. 5486type DescribeJobQueuesInput struct { 5487 _ struct{} `type:"structure"` 5488 5489 // A list of up to 100 queue names or full queue Amazon Resource Name (ARN) 5490 // entries. 5491 JobQueues []*string `locationName:"jobQueues" type:"list"` 5492 5493 // The maximum number of results returned by DescribeJobQueues in paginated 5494 // output. When this parameter is used, DescribeJobQueues only returns maxResults 5495 // results in a single page and a nextToken response element. The remaining 5496 // results of the initial request can be seen by sending another DescribeJobQueues 5497 // request with the returned nextToken value. This value can be between 1 and 5498 // 100. If this parameter isn't used, then DescribeJobQueues returns up to 100 5499 // results and a nextToken value if applicable. 5500 MaxResults *int64 `locationName:"maxResults" type:"integer"` 5501 5502 // The nextToken value returned from a previous paginated DescribeJobQueues 5503 // request where maxResults was used and the results exceeded the value of that 5504 // parameter. Pagination continues from the end of the previous results that 5505 // returned the nextToken value. This value is null when there are no more results 5506 // to return. 5507 // 5508 // This token should be treated as an opaque identifier that's only used to 5509 // retrieve the next items in a list and not for other programmatic purposes. 5510 NextToken *string `locationName:"nextToken" type:"string"` 5511} 5512 5513// String returns the string representation. 5514// 5515// API parameter values that are decorated as "sensitive" in the API will not 5516// be included in the string output. The member name will be present, but the 5517// value will be replaced with "sensitive". 5518func (s DescribeJobQueuesInput) String() string { 5519 return awsutil.Prettify(s) 5520} 5521 5522// GoString returns the string representation. 5523// 5524// API parameter values that are decorated as "sensitive" in the API will not 5525// be included in the string output. The member name will be present, but the 5526// value will be replaced with "sensitive". 5527func (s DescribeJobQueuesInput) GoString() string { 5528 return s.String() 5529} 5530 5531// SetJobQueues sets the JobQueues field's value. 5532func (s *DescribeJobQueuesInput) SetJobQueues(v []*string) *DescribeJobQueuesInput { 5533 s.JobQueues = v 5534 return s 5535} 5536 5537// SetMaxResults sets the MaxResults field's value. 5538func (s *DescribeJobQueuesInput) SetMaxResults(v int64) *DescribeJobQueuesInput { 5539 s.MaxResults = &v 5540 return s 5541} 5542 5543// SetNextToken sets the NextToken field's value. 5544func (s *DescribeJobQueuesInput) SetNextToken(v string) *DescribeJobQueuesInput { 5545 s.NextToken = &v 5546 return s 5547} 5548 5549type DescribeJobQueuesOutput struct { 5550 _ struct{} `type:"structure"` 5551 5552 // The list of job queues. 5553 JobQueues []*JobQueueDetail `locationName:"jobQueues" type:"list"` 5554 5555 // The nextToken value to include in a future DescribeJobQueues request. When 5556 // the results of a DescribeJobQueues request exceed maxResults, this value 5557 // can be used to retrieve the next page of results. This value is null when 5558 // there are no more results to return. 5559 NextToken *string `locationName:"nextToken" type:"string"` 5560} 5561 5562// String returns the string representation. 5563// 5564// API parameter values that are decorated as "sensitive" in the API will not 5565// be included in the string output. The member name will be present, but the 5566// value will be replaced with "sensitive". 5567func (s DescribeJobQueuesOutput) String() string { 5568 return awsutil.Prettify(s) 5569} 5570 5571// GoString returns the string representation. 5572// 5573// API parameter values that are decorated as "sensitive" in the API will not 5574// be included in the string output. The member name will be present, but the 5575// value will be replaced with "sensitive". 5576func (s DescribeJobQueuesOutput) GoString() string { 5577 return s.String() 5578} 5579 5580// SetJobQueues sets the JobQueues field's value. 5581func (s *DescribeJobQueuesOutput) SetJobQueues(v []*JobQueueDetail) *DescribeJobQueuesOutput { 5582 s.JobQueues = v 5583 return s 5584} 5585 5586// SetNextToken sets the NextToken field's value. 5587func (s *DescribeJobQueuesOutput) SetNextToken(v string) *DescribeJobQueuesOutput { 5588 s.NextToken = &v 5589 return s 5590} 5591 5592// Contains the parameters for DescribeJobs. 5593type DescribeJobsInput struct { 5594 _ struct{} `type:"structure"` 5595 5596 // A list of up to 100 job IDs. 5597 // 5598 // Jobs is a required field 5599 Jobs []*string `locationName:"jobs" type:"list" required:"true"` 5600} 5601 5602// String returns the string representation. 5603// 5604// API parameter values that are decorated as "sensitive" in the API will not 5605// be included in the string output. The member name will be present, but the 5606// value will be replaced with "sensitive". 5607func (s DescribeJobsInput) String() string { 5608 return awsutil.Prettify(s) 5609} 5610 5611// GoString returns the string representation. 5612// 5613// API parameter values that are decorated as "sensitive" in the API will not 5614// be included in the string output. The member name will be present, but the 5615// value will be replaced with "sensitive". 5616func (s DescribeJobsInput) GoString() string { 5617 return s.String() 5618} 5619 5620// Validate inspects the fields of the type to determine if they are valid. 5621func (s *DescribeJobsInput) Validate() error { 5622 invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"} 5623 if s.Jobs == nil { 5624 invalidParams.Add(request.NewErrParamRequired("Jobs")) 5625 } 5626 5627 if invalidParams.Len() > 0 { 5628 return invalidParams 5629 } 5630 return nil 5631} 5632 5633// SetJobs sets the Jobs field's value. 5634func (s *DescribeJobsInput) SetJobs(v []*string) *DescribeJobsInput { 5635 s.Jobs = v 5636 return s 5637} 5638 5639type DescribeJobsOutput struct { 5640 _ struct{} `type:"structure"` 5641 5642 // The list of jobs. 5643 Jobs []*JobDetail `locationName:"jobs" type:"list"` 5644} 5645 5646// String returns the string representation. 5647// 5648// API parameter values that are decorated as "sensitive" in the API will not 5649// be included in the string output. The member name will be present, but the 5650// value will be replaced with "sensitive". 5651func (s DescribeJobsOutput) String() string { 5652 return awsutil.Prettify(s) 5653} 5654 5655// GoString returns the string representation. 5656// 5657// API parameter values that are decorated as "sensitive" in the API will not 5658// be included in the string output. The member name will be present, but the 5659// value will be replaced with "sensitive". 5660func (s DescribeJobsOutput) GoString() string { 5661 return s.String() 5662} 5663 5664// SetJobs sets the Jobs field's value. 5665func (s *DescribeJobsOutput) SetJobs(v []*JobDetail) *DescribeJobsOutput { 5666 s.Jobs = v 5667 return s 5668} 5669 5670type DescribeSchedulingPoliciesInput struct { 5671 _ struct{} `type:"structure"` 5672 5673 // A list of up to 100 scheduling policy Amazon Resource Name (ARN) entries. 5674 // 5675 // Arns is a required field 5676 Arns []*string `locationName:"arns" type:"list" required:"true"` 5677} 5678 5679// String returns the string representation. 5680// 5681// API parameter values that are decorated as "sensitive" in the API will not 5682// be included in the string output. The member name will be present, but the 5683// value will be replaced with "sensitive". 5684func (s DescribeSchedulingPoliciesInput) String() string { 5685 return awsutil.Prettify(s) 5686} 5687 5688// GoString returns the string representation. 5689// 5690// API parameter values that are decorated as "sensitive" in the API will not 5691// be included in the string output. The member name will be present, but the 5692// value will be replaced with "sensitive". 5693func (s DescribeSchedulingPoliciesInput) GoString() string { 5694 return s.String() 5695} 5696 5697// Validate inspects the fields of the type to determine if they are valid. 5698func (s *DescribeSchedulingPoliciesInput) Validate() error { 5699 invalidParams := request.ErrInvalidParams{Context: "DescribeSchedulingPoliciesInput"} 5700 if s.Arns == nil { 5701 invalidParams.Add(request.NewErrParamRequired("Arns")) 5702 } 5703 5704 if invalidParams.Len() > 0 { 5705 return invalidParams 5706 } 5707 return nil 5708} 5709 5710// SetArns sets the Arns field's value. 5711func (s *DescribeSchedulingPoliciesInput) SetArns(v []*string) *DescribeSchedulingPoliciesInput { 5712 s.Arns = v 5713 return s 5714} 5715 5716type DescribeSchedulingPoliciesOutput struct { 5717 _ struct{} `type:"structure"` 5718 5719 // The list of scheduling policies. 5720 SchedulingPolicies []*SchedulingPolicyDetail `locationName:"schedulingPolicies" type:"list"` 5721} 5722 5723// String returns the string representation. 5724// 5725// API parameter values that are decorated as "sensitive" in the API will not 5726// be included in the string output. The member name will be present, but the 5727// value will be replaced with "sensitive". 5728func (s DescribeSchedulingPoliciesOutput) String() string { 5729 return awsutil.Prettify(s) 5730} 5731 5732// GoString returns the string representation. 5733// 5734// API parameter values that are decorated as "sensitive" in the API will not 5735// be included in the string output. The member name will be present, but the 5736// value will be replaced with "sensitive". 5737func (s DescribeSchedulingPoliciesOutput) GoString() string { 5738 return s.String() 5739} 5740 5741// SetSchedulingPolicies sets the SchedulingPolicies field's value. 5742func (s *DescribeSchedulingPoliciesOutput) SetSchedulingPolicies(v []*SchedulingPolicyDetail) *DescribeSchedulingPoliciesOutput { 5743 s.SchedulingPolicies = v 5744 return s 5745} 5746 5747// An object representing a container instance host device. 5748// 5749// This object isn't applicable to jobs that are running on Fargate resources 5750// and shouldn't be provided. 5751type Device struct { 5752 _ struct{} `type:"structure"` 5753 5754 // The path inside the container that's used to expose the host device. By default, 5755 // the hostPath value is used. 5756 ContainerPath *string `locationName:"containerPath" type:"string"` 5757 5758 // The path for the device on the host container instance. 5759 // 5760 // HostPath is a required field 5761 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 5762 5763 // The explicit permissions to provide to the container for the device. By default, 5764 // the container has permissions for read, write, and mknod for the device. 5765 Permissions []*string `locationName:"permissions" type:"list"` 5766} 5767 5768// String returns the string representation. 5769// 5770// API parameter values that are decorated as "sensitive" in the API will not 5771// be included in the string output. The member name will be present, but the 5772// value will be replaced with "sensitive". 5773func (s Device) String() string { 5774 return awsutil.Prettify(s) 5775} 5776 5777// GoString returns the string representation. 5778// 5779// API parameter values that are decorated as "sensitive" in the API will not 5780// be included in the string output. The member name will be present, but the 5781// value will be replaced with "sensitive". 5782func (s Device) GoString() string { 5783 return s.String() 5784} 5785 5786// Validate inspects the fields of the type to determine if they are valid. 5787func (s *Device) Validate() error { 5788 invalidParams := request.ErrInvalidParams{Context: "Device"} 5789 if s.HostPath == nil { 5790 invalidParams.Add(request.NewErrParamRequired("HostPath")) 5791 } 5792 5793 if invalidParams.Len() > 0 { 5794 return invalidParams 5795 } 5796 return nil 5797} 5798 5799// SetContainerPath sets the ContainerPath field's value. 5800func (s *Device) SetContainerPath(v string) *Device { 5801 s.ContainerPath = &v 5802 return s 5803} 5804 5805// SetHostPath sets the HostPath field's value. 5806func (s *Device) SetHostPath(v string) *Device { 5807 s.HostPath = &v 5808 return s 5809} 5810 5811// SetPermissions sets the Permissions field's value. 5812func (s *Device) SetPermissions(v []*string) *Device { 5813 s.Permissions = v 5814 return s 5815} 5816 5817// The authorization configuration details for the Amazon EFS file system. 5818type EFSAuthorizationConfig struct { 5819 _ struct{} `type:"structure"` 5820 5821 // The Amazon EFS access point ID to use. If an access point is specified, the 5822 // root directory value specified in the EFSVolumeConfiguration must either 5823 // be omitted or set to / which will enforce the path set on the EFS access 5824 // point. If an access point is used, transit encryption must be enabled in 5825 // the EFSVolumeConfiguration. For more information, see Working with Amazon 5826 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 5827 // in the Amazon Elastic File System User Guide. 5828 AccessPointId *string `locationName:"accessPointId" type:"string"` 5829 5830 // Whether or not to use the Batch job IAM role defined in a job definition 5831 // when mounting the Amazon EFS file system. If enabled, transit encryption 5832 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 5833 // the default value of DISABLED is used. For more information, see Using Amazon 5834 // EFS Access Points (https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html#efs-volume-accesspoints) 5835 // in the Batch User Guide. EFS IAM authorization requires that TransitEncryption 5836 // be ENABLED and that a JobRoleArn is specified. 5837 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 5838} 5839 5840// String returns the string representation. 5841// 5842// API parameter values that are decorated as "sensitive" in the API will not 5843// be included in the string output. The member name will be present, but the 5844// value will be replaced with "sensitive". 5845func (s EFSAuthorizationConfig) String() string { 5846 return awsutil.Prettify(s) 5847} 5848 5849// GoString returns the string representation. 5850// 5851// API parameter values that are decorated as "sensitive" in the API will not 5852// be included in the string output. The member name will be present, but the 5853// value will be replaced with "sensitive". 5854func (s EFSAuthorizationConfig) GoString() string { 5855 return s.String() 5856} 5857 5858// SetAccessPointId sets the AccessPointId field's value. 5859func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 5860 s.AccessPointId = &v 5861 return s 5862} 5863 5864// SetIam sets the Iam field's value. 5865func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 5866 s.Iam = &v 5867 return s 5868} 5869 5870// This is used when you're using an Amazon Elastic File System file system 5871// for job storage. For more information, see Amazon EFS Volumes (https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html) 5872// in the Batch User Guide. 5873type EFSVolumeConfiguration struct { 5874 _ struct{} `type:"structure"` 5875 5876 // The authorization configuration details for the Amazon EFS file system. 5877 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 5878 5879 // The Amazon EFS file system ID to use. 5880 // 5881 // FileSystemId is a required field 5882 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 5883 5884 // The directory within the Amazon EFS file system to mount as the root directory 5885 // inside the host. If this parameter is omitted, the root of the Amazon EFS 5886 // volume is used instead. Specifying / has the same effect as omitting this 5887 // parameter. The maximum length is 4,096 characters. 5888 // 5889 // If an EFS access point is specified in the authorizationConfig, the root 5890 // directory parameter must either be omitted or set to /, which enforces the 5891 // path set on the Amazon EFS access point. 5892 RootDirectory *string `locationName:"rootDirectory" type:"string"` 5893 5894 // Determines whether to enable encryption for Amazon EFS data in transit between 5895 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 5896 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 5897 // the default value of DISABLED is used. For more information, see Encrypting 5898 // data in transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 5899 // in the Amazon Elastic File System User Guide. 5900 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 5901 5902 // The port to use when sending encrypted data between the Amazon ECS host and 5903 // the Amazon EFS server. If you don't specify a transit encryption port, it 5904 // uses the port selection strategy that the Amazon EFS mount helper uses. The 5905 // value must be between 0 and 65,535. For more information, see EFS Mount Helper 5906 // (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the 5907 // Amazon Elastic File System User Guide. 5908 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 5909} 5910 5911// String returns the string representation. 5912// 5913// API parameter values that are decorated as "sensitive" in the API will not 5914// be included in the string output. The member name will be present, but the 5915// value will be replaced with "sensitive". 5916func (s EFSVolumeConfiguration) String() string { 5917 return awsutil.Prettify(s) 5918} 5919 5920// GoString returns the string representation. 5921// 5922// API parameter values that are decorated as "sensitive" in the API will not 5923// be included in the string output. The member name will be present, but the 5924// value will be replaced with "sensitive". 5925func (s EFSVolumeConfiguration) GoString() string { 5926 return s.String() 5927} 5928 5929// Validate inspects the fields of the type to determine if they are valid. 5930func (s *EFSVolumeConfiguration) Validate() error { 5931 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 5932 if s.FileSystemId == nil { 5933 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 5934 } 5935 5936 if invalidParams.Len() > 0 { 5937 return invalidParams 5938 } 5939 return nil 5940} 5941 5942// SetAuthorizationConfig sets the AuthorizationConfig field's value. 5943func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 5944 s.AuthorizationConfig = v 5945 return s 5946} 5947 5948// SetFileSystemId sets the FileSystemId field's value. 5949func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 5950 s.FileSystemId = &v 5951 return s 5952} 5953 5954// SetRootDirectory sets the RootDirectory field's value. 5955func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 5956 s.RootDirectory = &v 5957 return s 5958} 5959 5960// SetTransitEncryption sets the TransitEncryption field's value. 5961func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 5962 s.TransitEncryption = &v 5963 return s 5964} 5965 5966// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 5967func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 5968 s.TransitEncryptionPort = &v 5969 return s 5970} 5971 5972// Provides information used to select Amazon Machine Images (AMIs) for instances 5973// in the compute environment. If Ec2Configuration isn't specified, the default 5974// is ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)). 5975// 5976// This object isn't applicable to jobs that are running on Fargate resources. 5977type Ec2Configuration struct { 5978 _ struct{} `type:"structure"` 5979 5980 // The AMI ID used for instances launched in the compute environment that match 5981 // the image type. This setting overrides the imageId set in the computeResource 5982 // object. 5983 ImageIdOverride *string `locationName:"imageIdOverride" min:"1" type:"string"` 5984 5985 // The image type to match with the instance type to select an AMI. If the imageIdOverride 5986 // parameter isn't specified, then a recent Amazon ECS-optimized Amazon Linux 5987 // 2 AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami) 5988 // (ECS_AL2) is used. 5989 // 5990 // ECS_AL2 5991 // 5992 // Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)− 5993 // Default for all non-GPU instance families. 5994 // 5995 // ECS_AL2_NVIDIA 5996 // 5997 // Amazon Linux 2 (GPU) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)−Default 5998 // for all GPU instance families (for example P4 and G4) and can be used for 5999 // all non Amazon Web Services Graviton-based instance types. 6000 // 6001 // ECS_AL1 6002 // 6003 // Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami). 6004 // Amazon Linux is reaching the end-of-life of standard support. For more information, 6005 // see Amazon Linux AMI (http://aws.amazon.com/amazon-linux-ami/). 6006 // 6007 // ImageType is a required field 6008 ImageType *string `locationName:"imageType" min:"1" type:"string" required:"true"` 6009} 6010 6011// String returns the string representation. 6012// 6013// API parameter values that are decorated as "sensitive" in the API will not 6014// be included in the string output. The member name will be present, but the 6015// value will be replaced with "sensitive". 6016func (s Ec2Configuration) String() string { 6017 return awsutil.Prettify(s) 6018} 6019 6020// GoString returns the string representation. 6021// 6022// API parameter values that are decorated as "sensitive" in the API will not 6023// be included in the string output. The member name will be present, but the 6024// value will be replaced with "sensitive". 6025func (s Ec2Configuration) GoString() string { 6026 return s.String() 6027} 6028 6029// Validate inspects the fields of the type to determine if they are valid. 6030func (s *Ec2Configuration) Validate() error { 6031 invalidParams := request.ErrInvalidParams{Context: "Ec2Configuration"} 6032 if s.ImageIdOverride != nil && len(*s.ImageIdOverride) < 1 { 6033 invalidParams.Add(request.NewErrParamMinLen("ImageIdOverride", 1)) 6034 } 6035 if s.ImageType == nil { 6036 invalidParams.Add(request.NewErrParamRequired("ImageType")) 6037 } 6038 if s.ImageType != nil && len(*s.ImageType) < 1 { 6039 invalidParams.Add(request.NewErrParamMinLen("ImageType", 1)) 6040 } 6041 6042 if invalidParams.Len() > 0 { 6043 return invalidParams 6044 } 6045 return nil 6046} 6047 6048// SetImageIdOverride sets the ImageIdOverride field's value. 6049func (s *Ec2Configuration) SetImageIdOverride(v string) *Ec2Configuration { 6050 s.ImageIdOverride = &v 6051 return s 6052} 6053 6054// SetImageType sets the ImageType field's value. 6055func (s *Ec2Configuration) SetImageType(v string) *Ec2Configuration { 6056 s.ImageType = &v 6057 return s 6058} 6059 6060// Specifies a set of conditions to be met, and an action to take (RETRY or 6061// EXIT) if all conditions are met. 6062type EvaluateOnExit struct { 6063 _ struct{} `type:"structure"` 6064 6065 // Specifies the action to take if all of the specified conditions (onStatusReason, 6066 // onReason, and onExitCode) are met. The values aren't case sensitive. 6067 // 6068 // Action is a required field 6069 Action *string `locationName:"action" type:"string" required:"true" enum:"RetryAction"` 6070 6071 // Contains a glob pattern to match against the decimal representation of the 6072 // ExitCode returned for a job. The pattern can be up to 512 characters in length. 6073 // It can contain only numbers, and can optionally end with an asterisk (*) 6074 // so that only the start of the string needs to be an exact match. 6075 // 6076 // The string can be between 1 and 512 characters in length. 6077 OnExitCode *string `locationName:"onExitCode" type:"string"` 6078 6079 // Contains a glob pattern to match against the Reason returned for a job. The 6080 // pattern can be up to 512 characters in length. It can contain letters, numbers, 6081 // periods (.), colons (:), and white space (including spaces and tabs). It 6082 // can optionally end with an asterisk (*) so that only the start of the string 6083 // needs to be an exact match. 6084 // 6085 // The string can be between 1 and 512 characters in length. 6086 OnReason *string `locationName:"onReason" type:"string"` 6087 6088 // Contains a glob pattern to match against the StatusReason returned for a 6089 // job. The pattern can be up to 512 characters in length. It can contain letters, 6090 // numbers, periods (.), colons (:), and white space (including spaces or tabs). 6091 // It can optionally end with an asterisk (*) so that only the start of the 6092 // string needs to be an exact match. 6093 // 6094 // The string can be between 1 and 512 characters in length. 6095 OnStatusReason *string `locationName:"onStatusReason" type:"string"` 6096} 6097 6098// String returns the string representation. 6099// 6100// API parameter values that are decorated as "sensitive" in the API will not 6101// be included in the string output. The member name will be present, but the 6102// value will be replaced with "sensitive". 6103func (s EvaluateOnExit) String() string { 6104 return awsutil.Prettify(s) 6105} 6106 6107// GoString returns the string representation. 6108// 6109// API parameter values that are decorated as "sensitive" in the API will not 6110// be included in the string output. The member name will be present, but the 6111// value will be replaced with "sensitive". 6112func (s EvaluateOnExit) GoString() string { 6113 return s.String() 6114} 6115 6116// Validate inspects the fields of the type to determine if they are valid. 6117func (s *EvaluateOnExit) Validate() error { 6118 invalidParams := request.ErrInvalidParams{Context: "EvaluateOnExit"} 6119 if s.Action == nil { 6120 invalidParams.Add(request.NewErrParamRequired("Action")) 6121 } 6122 6123 if invalidParams.Len() > 0 { 6124 return invalidParams 6125 } 6126 return nil 6127} 6128 6129// SetAction sets the Action field's value. 6130func (s *EvaluateOnExit) SetAction(v string) *EvaluateOnExit { 6131 s.Action = &v 6132 return s 6133} 6134 6135// SetOnExitCode sets the OnExitCode field's value. 6136func (s *EvaluateOnExit) SetOnExitCode(v string) *EvaluateOnExit { 6137 s.OnExitCode = &v 6138 return s 6139} 6140 6141// SetOnReason sets the OnReason field's value. 6142func (s *EvaluateOnExit) SetOnReason(v string) *EvaluateOnExit { 6143 s.OnReason = &v 6144 return s 6145} 6146 6147// SetOnStatusReason sets the OnStatusReason field's value. 6148func (s *EvaluateOnExit) SetOnStatusReason(v string) *EvaluateOnExit { 6149 s.OnStatusReason = &v 6150 return s 6151} 6152 6153// The fair share policy for a scheduling policy. 6154type FairsharePolicy struct { 6155 _ struct{} `type:"structure"` 6156 6157 // A value used to reserve some of the available maximum vCPU for fair share 6158 // identifiers that have not yet been used. 6159 // 6160 // The reserved ratio is (computeReservation/100)^ActiveFairShares where ActiveFairShares 6161 // is the number of active fair share identifiers. 6162 // 6163 // For example, a computeReservation value of 50 indicates that Batch should 6164 // reserve 50% of the maximum available vCPU if there is only one fair share 6165 // identifier, 25% if there are two fair share identifiers, and 12.5% if there 6166 // are three fair share identifiers. A computeReservation value of 25 indicates 6167 // that Batch should reserve 25% of the maximum available vCPU if there is only 6168 // one fair share identifier, 6.25% if there are two fair share identifiers, 6169 // and 1.56% if there are three fair share identifiers. 6170 // 6171 // The minimum value is 0 and the maximum value is 99. 6172 ComputeReservation *int64 `locationName:"computeReservation" type:"integer"` 6173 6174 // The time period to use to calculate a fair share percentage for each fair 6175 // share identifier in use, in seconds. A value of zero (0) indicates that only 6176 // current usage should be measured; if there are four evenly weighted fair 6177 // share identifiers then each can only use up to 25% of the available CPU resources, 6178 // even if some of the fair share identifiers have no currently running jobs. 6179 // The decay allows for more recently run jobs to have more weight than jobs 6180 // that ran earlier. The maximum supported value is 604800 (1 week). 6181 ShareDecaySeconds *int64 `locationName:"shareDecaySeconds" type:"integer"` 6182 6183 // Array of SharedIdentifier objects that contain the weights for the fair share 6184 // identifiers for the fair share policy. Fair share identifiers that are not 6185 // included have a default weight of 1.0. 6186 ShareDistribution []*ShareAttributes `locationName:"shareDistribution" type:"list"` 6187} 6188 6189// String returns the string representation. 6190// 6191// API parameter values that are decorated as "sensitive" in the API will not 6192// be included in the string output. The member name will be present, but the 6193// value will be replaced with "sensitive". 6194func (s FairsharePolicy) String() string { 6195 return awsutil.Prettify(s) 6196} 6197 6198// GoString returns the string representation. 6199// 6200// API parameter values that are decorated as "sensitive" in the API will not 6201// be included in the string output. The member name will be present, but the 6202// value will be replaced with "sensitive". 6203func (s FairsharePolicy) GoString() string { 6204 return s.String() 6205} 6206 6207// Validate inspects the fields of the type to determine if they are valid. 6208func (s *FairsharePolicy) Validate() error { 6209 invalidParams := request.ErrInvalidParams{Context: "FairsharePolicy"} 6210 if s.ShareDistribution != nil { 6211 for i, v := range s.ShareDistribution { 6212 if v == nil { 6213 continue 6214 } 6215 if err := v.Validate(); err != nil { 6216 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ShareDistribution", i), err.(request.ErrInvalidParams)) 6217 } 6218 } 6219 } 6220 6221 if invalidParams.Len() > 0 { 6222 return invalidParams 6223 } 6224 return nil 6225} 6226 6227// SetComputeReservation sets the ComputeReservation field's value. 6228func (s *FairsharePolicy) SetComputeReservation(v int64) *FairsharePolicy { 6229 s.ComputeReservation = &v 6230 return s 6231} 6232 6233// SetShareDecaySeconds sets the ShareDecaySeconds field's value. 6234func (s *FairsharePolicy) SetShareDecaySeconds(v int64) *FairsharePolicy { 6235 s.ShareDecaySeconds = &v 6236 return s 6237} 6238 6239// SetShareDistribution sets the ShareDistribution field's value. 6240func (s *FairsharePolicy) SetShareDistribution(v []*ShareAttributes) *FairsharePolicy { 6241 s.ShareDistribution = v 6242 return s 6243} 6244 6245// The platform configuration for jobs that are running on Fargate resources. 6246// Jobs that run on EC2 resources must not specify this parameter. 6247type FargatePlatformConfiguration struct { 6248 _ struct{} `type:"structure"` 6249 6250 // The Fargate platform version where the jobs are running. A platform version 6251 // is specified only for jobs that are running on Fargate resources. If one 6252 // isn't specified, the LATEST platform version is used by default. This uses 6253 // a recent, approved version of the Fargate platform for compute resources. 6254 // For more information, see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 6255 // in the Amazon Elastic Container Service Developer Guide. 6256 PlatformVersion *string `locationName:"platformVersion" type:"string"` 6257} 6258 6259// String returns the string representation. 6260// 6261// API parameter values that are decorated as "sensitive" in the API will not 6262// be included in the string output. The member name will be present, but the 6263// value will be replaced with "sensitive". 6264func (s FargatePlatformConfiguration) String() string { 6265 return awsutil.Prettify(s) 6266} 6267 6268// GoString returns the string representation. 6269// 6270// API parameter values that are decorated as "sensitive" in the API will not 6271// be included in the string output. The member name will be present, but the 6272// value will be replaced with "sensitive". 6273func (s FargatePlatformConfiguration) GoString() string { 6274 return s.String() 6275} 6276 6277// SetPlatformVersion sets the PlatformVersion field's value. 6278func (s *FargatePlatformConfiguration) SetPlatformVersion(v string) *FargatePlatformConfiguration { 6279 s.PlatformVersion = &v 6280 return s 6281} 6282 6283// Determine whether your data volume persists on the host container instance 6284// and where it is stored. If this parameter is empty, then the Docker daemon 6285// assigns a host path for your data volume, but the data isn't guaranteed to 6286// persist after the containers associated with it stop running. 6287type Host struct { 6288 _ struct{} `type:"structure"` 6289 6290 // The path on the host container instance that's presented to the container. 6291 // If this parameter is empty, then the Docker daemon has assigned a host path 6292 // for you. If this parameter contains a file location, then the data volume 6293 // persists at the specified location on the host container instance until you 6294 // delete it manually. If the source path location doesn't exist on the host 6295 // container instance, the Docker daemon creates it. If the location does exist, 6296 // the contents of the source path folder are exported. 6297 // 6298 // This parameter isn't applicable to jobs that run on Fargate resources and 6299 // shouldn't be provided. 6300 SourcePath *string `locationName:"sourcePath" type:"string"` 6301} 6302 6303// String returns the string representation. 6304// 6305// API parameter values that are decorated as "sensitive" in the API will not 6306// be included in the string output. The member name will be present, but the 6307// value will be replaced with "sensitive". 6308func (s Host) String() string { 6309 return awsutil.Prettify(s) 6310} 6311 6312// GoString returns the string representation. 6313// 6314// API parameter values that are decorated as "sensitive" in the API will not 6315// be included in the string output. The member name will be present, but the 6316// value will be replaced with "sensitive". 6317func (s Host) GoString() string { 6318 return s.String() 6319} 6320 6321// SetSourcePath sets the SourcePath field's value. 6322func (s *Host) SetSourcePath(v string) *Host { 6323 s.SourcePath = &v 6324 return s 6325} 6326 6327// An object representing an Batch job definition. 6328type JobDefinition struct { 6329 _ struct{} `type:"structure"` 6330 6331 // An object with various properties specific to container-based jobs. 6332 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 6333 6334 // The Amazon Resource Name (ARN) for the job definition. 6335 // 6336 // JobDefinitionArn is a required field 6337 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 6338 6339 // The name of the job definition. 6340 // 6341 // JobDefinitionName is a required field 6342 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 6343 6344 // An object with various properties specific to multi-node parallel jobs. 6345 // 6346 // If the job runs on Fargate resources, then you must not specify nodeProperties; 6347 // use containerProperties instead. 6348 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 6349 6350 // Default parameters or parameter substitution placeholders that are set in 6351 // the job definition. Parameters are specified as a key-value pair mapping. 6352 // Parameters in a SubmitJob request override any corresponding parameter defaults 6353 // from the job definition. For more information about specifying parameters, 6354 // see Job Definition Parameters (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html) 6355 // in the Batch User Guide. 6356 Parameters map[string]*string `locationName:"parameters" type:"map"` 6357 6358 // The platform capabilities required by the job definition. If no value is 6359 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 6360 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 6361 6362 // Specifies whether to propagate the tags from the job or job definition to 6363 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 6364 // propagated. Tags can only be propagated to the tasks during task creation. 6365 // For tags with the same name, job tags are given priority over job definitions 6366 // tags. If the total number of combined tags from the job and job definition 6367 // is over 50, the job is moved to the FAILED state. 6368 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 6369 6370 // The retry strategy to use for failed jobs that are submitted with this job 6371 // definition. 6372 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 6373 6374 // The revision of the job definition. 6375 // 6376 // Revision is a required field 6377 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 6378 6379 // The scheduling priority of the job definition. This will only affect jobs 6380 // in job queues with a fair share policy. Jobs with a higher scheduling priority 6381 // will be scheduled before jobs with a lower scheduling priority. 6382 SchedulingPriority *int64 `locationName:"schedulingPriority" type:"integer"` 6383 6384 // The status of the job definition. 6385 Status *string `locationName:"status" type:"string"` 6386 6387 // The tags applied to the job definition. 6388 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6389 6390 // The timeout configuration for jobs that are submitted with this job definition. 6391 // You can specify a timeout duration after which Batch terminates your jobs 6392 // if they haven't finished. 6393 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 6394 6395 // The type of job definition, either container or multinode. If the job is 6396 // run on Fargate resources, then multinode isn't supported. For more information 6397 // about multi-node parallel jobs, see Creating a multi-node parallel job definition 6398 // (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 6399 // in the Batch User Guide. 6400 // 6401 // Type is a required field 6402 Type *string `locationName:"type" type:"string" required:"true"` 6403} 6404 6405// String returns the string representation. 6406// 6407// API parameter values that are decorated as "sensitive" in the API will not 6408// be included in the string output. The member name will be present, but the 6409// value will be replaced with "sensitive". 6410func (s JobDefinition) String() string { 6411 return awsutil.Prettify(s) 6412} 6413 6414// GoString returns the string representation. 6415// 6416// API parameter values that are decorated as "sensitive" in the API will not 6417// be included in the string output. The member name will be present, but the 6418// value will be replaced with "sensitive". 6419func (s JobDefinition) GoString() string { 6420 return s.String() 6421} 6422 6423// SetContainerProperties sets the ContainerProperties field's value. 6424func (s *JobDefinition) SetContainerProperties(v *ContainerProperties) *JobDefinition { 6425 s.ContainerProperties = v 6426 return s 6427} 6428 6429// SetJobDefinitionArn sets the JobDefinitionArn field's value. 6430func (s *JobDefinition) SetJobDefinitionArn(v string) *JobDefinition { 6431 s.JobDefinitionArn = &v 6432 return s 6433} 6434 6435// SetJobDefinitionName sets the JobDefinitionName field's value. 6436func (s *JobDefinition) SetJobDefinitionName(v string) *JobDefinition { 6437 s.JobDefinitionName = &v 6438 return s 6439} 6440 6441// SetNodeProperties sets the NodeProperties field's value. 6442func (s *JobDefinition) SetNodeProperties(v *NodeProperties) *JobDefinition { 6443 s.NodeProperties = v 6444 return s 6445} 6446 6447// SetParameters sets the Parameters field's value. 6448func (s *JobDefinition) SetParameters(v map[string]*string) *JobDefinition { 6449 s.Parameters = v 6450 return s 6451} 6452 6453// SetPlatformCapabilities sets the PlatformCapabilities field's value. 6454func (s *JobDefinition) SetPlatformCapabilities(v []*string) *JobDefinition { 6455 s.PlatformCapabilities = v 6456 return s 6457} 6458 6459// SetPropagateTags sets the PropagateTags field's value. 6460func (s *JobDefinition) SetPropagateTags(v bool) *JobDefinition { 6461 s.PropagateTags = &v 6462 return s 6463} 6464 6465// SetRetryStrategy sets the RetryStrategy field's value. 6466func (s *JobDefinition) SetRetryStrategy(v *RetryStrategy) *JobDefinition { 6467 s.RetryStrategy = v 6468 return s 6469} 6470 6471// SetRevision sets the Revision field's value. 6472func (s *JobDefinition) SetRevision(v int64) *JobDefinition { 6473 s.Revision = &v 6474 return s 6475} 6476 6477// SetSchedulingPriority sets the SchedulingPriority field's value. 6478func (s *JobDefinition) SetSchedulingPriority(v int64) *JobDefinition { 6479 s.SchedulingPriority = &v 6480 return s 6481} 6482 6483// SetStatus sets the Status field's value. 6484func (s *JobDefinition) SetStatus(v string) *JobDefinition { 6485 s.Status = &v 6486 return s 6487} 6488 6489// SetTags sets the Tags field's value. 6490func (s *JobDefinition) SetTags(v map[string]*string) *JobDefinition { 6491 s.Tags = v 6492 return s 6493} 6494 6495// SetTimeout sets the Timeout field's value. 6496func (s *JobDefinition) SetTimeout(v *JobTimeout) *JobDefinition { 6497 s.Timeout = v 6498 return s 6499} 6500 6501// SetType sets the Type field's value. 6502func (s *JobDefinition) SetType(v string) *JobDefinition { 6503 s.Type = &v 6504 return s 6505} 6506 6507// An object representing an Batch job dependency. 6508type JobDependency struct { 6509 _ struct{} `type:"structure"` 6510 6511 // The job ID of the Batch job associated with this dependency. 6512 JobId *string `locationName:"jobId" type:"string"` 6513 6514 // The type of the job dependency. 6515 Type *string `locationName:"type" type:"string" enum:"ArrayJobDependency"` 6516} 6517 6518// String returns the string representation. 6519// 6520// API parameter values that are decorated as "sensitive" in the API will not 6521// be included in the string output. The member name will be present, but the 6522// value will be replaced with "sensitive". 6523func (s JobDependency) String() string { 6524 return awsutil.Prettify(s) 6525} 6526 6527// GoString returns the string representation. 6528// 6529// API parameter values that are decorated as "sensitive" in the API will not 6530// be included in the string output. The member name will be present, but the 6531// value will be replaced with "sensitive". 6532func (s JobDependency) GoString() string { 6533 return s.String() 6534} 6535 6536// SetJobId sets the JobId field's value. 6537func (s *JobDependency) SetJobId(v string) *JobDependency { 6538 s.JobId = &v 6539 return s 6540} 6541 6542// SetType sets the Type field's value. 6543func (s *JobDependency) SetType(v string) *JobDependency { 6544 s.Type = &v 6545 return s 6546} 6547 6548// An object representing an Batch job. 6549type JobDetail struct { 6550 _ struct{} `type:"structure"` 6551 6552 // The array properties of the job, if it is an array job. 6553 ArrayProperties *ArrayPropertiesDetail `locationName:"arrayProperties" type:"structure"` 6554 6555 // A list of job attempts associated with this job. 6556 Attempts []*AttemptDetail `locationName:"attempts" type:"list"` 6557 6558 // An object representing the details of the container that's associated with 6559 // the job. 6560 Container *ContainerDetail `locationName:"container" type:"structure"` 6561 6562 // The Unix timestamp (in milliseconds) for when the job was created. For non-array 6563 // jobs and parent array jobs, this is when the job entered the SUBMITTED state 6564 // (at the time SubmitJob was called). For array child jobs, this is when the 6565 // child job was spawned by its parent and entered the PENDING state. 6566 CreatedAt *int64 `locationName:"createdAt" type:"long"` 6567 6568 // A list of job IDs that this job depends on. 6569 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 6570 6571 // The Amazon Resource Name (ARN) of the job. 6572 JobArn *string `locationName:"jobArn" type:"string"` 6573 6574 // The job definition that's used by this job. 6575 // 6576 // JobDefinition is a required field 6577 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 6578 6579 // The ID for the job. 6580 // 6581 // JobId is a required field 6582 JobId *string `locationName:"jobId" type:"string" required:"true"` 6583 6584 // The name of the job. 6585 // 6586 // JobName is a required field 6587 JobName *string `locationName:"jobName" type:"string" required:"true"` 6588 6589 // The Amazon Resource Name (ARN) of the job queue that the job is associated 6590 // with. 6591 // 6592 // JobQueue is a required field 6593 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 6594 6595 // An object representing the details of a node that's associated with a multi-node 6596 // parallel job. 6597 NodeDetails *NodeDetails `locationName:"nodeDetails" type:"structure"` 6598 6599 // An object representing the node properties of a multi-node parallel job. 6600 // 6601 // This isn't applicable to jobs that are running on Fargate resources. 6602 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 6603 6604 // Additional parameters passed to the job that replace parameter substitution 6605 // placeholders or override any corresponding parameter defaults from the job 6606 // definition. 6607 Parameters map[string]*string `locationName:"parameters" type:"map"` 6608 6609 // The platform capabilities required by the job definition. If no value is 6610 // specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE. 6611 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 6612 6613 // Specifies whether to propagate the tags from the job or job definition to 6614 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 6615 // propagated. Tags can only be propagated to the tasks during task creation. 6616 // For tags with the same name, job tags are given priority over job definitions 6617 // tags. If the total number of combined tags from the job and job definition 6618 // is over 50, the job is moved to the FAILED state. 6619 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 6620 6621 // The retry strategy to use for this job if an attempt fails. 6622 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 6623 6624 // The scheduling policy of the job definition. This will only affect jobs in 6625 // job queues with a fair share policy. Jobs with a higher scheduling priority 6626 // will be scheduled before jobs with a lower scheduling priority. 6627 SchedulingPriority *int64 `locationName:"schedulingPriority" type:"integer"` 6628 6629 // The share identifier for the job. 6630 ShareIdentifier *string `locationName:"shareIdentifier" type:"string"` 6631 6632 // The Unix timestamp (in milliseconds) for when the job was started (when the 6633 // job transitioned from the STARTING state to the RUNNING state). This parameter 6634 // isn't provided for child jobs of array jobs or multi-node parallel jobs. 6635 // 6636 // StartedAt is a required field 6637 StartedAt *int64 `locationName:"startedAt" type:"long" required:"true"` 6638 6639 // The current status for the job. 6640 // 6641 // If your jobs don't progress to STARTING, see Jobs Stuck in RUNNABLE Status 6642 // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable) 6643 // in the troubleshooting section of the Batch User Guide. 6644 // 6645 // Status is a required field 6646 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 6647 6648 // A short, human-readable string to provide additional details about the current 6649 // status of the job. 6650 StatusReason *string `locationName:"statusReason" type:"string"` 6651 6652 // The Unix timestamp (in milliseconds) for when the job was stopped (when the 6653 // job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED 6654 // or FAILED). 6655 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 6656 6657 // The tags applied to the job. 6658 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6659 6660 // The timeout configuration for the job. 6661 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 6662} 6663 6664// String returns the string representation. 6665// 6666// API parameter values that are decorated as "sensitive" in the API will not 6667// be included in the string output. The member name will be present, but the 6668// value will be replaced with "sensitive". 6669func (s JobDetail) String() string { 6670 return awsutil.Prettify(s) 6671} 6672 6673// GoString returns the string representation. 6674// 6675// API parameter values that are decorated as "sensitive" in the API will not 6676// be included in the string output. The member name will be present, but the 6677// value will be replaced with "sensitive". 6678func (s JobDetail) GoString() string { 6679 return s.String() 6680} 6681 6682// SetArrayProperties sets the ArrayProperties field's value. 6683func (s *JobDetail) SetArrayProperties(v *ArrayPropertiesDetail) *JobDetail { 6684 s.ArrayProperties = v 6685 return s 6686} 6687 6688// SetAttempts sets the Attempts field's value. 6689func (s *JobDetail) SetAttempts(v []*AttemptDetail) *JobDetail { 6690 s.Attempts = v 6691 return s 6692} 6693 6694// SetContainer sets the Container field's value. 6695func (s *JobDetail) SetContainer(v *ContainerDetail) *JobDetail { 6696 s.Container = v 6697 return s 6698} 6699 6700// SetCreatedAt sets the CreatedAt field's value. 6701func (s *JobDetail) SetCreatedAt(v int64) *JobDetail { 6702 s.CreatedAt = &v 6703 return s 6704} 6705 6706// SetDependsOn sets the DependsOn field's value. 6707func (s *JobDetail) SetDependsOn(v []*JobDependency) *JobDetail { 6708 s.DependsOn = v 6709 return s 6710} 6711 6712// SetJobArn sets the JobArn field's value. 6713func (s *JobDetail) SetJobArn(v string) *JobDetail { 6714 s.JobArn = &v 6715 return s 6716} 6717 6718// SetJobDefinition sets the JobDefinition field's value. 6719func (s *JobDetail) SetJobDefinition(v string) *JobDetail { 6720 s.JobDefinition = &v 6721 return s 6722} 6723 6724// SetJobId sets the JobId field's value. 6725func (s *JobDetail) SetJobId(v string) *JobDetail { 6726 s.JobId = &v 6727 return s 6728} 6729 6730// SetJobName sets the JobName field's value. 6731func (s *JobDetail) SetJobName(v string) *JobDetail { 6732 s.JobName = &v 6733 return s 6734} 6735 6736// SetJobQueue sets the JobQueue field's value. 6737func (s *JobDetail) SetJobQueue(v string) *JobDetail { 6738 s.JobQueue = &v 6739 return s 6740} 6741 6742// SetNodeDetails sets the NodeDetails field's value. 6743func (s *JobDetail) SetNodeDetails(v *NodeDetails) *JobDetail { 6744 s.NodeDetails = v 6745 return s 6746} 6747 6748// SetNodeProperties sets the NodeProperties field's value. 6749func (s *JobDetail) SetNodeProperties(v *NodeProperties) *JobDetail { 6750 s.NodeProperties = v 6751 return s 6752} 6753 6754// SetParameters sets the Parameters field's value. 6755func (s *JobDetail) SetParameters(v map[string]*string) *JobDetail { 6756 s.Parameters = v 6757 return s 6758} 6759 6760// SetPlatformCapabilities sets the PlatformCapabilities field's value. 6761func (s *JobDetail) SetPlatformCapabilities(v []*string) *JobDetail { 6762 s.PlatformCapabilities = v 6763 return s 6764} 6765 6766// SetPropagateTags sets the PropagateTags field's value. 6767func (s *JobDetail) SetPropagateTags(v bool) *JobDetail { 6768 s.PropagateTags = &v 6769 return s 6770} 6771 6772// SetRetryStrategy sets the RetryStrategy field's value. 6773func (s *JobDetail) SetRetryStrategy(v *RetryStrategy) *JobDetail { 6774 s.RetryStrategy = v 6775 return s 6776} 6777 6778// SetSchedulingPriority sets the SchedulingPriority field's value. 6779func (s *JobDetail) SetSchedulingPriority(v int64) *JobDetail { 6780 s.SchedulingPriority = &v 6781 return s 6782} 6783 6784// SetShareIdentifier sets the ShareIdentifier field's value. 6785func (s *JobDetail) SetShareIdentifier(v string) *JobDetail { 6786 s.ShareIdentifier = &v 6787 return s 6788} 6789 6790// SetStartedAt sets the StartedAt field's value. 6791func (s *JobDetail) SetStartedAt(v int64) *JobDetail { 6792 s.StartedAt = &v 6793 return s 6794} 6795 6796// SetStatus sets the Status field's value. 6797func (s *JobDetail) SetStatus(v string) *JobDetail { 6798 s.Status = &v 6799 return s 6800} 6801 6802// SetStatusReason sets the StatusReason field's value. 6803func (s *JobDetail) SetStatusReason(v string) *JobDetail { 6804 s.StatusReason = &v 6805 return s 6806} 6807 6808// SetStoppedAt sets the StoppedAt field's value. 6809func (s *JobDetail) SetStoppedAt(v int64) *JobDetail { 6810 s.StoppedAt = &v 6811 return s 6812} 6813 6814// SetTags sets the Tags field's value. 6815func (s *JobDetail) SetTags(v map[string]*string) *JobDetail { 6816 s.Tags = v 6817 return s 6818} 6819 6820// SetTimeout sets the Timeout field's value. 6821func (s *JobDetail) SetTimeout(v *JobTimeout) *JobDetail { 6822 s.Timeout = v 6823 return s 6824} 6825 6826// An object representing the details of an Batch job queue. 6827type JobQueueDetail struct { 6828 _ struct{} `type:"structure"` 6829 6830 // The compute environments that are attached to the job queue and the order 6831 // that job placement is preferred. Compute environments are selected for job 6832 // placement in ascending order. 6833 // 6834 // ComputeEnvironmentOrder is a required field 6835 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 6836 6837 // The Amazon Resource Name (ARN) of the job queue. 6838 // 6839 // JobQueueArn is a required field 6840 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 6841 6842 // The name of the job queue. 6843 // 6844 // JobQueueName is a required field 6845 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 6846 6847 // The priority of the job queue. Job queues with a higher priority (or a higher 6848 // integer value for the priority parameter) are evaluated first when associated 6849 // with the same compute environment. Priority is determined in descending order, 6850 // for example, a job queue with a priority value of 10 is given scheduling 6851 // preference over a job queue with a priority value of 1. All of the compute 6852 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); 6853 // EC2 and Fargate compute environments can't be mixed. 6854 // 6855 // Priority is a required field 6856 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 6857 6858 // Amazon Resource Name (ARN) of the scheduling policy. The format is aws:Partition:batch:Region:Account:scheduling-policy/Name 6859 // . For example, aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy. 6860 SchedulingPolicyArn *string `locationName:"schedulingPolicyArn" type:"string"` 6861 6862 // Describes the ability of the queue to accept new jobs. If the job queue state 6863 // is ENABLED, it's able to accept jobs. If the job queue state is DISABLED, 6864 // new jobs can't be added to the queue, but jobs already in the queue can finish. 6865 // 6866 // State is a required field 6867 State *string `locationName:"state" type:"string" required:"true" enum:"JQState"` 6868 6869 // The status of the job queue (for example, CREATING or VALID). 6870 Status *string `locationName:"status" type:"string" enum:"JQStatus"` 6871 6872 // A short, human-readable string to provide additional details about the current 6873 // status of the job queue. 6874 StatusReason *string `locationName:"statusReason" type:"string"` 6875 6876 // The tags applied to the job queue. For more information, see Tagging your 6877 // Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 6878 // in Batch User Guide. 6879 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 6880} 6881 6882// String returns the string representation. 6883// 6884// API parameter values that are decorated as "sensitive" in the API will not 6885// be included in the string output. The member name will be present, but the 6886// value will be replaced with "sensitive". 6887func (s JobQueueDetail) String() string { 6888 return awsutil.Prettify(s) 6889} 6890 6891// GoString returns the string representation. 6892// 6893// API parameter values that are decorated as "sensitive" in the API will not 6894// be included in the string output. The member name will be present, but the 6895// value will be replaced with "sensitive". 6896func (s JobQueueDetail) GoString() string { 6897 return s.String() 6898} 6899 6900// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 6901func (s *JobQueueDetail) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *JobQueueDetail { 6902 s.ComputeEnvironmentOrder = v 6903 return s 6904} 6905 6906// SetJobQueueArn sets the JobQueueArn field's value. 6907func (s *JobQueueDetail) SetJobQueueArn(v string) *JobQueueDetail { 6908 s.JobQueueArn = &v 6909 return s 6910} 6911 6912// SetJobQueueName sets the JobQueueName field's value. 6913func (s *JobQueueDetail) SetJobQueueName(v string) *JobQueueDetail { 6914 s.JobQueueName = &v 6915 return s 6916} 6917 6918// SetPriority sets the Priority field's value. 6919func (s *JobQueueDetail) SetPriority(v int64) *JobQueueDetail { 6920 s.Priority = &v 6921 return s 6922} 6923 6924// SetSchedulingPolicyArn sets the SchedulingPolicyArn field's value. 6925func (s *JobQueueDetail) SetSchedulingPolicyArn(v string) *JobQueueDetail { 6926 s.SchedulingPolicyArn = &v 6927 return s 6928} 6929 6930// SetState sets the State field's value. 6931func (s *JobQueueDetail) SetState(v string) *JobQueueDetail { 6932 s.State = &v 6933 return s 6934} 6935 6936// SetStatus sets the Status field's value. 6937func (s *JobQueueDetail) SetStatus(v string) *JobQueueDetail { 6938 s.Status = &v 6939 return s 6940} 6941 6942// SetStatusReason sets the StatusReason field's value. 6943func (s *JobQueueDetail) SetStatusReason(v string) *JobQueueDetail { 6944 s.StatusReason = &v 6945 return s 6946} 6947 6948// SetTags sets the Tags field's value. 6949func (s *JobQueueDetail) SetTags(v map[string]*string) *JobQueueDetail { 6950 s.Tags = v 6951 return s 6952} 6953 6954// An object representing summary details of a job. 6955type JobSummary struct { 6956 _ struct{} `type:"structure"` 6957 6958 // The array properties of the job, if it is an array job. 6959 ArrayProperties *ArrayPropertiesSummary `locationName:"arrayProperties" type:"structure"` 6960 6961 // An object representing the details of the container that's associated with 6962 // the job. 6963 Container *ContainerSummary `locationName:"container" type:"structure"` 6964 6965 // The Unix timestamp for when the job was created. For non-array jobs and parent 6966 // array jobs, this is when the job entered the SUBMITTED state (at the time 6967 // SubmitJob was called). For array child jobs, this is when the child job was 6968 // spawned by its parent and entered the PENDING state. 6969 CreatedAt *int64 `locationName:"createdAt" type:"long"` 6970 6971 // The Amazon Resource Name (ARN) of the job. 6972 JobArn *string `locationName:"jobArn" type:"string"` 6973 6974 // The Amazon Resource Name (ARN) of the job definition. 6975 JobDefinition *string `locationName:"jobDefinition" type:"string"` 6976 6977 // The ID of the job. 6978 // 6979 // JobId is a required field 6980 JobId *string `locationName:"jobId" type:"string" required:"true"` 6981 6982 // The name of the job. 6983 // 6984 // JobName is a required field 6985 JobName *string `locationName:"jobName" type:"string" required:"true"` 6986 6987 // The node properties for a single node in a job summary list. 6988 // 6989 // This isn't applicable to jobs that are running on Fargate resources. 6990 NodeProperties *NodePropertiesSummary `locationName:"nodeProperties" type:"structure"` 6991 6992 // The Unix timestamp for when the job was started (when the job transitioned 6993 // from the STARTING state to the RUNNING state). 6994 StartedAt *int64 `locationName:"startedAt" type:"long"` 6995 6996 // The current status for the job. 6997 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 6998 6999 // A short, human-readable string to provide additional details about the current 7000 // status of the job. 7001 StatusReason *string `locationName:"statusReason" type:"string"` 7002 7003 // The Unix timestamp for when the job was stopped (when the job transitioned 7004 // from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED). 7005 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 7006} 7007 7008// String returns the string representation. 7009// 7010// API parameter values that are decorated as "sensitive" in the API will not 7011// be included in the string output. The member name will be present, but the 7012// value will be replaced with "sensitive". 7013func (s JobSummary) String() string { 7014 return awsutil.Prettify(s) 7015} 7016 7017// GoString returns the string representation. 7018// 7019// API parameter values that are decorated as "sensitive" in the API will not 7020// be included in the string output. The member name will be present, but the 7021// value will be replaced with "sensitive". 7022func (s JobSummary) GoString() string { 7023 return s.String() 7024} 7025 7026// SetArrayProperties sets the ArrayProperties field's value. 7027func (s *JobSummary) SetArrayProperties(v *ArrayPropertiesSummary) *JobSummary { 7028 s.ArrayProperties = v 7029 return s 7030} 7031 7032// SetContainer sets the Container field's value. 7033func (s *JobSummary) SetContainer(v *ContainerSummary) *JobSummary { 7034 s.Container = v 7035 return s 7036} 7037 7038// SetCreatedAt sets the CreatedAt field's value. 7039func (s *JobSummary) SetCreatedAt(v int64) *JobSummary { 7040 s.CreatedAt = &v 7041 return s 7042} 7043 7044// SetJobArn sets the JobArn field's value. 7045func (s *JobSummary) SetJobArn(v string) *JobSummary { 7046 s.JobArn = &v 7047 return s 7048} 7049 7050// SetJobDefinition sets the JobDefinition field's value. 7051func (s *JobSummary) SetJobDefinition(v string) *JobSummary { 7052 s.JobDefinition = &v 7053 return s 7054} 7055 7056// SetJobId sets the JobId field's value. 7057func (s *JobSummary) SetJobId(v string) *JobSummary { 7058 s.JobId = &v 7059 return s 7060} 7061 7062// SetJobName sets the JobName field's value. 7063func (s *JobSummary) SetJobName(v string) *JobSummary { 7064 s.JobName = &v 7065 return s 7066} 7067 7068// SetNodeProperties sets the NodeProperties field's value. 7069func (s *JobSummary) SetNodeProperties(v *NodePropertiesSummary) *JobSummary { 7070 s.NodeProperties = v 7071 return s 7072} 7073 7074// SetStartedAt sets the StartedAt field's value. 7075func (s *JobSummary) SetStartedAt(v int64) *JobSummary { 7076 s.StartedAt = &v 7077 return s 7078} 7079 7080// SetStatus sets the Status field's value. 7081func (s *JobSummary) SetStatus(v string) *JobSummary { 7082 s.Status = &v 7083 return s 7084} 7085 7086// SetStatusReason sets the StatusReason field's value. 7087func (s *JobSummary) SetStatusReason(v string) *JobSummary { 7088 s.StatusReason = &v 7089 return s 7090} 7091 7092// SetStoppedAt sets the StoppedAt field's value. 7093func (s *JobSummary) SetStoppedAt(v int64) *JobSummary { 7094 s.StoppedAt = &v 7095 return s 7096} 7097 7098// An object representing a job timeout configuration. 7099type JobTimeout struct { 7100 _ struct{} `type:"structure"` 7101 7102 // The time duration in seconds (measured from the job attempt's startedAt timestamp) 7103 // after which Batch terminates your jobs if they have not finished. The minimum 7104 // value for the timeout is 60 seconds. 7105 AttemptDurationSeconds *int64 `locationName:"attemptDurationSeconds" type:"integer"` 7106} 7107 7108// String returns the string representation. 7109// 7110// API parameter values that are decorated as "sensitive" in the API will not 7111// be included in the string output. The member name will be present, but the 7112// value will be replaced with "sensitive". 7113func (s JobTimeout) String() string { 7114 return awsutil.Prettify(s) 7115} 7116 7117// GoString returns the string representation. 7118// 7119// API parameter values that are decorated as "sensitive" in the API will not 7120// be included in the string output. The member name will be present, but the 7121// value will be replaced with "sensitive". 7122func (s JobTimeout) GoString() string { 7123 return s.String() 7124} 7125 7126// SetAttemptDurationSeconds sets the AttemptDurationSeconds field's value. 7127func (s *JobTimeout) SetAttemptDurationSeconds(v int64) *JobTimeout { 7128 s.AttemptDurationSeconds = &v 7129 return s 7130} 7131 7132// A key-value pair object. 7133type KeyValuePair struct { 7134 _ struct{} `type:"structure"` 7135 7136 // The name of the key-value pair. For environment variables, this is the name 7137 // of the environment variable. 7138 Name *string `locationName:"name" type:"string"` 7139 7140 // The value of the key-value pair. For environment variables, this is the value 7141 // of the environment variable. 7142 Value *string `locationName:"value" type:"string"` 7143} 7144 7145// String returns the string representation. 7146// 7147// API parameter values that are decorated as "sensitive" in the API will not 7148// be included in the string output. The member name will be present, but the 7149// value will be replaced with "sensitive". 7150func (s KeyValuePair) String() string { 7151 return awsutil.Prettify(s) 7152} 7153 7154// GoString returns the string representation. 7155// 7156// API parameter values that are decorated as "sensitive" in the API will not 7157// be included in the string output. The member name will be present, but the 7158// value will be replaced with "sensitive". 7159func (s KeyValuePair) GoString() string { 7160 return s.String() 7161} 7162 7163// SetName sets the Name field's value. 7164func (s *KeyValuePair) SetName(v string) *KeyValuePair { 7165 s.Name = &v 7166 return s 7167} 7168 7169// SetValue sets the Value field's value. 7170func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 7171 s.Value = &v 7172 return s 7173} 7174 7175// A filter name and value pair that's used to return a more specific list of 7176// results from a ListJobs API operation. 7177type KeyValuesPair struct { 7178 _ struct{} `type:"structure"` 7179 7180 // The name of the filter. Filter names are case sensitive. 7181 Name *string `locationName:"name" type:"string"` 7182 7183 // The filter values. 7184 Values []*string `locationName:"values" type:"list"` 7185} 7186 7187// String returns the string representation. 7188// 7189// API parameter values that are decorated as "sensitive" in the API will not 7190// be included in the string output. The member name will be present, but the 7191// value will be replaced with "sensitive". 7192func (s KeyValuesPair) String() string { 7193 return awsutil.Prettify(s) 7194} 7195 7196// GoString returns the string representation. 7197// 7198// API parameter values that are decorated as "sensitive" in the API will not 7199// be included in the string output. The member name will be present, but the 7200// value will be replaced with "sensitive". 7201func (s KeyValuesPair) GoString() string { 7202 return s.String() 7203} 7204 7205// SetName sets the Name field's value. 7206func (s *KeyValuesPair) SetName(v string) *KeyValuesPair { 7207 s.Name = &v 7208 return s 7209} 7210 7211// SetValues sets the Values field's value. 7212func (s *KeyValuesPair) SetValues(v []*string) *KeyValuesPair { 7213 s.Values = v 7214 return s 7215} 7216 7217// An object representing a launch template associated with a compute resource. 7218// You must specify either the launch template ID or launch template name in 7219// the request, but not both. 7220// 7221// If security groups are specified using both the securityGroupIds parameter 7222// of CreateComputeEnvironment and the launch template, the values in the securityGroupIds 7223// parameter of CreateComputeEnvironment will be used. 7224// 7225// This object isn't applicable to jobs that are running on Fargate resources. 7226type LaunchTemplateSpecification struct { 7227 _ struct{} `type:"structure"` 7228 7229 // The ID of the launch template. 7230 LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` 7231 7232 // The name of the launch template. 7233 LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"` 7234 7235 // The version number of the launch template, $Latest, or $Default. 7236 // 7237 // If the value is $Latest, the latest version of the launch template is used. 7238 // If the value is $Default, the default version of the launch template is used. 7239 // 7240 // After the compute environment is created, the launch template version that's 7241 // used isn't changed, even if the $Default or $Latest version for the launch 7242 // template is updated. To use a new launch template version, create a new compute 7243 // environment, add the new compute environment to the existing job queue, remove 7244 // the old compute environment from the job queue, and delete the old compute 7245 // environment. 7246 // 7247 // Default: $Default. 7248 Version *string `locationName:"version" type:"string"` 7249} 7250 7251// String returns the string representation. 7252// 7253// API parameter values that are decorated as "sensitive" in the API will not 7254// be included in the string output. The member name will be present, but the 7255// value will be replaced with "sensitive". 7256func (s LaunchTemplateSpecification) String() string { 7257 return awsutil.Prettify(s) 7258} 7259 7260// GoString returns the string representation. 7261// 7262// API parameter values that are decorated as "sensitive" in the API will not 7263// be included in the string output. The member name will be present, but the 7264// value will be replaced with "sensitive". 7265func (s LaunchTemplateSpecification) GoString() string { 7266 return s.String() 7267} 7268 7269// SetLaunchTemplateId sets the LaunchTemplateId field's value. 7270func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification { 7271 s.LaunchTemplateId = &v 7272 return s 7273} 7274 7275// SetLaunchTemplateName sets the LaunchTemplateName field's value. 7276func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification { 7277 s.LaunchTemplateName = &v 7278 return s 7279} 7280 7281// SetVersion sets the Version field's value. 7282func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 7283 s.Version = &v 7284 return s 7285} 7286 7287// Linux-specific modifications that are applied to the container, such as details 7288// for device mappings. 7289type LinuxParameters struct { 7290 _ struct{} `type:"structure"` 7291 7292 // Any host devices to expose to the container. This parameter maps to Devices 7293 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 7294 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 7295 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 7296 // 7297 // This parameter isn't applicable to jobs that are running on Fargate resources 7298 // and shouldn't be provided. 7299 Devices []*Device `locationName:"devices" type:"list"` 7300 7301 // If true, run an init process inside the container that forwards signals and 7302 // reaps processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 7303 // This parameter requires version 1.25 of the Docker Remote API or greater 7304 // on your container instance. To check the Docker Remote API version on your 7305 // container instance, log into your container instance and run the following 7306 // command: sudo docker version | grep "Server API version" 7307 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 7308 7309 // The total amount of swap memory (in MiB) a container can use. This parameter 7310 // is translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 7311 // where the value is the sum of the container memory plus the maxSwap value. 7312 // For more information, see --memory-swap details (https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details) 7313 // in the Docker documentation. 7314 // 7315 // If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted 7316 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 7317 // the container doesn't use the swap configuration for the container instance 7318 // it is running on. A maxSwap value must be set for the swappiness parameter 7319 // to be used. 7320 // 7321 // This parameter isn't applicable to jobs that are running on Fargate resources 7322 // and shouldn't be provided. 7323 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 7324 7325 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 7326 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 7327 // 7328 // This parameter isn't applicable to jobs that are running on Fargate resources 7329 // and shouldn't be provided. 7330 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 7331 7332 // This allows you to tune a container's memory swappiness behavior. A swappiness 7333 // value of 0 causes swapping not to happen unless absolutely necessary. A swappiness 7334 // value of 100 causes pages to be swapped very aggressively. Accepted values 7335 // are whole numbers between 0 and 100. If the swappiness parameter isn't specified, 7336 // a default value of 60 is used. If a value isn't specified for maxSwap, then 7337 // this parameter is ignored. If maxSwap is set to 0, the container doesn't 7338 // use swap. This parameter maps to the --memory-swappiness option to docker 7339 // run (https://docs.docker.com/engine/reference/run/). 7340 // 7341 // Consider the following when you use a per-container swap configuration. 7342 // 7343 // * Swap space must be enabled and allocated on the container instance for 7344 // the containers to use. The Amazon ECS optimized AMIs don't have swap enabled 7345 // by default. You must enable swap on the instance to use this feature. 7346 // For more information, see Instance Store Swap Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) 7347 // in the Amazon EC2 User Guide for Linux Instances or How do I allocate 7348 // memory to work as swap space in an Amazon EC2 instance by using a swap 7349 // file? (http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/) 7350 // 7351 // * The swap space parameters are only supported for job definitions using 7352 // EC2 resources. 7353 // 7354 // * If the maxSwap and swappiness parameters are omitted from a job definition, 7355 // each container will have a default swappiness value of 60, and the total 7356 // swap usage will be limited to two times the memory reservation of the 7357 // container. 7358 // 7359 // This parameter isn't applicable to jobs that are running on Fargate resources 7360 // and shouldn't be provided. 7361 Swappiness *int64 `locationName:"swappiness" type:"integer"` 7362 7363 // The container path, mount options, and size (in MiB) of the tmpfs mount. 7364 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 7365 // 7366 // This parameter isn't applicable to jobs that are running on Fargate resources 7367 // and shouldn't be provided. 7368 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 7369} 7370 7371// String returns the string representation. 7372// 7373// API parameter values that are decorated as "sensitive" in the API will not 7374// be included in the string output. The member name will be present, but the 7375// value will be replaced with "sensitive". 7376func (s LinuxParameters) String() string { 7377 return awsutil.Prettify(s) 7378} 7379 7380// GoString returns the string representation. 7381// 7382// API parameter values that are decorated as "sensitive" in the API will not 7383// be included in the string output. The member name will be present, but the 7384// value will be replaced with "sensitive". 7385func (s LinuxParameters) GoString() string { 7386 return s.String() 7387} 7388 7389// Validate inspects the fields of the type to determine if they are valid. 7390func (s *LinuxParameters) Validate() error { 7391 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 7392 if s.Devices != nil { 7393 for i, v := range s.Devices { 7394 if v == nil { 7395 continue 7396 } 7397 if err := v.Validate(); err != nil { 7398 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 7399 } 7400 } 7401 } 7402 if s.Tmpfs != nil { 7403 for i, v := range s.Tmpfs { 7404 if v == nil { 7405 continue 7406 } 7407 if err := v.Validate(); err != nil { 7408 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 7409 } 7410 } 7411 } 7412 7413 if invalidParams.Len() > 0 { 7414 return invalidParams 7415 } 7416 return nil 7417} 7418 7419// SetDevices sets the Devices field's value. 7420func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 7421 s.Devices = v 7422 return s 7423} 7424 7425// SetInitProcessEnabled sets the InitProcessEnabled field's value. 7426func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 7427 s.InitProcessEnabled = &v 7428 return s 7429} 7430 7431// SetMaxSwap sets the MaxSwap field's value. 7432func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 7433 s.MaxSwap = &v 7434 return s 7435} 7436 7437// SetSharedMemorySize sets the SharedMemorySize field's value. 7438func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 7439 s.SharedMemorySize = &v 7440 return s 7441} 7442 7443// SetSwappiness sets the Swappiness field's value. 7444func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 7445 s.Swappiness = &v 7446 return s 7447} 7448 7449// SetTmpfs sets the Tmpfs field's value. 7450func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 7451 s.Tmpfs = v 7452 return s 7453} 7454 7455// Contains the parameters for ListJobs. 7456type ListJobsInput struct { 7457 _ struct{} `type:"structure"` 7458 7459 // The job ID for an array job. Specifying an array job ID with this parameter 7460 // lists all child jobs from within the specified array. 7461 ArrayJobId *string `locationName:"arrayJobId" type:"string"` 7462 7463 // The filter to apply to the query. Only one filter can be used at a time. 7464 // When the filter is used, jobStatus is ignored. The filter doesn't apply to 7465 // child jobs in an array or multi-node parallel (MNP) jobs. The results are 7466 // sorted by the createdAt field, with the most recent jobs being first. 7467 // 7468 // JOB_NAME 7469 // 7470 // The value of the filter is a case-insensitive match for the job name. If 7471 // the value ends with an asterisk (*), the filter will match any job name that 7472 // begins with the string before the '*'. This corresponds to the jobName value. 7473 // For example, test1 matches both Test1 and test1, and test1* matches both 7474 // test1 and Test10. When the JOB_NAME filter is used, the results are grouped 7475 // by the job name and version. 7476 // 7477 // JOB_DEFINITION 7478 // 7479 // The value for the filter is the name or Amazon Resource Name (ARN) of the 7480 // job definition. This corresponds to the jobDefinition value. The value is 7481 // case sensitive. When the value for the filter is the job definition name, 7482 // the results include all the jobs that used any revision of that job definition 7483 // name. If the value ends with an asterisk (*), the filter will match any job 7484 // definition name that begins with the string before the '*'. For example, 7485 // jd1 matches only jd1, and jd1* matches both jd1 and jd1A. The version of 7486 // the job definition that's used doesn't affect the sort order. When the JOB_DEFINITION 7487 // filter is used and the ARN is used (which is in the form arn:${Partition}:batch:${Region}:${Account}:job-definition/${JobDefinitionName}:${Revision}), 7488 // the results include jobs that used the specified revision of the job definition. 7489 // Asterisk (*) is not supported when the ARN is used. 7490 // 7491 // BEFORE_CREATED_AT 7492 // 7493 // The value for the filter is the time that's before the job was created. This 7494 // corresponds to the createdAt value. The value is a string representation 7495 // of the number of seconds since 00:00:00 UTC (midnight) on January 1, 1970. 7496 // 7497 // AFTER_CREATED_AT 7498 // 7499 // The value for the filter is the time that's after the job was created. This 7500 // corresponds to the createdAt value. The value is a string representation 7501 // of the number of seconds since 00:00:00 UTC (midnight) on January 1, 1970. 7502 Filters []*KeyValuesPair `locationName:"filters" type:"list"` 7503 7504 // The name or full Amazon Resource Name (ARN) of the job queue used to list 7505 // jobs. 7506 JobQueue *string `locationName:"jobQueue" type:"string"` 7507 7508 // The job status used to filter jobs in the specified queue. If the filters 7509 // parameter is specified, the jobStatus parameter is ignored and jobs with 7510 // any status are returned. If you don't specify a status, only RUNNING jobs 7511 // are returned. 7512 JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"` 7513 7514 // The maximum number of results returned by ListJobs in paginated output. When 7515 // this parameter is used, ListJobs only returns maxResults results in a single 7516 // page and a nextToken response element. The remaining results of the initial 7517 // request can be seen by sending another ListJobs request with the returned 7518 // nextToken value. This value can be between 1 and 100. If this parameter isn't 7519 // used, then ListJobs returns up to 100 results and a nextToken value if applicable. 7520 MaxResults *int64 `locationName:"maxResults" type:"integer"` 7521 7522 // The job ID for a multi-node parallel job. Specifying a multi-node parallel 7523 // job ID with this parameter lists all nodes that are associated with the specified 7524 // job. 7525 MultiNodeJobId *string `locationName:"multiNodeJobId" type:"string"` 7526 7527 // The nextToken value returned from a previous paginated ListJobs request where 7528 // maxResults was used and the results exceeded the value of that parameter. 7529 // Pagination continues from the end of the previous results that returned the 7530 // nextToken value. This value is null when there are no more results to return. 7531 // 7532 // This token should be treated as an opaque identifier that's only used to 7533 // retrieve the next items in a list and not for other programmatic purposes. 7534 NextToken *string `locationName:"nextToken" type:"string"` 7535} 7536 7537// String returns the string representation. 7538// 7539// API parameter values that are decorated as "sensitive" in the API will not 7540// be included in the string output. The member name will be present, but the 7541// value will be replaced with "sensitive". 7542func (s ListJobsInput) String() string { 7543 return awsutil.Prettify(s) 7544} 7545 7546// GoString returns the string representation. 7547// 7548// API parameter values that are decorated as "sensitive" in the API will not 7549// be included in the string output. The member name will be present, but the 7550// value will be replaced with "sensitive". 7551func (s ListJobsInput) GoString() string { 7552 return s.String() 7553} 7554 7555// SetArrayJobId sets the ArrayJobId field's value. 7556func (s *ListJobsInput) SetArrayJobId(v string) *ListJobsInput { 7557 s.ArrayJobId = &v 7558 return s 7559} 7560 7561// SetFilters sets the Filters field's value. 7562func (s *ListJobsInput) SetFilters(v []*KeyValuesPair) *ListJobsInput { 7563 s.Filters = v 7564 return s 7565} 7566 7567// SetJobQueue sets the JobQueue field's value. 7568func (s *ListJobsInput) SetJobQueue(v string) *ListJobsInput { 7569 s.JobQueue = &v 7570 return s 7571} 7572 7573// SetJobStatus sets the JobStatus field's value. 7574func (s *ListJobsInput) SetJobStatus(v string) *ListJobsInput { 7575 s.JobStatus = &v 7576 return s 7577} 7578 7579// SetMaxResults sets the MaxResults field's value. 7580func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 7581 s.MaxResults = &v 7582 return s 7583} 7584 7585// SetMultiNodeJobId sets the MultiNodeJobId field's value. 7586func (s *ListJobsInput) SetMultiNodeJobId(v string) *ListJobsInput { 7587 s.MultiNodeJobId = &v 7588 return s 7589} 7590 7591// SetNextToken sets the NextToken field's value. 7592func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 7593 s.NextToken = &v 7594 return s 7595} 7596 7597type ListJobsOutput struct { 7598 _ struct{} `type:"structure"` 7599 7600 // A list of job summaries that match the request. 7601 // 7602 // JobSummaryList is a required field 7603 JobSummaryList []*JobSummary `locationName:"jobSummaryList" type:"list" required:"true"` 7604 7605 // The nextToken value to include in a future ListJobs request. When the results 7606 // of a ListJobs request exceed maxResults, this value can be used to retrieve 7607 // the next page of results. This value is null when there are no more results 7608 // to return. 7609 NextToken *string `locationName:"nextToken" type:"string"` 7610} 7611 7612// String returns the string representation. 7613// 7614// API parameter values that are decorated as "sensitive" in the API will not 7615// be included in the string output. The member name will be present, but the 7616// value will be replaced with "sensitive". 7617func (s ListJobsOutput) String() string { 7618 return awsutil.Prettify(s) 7619} 7620 7621// GoString returns the string representation. 7622// 7623// API parameter values that are decorated as "sensitive" in the API will not 7624// be included in the string output. The member name will be present, but the 7625// value will be replaced with "sensitive". 7626func (s ListJobsOutput) GoString() string { 7627 return s.String() 7628} 7629 7630// SetJobSummaryList sets the JobSummaryList field's value. 7631func (s *ListJobsOutput) SetJobSummaryList(v []*JobSummary) *ListJobsOutput { 7632 s.JobSummaryList = v 7633 return s 7634} 7635 7636// SetNextToken sets the NextToken field's value. 7637func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 7638 s.NextToken = &v 7639 return s 7640} 7641 7642type ListSchedulingPoliciesInput struct { 7643 _ struct{} `type:"structure"` 7644 7645 // The maximum number of results returned by ListSchedulingPolicies in paginated 7646 // output. When this parameter is used, ListSchedulingPolicies only returns 7647 // maxResults results in a single page and a nextToken response element. The 7648 // remaining results of the initial request can be seen by sending another ListSchedulingPolicies 7649 // request with the returned nextToken value. This value can be between 1 and 7650 // 100. If this parameter isn't used, then ListSchedulingPolicies returns up 7651 // to 100 results and a nextToken value if applicable. 7652 MaxResults *int64 `locationName:"maxResults" type:"integer"` 7653 7654 // The nextToken value returned from a previous paginated ListSchedulingPolicies 7655 // request where maxResults was used and the results exceeded the value of that 7656 // parameter. Pagination continues from the end of the previous results that 7657 // returned the nextToken value. This value is null when there are no more results 7658 // to return. 7659 // 7660 // This token should be treated as an opaque identifier that's only used to 7661 // retrieve the next items in a list and not for other programmatic purposes. 7662 NextToken *string `locationName:"nextToken" type:"string"` 7663} 7664 7665// String returns the string representation. 7666// 7667// API parameter values that are decorated as "sensitive" in the API will not 7668// be included in the string output. The member name will be present, but the 7669// value will be replaced with "sensitive". 7670func (s ListSchedulingPoliciesInput) String() string { 7671 return awsutil.Prettify(s) 7672} 7673 7674// GoString returns the string representation. 7675// 7676// API parameter values that are decorated as "sensitive" in the API will not 7677// be included in the string output. The member name will be present, but the 7678// value will be replaced with "sensitive". 7679func (s ListSchedulingPoliciesInput) GoString() string { 7680 return s.String() 7681} 7682 7683// SetMaxResults sets the MaxResults field's value. 7684func (s *ListSchedulingPoliciesInput) SetMaxResults(v int64) *ListSchedulingPoliciesInput { 7685 s.MaxResults = &v 7686 return s 7687} 7688 7689// SetNextToken sets the NextToken field's value. 7690func (s *ListSchedulingPoliciesInput) SetNextToken(v string) *ListSchedulingPoliciesInput { 7691 s.NextToken = &v 7692 return s 7693} 7694 7695type ListSchedulingPoliciesOutput struct { 7696 _ struct{} `type:"structure"` 7697 7698 // The nextToken value to include in a future ListSchedulingPolicies request. 7699 // When the results of a ListSchedulingPolicies request exceed maxResults, this 7700 // value can be used to retrieve the next page of results. This value is null 7701 // when there are no more results to return. 7702 NextToken *string `locationName:"nextToken" type:"string"` 7703 7704 // A list of scheduling policies that match the request. 7705 SchedulingPolicies []*SchedulingPolicyListingDetail `locationName:"schedulingPolicies" type:"list"` 7706} 7707 7708// String returns the string representation. 7709// 7710// API parameter values that are decorated as "sensitive" in the API will not 7711// be included in the string output. The member name will be present, but the 7712// value will be replaced with "sensitive". 7713func (s ListSchedulingPoliciesOutput) String() string { 7714 return awsutil.Prettify(s) 7715} 7716 7717// GoString returns the string representation. 7718// 7719// API parameter values that are decorated as "sensitive" in the API will not 7720// be included in the string output. The member name will be present, but the 7721// value will be replaced with "sensitive". 7722func (s ListSchedulingPoliciesOutput) GoString() string { 7723 return s.String() 7724} 7725 7726// SetNextToken sets the NextToken field's value. 7727func (s *ListSchedulingPoliciesOutput) SetNextToken(v string) *ListSchedulingPoliciesOutput { 7728 s.NextToken = &v 7729 return s 7730} 7731 7732// SetSchedulingPolicies sets the SchedulingPolicies field's value. 7733func (s *ListSchedulingPoliciesOutput) SetSchedulingPolicies(v []*SchedulingPolicyListingDetail) *ListSchedulingPoliciesOutput { 7734 s.SchedulingPolicies = v 7735 return s 7736} 7737 7738type ListTagsForResourceInput struct { 7739 _ struct{} `type:"structure" nopayload:"true"` 7740 7741 // The Amazon Resource Name (ARN) that identifies the resource that tags are 7742 // listed for. Batch resources that support tags are compute environments, jobs, 7743 // job definitions, job queues, and scheduling policies. ARNs for child jobs 7744 // of array and multi-node parallel (MNP) jobs are not supported. 7745 // 7746 // ResourceArn is a required field 7747 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 7748} 7749 7750// String returns the string representation. 7751// 7752// API parameter values that are decorated as "sensitive" in the API will not 7753// be included in the string output. The member name will be present, but the 7754// value will be replaced with "sensitive". 7755func (s ListTagsForResourceInput) String() string { 7756 return awsutil.Prettify(s) 7757} 7758 7759// GoString returns the string representation. 7760// 7761// API parameter values that are decorated as "sensitive" in the API will not 7762// be included in the string output. The member name will be present, but the 7763// value will be replaced with "sensitive". 7764func (s ListTagsForResourceInput) GoString() string { 7765 return s.String() 7766} 7767 7768// Validate inspects the fields of the type to determine if they are valid. 7769func (s *ListTagsForResourceInput) Validate() error { 7770 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 7771 if s.ResourceArn == nil { 7772 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7773 } 7774 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7775 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7776 } 7777 7778 if invalidParams.Len() > 0 { 7779 return invalidParams 7780 } 7781 return nil 7782} 7783 7784// SetResourceArn sets the ResourceArn field's value. 7785func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 7786 s.ResourceArn = &v 7787 return s 7788} 7789 7790type ListTagsForResourceOutput struct { 7791 _ struct{} `type:"structure"` 7792 7793 // The tags for the resource. 7794 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 7795} 7796 7797// String returns the string representation. 7798// 7799// API parameter values that are decorated as "sensitive" in the API will not 7800// be included in the string output. The member name will be present, but the 7801// value will be replaced with "sensitive". 7802func (s ListTagsForResourceOutput) String() string { 7803 return awsutil.Prettify(s) 7804} 7805 7806// GoString returns the string representation. 7807// 7808// API parameter values that are decorated as "sensitive" in the API will not 7809// be included in the string output. The member name will be present, but the 7810// value will be replaced with "sensitive". 7811func (s ListTagsForResourceOutput) GoString() string { 7812 return s.String() 7813} 7814 7815// SetTags sets the Tags field's value. 7816func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 7817 s.Tags = v 7818 return s 7819} 7820 7821// Log configuration options to send to a custom log driver for the container. 7822type LogConfiguration struct { 7823 _ struct{} `type:"structure"` 7824 7825 // The log driver to use for the container. The valid values listed for this 7826 // parameter are log drivers that the Amazon ECS container agent can communicate 7827 // with by default. 7828 // 7829 // The supported log drivers are awslogs, fluentd, gelf, json-file, journald, 7830 // logentries, syslog, and splunk. 7831 // 7832 // Jobs that are running on Fargate resources are restricted to the awslogs 7833 // and splunk log drivers. 7834 // 7835 // awslogs 7836 // 7837 // Specifies the Amazon CloudWatch Logs logging driver. For more information, 7838 // see Using the awslogs Log Driver (https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html) 7839 // in the Batch User Guide and Amazon CloudWatch Logs logging driver (https://docs.docker.com/config/containers/logging/awslogs/) 7840 // in the Docker documentation. 7841 // 7842 // fluentd 7843 // 7844 // Specifies the Fluentd logging driver. For more information, including usage 7845 // and options, see Fluentd logging driver (https://docs.docker.com/config/containers/logging/fluentd/) 7846 // in the Docker documentation. 7847 // 7848 // gelf 7849 // 7850 // Specifies the Graylog Extended Format (GELF) logging driver. For more information, 7851 // including usage and options, see Graylog Extended Format logging driver (https://docs.docker.com/config/containers/logging/gelf/) 7852 // in the Docker documentation. 7853 // 7854 // journald 7855 // 7856 // Specifies the journald logging driver. For more information, including usage 7857 // and options, see Journald logging driver (https://docs.docker.com/config/containers/logging/journald/) 7858 // in the Docker documentation. 7859 // 7860 // json-file 7861 // 7862 // Specifies the JSON file logging driver. For more information, including usage 7863 // and options, see JSON File logging driver (https://docs.docker.com/config/containers/logging/json-file/) 7864 // in the Docker documentation. 7865 // 7866 // splunk 7867 // 7868 // Specifies the Splunk logging driver. For more information, including usage 7869 // and options, see Splunk logging driver (https://docs.docker.com/config/containers/logging/splunk/) 7870 // in the Docker documentation. 7871 // 7872 // syslog 7873 // 7874 // Specifies the syslog logging driver. For more information, including usage 7875 // and options, see Syslog logging driver (https://docs.docker.com/config/containers/logging/syslog/) 7876 // in the Docker documentation. 7877 // 7878 // If you have a custom driver that's not listed earlier that you want to work 7879 // with the Amazon ECS container agent, you can fork the Amazon ECS container 7880 // agent project that's available on GitHub (https://github.com/aws/amazon-ecs-agent) 7881 // and customize it to work with that driver. We encourage you to submit pull 7882 // requests for changes that you want to have included. However, Amazon Web 7883 // Services doesn't currently support running modified copies of this software. 7884 // 7885 // This parameter requires version 1.18 of the Docker Remote API or greater 7886 // on your container instance. To check the Docker Remote API version on your 7887 // container instance, log into your container instance and run the following 7888 // command: sudo docker version | grep "Server API version" 7889 // 7890 // LogDriver is a required field 7891 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 7892 7893 // The configuration options to send to the log driver. This parameter requires 7894 // version 1.19 of the Docker Remote API or greater on your container instance. 7895 // To check the Docker Remote API version on your container instance, log into 7896 // your container instance and run the following command: sudo docker version 7897 // | grep "Server API version" 7898 Options map[string]*string `locationName:"options" type:"map"` 7899 7900 // The secrets to pass to the log configuration. For more information, see Specifying 7901 // Sensitive Data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 7902 // in the Batch User Guide. 7903 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 7904} 7905 7906// String returns the string representation. 7907// 7908// API parameter values that are decorated as "sensitive" in the API will not 7909// be included in the string output. The member name will be present, but the 7910// value will be replaced with "sensitive". 7911func (s LogConfiguration) String() string { 7912 return awsutil.Prettify(s) 7913} 7914 7915// GoString returns the string representation. 7916// 7917// API parameter values that are decorated as "sensitive" in the API will not 7918// be included in the string output. The member name will be present, but the 7919// value will be replaced with "sensitive". 7920func (s LogConfiguration) GoString() string { 7921 return s.String() 7922} 7923 7924// Validate inspects the fields of the type to determine if they are valid. 7925func (s *LogConfiguration) Validate() error { 7926 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 7927 if s.LogDriver == nil { 7928 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 7929 } 7930 if s.SecretOptions != nil { 7931 for i, v := range s.SecretOptions { 7932 if v == nil { 7933 continue 7934 } 7935 if err := v.Validate(); err != nil { 7936 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 7937 } 7938 } 7939 } 7940 7941 if invalidParams.Len() > 0 { 7942 return invalidParams 7943 } 7944 return nil 7945} 7946 7947// SetLogDriver sets the LogDriver field's value. 7948func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 7949 s.LogDriver = &v 7950 return s 7951} 7952 7953// SetOptions sets the Options field's value. 7954func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 7955 s.Options = v 7956 return s 7957} 7958 7959// SetSecretOptions sets the SecretOptions field's value. 7960func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 7961 s.SecretOptions = v 7962 return s 7963} 7964 7965// Details on a Docker volume mount point that's used in a job's container properties. 7966// 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) 7967// section of the Docker Remote API and the --volume option to docker run. 7968type MountPoint struct { 7969 _ struct{} `type:"structure"` 7970 7971 // The path on the container where the host volume is mounted. 7972 ContainerPath *string `locationName:"containerPath" type:"string"` 7973 7974 // If this value is true, the container has read-only access to the volume. 7975 // Otherwise, the container can write to the volume. The default value is false. 7976 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 7977 7978 // The name of the volume to mount. 7979 SourceVolume *string `locationName:"sourceVolume" type:"string"` 7980} 7981 7982// String returns the string representation. 7983// 7984// API parameter values that are decorated as "sensitive" in the API will not 7985// be included in the string output. The member name will be present, but the 7986// value will be replaced with "sensitive". 7987func (s MountPoint) String() string { 7988 return awsutil.Prettify(s) 7989} 7990 7991// GoString returns the string representation. 7992// 7993// API parameter values that are decorated as "sensitive" in the API will not 7994// be included in the string output. The member name will be present, but the 7995// value will be replaced with "sensitive". 7996func (s MountPoint) GoString() string { 7997 return s.String() 7998} 7999 8000// SetContainerPath sets the ContainerPath field's value. 8001func (s *MountPoint) SetContainerPath(v string) *MountPoint { 8002 s.ContainerPath = &v 8003 return s 8004} 8005 8006// SetReadOnly sets the ReadOnly field's value. 8007func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 8008 s.ReadOnly = &v 8009 return s 8010} 8011 8012// SetSourceVolume sets the SourceVolume field's value. 8013func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 8014 s.SourceVolume = &v 8015 return s 8016} 8017 8018// The network configuration for jobs that are running on Fargate resources. 8019// Jobs that are running on EC2 resources must not specify this parameter. 8020type NetworkConfiguration struct { 8021 _ struct{} `type:"structure"` 8022 8023 // Indicates whether the job should have a public IP address. For a job that 8024 // is running on Fargate resources in a private subnet to send outbound traffic 8025 // to the internet (for example, to pull container images), the private subnet 8026 // requires a NAT gateway be attached to route requests to the internet. For 8027 // more information, see Amazon ECS task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html). 8028 // The default value is "DISABLED". 8029 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 8030} 8031 8032// String returns the string representation. 8033// 8034// API parameter values that are decorated as "sensitive" in the API will not 8035// be included in the string output. The member name will be present, but the 8036// value will be replaced with "sensitive". 8037func (s NetworkConfiguration) String() string { 8038 return awsutil.Prettify(s) 8039} 8040 8041// GoString returns the string representation. 8042// 8043// API parameter values that are decorated as "sensitive" in the API will not 8044// be included in the string output. The member name will be present, but the 8045// value will be replaced with "sensitive". 8046func (s NetworkConfiguration) GoString() string { 8047 return s.String() 8048} 8049 8050// SetAssignPublicIp sets the AssignPublicIp field's value. 8051func (s *NetworkConfiguration) SetAssignPublicIp(v string) *NetworkConfiguration { 8052 s.AssignPublicIp = &v 8053 return s 8054} 8055 8056// An object representing the elastic network interface for a multi-node parallel 8057// job node. 8058type NetworkInterface struct { 8059 _ struct{} `type:"structure"` 8060 8061 // The attachment ID for the network interface. 8062 AttachmentId *string `locationName:"attachmentId" type:"string"` 8063 8064 // The private IPv6 address for the network interface. 8065 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 8066 8067 // The private IPv4 address for the network interface. 8068 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 8069} 8070 8071// String returns the string representation. 8072// 8073// API parameter values that are decorated as "sensitive" in the API will not 8074// be included in the string output. The member name will be present, but the 8075// value will be replaced with "sensitive". 8076func (s NetworkInterface) String() string { 8077 return awsutil.Prettify(s) 8078} 8079 8080// GoString returns the string representation. 8081// 8082// API parameter values that are decorated as "sensitive" in the API will not 8083// be included in the string output. The member name will be present, but the 8084// value will be replaced with "sensitive". 8085func (s NetworkInterface) GoString() string { 8086 return s.String() 8087} 8088 8089// SetAttachmentId sets the AttachmentId field's value. 8090func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 8091 s.AttachmentId = &v 8092 return s 8093} 8094 8095// SetIpv6Address sets the Ipv6Address field's value. 8096func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 8097 s.Ipv6Address = &v 8098 return s 8099} 8100 8101// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 8102func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 8103 s.PrivateIpv4Address = &v 8104 return s 8105} 8106 8107// An object representing the details of a multi-node parallel job node. 8108type NodeDetails struct { 8109 _ struct{} `type:"structure"` 8110 8111 // Specifies whether the current node is the main node for a multi-node parallel 8112 // job. 8113 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 8114 8115 // The node index for the node. Node index numbering begins at zero. This index 8116 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 8117 // variable. 8118 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 8119} 8120 8121// String returns the string representation. 8122// 8123// API parameter values that are decorated as "sensitive" in the API will not 8124// be included in the string output. The member name will be present, but the 8125// value will be replaced with "sensitive". 8126func (s NodeDetails) String() string { 8127 return awsutil.Prettify(s) 8128} 8129 8130// GoString returns the string representation. 8131// 8132// API parameter values that are decorated as "sensitive" in the API will not 8133// be included in the string output. The member name will be present, but the 8134// value will be replaced with "sensitive". 8135func (s NodeDetails) GoString() string { 8136 return s.String() 8137} 8138 8139// SetIsMainNode sets the IsMainNode field's value. 8140func (s *NodeDetails) SetIsMainNode(v bool) *NodeDetails { 8141 s.IsMainNode = &v 8142 return s 8143} 8144 8145// SetNodeIndex sets the NodeIndex field's value. 8146func (s *NodeDetails) SetNodeIndex(v int64) *NodeDetails { 8147 s.NodeIndex = &v 8148 return s 8149} 8150 8151// Object representing any node overrides to a job definition that's used in 8152// a SubmitJob API operation. 8153// 8154// This isn't applicable to jobs that are running on Fargate resources and shouldn't 8155// be provided; use containerOverrides instead. 8156type NodeOverrides struct { 8157 _ struct{} `type:"structure"` 8158 8159 // The node property overrides for the job. 8160 NodePropertyOverrides []*NodePropertyOverride `locationName:"nodePropertyOverrides" type:"list"` 8161 8162 // The number of nodes to use with a multi-node parallel job. This value overrides 8163 // the number of nodes that are specified in the job definition. To use this 8164 // override: 8165 // 8166 // * There must be at least one node range in your job definition that has 8167 // an open upper boundary (such as : or n:). 8168 // 8169 // * The lower boundary of the node range specified in the job definition 8170 // must be fewer than the number of nodes specified in the override. 8171 // 8172 // * The main node index specified in the job definition must be fewer than 8173 // the number of nodes specified in the override. 8174 NumNodes *int64 `locationName:"numNodes" type:"integer"` 8175} 8176 8177// String returns the string representation. 8178// 8179// API parameter values that are decorated as "sensitive" in the API will not 8180// be included in the string output. The member name will be present, but the 8181// value will be replaced with "sensitive". 8182func (s NodeOverrides) String() string { 8183 return awsutil.Prettify(s) 8184} 8185 8186// GoString returns the string representation. 8187// 8188// API parameter values that are decorated as "sensitive" in the API will not 8189// be included in the string output. The member name will be present, but the 8190// value will be replaced with "sensitive". 8191func (s NodeOverrides) GoString() string { 8192 return s.String() 8193} 8194 8195// Validate inspects the fields of the type to determine if they are valid. 8196func (s *NodeOverrides) Validate() error { 8197 invalidParams := request.ErrInvalidParams{Context: "NodeOverrides"} 8198 if s.NodePropertyOverrides != nil { 8199 for i, v := range s.NodePropertyOverrides { 8200 if v == nil { 8201 continue 8202 } 8203 if err := v.Validate(); err != nil { 8204 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodePropertyOverrides", i), err.(request.ErrInvalidParams)) 8205 } 8206 } 8207 } 8208 8209 if invalidParams.Len() > 0 { 8210 return invalidParams 8211 } 8212 return nil 8213} 8214 8215// SetNodePropertyOverrides sets the NodePropertyOverrides field's value. 8216func (s *NodeOverrides) SetNodePropertyOverrides(v []*NodePropertyOverride) *NodeOverrides { 8217 s.NodePropertyOverrides = v 8218 return s 8219} 8220 8221// SetNumNodes sets the NumNodes field's value. 8222func (s *NodeOverrides) SetNumNodes(v int64) *NodeOverrides { 8223 s.NumNodes = &v 8224 return s 8225} 8226 8227// An object representing the node properties of a multi-node parallel job. 8228type NodeProperties struct { 8229 _ struct{} `type:"structure"` 8230 8231 // Specifies the node index for the main node of a multi-node parallel job. 8232 // This node index value must be fewer than the number of nodes. 8233 // 8234 // MainNode is a required field 8235 MainNode *int64 `locationName:"mainNode" type:"integer" required:"true"` 8236 8237 // A list of node ranges and their properties associated with a multi-node parallel 8238 // job. 8239 // 8240 // NodeRangeProperties is a required field 8241 NodeRangeProperties []*NodeRangeProperty `locationName:"nodeRangeProperties" type:"list" required:"true"` 8242 8243 // The number of nodes associated with a multi-node parallel job. 8244 // 8245 // NumNodes is a required field 8246 NumNodes *int64 `locationName:"numNodes" type:"integer" required:"true"` 8247} 8248 8249// String returns the string representation. 8250// 8251// API parameter values that are decorated as "sensitive" in the API will not 8252// be included in the string output. The member name will be present, but the 8253// value will be replaced with "sensitive". 8254func (s NodeProperties) String() string { 8255 return awsutil.Prettify(s) 8256} 8257 8258// GoString returns the string representation. 8259// 8260// API parameter values that are decorated as "sensitive" in the API will not 8261// be included in the string output. The member name will be present, but the 8262// value will be replaced with "sensitive". 8263func (s NodeProperties) GoString() string { 8264 return s.String() 8265} 8266 8267// Validate inspects the fields of the type to determine if they are valid. 8268func (s *NodeProperties) Validate() error { 8269 invalidParams := request.ErrInvalidParams{Context: "NodeProperties"} 8270 if s.MainNode == nil { 8271 invalidParams.Add(request.NewErrParamRequired("MainNode")) 8272 } 8273 if s.NodeRangeProperties == nil { 8274 invalidParams.Add(request.NewErrParamRequired("NodeRangeProperties")) 8275 } 8276 if s.NumNodes == nil { 8277 invalidParams.Add(request.NewErrParamRequired("NumNodes")) 8278 } 8279 if s.NodeRangeProperties != nil { 8280 for i, v := range s.NodeRangeProperties { 8281 if v == nil { 8282 continue 8283 } 8284 if err := v.Validate(); err != nil { 8285 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeRangeProperties", i), err.(request.ErrInvalidParams)) 8286 } 8287 } 8288 } 8289 8290 if invalidParams.Len() > 0 { 8291 return invalidParams 8292 } 8293 return nil 8294} 8295 8296// SetMainNode sets the MainNode field's value. 8297func (s *NodeProperties) SetMainNode(v int64) *NodeProperties { 8298 s.MainNode = &v 8299 return s 8300} 8301 8302// SetNodeRangeProperties sets the NodeRangeProperties field's value. 8303func (s *NodeProperties) SetNodeRangeProperties(v []*NodeRangeProperty) *NodeProperties { 8304 s.NodeRangeProperties = v 8305 return s 8306} 8307 8308// SetNumNodes sets the NumNodes field's value. 8309func (s *NodeProperties) SetNumNodes(v int64) *NodeProperties { 8310 s.NumNodes = &v 8311 return s 8312} 8313 8314// An object representing the properties of a node that's associated with a 8315// multi-node parallel job. 8316type NodePropertiesSummary struct { 8317 _ struct{} `type:"structure"` 8318 8319 // Specifies whether the current node is the main node for a multi-node parallel 8320 // job. 8321 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 8322 8323 // The node index for the node. Node index numbering begins at zero. This index 8324 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 8325 // variable. 8326 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 8327 8328 // The number of nodes associated with a multi-node parallel job. 8329 NumNodes *int64 `locationName:"numNodes" type:"integer"` 8330} 8331 8332// String returns the string representation. 8333// 8334// API parameter values that are decorated as "sensitive" in the API will not 8335// be included in the string output. The member name will be present, but the 8336// value will be replaced with "sensitive". 8337func (s NodePropertiesSummary) String() string { 8338 return awsutil.Prettify(s) 8339} 8340 8341// GoString returns the string representation. 8342// 8343// API parameter values that are decorated as "sensitive" in the API will not 8344// be included in the string output. The member name will be present, but the 8345// value will be replaced with "sensitive". 8346func (s NodePropertiesSummary) GoString() string { 8347 return s.String() 8348} 8349 8350// SetIsMainNode sets the IsMainNode field's value. 8351func (s *NodePropertiesSummary) SetIsMainNode(v bool) *NodePropertiesSummary { 8352 s.IsMainNode = &v 8353 return s 8354} 8355 8356// SetNodeIndex sets the NodeIndex field's value. 8357func (s *NodePropertiesSummary) SetNodeIndex(v int64) *NodePropertiesSummary { 8358 s.NodeIndex = &v 8359 return s 8360} 8361 8362// SetNumNodes sets the NumNodes field's value. 8363func (s *NodePropertiesSummary) SetNumNodes(v int64) *NodePropertiesSummary { 8364 s.NumNodes = &v 8365 return s 8366} 8367 8368// Object representing any node overrides to a job definition that's used in 8369// a SubmitJob API operation. 8370type NodePropertyOverride struct { 8371 _ struct{} `type:"structure"` 8372 8373 // The overrides that should be sent to a node range. 8374 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 8375 8376 // The range of nodes, using node index values, that's used to override. A range 8377 // of 0:3 indicates nodes with index values of 0 through 3. If the starting 8378 // range value is omitted (:n), then 0 is used to start the range. If the ending 8379 // range value is omitted (n:), then the highest possible node index is used 8380 // to end the range. 8381 // 8382 // TargetNodes is a required field 8383 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 8384} 8385 8386// String returns the string representation. 8387// 8388// API parameter values that are decorated as "sensitive" in the API will not 8389// be included in the string output. The member name will be present, but the 8390// value will be replaced with "sensitive". 8391func (s NodePropertyOverride) String() string { 8392 return awsutil.Prettify(s) 8393} 8394 8395// GoString returns the string representation. 8396// 8397// API parameter values that are decorated as "sensitive" in the API will not 8398// be included in the string output. The member name will be present, but the 8399// value will be replaced with "sensitive". 8400func (s NodePropertyOverride) GoString() string { 8401 return s.String() 8402} 8403 8404// Validate inspects the fields of the type to determine if they are valid. 8405func (s *NodePropertyOverride) Validate() error { 8406 invalidParams := request.ErrInvalidParams{Context: "NodePropertyOverride"} 8407 if s.TargetNodes == nil { 8408 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 8409 } 8410 if s.ContainerOverrides != nil { 8411 if err := s.ContainerOverrides.Validate(); err != nil { 8412 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 8413 } 8414 } 8415 8416 if invalidParams.Len() > 0 { 8417 return invalidParams 8418 } 8419 return nil 8420} 8421 8422// SetContainerOverrides sets the ContainerOverrides field's value. 8423func (s *NodePropertyOverride) SetContainerOverrides(v *ContainerOverrides) *NodePropertyOverride { 8424 s.ContainerOverrides = v 8425 return s 8426} 8427 8428// SetTargetNodes sets the TargetNodes field's value. 8429func (s *NodePropertyOverride) SetTargetNodes(v string) *NodePropertyOverride { 8430 s.TargetNodes = &v 8431 return s 8432} 8433 8434// An object representing the properties of the node range for a multi-node 8435// parallel job. 8436type NodeRangeProperty struct { 8437 _ struct{} `type:"structure"` 8438 8439 // The container details for the node range. 8440 Container *ContainerProperties `locationName:"container" type:"structure"` 8441 8442 // The range of nodes, using node index values. A range of 0:3 indicates nodes 8443 // with index values of 0 through 3. If the starting range value is omitted 8444 // (:n), then 0 is used to start the range. If the ending range value is omitted 8445 // (n:), then the highest possible node index is used to end the range. Your 8446 // accumulative node ranges must account for all nodes (0:n). You can nest node 8447 // ranges, for example 0:10 and 4:5, in which case the 4:5 range properties 8448 // override the 0:10 properties. 8449 // 8450 // TargetNodes is a required field 8451 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 8452} 8453 8454// String returns the string representation. 8455// 8456// API parameter values that are decorated as "sensitive" in the API will not 8457// be included in the string output. The member name will be present, but the 8458// value will be replaced with "sensitive". 8459func (s NodeRangeProperty) String() string { 8460 return awsutil.Prettify(s) 8461} 8462 8463// GoString returns the string representation. 8464// 8465// API parameter values that are decorated as "sensitive" in the API will not 8466// be included in the string output. The member name will be present, but the 8467// value will be replaced with "sensitive". 8468func (s NodeRangeProperty) GoString() string { 8469 return s.String() 8470} 8471 8472// Validate inspects the fields of the type to determine if they are valid. 8473func (s *NodeRangeProperty) Validate() error { 8474 invalidParams := request.ErrInvalidParams{Context: "NodeRangeProperty"} 8475 if s.TargetNodes == nil { 8476 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 8477 } 8478 if s.Container != nil { 8479 if err := s.Container.Validate(); err != nil { 8480 invalidParams.AddNested("Container", err.(request.ErrInvalidParams)) 8481 } 8482 } 8483 8484 if invalidParams.Len() > 0 { 8485 return invalidParams 8486 } 8487 return nil 8488} 8489 8490// SetContainer sets the Container field's value. 8491func (s *NodeRangeProperty) SetContainer(v *ContainerProperties) *NodeRangeProperty { 8492 s.Container = v 8493 return s 8494} 8495 8496// SetTargetNodes sets the TargetNodes field's value. 8497func (s *NodeRangeProperty) SetTargetNodes(v string) *NodeRangeProperty { 8498 s.TargetNodes = &v 8499 return s 8500} 8501 8502// Contains the parameters for RegisterJobDefinition. 8503type RegisterJobDefinitionInput struct { 8504 _ struct{} `type:"structure"` 8505 8506 // An object with various properties specific to single-node container-based 8507 // jobs. If the job definition's type parameter is container, then you must 8508 // specify either containerProperties or nodeProperties. 8509 // 8510 // If the job runs on Fargate resources, then you must not specify nodeProperties; 8511 // use only containerProperties. 8512 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 8513 8514 // The name of the job definition to register. Up to 128 letters (uppercase 8515 // and lowercase), numbers, hyphens, and underscores are allowed. 8516 // 8517 // JobDefinitionName is a required field 8518 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 8519 8520 // An object with various properties specific to multi-node parallel jobs. If 8521 // you specify node properties for a job, it becomes a multi-node parallel job. 8522 // For more information, see Multi-node Parallel Jobs (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html) 8523 // in the Batch User Guide. If the job definition's type parameter is container, 8524 // then you must specify either containerProperties or nodeProperties. 8525 // 8526 // If the job runs on Fargate resources, then you must not specify nodeProperties; 8527 // use containerProperties instead. 8528 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 8529 8530 // Default parameter substitution placeholders to set in the job definition. 8531 // Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob 8532 // request override any corresponding parameter defaults from the job definition. 8533 Parameters map[string]*string `locationName:"parameters" type:"map"` 8534 8535 // The platform capabilities required by the job definition. If no value is 8536 // specified, it defaults to EC2. To run the job on Fargate resources, specify 8537 // FARGATE. 8538 PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"` 8539 8540 // Specifies whether to propagate the tags from the job or job definition to 8541 // the corresponding Amazon ECS task. If no value is specified, the tags are 8542 // not propagated. Tags can only be propagated to the tasks during task creation. 8543 // For tags with the same name, job tags are given priority over job definitions 8544 // tags. If the total number of combined tags from the job and job definition 8545 // is over 50, the job is moved to the FAILED state. 8546 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 8547 8548 // The retry strategy to use for failed jobs that are submitted with this job 8549 // definition. Any retry strategy that's specified during a SubmitJob operation 8550 // overrides the retry strategy defined here. If a job is terminated due to 8551 // a timeout, it isn't retried. 8552 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 8553 8554 // The scheduling priority for jobs that are submitted with this job definition. 8555 // This will only affect jobs in job queues with a fair share policy. Jobs with 8556 // a higher scheduling priority will be scheduled before jobs with a lower scheduling 8557 // priority. 8558 // 8559 // The minimum supported value is 0 and the maximum supported value is 9999. 8560 SchedulingPriority *int64 `locationName:"schedulingPriority" type:"integer"` 8561 8562 // The tags that you apply to the job definition to help you categorize and 8563 // organize your resources. Each tag consists of a key and an optional value. 8564 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html) 8565 // in Batch User Guide. 8566 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 8567 8568 // The timeout configuration for jobs that are submitted with this job definition, 8569 // after which Batch terminates your jobs if they have not finished. If a job 8570 // is terminated due to a timeout, it isn't retried. The minimum value for the 8571 // timeout is 60 seconds. Any timeout configuration that's specified during 8572 // a SubmitJob operation overrides the timeout configuration defined here. For 8573 // more information, see Job Timeouts (https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html) 8574 // in the Batch User Guide. 8575 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 8576 8577 // The type of job definition. For more information about multi-node parallel 8578 // jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html) 8579 // in the Batch User Guide. 8580 // 8581 // If the job is run on Fargate resources, then multinode isn't supported. 8582 // 8583 // Type is a required field 8584 Type *string `locationName:"type" type:"string" required:"true" enum:"JobDefinitionType"` 8585} 8586 8587// String returns the string representation. 8588// 8589// API parameter values that are decorated as "sensitive" in the API will not 8590// be included in the string output. The member name will be present, but the 8591// value will be replaced with "sensitive". 8592func (s RegisterJobDefinitionInput) String() string { 8593 return awsutil.Prettify(s) 8594} 8595 8596// GoString returns the string representation. 8597// 8598// API parameter values that are decorated as "sensitive" in the API will not 8599// be included in the string output. The member name will be present, but the 8600// value will be replaced with "sensitive". 8601func (s RegisterJobDefinitionInput) GoString() string { 8602 return s.String() 8603} 8604 8605// Validate inspects the fields of the type to determine if they are valid. 8606func (s *RegisterJobDefinitionInput) Validate() error { 8607 invalidParams := request.ErrInvalidParams{Context: "RegisterJobDefinitionInput"} 8608 if s.JobDefinitionName == nil { 8609 invalidParams.Add(request.NewErrParamRequired("JobDefinitionName")) 8610 } 8611 if s.Tags != nil && len(s.Tags) < 1 { 8612 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 8613 } 8614 if s.Type == nil { 8615 invalidParams.Add(request.NewErrParamRequired("Type")) 8616 } 8617 if s.ContainerProperties != nil { 8618 if err := s.ContainerProperties.Validate(); err != nil { 8619 invalidParams.AddNested("ContainerProperties", err.(request.ErrInvalidParams)) 8620 } 8621 } 8622 if s.NodeProperties != nil { 8623 if err := s.NodeProperties.Validate(); err != nil { 8624 invalidParams.AddNested("NodeProperties", err.(request.ErrInvalidParams)) 8625 } 8626 } 8627 if s.RetryStrategy != nil { 8628 if err := s.RetryStrategy.Validate(); err != nil { 8629 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 8630 } 8631 } 8632 8633 if invalidParams.Len() > 0 { 8634 return invalidParams 8635 } 8636 return nil 8637} 8638 8639// SetContainerProperties sets the ContainerProperties field's value. 8640func (s *RegisterJobDefinitionInput) SetContainerProperties(v *ContainerProperties) *RegisterJobDefinitionInput { 8641 s.ContainerProperties = v 8642 return s 8643} 8644 8645// SetJobDefinitionName sets the JobDefinitionName field's value. 8646func (s *RegisterJobDefinitionInput) SetJobDefinitionName(v string) *RegisterJobDefinitionInput { 8647 s.JobDefinitionName = &v 8648 return s 8649} 8650 8651// SetNodeProperties sets the NodeProperties field's value. 8652func (s *RegisterJobDefinitionInput) SetNodeProperties(v *NodeProperties) *RegisterJobDefinitionInput { 8653 s.NodeProperties = v 8654 return s 8655} 8656 8657// SetParameters sets the Parameters field's value. 8658func (s *RegisterJobDefinitionInput) SetParameters(v map[string]*string) *RegisterJobDefinitionInput { 8659 s.Parameters = v 8660 return s 8661} 8662 8663// SetPlatformCapabilities sets the PlatformCapabilities field's value. 8664func (s *RegisterJobDefinitionInput) SetPlatformCapabilities(v []*string) *RegisterJobDefinitionInput { 8665 s.PlatformCapabilities = v 8666 return s 8667} 8668 8669// SetPropagateTags sets the PropagateTags field's value. 8670func (s *RegisterJobDefinitionInput) SetPropagateTags(v bool) *RegisterJobDefinitionInput { 8671 s.PropagateTags = &v 8672 return s 8673} 8674 8675// SetRetryStrategy sets the RetryStrategy field's value. 8676func (s *RegisterJobDefinitionInput) SetRetryStrategy(v *RetryStrategy) *RegisterJobDefinitionInput { 8677 s.RetryStrategy = v 8678 return s 8679} 8680 8681// SetSchedulingPriority sets the SchedulingPriority field's value. 8682func (s *RegisterJobDefinitionInput) SetSchedulingPriority(v int64) *RegisterJobDefinitionInput { 8683 s.SchedulingPriority = &v 8684 return s 8685} 8686 8687// SetTags sets the Tags field's value. 8688func (s *RegisterJobDefinitionInput) SetTags(v map[string]*string) *RegisterJobDefinitionInput { 8689 s.Tags = v 8690 return s 8691} 8692 8693// SetTimeout sets the Timeout field's value. 8694func (s *RegisterJobDefinitionInput) SetTimeout(v *JobTimeout) *RegisterJobDefinitionInput { 8695 s.Timeout = v 8696 return s 8697} 8698 8699// SetType sets the Type field's value. 8700func (s *RegisterJobDefinitionInput) SetType(v string) *RegisterJobDefinitionInput { 8701 s.Type = &v 8702 return s 8703} 8704 8705type RegisterJobDefinitionOutput struct { 8706 _ struct{} `type:"structure"` 8707 8708 // The Amazon Resource Name (ARN) of the job definition. 8709 // 8710 // JobDefinitionArn is a required field 8711 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 8712 8713 // The name of the job definition. 8714 // 8715 // JobDefinitionName is a required field 8716 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 8717 8718 // The revision of the job definition. 8719 // 8720 // Revision is a required field 8721 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 8722} 8723 8724// String returns the string representation. 8725// 8726// API parameter values that are decorated as "sensitive" in the API will not 8727// be included in the string output. The member name will be present, but the 8728// value will be replaced with "sensitive". 8729func (s RegisterJobDefinitionOutput) String() string { 8730 return awsutil.Prettify(s) 8731} 8732 8733// GoString returns the string representation. 8734// 8735// API parameter values that are decorated as "sensitive" in the API will not 8736// be included in the string output. The member name will be present, but the 8737// value will be replaced with "sensitive". 8738func (s RegisterJobDefinitionOutput) GoString() string { 8739 return s.String() 8740} 8741 8742// SetJobDefinitionArn sets the JobDefinitionArn field's value. 8743func (s *RegisterJobDefinitionOutput) SetJobDefinitionArn(v string) *RegisterJobDefinitionOutput { 8744 s.JobDefinitionArn = &v 8745 return s 8746} 8747 8748// SetJobDefinitionName sets the JobDefinitionName field's value. 8749func (s *RegisterJobDefinitionOutput) SetJobDefinitionName(v string) *RegisterJobDefinitionOutput { 8750 s.JobDefinitionName = &v 8751 return s 8752} 8753 8754// SetRevision sets the Revision field's value. 8755func (s *RegisterJobDefinitionOutput) SetRevision(v int64) *RegisterJobDefinitionOutput { 8756 s.Revision = &v 8757 return s 8758} 8759 8760// The type and amount of a resource to assign to a container. The supported 8761// resources include GPU, MEMORY, and VCPU. 8762type ResourceRequirement struct { 8763 _ struct{} `type:"structure"` 8764 8765 // The type of resource to assign to a container. The supported resources include 8766 // GPU, MEMORY, and VCPU. 8767 // 8768 // Type is a required field 8769 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 8770 8771 // The quantity of the specified resource to reserve for the container. The 8772 // values vary based on the type specified. 8773 // 8774 // type="GPU" 8775 // 8776 // The number of physical GPUs to reserve for the container. The number of GPUs 8777 // reserved for all containers in a job shouldn't exceed the number of available 8778 // GPUs on the compute resource that the job is launched on. 8779 // 8780 // GPUs are not available for jobs that are running on Fargate resources. 8781 // 8782 // type="MEMORY" 8783 // 8784 // The memory hard limit (in MiB) present to the container. This parameter is 8785 // supported for jobs that are running on EC2 resources. If your container attempts 8786 // to exceed the memory specified, the container is terminated. This parameter 8787 // maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 8788 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 8789 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 8790 // You must specify at least 4 MiB of memory for a job. This is required but 8791 // can be specified in several places for multi-node parallel (MNP) jobs. It 8792 // must be specified for each node at least once. This parameter maps to Memory 8793 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 8794 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 8795 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 8796 // 8797 // If you're trying to maximize your resource utilization by providing your 8798 // jobs as much memory as possible for a particular instance type, see Memory 8799 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 8800 // in the Batch User Guide. 8801 // 8802 // For jobs that are running on Fargate resources, then value is the hard limit 8803 // (in MiB), and must match one of the supported values and the VCPU values 8804 // must be one of the values supported for that memory value. 8805 // 8806 // value = 512 8807 // 8808 // VCPU = 0.25 8809 // 8810 // value = 1024 8811 // 8812 // VCPU = 0.25 or 0.5 8813 // 8814 // value = 2048 8815 // 8816 // VCPU = 0.25, 0.5, or 1 8817 // 8818 // value = 3072 8819 // 8820 // VCPU = 0.5, or 1 8821 // 8822 // value = 4096 8823 // 8824 // VCPU = 0.5, 1, or 2 8825 // 8826 // value = 5120, 6144, or 7168 8827 // 8828 // VCPU = 1 or 2 8829 // 8830 // value = 8192 8831 // 8832 // VCPU = 1, 2, or 4 8833 // 8834 // value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 8835 // 8836 // VCPU = 2 or 4 8837 // 8838 // value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 8839 // 27648, 28672, 29696, or 30720 8840 // 8841 // VCPU = 4 8842 // 8843 // type="VCPU" 8844 // 8845 // The number of vCPUs reserved for the container. This parameter maps to CpuShares 8846 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 8847 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 8848 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 8849 // Each vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must 8850 // specify at least one vCPU. This is required but can be specified in several 8851 // places; it must be specified for each node at least once. 8852 // 8853 // For jobs that are running on Fargate resources, then value must match one 8854 // of the supported values and the MEMORY values must be one of the values supported 8855 // for that VCPU value. The supported values are 0.25, 0.5, 1, 2, and 4 8856 // 8857 // value = 0.25 8858 // 8859 // MEMORY = 512, 1024, or 2048 8860 // 8861 // value = 0.5 8862 // 8863 // MEMORY = 1024, 2048, 3072, or 4096 8864 // 8865 // value = 1 8866 // 8867 // MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192 8868 // 8869 // value = 2 8870 // 8871 // MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 8872 // 14336, 15360, or 16384 8873 // 8874 // value = 4 8875 // 8876 // MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 8877 // 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 8878 // 29696, or 30720 8879 // 8880 // Value is a required field 8881 Value *string `locationName:"value" type:"string" required:"true"` 8882} 8883 8884// String returns the string representation. 8885// 8886// API parameter values that are decorated as "sensitive" in the API will not 8887// be included in the string output. The member name will be present, but the 8888// value will be replaced with "sensitive". 8889func (s ResourceRequirement) String() string { 8890 return awsutil.Prettify(s) 8891} 8892 8893// GoString returns the string representation. 8894// 8895// API parameter values that are decorated as "sensitive" in the API will not 8896// be included in the string output. The member name will be present, but the 8897// value will be replaced with "sensitive". 8898func (s ResourceRequirement) GoString() string { 8899 return s.String() 8900} 8901 8902// Validate inspects the fields of the type to determine if they are valid. 8903func (s *ResourceRequirement) Validate() error { 8904 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 8905 if s.Type == nil { 8906 invalidParams.Add(request.NewErrParamRequired("Type")) 8907 } 8908 if s.Value == nil { 8909 invalidParams.Add(request.NewErrParamRequired("Value")) 8910 } 8911 8912 if invalidParams.Len() > 0 { 8913 return invalidParams 8914 } 8915 return nil 8916} 8917 8918// SetType sets the Type field's value. 8919func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 8920 s.Type = &v 8921 return s 8922} 8923 8924// SetValue sets the Value field's value. 8925func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 8926 s.Value = &v 8927 return s 8928} 8929 8930// The retry strategy associated with a job. For more information, see Automated 8931// job retries (https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) 8932// in the Batch User Guide. 8933type RetryStrategy struct { 8934 _ struct{} `type:"structure"` 8935 8936 // The number of times to move a job to the RUNNABLE status. You can specify 8937 // between 1 and 10 attempts. If the value of attempts is greater than one, 8938 // the job is retried on failure the same number of attempts as the value. 8939 Attempts *int64 `locationName:"attempts" type:"integer"` 8940 8941 // Array of up to 5 objects that specify conditions under which the job should 8942 // be retried or failed. If this parameter is specified, then the attempts parameter 8943 // must also be specified. 8944 EvaluateOnExit []*EvaluateOnExit `locationName:"evaluateOnExit" type:"list"` 8945} 8946 8947// String returns the string representation. 8948// 8949// API parameter values that are decorated as "sensitive" in the API will not 8950// be included in the string output. The member name will be present, but the 8951// value will be replaced with "sensitive". 8952func (s RetryStrategy) String() string { 8953 return awsutil.Prettify(s) 8954} 8955 8956// GoString returns the string representation. 8957// 8958// API parameter values that are decorated as "sensitive" in the API will not 8959// be included in the string output. The member name will be present, but the 8960// value will be replaced with "sensitive". 8961func (s RetryStrategy) GoString() string { 8962 return s.String() 8963} 8964 8965// Validate inspects the fields of the type to determine if they are valid. 8966func (s *RetryStrategy) Validate() error { 8967 invalidParams := request.ErrInvalidParams{Context: "RetryStrategy"} 8968 if s.EvaluateOnExit != nil { 8969 for i, v := range s.EvaluateOnExit { 8970 if v == nil { 8971 continue 8972 } 8973 if err := v.Validate(); err != nil { 8974 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EvaluateOnExit", i), err.(request.ErrInvalidParams)) 8975 } 8976 } 8977 } 8978 8979 if invalidParams.Len() > 0 { 8980 return invalidParams 8981 } 8982 return nil 8983} 8984 8985// SetAttempts sets the Attempts field's value. 8986func (s *RetryStrategy) SetAttempts(v int64) *RetryStrategy { 8987 s.Attempts = &v 8988 return s 8989} 8990 8991// SetEvaluateOnExit sets the EvaluateOnExit field's value. 8992func (s *RetryStrategy) SetEvaluateOnExit(v []*EvaluateOnExit) *RetryStrategy { 8993 s.EvaluateOnExit = v 8994 return s 8995} 8996 8997// An object representing a scheduling policy. 8998type SchedulingPolicyDetail struct { 8999 _ struct{} `type:"structure"` 9000 9001 // Amazon Resource Name (ARN) of the scheduling policy. An example would be 9002 // arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority 9003 // 9004 // Arn is a required field 9005 Arn *string `locationName:"arn" type:"string" required:"true"` 9006 9007 // The fair share policy for the scheduling policy. 9008 FairsharePolicy *FairsharePolicy `locationName:"fairsharePolicy" type:"structure"` 9009 9010 // The name of the scheduling policy. 9011 // 9012 // Name is a required field 9013 Name *string `locationName:"name" type:"string" required:"true"` 9014 9015 // The tags that you apply to the scheduling policy to help you categorize and 9016 // organize your resources. Each tag consists of a key and an optional value. 9017 // For more information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 9018 // in Amazon Web Services General Reference. 9019 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 9020} 9021 9022// String returns the string representation. 9023// 9024// API parameter values that are decorated as "sensitive" in the API will not 9025// be included in the string output. The member name will be present, but the 9026// value will be replaced with "sensitive". 9027func (s SchedulingPolicyDetail) String() string { 9028 return awsutil.Prettify(s) 9029} 9030 9031// GoString returns the string representation. 9032// 9033// API parameter values that are decorated as "sensitive" in the API will not 9034// be included in the string output. The member name will be present, but the 9035// value will be replaced with "sensitive". 9036func (s SchedulingPolicyDetail) GoString() string { 9037 return s.String() 9038} 9039 9040// SetArn sets the Arn field's value. 9041func (s *SchedulingPolicyDetail) SetArn(v string) *SchedulingPolicyDetail { 9042 s.Arn = &v 9043 return s 9044} 9045 9046// SetFairsharePolicy sets the FairsharePolicy field's value. 9047func (s *SchedulingPolicyDetail) SetFairsharePolicy(v *FairsharePolicy) *SchedulingPolicyDetail { 9048 s.FairsharePolicy = v 9049 return s 9050} 9051 9052// SetName sets the Name field's value. 9053func (s *SchedulingPolicyDetail) SetName(v string) *SchedulingPolicyDetail { 9054 s.Name = &v 9055 return s 9056} 9057 9058// SetTags sets the Tags field's value. 9059func (s *SchedulingPolicyDetail) SetTags(v map[string]*string) *SchedulingPolicyDetail { 9060 s.Tags = v 9061 return s 9062} 9063 9064// An object containing the details of a scheduling policy returned in a ListSchedulingPolicy 9065// action. 9066type SchedulingPolicyListingDetail struct { 9067 _ struct{} `type:"structure"` 9068 9069 // Amazon Resource Name (ARN) of the scheduling policy. 9070 // 9071 // Arn is a required field 9072 Arn *string `locationName:"arn" type:"string" required:"true"` 9073} 9074 9075// String returns the string representation. 9076// 9077// API parameter values that are decorated as "sensitive" in the API will not 9078// be included in the string output. The member name will be present, but the 9079// value will be replaced with "sensitive". 9080func (s SchedulingPolicyListingDetail) String() string { 9081 return awsutil.Prettify(s) 9082} 9083 9084// GoString returns the string representation. 9085// 9086// API parameter values that are decorated as "sensitive" in the API will not 9087// be included in the string output. The member name will be present, but the 9088// value will be replaced with "sensitive". 9089func (s SchedulingPolicyListingDetail) GoString() string { 9090 return s.String() 9091} 9092 9093// SetArn sets the Arn field's value. 9094func (s *SchedulingPolicyListingDetail) SetArn(v string) *SchedulingPolicyListingDetail { 9095 s.Arn = &v 9096 return s 9097} 9098 9099// An object representing the secret to expose to your container. Secrets can 9100// be exposed to a container in the following ways: 9101// 9102// * To inject sensitive data into your containers as environment variables, 9103// use the secrets container definition parameter. 9104// 9105// * To reference sensitive information in the log configuration of a container, 9106// use the secretOptions container definition parameter. 9107// 9108// For more information, see Specifying sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) 9109// in the Batch User Guide. 9110type Secret struct { 9111 _ struct{} `type:"structure"` 9112 9113 // The name of the secret. 9114 // 9115 // Name is a required field 9116 Name *string `locationName:"name" type:"string" required:"true"` 9117 9118 // The secret to expose to the container. The supported values are either the 9119 // full ARN of the Secrets Manager secret or the full ARN of the parameter in 9120 // the Amazon Web Services Systems Manager Parameter Store. 9121 // 9122 // If the Amazon Web Services Systems Manager Parameter Store parameter exists 9123 // in the same Region as the job you're launching, then you can use either the 9124 // full ARN or name of the parameter. If the parameter exists in a different 9125 // Region, then the full ARN must be specified. 9126 // 9127 // ValueFrom is a required field 9128 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 9129} 9130 9131// String returns the string representation. 9132// 9133// API parameter values that are decorated as "sensitive" in the API will not 9134// be included in the string output. The member name will be present, but the 9135// value will be replaced with "sensitive". 9136func (s Secret) String() string { 9137 return awsutil.Prettify(s) 9138} 9139 9140// GoString returns the string representation. 9141// 9142// API parameter values that are decorated as "sensitive" in the API will not 9143// be included in the string output. The member name will be present, but the 9144// value will be replaced with "sensitive". 9145func (s Secret) GoString() string { 9146 return s.String() 9147} 9148 9149// Validate inspects the fields of the type to determine if they are valid. 9150func (s *Secret) Validate() error { 9151 invalidParams := request.ErrInvalidParams{Context: "Secret"} 9152 if s.Name == nil { 9153 invalidParams.Add(request.NewErrParamRequired("Name")) 9154 } 9155 if s.ValueFrom == nil { 9156 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 9157 } 9158 9159 if invalidParams.Len() > 0 { 9160 return invalidParams 9161 } 9162 return nil 9163} 9164 9165// SetName sets the Name field's value. 9166func (s *Secret) SetName(v string) *Secret { 9167 s.Name = &v 9168 return s 9169} 9170 9171// SetValueFrom sets the ValueFrom field's value. 9172func (s *Secret) SetValueFrom(v string) *Secret { 9173 s.ValueFrom = &v 9174 return s 9175} 9176 9177// These errors are usually caused by a server issue. 9178type ServerException struct { 9179 _ struct{} `type:"structure"` 9180 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9181 9182 Message_ *string `locationName:"message" type:"string"` 9183} 9184 9185// String returns the string representation. 9186// 9187// API parameter values that are decorated as "sensitive" in the API will not 9188// be included in the string output. The member name will be present, but the 9189// value will be replaced with "sensitive". 9190func (s ServerException) String() string { 9191 return awsutil.Prettify(s) 9192} 9193 9194// GoString returns the string representation. 9195// 9196// API parameter values that are decorated as "sensitive" in the API will not 9197// be included in the string output. The member name will be present, but the 9198// value will be replaced with "sensitive". 9199func (s ServerException) GoString() string { 9200 return s.String() 9201} 9202 9203func newErrorServerException(v protocol.ResponseMetadata) error { 9204 return &ServerException{ 9205 RespMetadata: v, 9206 } 9207} 9208 9209// Code returns the exception type name. 9210func (s *ServerException) Code() string { 9211 return "ServerException" 9212} 9213 9214// Message returns the exception's message. 9215func (s *ServerException) Message() string { 9216 if s.Message_ != nil { 9217 return *s.Message_ 9218 } 9219 return "" 9220} 9221 9222// OrigErr always returns nil, satisfies awserr.Error interface. 9223func (s *ServerException) OrigErr() error { 9224 return nil 9225} 9226 9227func (s *ServerException) Error() string { 9228 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9229} 9230 9231// Status code returns the HTTP status code for the request's response error. 9232func (s *ServerException) StatusCode() int { 9233 return s.RespMetadata.StatusCode 9234} 9235 9236// RequestID returns the service's response RequestID for request. 9237func (s *ServerException) RequestID() string { 9238 return s.RespMetadata.RequestID 9239} 9240 9241// Specifies the weights for the fair share identifiers for the fair share policy. 9242// Fair share identifiers that are not included have a default weight of 1.0. 9243type ShareAttributes struct { 9244 _ struct{} `type:"structure"` 9245 9246 // A fair share identifier or fair share identifier prefix. If the string ends 9247 // with '*' then this entry specifies the weight factor to use for fair share 9248 // identifiers that begin with that prefix. The list of fair share identifiers 9249 // in a fair share policy cannot overlap. For example you cannot have one that 9250 // specifies a shareIdentifier of UserA* and another that specifies a shareIdentifier 9251 // of UserA-1. 9252 // 9253 // There can be no more than 500 fair share identifiers active in a job queue. 9254 // 9255 // The string is limited to 255 alphanumeric characters, optionally followed 9256 // by '*'. 9257 // 9258 // ShareIdentifier is a required field 9259 ShareIdentifier *string `locationName:"shareIdentifier" type:"string" required:"true"` 9260 9261 // The weight factor for the fair share identifier. The default value is 1.0. 9262 // A lower value has a higher priority for compute resources. For example, jobs 9263 // using a share identifier with a weight factor of 0.125 (1/8) will get 8 times 9264 // the compute resources of jobs using a share identifier with a weight factor 9265 // of 1. 9266 // 9267 // The smallest supported value is 0.0001 and the largest supported value is 9268 // 999.9999. 9269 WeightFactor *float64 `locationName:"weightFactor" type:"float"` 9270} 9271 9272// String returns the string representation. 9273// 9274// API parameter values that are decorated as "sensitive" in the API will not 9275// be included in the string output. The member name will be present, but the 9276// value will be replaced with "sensitive". 9277func (s ShareAttributes) String() string { 9278 return awsutil.Prettify(s) 9279} 9280 9281// GoString returns the string representation. 9282// 9283// API parameter values that are decorated as "sensitive" in the API will not 9284// be included in the string output. The member name will be present, but the 9285// value will be replaced with "sensitive". 9286func (s ShareAttributes) GoString() string { 9287 return s.String() 9288} 9289 9290// Validate inspects the fields of the type to determine if they are valid. 9291func (s *ShareAttributes) Validate() error { 9292 invalidParams := request.ErrInvalidParams{Context: "ShareAttributes"} 9293 if s.ShareIdentifier == nil { 9294 invalidParams.Add(request.NewErrParamRequired("ShareIdentifier")) 9295 } 9296 9297 if invalidParams.Len() > 0 { 9298 return invalidParams 9299 } 9300 return nil 9301} 9302 9303// SetShareIdentifier sets the ShareIdentifier field's value. 9304func (s *ShareAttributes) SetShareIdentifier(v string) *ShareAttributes { 9305 s.ShareIdentifier = &v 9306 return s 9307} 9308 9309// SetWeightFactor sets the WeightFactor field's value. 9310func (s *ShareAttributes) SetWeightFactor(v float64) *ShareAttributes { 9311 s.WeightFactor = &v 9312 return s 9313} 9314 9315// Contains the parameters for SubmitJob. 9316type SubmitJobInput struct { 9317 _ struct{} `type:"structure"` 9318 9319 // The array properties for the submitted job, such as the size of the array. 9320 // The array size can be between 2 and 10,000. If you specify array properties 9321 // for a job, it becomes an array job. For more information, see Array Jobs 9322 // (https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html) in the 9323 // Batch User Guide. 9324 ArrayProperties *ArrayProperties `locationName:"arrayProperties" type:"structure"` 9325 9326 // A list of container overrides in the JSON format that specify the name of 9327 // a container in the specified job definition and the overrides it should receive. 9328 // You can override the default command for a container, which is specified 9329 // in the job definition or the Docker image, with a command override. You can 9330 // also override existing environment variables on a container or add new environment 9331 // variables to it with an environment override. 9332 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 9333 9334 // A list of dependencies for the job. A job can depend upon a maximum of 20 9335 // jobs. You can specify a SEQUENTIAL type dependency without specifying a job 9336 // ID for array jobs so that each child array job completes sequentially, starting 9337 // at index 0. You can also specify an N_TO_N type dependency with a job ID 9338 // for array jobs. In that case, each index child of this job must wait for 9339 // the corresponding index child of each dependency to complete before it can 9340 // begin. 9341 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 9342 9343 // The job definition used by this job. This value can be one of name, name:revision, 9344 // or the Amazon Resource Name (ARN) for the job definition. If name is specified 9345 // without a revision then the latest active revision is used. 9346 // 9347 // JobDefinition is a required field 9348 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 9349 9350 // The name of the job. The first character must be alphanumeric, and up to 9351 // 128 letters (uppercase and lowercase), numbers, hyphens, and underscores 9352 // are allowed. 9353 // 9354 // JobName is a required field 9355 JobName *string `locationName:"jobName" type:"string" required:"true"` 9356 9357 // The job queue where the job is submitted. You can specify either the name 9358 // or the Amazon Resource Name (ARN) of the queue. 9359 // 9360 // JobQueue is a required field 9361 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 9362 9363 // A list of node overrides in JSON format that specify the node range to target 9364 // and the container overrides for that node range. 9365 // 9366 // This parameter isn't applicable to jobs that are running on Fargate resources; 9367 // use containerOverrides instead. 9368 NodeOverrides *NodeOverrides `locationName:"nodeOverrides" type:"structure"` 9369 9370 // Additional parameters passed to the job that replace parameter substitution 9371 // placeholders that are set in the job definition. Parameters are specified 9372 // as a key and value pair mapping. Parameters in a SubmitJob request override 9373 // any corresponding parameter defaults from the job definition. 9374 Parameters map[string]*string `locationName:"parameters" type:"map"` 9375 9376 // Specifies whether to propagate the tags from the job or job definition to 9377 // the corresponding Amazon ECS task. If no value is specified, the tags aren't 9378 // propagated. Tags can only be propagated to the tasks during task creation. 9379 // For tags with the same name, job tags are given priority over job definitions 9380 // tags. If the total number of combined tags from the job and job definition 9381 // is over 50, the job is moved to the FAILED state. When specified, this overrides 9382 // the tag propagation setting in the job definition. 9383 PropagateTags *bool `locationName:"propagateTags" type:"boolean"` 9384 9385 // The retry strategy to use for failed jobs from this SubmitJob operation. 9386 // When a retry strategy is specified here, it overrides the retry strategy 9387 // defined in the job definition. 9388 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 9389 9390 // The scheduling priority for the job. This will only affect jobs in job queues 9391 // with a fair share policy. Jobs with a higher scheduling priority will be 9392 // scheduled before jobs with a lower scheduling priority. This will override 9393 // any scheduling priority in the job definition. 9394 // 9395 // The minimum supported value is 0 and the maximum supported value is 9999. 9396 SchedulingPriorityOverride *int64 `locationName:"schedulingPriorityOverride" type:"integer"` 9397 9398 // The share identifier for the job. 9399 ShareIdentifier *string `locationName:"shareIdentifier" type:"string"` 9400 9401 // The tags that you apply to the job request to help you categorize and organize 9402 // your resources. Each tag consists of a key and an optional value. For more 9403 // information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 9404 // in Amazon Web Services General Reference. 9405 Tags map[string]*string `locationName:"tags" min:"1" type:"map"` 9406 9407 // The timeout configuration for this SubmitJob operation. You can specify a 9408 // timeout duration after which Batch terminates your jobs if they haven't finished. 9409 // If a job is terminated due to a timeout, it isn't retried. The minimum value 9410 // for the timeout is 60 seconds. This configuration overrides any timeout configuration 9411 // specified in the job definition. For array jobs, child jobs have the same 9412 // timeout configuration as the parent job. For more information, see Job Timeouts 9413 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html) 9414 // in the Amazon Elastic Container Service Developer Guide. 9415 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 9416} 9417 9418// String returns the string representation. 9419// 9420// API parameter values that are decorated as "sensitive" in the API will not 9421// be included in the string output. The member name will be present, but the 9422// value will be replaced with "sensitive". 9423func (s SubmitJobInput) String() string { 9424 return awsutil.Prettify(s) 9425} 9426 9427// GoString returns the string representation. 9428// 9429// API parameter values that are decorated as "sensitive" in the API will not 9430// be included in the string output. The member name will be present, but the 9431// value will be replaced with "sensitive". 9432func (s SubmitJobInput) GoString() string { 9433 return s.String() 9434} 9435 9436// Validate inspects the fields of the type to determine if they are valid. 9437func (s *SubmitJobInput) Validate() error { 9438 invalidParams := request.ErrInvalidParams{Context: "SubmitJobInput"} 9439 if s.JobDefinition == nil { 9440 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 9441 } 9442 if s.JobName == nil { 9443 invalidParams.Add(request.NewErrParamRequired("JobName")) 9444 } 9445 if s.JobQueue == nil { 9446 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 9447 } 9448 if s.Tags != nil && len(s.Tags) < 1 { 9449 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 9450 } 9451 if s.ContainerOverrides != nil { 9452 if err := s.ContainerOverrides.Validate(); err != nil { 9453 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 9454 } 9455 } 9456 if s.NodeOverrides != nil { 9457 if err := s.NodeOverrides.Validate(); err != nil { 9458 invalidParams.AddNested("NodeOverrides", err.(request.ErrInvalidParams)) 9459 } 9460 } 9461 if s.RetryStrategy != nil { 9462 if err := s.RetryStrategy.Validate(); err != nil { 9463 invalidParams.AddNested("RetryStrategy", err.(request.ErrInvalidParams)) 9464 } 9465 } 9466 9467 if invalidParams.Len() > 0 { 9468 return invalidParams 9469 } 9470 return nil 9471} 9472 9473// SetArrayProperties sets the ArrayProperties field's value. 9474func (s *SubmitJobInput) SetArrayProperties(v *ArrayProperties) *SubmitJobInput { 9475 s.ArrayProperties = v 9476 return s 9477} 9478 9479// SetContainerOverrides sets the ContainerOverrides field's value. 9480func (s *SubmitJobInput) SetContainerOverrides(v *ContainerOverrides) *SubmitJobInput { 9481 s.ContainerOverrides = v 9482 return s 9483} 9484 9485// SetDependsOn sets the DependsOn field's value. 9486func (s *SubmitJobInput) SetDependsOn(v []*JobDependency) *SubmitJobInput { 9487 s.DependsOn = v 9488 return s 9489} 9490 9491// SetJobDefinition sets the JobDefinition field's value. 9492func (s *SubmitJobInput) SetJobDefinition(v string) *SubmitJobInput { 9493 s.JobDefinition = &v 9494 return s 9495} 9496 9497// SetJobName sets the JobName field's value. 9498func (s *SubmitJobInput) SetJobName(v string) *SubmitJobInput { 9499 s.JobName = &v 9500 return s 9501} 9502 9503// SetJobQueue sets the JobQueue field's value. 9504func (s *SubmitJobInput) SetJobQueue(v string) *SubmitJobInput { 9505 s.JobQueue = &v 9506 return s 9507} 9508 9509// SetNodeOverrides sets the NodeOverrides field's value. 9510func (s *SubmitJobInput) SetNodeOverrides(v *NodeOverrides) *SubmitJobInput { 9511 s.NodeOverrides = v 9512 return s 9513} 9514 9515// SetParameters sets the Parameters field's value. 9516func (s *SubmitJobInput) SetParameters(v map[string]*string) *SubmitJobInput { 9517 s.Parameters = v 9518 return s 9519} 9520 9521// SetPropagateTags sets the PropagateTags field's value. 9522func (s *SubmitJobInput) SetPropagateTags(v bool) *SubmitJobInput { 9523 s.PropagateTags = &v 9524 return s 9525} 9526 9527// SetRetryStrategy sets the RetryStrategy field's value. 9528func (s *SubmitJobInput) SetRetryStrategy(v *RetryStrategy) *SubmitJobInput { 9529 s.RetryStrategy = v 9530 return s 9531} 9532 9533// SetSchedulingPriorityOverride sets the SchedulingPriorityOverride field's value. 9534func (s *SubmitJobInput) SetSchedulingPriorityOverride(v int64) *SubmitJobInput { 9535 s.SchedulingPriorityOverride = &v 9536 return s 9537} 9538 9539// SetShareIdentifier sets the ShareIdentifier field's value. 9540func (s *SubmitJobInput) SetShareIdentifier(v string) *SubmitJobInput { 9541 s.ShareIdentifier = &v 9542 return s 9543} 9544 9545// SetTags sets the Tags field's value. 9546func (s *SubmitJobInput) SetTags(v map[string]*string) *SubmitJobInput { 9547 s.Tags = v 9548 return s 9549} 9550 9551// SetTimeout sets the Timeout field's value. 9552func (s *SubmitJobInput) SetTimeout(v *JobTimeout) *SubmitJobInput { 9553 s.Timeout = v 9554 return s 9555} 9556 9557type SubmitJobOutput struct { 9558 _ struct{} `type:"structure"` 9559 9560 // The Amazon Resource Name (ARN) for the job. 9561 JobArn *string `locationName:"jobArn" type:"string"` 9562 9563 // The unique identifier for the job. 9564 // 9565 // JobId is a required field 9566 JobId *string `locationName:"jobId" type:"string" required:"true"` 9567 9568 // The name of the job. 9569 // 9570 // JobName is a required field 9571 JobName *string `locationName:"jobName" type:"string" required:"true"` 9572} 9573 9574// String returns the string representation. 9575// 9576// API parameter values that are decorated as "sensitive" in the API will not 9577// be included in the string output. The member name will be present, but the 9578// value will be replaced with "sensitive". 9579func (s SubmitJobOutput) String() string { 9580 return awsutil.Prettify(s) 9581} 9582 9583// GoString returns the string representation. 9584// 9585// API parameter values that are decorated as "sensitive" in the API will not 9586// be included in the string output. The member name will be present, but the 9587// value will be replaced with "sensitive". 9588func (s SubmitJobOutput) GoString() string { 9589 return s.String() 9590} 9591 9592// SetJobArn sets the JobArn field's value. 9593func (s *SubmitJobOutput) SetJobArn(v string) *SubmitJobOutput { 9594 s.JobArn = &v 9595 return s 9596} 9597 9598// SetJobId sets the JobId field's value. 9599func (s *SubmitJobOutput) SetJobId(v string) *SubmitJobOutput { 9600 s.JobId = &v 9601 return s 9602} 9603 9604// SetJobName sets the JobName field's value. 9605func (s *SubmitJobOutput) SetJobName(v string) *SubmitJobOutput { 9606 s.JobName = &v 9607 return s 9608} 9609 9610type TagResourceInput struct { 9611 _ struct{} `type:"structure"` 9612 9613 // The Amazon Resource Name (ARN) of the resource that tags are added to. Batch 9614 // resources that support tags are compute environments, jobs, job definitions, 9615 // job queues, and scheduling policies. ARNs for child jobs of array and multi-node 9616 // parallel (MNP) jobs are not supported. 9617 // 9618 // ResourceArn is a required field 9619 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 9620 9621 // The tags that you apply to the resource to help you categorize and organize 9622 // your resources. Each tag consists of a key and an optional value. For more 9623 // information, see Tagging Amazon Web Services Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 9624 // in Amazon Web Services General Reference. 9625 // 9626 // Tags is a required field 9627 Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"` 9628} 9629 9630// String returns the string representation. 9631// 9632// API parameter values that are decorated as "sensitive" in the API will not 9633// be included in the string output. The member name will be present, but the 9634// value will be replaced with "sensitive". 9635func (s TagResourceInput) String() string { 9636 return awsutil.Prettify(s) 9637} 9638 9639// GoString returns the string representation. 9640// 9641// API parameter values that are decorated as "sensitive" in the API will not 9642// be included in the string output. The member name will be present, but the 9643// value will be replaced with "sensitive". 9644func (s TagResourceInput) GoString() string { 9645 return s.String() 9646} 9647 9648// Validate inspects the fields of the type to determine if they are valid. 9649func (s *TagResourceInput) Validate() error { 9650 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 9651 if s.ResourceArn == nil { 9652 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9653 } 9654 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9655 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9656 } 9657 if s.Tags == nil { 9658 invalidParams.Add(request.NewErrParamRequired("Tags")) 9659 } 9660 if s.Tags != nil && len(s.Tags) < 1 { 9661 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 9662 } 9663 9664 if invalidParams.Len() > 0 { 9665 return invalidParams 9666 } 9667 return nil 9668} 9669 9670// SetResourceArn sets the ResourceArn field's value. 9671func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 9672 s.ResourceArn = &v 9673 return s 9674} 9675 9676// SetTags sets the Tags field's value. 9677func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 9678 s.Tags = v 9679 return s 9680} 9681 9682type TagResourceOutput struct { 9683 _ struct{} `type:"structure"` 9684} 9685 9686// String returns the string representation. 9687// 9688// API parameter values that are decorated as "sensitive" in the API will not 9689// be included in the string output. The member name will be present, but the 9690// value will be replaced with "sensitive". 9691func (s TagResourceOutput) String() string { 9692 return awsutil.Prettify(s) 9693} 9694 9695// GoString returns the string representation. 9696// 9697// API parameter values that are decorated as "sensitive" in the API will not 9698// be included in the string output. The member name will be present, but the 9699// value will be replaced with "sensitive". 9700func (s TagResourceOutput) GoString() string { 9701 return s.String() 9702} 9703 9704// Contains the parameters for TerminateJob. 9705type TerminateJobInput struct { 9706 _ struct{} `type:"structure"` 9707 9708 // The Batch job ID of the job to terminate. 9709 // 9710 // JobId is a required field 9711 JobId *string `locationName:"jobId" type:"string" required:"true"` 9712 9713 // A message to attach to the job that explains the reason for canceling it. 9714 // This message is returned by future DescribeJobs operations on the job. This 9715 // message is also recorded in the Batch activity logs. 9716 // 9717 // Reason is a required field 9718 Reason *string `locationName:"reason" type:"string" required:"true"` 9719} 9720 9721// String returns the string representation. 9722// 9723// API parameter values that are decorated as "sensitive" in the API will not 9724// be included in the string output. The member name will be present, but the 9725// value will be replaced with "sensitive". 9726func (s TerminateJobInput) String() string { 9727 return awsutil.Prettify(s) 9728} 9729 9730// GoString returns the string representation. 9731// 9732// API parameter values that are decorated as "sensitive" in the API will not 9733// be included in the string output. The member name will be present, but the 9734// value will be replaced with "sensitive". 9735func (s TerminateJobInput) GoString() string { 9736 return s.String() 9737} 9738 9739// Validate inspects the fields of the type to determine if they are valid. 9740func (s *TerminateJobInput) Validate() error { 9741 invalidParams := request.ErrInvalidParams{Context: "TerminateJobInput"} 9742 if s.JobId == nil { 9743 invalidParams.Add(request.NewErrParamRequired("JobId")) 9744 } 9745 if s.Reason == nil { 9746 invalidParams.Add(request.NewErrParamRequired("Reason")) 9747 } 9748 9749 if invalidParams.Len() > 0 { 9750 return invalidParams 9751 } 9752 return nil 9753} 9754 9755// SetJobId sets the JobId field's value. 9756func (s *TerminateJobInput) SetJobId(v string) *TerminateJobInput { 9757 s.JobId = &v 9758 return s 9759} 9760 9761// SetReason sets the Reason field's value. 9762func (s *TerminateJobInput) SetReason(v string) *TerminateJobInput { 9763 s.Reason = &v 9764 return s 9765} 9766 9767type TerminateJobOutput struct { 9768 _ struct{} `type:"structure"` 9769} 9770 9771// String returns the string representation. 9772// 9773// API parameter values that are decorated as "sensitive" in the API will not 9774// be included in the string output. The member name will be present, but the 9775// value will be replaced with "sensitive". 9776func (s TerminateJobOutput) String() string { 9777 return awsutil.Prettify(s) 9778} 9779 9780// GoString returns the string representation. 9781// 9782// API parameter values that are decorated as "sensitive" in the API will not 9783// be included in the string output. The member name will be present, but the 9784// value will be replaced with "sensitive". 9785func (s TerminateJobOutput) GoString() string { 9786 return s.String() 9787} 9788 9789// The container path, mount options, and size of the tmpfs mount. 9790// 9791// This object isn't applicable to jobs that are running on Fargate resources. 9792type Tmpfs struct { 9793 _ struct{} `type:"structure"` 9794 9795 // The absolute file path in the container where the tmpfs volume is mounted. 9796 // 9797 // ContainerPath is a required field 9798 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 9799 9800 // The list of tmpfs volume mount options. 9801 // 9802 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 9803 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 9804 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 9805 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 9806 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 9807 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 9808 MountOptions []*string `locationName:"mountOptions" type:"list"` 9809 9810 // The size (in MiB) of the tmpfs volume. 9811 // 9812 // Size is a required field 9813 Size *int64 `locationName:"size" type:"integer" required:"true"` 9814} 9815 9816// String returns the string representation. 9817// 9818// API parameter values that are decorated as "sensitive" in the API will not 9819// be included in the string output. The member name will be present, but the 9820// value will be replaced with "sensitive". 9821func (s Tmpfs) String() string { 9822 return awsutil.Prettify(s) 9823} 9824 9825// GoString returns the string representation. 9826// 9827// API parameter values that are decorated as "sensitive" in the API will not 9828// be included in the string output. The member name will be present, but the 9829// value will be replaced with "sensitive". 9830func (s Tmpfs) GoString() string { 9831 return s.String() 9832} 9833 9834// Validate inspects the fields of the type to determine if they are valid. 9835func (s *Tmpfs) Validate() error { 9836 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 9837 if s.ContainerPath == nil { 9838 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 9839 } 9840 if s.Size == nil { 9841 invalidParams.Add(request.NewErrParamRequired("Size")) 9842 } 9843 9844 if invalidParams.Len() > 0 { 9845 return invalidParams 9846 } 9847 return nil 9848} 9849 9850// SetContainerPath sets the ContainerPath field's value. 9851func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 9852 s.ContainerPath = &v 9853 return s 9854} 9855 9856// SetMountOptions sets the MountOptions field's value. 9857func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 9858 s.MountOptions = v 9859 return s 9860} 9861 9862// SetSize sets the Size field's value. 9863func (s *Tmpfs) SetSize(v int64) *Tmpfs { 9864 s.Size = &v 9865 return s 9866} 9867 9868// The ulimit settings to pass to the container. 9869// 9870// This object isn't applicable to jobs that are running on Fargate resources. 9871type Ulimit struct { 9872 _ struct{} `type:"structure"` 9873 9874 // The hard limit for the ulimit type. 9875 // 9876 // HardLimit is a required field 9877 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 9878 9879 // The type of the ulimit. 9880 // 9881 // Name is a required field 9882 Name *string `locationName:"name" type:"string" required:"true"` 9883 9884 // The soft limit for the ulimit type. 9885 // 9886 // SoftLimit is a required field 9887 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 9888} 9889 9890// String returns the string representation. 9891// 9892// API parameter values that are decorated as "sensitive" in the API will not 9893// be included in the string output. The member name will be present, but the 9894// value will be replaced with "sensitive". 9895func (s Ulimit) String() string { 9896 return awsutil.Prettify(s) 9897} 9898 9899// GoString returns the string representation. 9900// 9901// API parameter values that are decorated as "sensitive" in the API will not 9902// be included in the string output. The member name will be present, but the 9903// value will be replaced with "sensitive". 9904func (s Ulimit) GoString() string { 9905 return s.String() 9906} 9907 9908// Validate inspects the fields of the type to determine if they are valid. 9909func (s *Ulimit) Validate() error { 9910 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 9911 if s.HardLimit == nil { 9912 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 9913 } 9914 if s.Name == nil { 9915 invalidParams.Add(request.NewErrParamRequired("Name")) 9916 } 9917 if s.SoftLimit == nil { 9918 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 9919 } 9920 9921 if invalidParams.Len() > 0 { 9922 return invalidParams 9923 } 9924 return nil 9925} 9926 9927// SetHardLimit sets the HardLimit field's value. 9928func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 9929 s.HardLimit = &v 9930 return s 9931} 9932 9933// SetName sets the Name field's value. 9934func (s *Ulimit) SetName(v string) *Ulimit { 9935 s.Name = &v 9936 return s 9937} 9938 9939// SetSoftLimit sets the SoftLimit field's value. 9940func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 9941 s.SoftLimit = &v 9942 return s 9943} 9944 9945type UntagResourceInput struct { 9946 _ struct{} `type:"structure" nopayload:"true"` 9947 9948 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 9949 // Batch resources that support tags are compute environments, jobs, job definitions, 9950 // job queues, and scheduling policies. ARNs for child jobs of array and multi-node 9951 // parallel (MNP) jobs are not supported. 9952 // 9953 // ResourceArn is a required field 9954 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 9955 9956 // The keys of the tags to be removed. 9957 // 9958 // TagKeys is a required field 9959 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 9960} 9961 9962// String returns the string representation. 9963// 9964// API parameter values that are decorated as "sensitive" in the API will not 9965// be included in the string output. The member name will be present, but the 9966// value will be replaced with "sensitive". 9967func (s UntagResourceInput) String() string { 9968 return awsutil.Prettify(s) 9969} 9970 9971// GoString returns the string representation. 9972// 9973// API parameter values that are decorated as "sensitive" in the API will not 9974// be included in the string output. The member name will be present, but the 9975// value will be replaced with "sensitive". 9976func (s UntagResourceInput) GoString() string { 9977 return s.String() 9978} 9979 9980// Validate inspects the fields of the type to determine if they are valid. 9981func (s *UntagResourceInput) Validate() error { 9982 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 9983 if s.ResourceArn == nil { 9984 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 9985 } 9986 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 9987 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 9988 } 9989 if s.TagKeys == nil { 9990 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 9991 } 9992 if s.TagKeys != nil && len(s.TagKeys) < 1 { 9993 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 9994 } 9995 9996 if invalidParams.Len() > 0 { 9997 return invalidParams 9998 } 9999 return nil 10000} 10001 10002// SetResourceArn sets the ResourceArn field's value. 10003func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 10004 s.ResourceArn = &v 10005 return s 10006} 10007 10008// SetTagKeys sets the TagKeys field's value. 10009func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 10010 s.TagKeys = v 10011 return s 10012} 10013 10014type UntagResourceOutput struct { 10015 _ struct{} `type:"structure"` 10016} 10017 10018// String returns the string representation. 10019// 10020// API parameter values that are decorated as "sensitive" in the API will not 10021// be included in the string output. The member name will be present, but the 10022// value will be replaced with "sensitive". 10023func (s UntagResourceOutput) String() string { 10024 return awsutil.Prettify(s) 10025} 10026 10027// GoString returns the string representation. 10028// 10029// API parameter values that are decorated as "sensitive" in the API will not 10030// be included in the string output. The member name will be present, but the 10031// value will be replaced with "sensitive". 10032func (s UntagResourceOutput) GoString() string { 10033 return s.String() 10034} 10035 10036// Contains the parameters for UpdateComputeEnvironment. 10037type UpdateComputeEnvironmentInput struct { 10038 _ struct{} `type:"structure"` 10039 10040 // The name or full Amazon Resource Name (ARN) of the compute environment to 10041 // update. 10042 // 10043 // ComputeEnvironment is a required field 10044 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 10045 10046 // Details of the compute resources managed by the compute environment. Required 10047 // for a managed compute environment. For more information, see Compute Environments 10048 // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 10049 // in the Batch User Guide. 10050 ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"` 10051 10052 // The full Amazon Resource Name (ARN) of the IAM role that allows Batch to 10053 // make calls to other Amazon Web Services services on your behalf. For more 10054 // information, see Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html) 10055 // in the Batch User Guide. 10056 // 10057 // If the compute environment has a service-linked role, it can't be changed 10058 // to use a regular IAM role. Likewise, if the compute environment has a regular 10059 // IAM role, it can't be changed to use a service-linked role. 10060 // 10061 // If your specified role has a path other than /, then you must either specify 10062 // the full role ARN (this is recommended) or prefix the role name with the 10063 // path. 10064 // 10065 // Depending on how you created your Batch service role, its ARN might contain 10066 // the service-role path prefix. When you only specify the name of the service 10067 // role, Batch assumes that your ARN doesn't use the service-role path prefix. 10068 // Because of this, we recommend that you specify the full ARN of your service 10069 // role when you create compute environments. 10070 ServiceRole *string `locationName:"serviceRole" type:"string"` 10071 10072 // The state of the compute environment. Compute environments in the ENABLED 10073 // state can accept jobs from a queue and scale in or out automatically based 10074 // on the workload demand of its associated queues. 10075 // 10076 // If the state is ENABLED, then the Batch scheduler can attempt to place jobs 10077 // from an associated job queue on the compute resources within the environment. 10078 // If the compute environment is managed, then it can scale its instances out 10079 // or in automatically, based on the job queue demand. 10080 // 10081 // If the state is DISABLED, then the Batch scheduler doesn't attempt to place 10082 // jobs within the environment. Jobs in a STARTING or RUNNING state continue 10083 // to progress normally. Managed compute environments in the DISABLED state 10084 // don't scale out. However, they scale in to minvCpus value after instances 10085 // become idle. 10086 State *string `locationName:"state" type:"string" enum:"CEState"` 10087 10088 // The maximum number of vCPUs expected to be used for an unmanaged compute 10089 // environment. This parameter should not be specified for a managed compute 10090 // environment. This parameter is only used for fair share scheduling to reserve 10091 // vCPU capacity for new share identifiers. If this parameter is not provided 10092 // for a fair share job queue, no vCPU capacity will be reserved. 10093 UnmanagedvCpus *int64 `locationName:"unmanagedvCpus" type:"integer"` 10094} 10095 10096// String returns the string representation. 10097// 10098// API parameter values that are decorated as "sensitive" in the API will not 10099// be included in the string output. The member name will be present, but the 10100// value will be replaced with "sensitive". 10101func (s UpdateComputeEnvironmentInput) String() string { 10102 return awsutil.Prettify(s) 10103} 10104 10105// GoString returns the string representation. 10106// 10107// API parameter values that are decorated as "sensitive" in the API will not 10108// be included in the string output. The member name will be present, but the 10109// value will be replaced with "sensitive". 10110func (s UpdateComputeEnvironmentInput) GoString() string { 10111 return s.String() 10112} 10113 10114// Validate inspects the fields of the type to determine if they are valid. 10115func (s *UpdateComputeEnvironmentInput) Validate() error { 10116 invalidParams := request.ErrInvalidParams{Context: "UpdateComputeEnvironmentInput"} 10117 if s.ComputeEnvironment == nil { 10118 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 10119 } 10120 10121 if invalidParams.Len() > 0 { 10122 return invalidParams 10123 } 10124 return nil 10125} 10126 10127// SetComputeEnvironment sets the ComputeEnvironment field's value. 10128func (s *UpdateComputeEnvironmentInput) SetComputeEnvironment(v string) *UpdateComputeEnvironmentInput { 10129 s.ComputeEnvironment = &v 10130 return s 10131} 10132 10133// SetComputeResources sets the ComputeResources field's value. 10134func (s *UpdateComputeEnvironmentInput) SetComputeResources(v *ComputeResourceUpdate) *UpdateComputeEnvironmentInput { 10135 s.ComputeResources = v 10136 return s 10137} 10138 10139// SetServiceRole sets the ServiceRole field's value. 10140func (s *UpdateComputeEnvironmentInput) SetServiceRole(v string) *UpdateComputeEnvironmentInput { 10141 s.ServiceRole = &v 10142 return s 10143} 10144 10145// SetState sets the State field's value. 10146func (s *UpdateComputeEnvironmentInput) SetState(v string) *UpdateComputeEnvironmentInput { 10147 s.State = &v 10148 return s 10149} 10150 10151// SetUnmanagedvCpus sets the UnmanagedvCpus field's value. 10152func (s *UpdateComputeEnvironmentInput) SetUnmanagedvCpus(v int64) *UpdateComputeEnvironmentInput { 10153 s.UnmanagedvCpus = &v 10154 return s 10155} 10156 10157type UpdateComputeEnvironmentOutput struct { 10158 _ struct{} `type:"structure"` 10159 10160 // The Amazon Resource Name (ARN) of the compute environment. 10161 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 10162 10163 // The name of the compute environment. Up to 128 letters (uppercase and lowercase), 10164 // numbers, hyphens, and underscores are allowed. 10165 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 10166} 10167 10168// String returns the string representation. 10169// 10170// API parameter values that are decorated as "sensitive" in the API will not 10171// be included in the string output. The member name will be present, but the 10172// value will be replaced with "sensitive". 10173func (s UpdateComputeEnvironmentOutput) String() string { 10174 return awsutil.Prettify(s) 10175} 10176 10177// GoString returns the string representation. 10178// 10179// API parameter values that are decorated as "sensitive" in the API will not 10180// be included in the string output. The member name will be present, but the 10181// value will be replaced with "sensitive". 10182func (s UpdateComputeEnvironmentOutput) GoString() string { 10183 return s.String() 10184} 10185 10186// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 10187func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *UpdateComputeEnvironmentOutput { 10188 s.ComputeEnvironmentArn = &v 10189 return s 10190} 10191 10192// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 10193func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *UpdateComputeEnvironmentOutput { 10194 s.ComputeEnvironmentName = &v 10195 return s 10196} 10197 10198// Contains the parameters for UpdateJobQueue. 10199type UpdateJobQueueInput struct { 10200 _ struct{} `type:"structure"` 10201 10202 // Details the set of compute environments mapped to a job queue and their order 10203 // relative to each other. This is one of the parameters used by the job scheduler 10204 // to determine which compute environment should run a given job. Compute environments 10205 // must be in the VALID state before you can associate them with a job queue. 10206 // All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate 10207 // (FARGATE or FARGATE_SPOT). EC2 and Fargate compute environments can't be 10208 // mixed. 10209 // 10210 // All compute environments that are associated with a job queue must share 10211 // the same architecture. Batch doesn't support mixing compute environment architecture 10212 // types in a single job queue. 10213 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list"` 10214 10215 // The name or the Amazon Resource Name (ARN) of the job queue. 10216 // 10217 // JobQueue is a required field 10218 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 10219 10220 // The priority of the job queue. Job queues with a higher priority (or a higher 10221 // integer value for the priority parameter) are evaluated first when associated 10222 // with the same compute environment. Priority is determined in descending order, 10223 // for example, a job queue with a priority value of 10 is given scheduling 10224 // preference over a job queue with a priority value of 1. All of the compute 10225 // environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT). 10226 // EC2 and Fargate compute environments can't be mixed. 10227 Priority *int64 `locationName:"priority" type:"integer"` 10228 10229 // Amazon Resource Name (ARN) of the fair share scheduling policy. Once a job 10230 // queue is created, the fair share scheduling policy can be replaced but not 10231 // removed. The format is aws:Partition:batch:Region:Account:scheduling-policy/Name 10232 // . For example, aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy. 10233 SchedulingPolicyArn *string `locationName:"schedulingPolicyArn" type:"string"` 10234 10235 // Describes the queue's ability to accept new jobs. If the job queue state 10236 // is ENABLED, it can accept jobs. If the job queue state is DISABLED, new jobs 10237 // can't be added to the queue, but jobs already in the queue can finish. 10238 State *string `locationName:"state" type:"string" enum:"JQState"` 10239} 10240 10241// String returns the string representation. 10242// 10243// API parameter values that are decorated as "sensitive" in the API will not 10244// be included in the string output. The member name will be present, but the 10245// value will be replaced with "sensitive". 10246func (s UpdateJobQueueInput) String() string { 10247 return awsutil.Prettify(s) 10248} 10249 10250// GoString returns the string representation. 10251// 10252// API parameter values that are decorated as "sensitive" in the API will not 10253// be included in the string output. The member name will be present, but the 10254// value will be replaced with "sensitive". 10255func (s UpdateJobQueueInput) GoString() string { 10256 return s.String() 10257} 10258 10259// Validate inspects the fields of the type to determine if they are valid. 10260func (s *UpdateJobQueueInput) Validate() error { 10261 invalidParams := request.ErrInvalidParams{Context: "UpdateJobQueueInput"} 10262 if s.JobQueue == nil { 10263 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 10264 } 10265 if s.ComputeEnvironmentOrder != nil { 10266 for i, v := range s.ComputeEnvironmentOrder { 10267 if v == nil { 10268 continue 10269 } 10270 if err := v.Validate(); err != nil { 10271 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 10272 } 10273 } 10274 } 10275 10276 if invalidParams.Len() > 0 { 10277 return invalidParams 10278 } 10279 return nil 10280} 10281 10282// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 10283func (s *UpdateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *UpdateJobQueueInput { 10284 s.ComputeEnvironmentOrder = v 10285 return s 10286} 10287 10288// SetJobQueue sets the JobQueue field's value. 10289func (s *UpdateJobQueueInput) SetJobQueue(v string) *UpdateJobQueueInput { 10290 s.JobQueue = &v 10291 return s 10292} 10293 10294// SetPriority sets the Priority field's value. 10295func (s *UpdateJobQueueInput) SetPriority(v int64) *UpdateJobQueueInput { 10296 s.Priority = &v 10297 return s 10298} 10299 10300// SetSchedulingPolicyArn sets the SchedulingPolicyArn field's value. 10301func (s *UpdateJobQueueInput) SetSchedulingPolicyArn(v string) *UpdateJobQueueInput { 10302 s.SchedulingPolicyArn = &v 10303 return s 10304} 10305 10306// SetState sets the State field's value. 10307func (s *UpdateJobQueueInput) SetState(v string) *UpdateJobQueueInput { 10308 s.State = &v 10309 return s 10310} 10311 10312type UpdateJobQueueOutput struct { 10313 _ struct{} `type:"structure"` 10314 10315 // The Amazon Resource Name (ARN) of the job queue. 10316 JobQueueArn *string `locationName:"jobQueueArn" type:"string"` 10317 10318 // The name of the job queue. 10319 JobQueueName *string `locationName:"jobQueueName" type:"string"` 10320} 10321 10322// String returns the string representation. 10323// 10324// API parameter values that are decorated as "sensitive" in the API will not 10325// be included in the string output. The member name will be present, but the 10326// value will be replaced with "sensitive". 10327func (s UpdateJobQueueOutput) String() string { 10328 return awsutil.Prettify(s) 10329} 10330 10331// GoString returns the string representation. 10332// 10333// API parameter values that are decorated as "sensitive" in the API will not 10334// be included in the string output. The member name will be present, but the 10335// value will be replaced with "sensitive". 10336func (s UpdateJobQueueOutput) GoString() string { 10337 return s.String() 10338} 10339 10340// SetJobQueueArn sets the JobQueueArn field's value. 10341func (s *UpdateJobQueueOutput) SetJobQueueArn(v string) *UpdateJobQueueOutput { 10342 s.JobQueueArn = &v 10343 return s 10344} 10345 10346// SetJobQueueName sets the JobQueueName field's value. 10347func (s *UpdateJobQueueOutput) SetJobQueueName(v string) *UpdateJobQueueOutput { 10348 s.JobQueueName = &v 10349 return s 10350} 10351 10352type UpdateSchedulingPolicyInput struct { 10353 _ struct{} `type:"structure"` 10354 10355 // The Amazon Resource Name (ARN) of the scheduling policy to update. 10356 // 10357 // Arn is a required field 10358 Arn *string `locationName:"arn" type:"string" required:"true"` 10359 10360 // The fair share policy. 10361 FairsharePolicy *FairsharePolicy `locationName:"fairsharePolicy" type:"structure"` 10362} 10363 10364// String returns the string representation. 10365// 10366// API parameter values that are decorated as "sensitive" in the API will not 10367// be included in the string output. The member name will be present, but the 10368// value will be replaced with "sensitive". 10369func (s UpdateSchedulingPolicyInput) String() string { 10370 return awsutil.Prettify(s) 10371} 10372 10373// GoString returns the string representation. 10374// 10375// API parameter values that are decorated as "sensitive" in the API will not 10376// be included in the string output. The member name will be present, but the 10377// value will be replaced with "sensitive". 10378func (s UpdateSchedulingPolicyInput) GoString() string { 10379 return s.String() 10380} 10381 10382// Validate inspects the fields of the type to determine if they are valid. 10383func (s *UpdateSchedulingPolicyInput) Validate() error { 10384 invalidParams := request.ErrInvalidParams{Context: "UpdateSchedulingPolicyInput"} 10385 if s.Arn == nil { 10386 invalidParams.Add(request.NewErrParamRequired("Arn")) 10387 } 10388 if s.FairsharePolicy != nil { 10389 if err := s.FairsharePolicy.Validate(); err != nil { 10390 invalidParams.AddNested("FairsharePolicy", err.(request.ErrInvalidParams)) 10391 } 10392 } 10393 10394 if invalidParams.Len() > 0 { 10395 return invalidParams 10396 } 10397 return nil 10398} 10399 10400// SetArn sets the Arn field's value. 10401func (s *UpdateSchedulingPolicyInput) SetArn(v string) *UpdateSchedulingPolicyInput { 10402 s.Arn = &v 10403 return s 10404} 10405 10406// SetFairsharePolicy sets the FairsharePolicy field's value. 10407func (s *UpdateSchedulingPolicyInput) SetFairsharePolicy(v *FairsharePolicy) *UpdateSchedulingPolicyInput { 10408 s.FairsharePolicy = v 10409 return s 10410} 10411 10412type UpdateSchedulingPolicyOutput struct { 10413 _ struct{} `type:"structure"` 10414} 10415 10416// String returns the string representation. 10417// 10418// API parameter values that are decorated as "sensitive" in the API will not 10419// be included in the string output. The member name will be present, but the 10420// value will be replaced with "sensitive". 10421func (s UpdateSchedulingPolicyOutput) String() string { 10422 return awsutil.Prettify(s) 10423} 10424 10425// GoString returns the string representation. 10426// 10427// API parameter values that are decorated as "sensitive" in the API will not 10428// be included in the string output. The member name will be present, but the 10429// value will be replaced with "sensitive". 10430func (s UpdateSchedulingPolicyOutput) GoString() string { 10431 return s.String() 10432} 10433 10434// A data volume used in a job's container properties. 10435type Volume struct { 10436 _ struct{} `type:"structure"` 10437 10438 // This parameter is specified when you are using an Amazon Elastic File System 10439 // file system for job storage. Jobs that are running on Fargate resources must 10440 // specify a platformVersion of at least 1.4.0. 10441 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 10442 10443 // The contents of the host parameter determine whether your data volume persists 10444 // on the host container instance and where it is stored. If the host parameter 10445 // is empty, then the Docker daemon assigns a host path for your data volume. 10446 // However, the data isn't guaranteed to persist after the containers associated 10447 // with it stop running. 10448 // 10449 // This parameter isn't applicable to jobs that are running on Fargate resources 10450 // and shouldn't be provided. 10451 Host *Host `locationName:"host" type:"structure"` 10452 10453 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 10454 // hyphens, and underscores are allowed. This name is referenced in the sourceVolume 10455 // parameter of container definition mountPoints. 10456 Name *string `locationName:"name" type:"string"` 10457} 10458 10459// String returns the string representation. 10460// 10461// API parameter values that are decorated as "sensitive" in the API will not 10462// be included in the string output. The member name will be present, but the 10463// value will be replaced with "sensitive". 10464func (s Volume) String() string { 10465 return awsutil.Prettify(s) 10466} 10467 10468// GoString returns the string representation. 10469// 10470// API parameter values that are decorated as "sensitive" in the API will not 10471// be included in the string output. The member name will be present, but the 10472// value will be replaced with "sensitive". 10473func (s Volume) GoString() string { 10474 return s.String() 10475} 10476 10477// Validate inspects the fields of the type to determine if they are valid. 10478func (s *Volume) Validate() error { 10479 invalidParams := request.ErrInvalidParams{Context: "Volume"} 10480 if s.EfsVolumeConfiguration != nil { 10481 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 10482 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 10483 } 10484 } 10485 10486 if invalidParams.Len() > 0 { 10487 return invalidParams 10488 } 10489 return nil 10490} 10491 10492// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 10493func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 10494 s.EfsVolumeConfiguration = v 10495 return s 10496} 10497 10498// SetHost sets the Host field's value. 10499func (s *Volume) SetHost(v *Host) *Volume { 10500 s.Host = v 10501 return s 10502} 10503 10504// SetName sets the Name field's value. 10505func (s *Volume) SetName(v string) *Volume { 10506 s.Name = &v 10507 return s 10508} 10509 10510const ( 10511 // ArrayJobDependencyNToN is a ArrayJobDependency enum value 10512 ArrayJobDependencyNToN = "N_TO_N" 10513 10514 // ArrayJobDependencySequential is a ArrayJobDependency enum value 10515 ArrayJobDependencySequential = "SEQUENTIAL" 10516) 10517 10518// ArrayJobDependency_Values returns all elements of the ArrayJobDependency enum 10519func ArrayJobDependency_Values() []string { 10520 return []string{ 10521 ArrayJobDependencyNToN, 10522 ArrayJobDependencySequential, 10523 } 10524} 10525 10526const ( 10527 // AssignPublicIpEnabled is a AssignPublicIp enum value 10528 AssignPublicIpEnabled = "ENABLED" 10529 10530 // AssignPublicIpDisabled is a AssignPublicIp enum value 10531 AssignPublicIpDisabled = "DISABLED" 10532) 10533 10534// AssignPublicIp_Values returns all elements of the AssignPublicIp enum 10535func AssignPublicIp_Values() []string { 10536 return []string{ 10537 AssignPublicIpEnabled, 10538 AssignPublicIpDisabled, 10539 } 10540} 10541 10542const ( 10543 // CEStateEnabled is a CEState enum value 10544 CEStateEnabled = "ENABLED" 10545 10546 // CEStateDisabled is a CEState enum value 10547 CEStateDisabled = "DISABLED" 10548) 10549 10550// CEState_Values returns all elements of the CEState enum 10551func CEState_Values() []string { 10552 return []string{ 10553 CEStateEnabled, 10554 CEStateDisabled, 10555 } 10556} 10557 10558const ( 10559 // CEStatusCreating is a CEStatus enum value 10560 CEStatusCreating = "CREATING" 10561 10562 // CEStatusUpdating is a CEStatus enum value 10563 CEStatusUpdating = "UPDATING" 10564 10565 // CEStatusDeleting is a CEStatus enum value 10566 CEStatusDeleting = "DELETING" 10567 10568 // CEStatusDeleted is a CEStatus enum value 10569 CEStatusDeleted = "DELETED" 10570 10571 // CEStatusValid is a CEStatus enum value 10572 CEStatusValid = "VALID" 10573 10574 // CEStatusInvalid is a CEStatus enum value 10575 CEStatusInvalid = "INVALID" 10576) 10577 10578// CEStatus_Values returns all elements of the CEStatus enum 10579func CEStatus_Values() []string { 10580 return []string{ 10581 CEStatusCreating, 10582 CEStatusUpdating, 10583 CEStatusDeleting, 10584 CEStatusDeleted, 10585 CEStatusValid, 10586 CEStatusInvalid, 10587 } 10588} 10589 10590const ( 10591 // CETypeManaged is a CEType enum value 10592 CETypeManaged = "MANAGED" 10593 10594 // CETypeUnmanaged is a CEType enum value 10595 CETypeUnmanaged = "UNMANAGED" 10596) 10597 10598// CEType_Values returns all elements of the CEType enum 10599func CEType_Values() []string { 10600 return []string{ 10601 CETypeManaged, 10602 CETypeUnmanaged, 10603 } 10604} 10605 10606const ( 10607 // CRAllocationStrategyBestFit is a CRAllocationStrategy enum value 10608 CRAllocationStrategyBestFit = "BEST_FIT" 10609 10610 // CRAllocationStrategyBestFitProgressive is a CRAllocationStrategy enum value 10611 CRAllocationStrategyBestFitProgressive = "BEST_FIT_PROGRESSIVE" 10612 10613 // CRAllocationStrategySpotCapacityOptimized is a CRAllocationStrategy enum value 10614 CRAllocationStrategySpotCapacityOptimized = "SPOT_CAPACITY_OPTIMIZED" 10615) 10616 10617// CRAllocationStrategy_Values returns all elements of the CRAllocationStrategy enum 10618func CRAllocationStrategy_Values() []string { 10619 return []string{ 10620 CRAllocationStrategyBestFit, 10621 CRAllocationStrategyBestFitProgressive, 10622 CRAllocationStrategySpotCapacityOptimized, 10623 } 10624} 10625 10626const ( 10627 // CRTypeEc2 is a CRType enum value 10628 CRTypeEc2 = "EC2" 10629 10630 // CRTypeSpot is a CRType enum value 10631 CRTypeSpot = "SPOT" 10632 10633 // CRTypeFargate is a CRType enum value 10634 CRTypeFargate = "FARGATE" 10635 10636 // CRTypeFargateSpot is a CRType enum value 10637 CRTypeFargateSpot = "FARGATE_SPOT" 10638) 10639 10640// CRType_Values returns all elements of the CRType enum 10641func CRType_Values() []string { 10642 return []string{ 10643 CRTypeEc2, 10644 CRTypeSpot, 10645 CRTypeFargate, 10646 CRTypeFargateSpot, 10647 } 10648} 10649 10650const ( 10651 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 10652 DeviceCgroupPermissionRead = "READ" 10653 10654 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 10655 DeviceCgroupPermissionWrite = "WRITE" 10656 10657 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 10658 DeviceCgroupPermissionMknod = "MKNOD" 10659) 10660 10661// DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 10662func DeviceCgroupPermission_Values() []string { 10663 return []string{ 10664 DeviceCgroupPermissionRead, 10665 DeviceCgroupPermissionWrite, 10666 DeviceCgroupPermissionMknod, 10667 } 10668} 10669 10670const ( 10671 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 10672 EFSAuthorizationConfigIAMEnabled = "ENABLED" 10673 10674 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 10675 EFSAuthorizationConfigIAMDisabled = "DISABLED" 10676) 10677 10678// EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 10679func EFSAuthorizationConfigIAM_Values() []string { 10680 return []string{ 10681 EFSAuthorizationConfigIAMEnabled, 10682 EFSAuthorizationConfigIAMDisabled, 10683 } 10684} 10685 10686const ( 10687 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 10688 EFSTransitEncryptionEnabled = "ENABLED" 10689 10690 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 10691 EFSTransitEncryptionDisabled = "DISABLED" 10692) 10693 10694// EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 10695func EFSTransitEncryption_Values() []string { 10696 return []string{ 10697 EFSTransitEncryptionEnabled, 10698 EFSTransitEncryptionDisabled, 10699 } 10700} 10701 10702const ( 10703 // JQStateEnabled is a JQState enum value 10704 JQStateEnabled = "ENABLED" 10705 10706 // JQStateDisabled is a JQState enum value 10707 JQStateDisabled = "DISABLED" 10708) 10709 10710// JQState_Values returns all elements of the JQState enum 10711func JQState_Values() []string { 10712 return []string{ 10713 JQStateEnabled, 10714 JQStateDisabled, 10715 } 10716} 10717 10718const ( 10719 // JQStatusCreating is a JQStatus enum value 10720 JQStatusCreating = "CREATING" 10721 10722 // JQStatusUpdating is a JQStatus enum value 10723 JQStatusUpdating = "UPDATING" 10724 10725 // JQStatusDeleting is a JQStatus enum value 10726 JQStatusDeleting = "DELETING" 10727 10728 // JQStatusDeleted is a JQStatus enum value 10729 JQStatusDeleted = "DELETED" 10730 10731 // JQStatusValid is a JQStatus enum value 10732 JQStatusValid = "VALID" 10733 10734 // JQStatusInvalid is a JQStatus enum value 10735 JQStatusInvalid = "INVALID" 10736) 10737 10738// JQStatus_Values returns all elements of the JQStatus enum 10739func JQStatus_Values() []string { 10740 return []string{ 10741 JQStatusCreating, 10742 JQStatusUpdating, 10743 JQStatusDeleting, 10744 JQStatusDeleted, 10745 JQStatusValid, 10746 JQStatusInvalid, 10747 } 10748} 10749 10750const ( 10751 // JobDefinitionTypeContainer is a JobDefinitionType enum value 10752 JobDefinitionTypeContainer = "container" 10753 10754 // JobDefinitionTypeMultinode is a JobDefinitionType enum value 10755 JobDefinitionTypeMultinode = "multinode" 10756) 10757 10758// JobDefinitionType_Values returns all elements of the JobDefinitionType enum 10759func JobDefinitionType_Values() []string { 10760 return []string{ 10761 JobDefinitionTypeContainer, 10762 JobDefinitionTypeMultinode, 10763 } 10764} 10765 10766const ( 10767 // JobStatusSubmitted is a JobStatus enum value 10768 JobStatusSubmitted = "SUBMITTED" 10769 10770 // JobStatusPending is a JobStatus enum value 10771 JobStatusPending = "PENDING" 10772 10773 // JobStatusRunnable is a JobStatus enum value 10774 JobStatusRunnable = "RUNNABLE" 10775 10776 // JobStatusStarting is a JobStatus enum value 10777 JobStatusStarting = "STARTING" 10778 10779 // JobStatusRunning is a JobStatus enum value 10780 JobStatusRunning = "RUNNING" 10781 10782 // JobStatusSucceeded is a JobStatus enum value 10783 JobStatusSucceeded = "SUCCEEDED" 10784 10785 // JobStatusFailed is a JobStatus enum value 10786 JobStatusFailed = "FAILED" 10787) 10788 10789// JobStatus_Values returns all elements of the JobStatus enum 10790func JobStatus_Values() []string { 10791 return []string{ 10792 JobStatusSubmitted, 10793 JobStatusPending, 10794 JobStatusRunnable, 10795 JobStatusStarting, 10796 JobStatusRunning, 10797 JobStatusSucceeded, 10798 JobStatusFailed, 10799 } 10800} 10801 10802const ( 10803 // LogDriverJsonFile is a LogDriver enum value 10804 LogDriverJsonFile = "json-file" 10805 10806 // LogDriverSyslog is a LogDriver enum value 10807 LogDriverSyslog = "syslog" 10808 10809 // LogDriverJournald is a LogDriver enum value 10810 LogDriverJournald = "journald" 10811 10812 // LogDriverGelf is a LogDriver enum value 10813 LogDriverGelf = "gelf" 10814 10815 // LogDriverFluentd is a LogDriver enum value 10816 LogDriverFluentd = "fluentd" 10817 10818 // LogDriverAwslogs is a LogDriver enum value 10819 LogDriverAwslogs = "awslogs" 10820 10821 // LogDriverSplunk is a LogDriver enum value 10822 LogDriverSplunk = "splunk" 10823) 10824 10825// LogDriver_Values returns all elements of the LogDriver enum 10826func LogDriver_Values() []string { 10827 return []string{ 10828 LogDriverJsonFile, 10829 LogDriverSyslog, 10830 LogDriverJournald, 10831 LogDriverGelf, 10832 LogDriverFluentd, 10833 LogDriverAwslogs, 10834 LogDriverSplunk, 10835 } 10836} 10837 10838const ( 10839 // PlatformCapabilityEc2 is a PlatformCapability enum value 10840 PlatformCapabilityEc2 = "EC2" 10841 10842 // PlatformCapabilityFargate is a PlatformCapability enum value 10843 PlatformCapabilityFargate = "FARGATE" 10844) 10845 10846// PlatformCapability_Values returns all elements of the PlatformCapability enum 10847func PlatformCapability_Values() []string { 10848 return []string{ 10849 PlatformCapabilityEc2, 10850 PlatformCapabilityFargate, 10851 } 10852} 10853 10854const ( 10855 // ResourceTypeGpu is a ResourceType enum value 10856 ResourceTypeGpu = "GPU" 10857 10858 // ResourceTypeVcpu is a ResourceType enum value 10859 ResourceTypeVcpu = "VCPU" 10860 10861 // ResourceTypeMemory is a ResourceType enum value 10862 ResourceTypeMemory = "MEMORY" 10863) 10864 10865// ResourceType_Values returns all elements of the ResourceType enum 10866func ResourceType_Values() []string { 10867 return []string{ 10868 ResourceTypeGpu, 10869 ResourceTypeVcpu, 10870 ResourceTypeMemory, 10871 } 10872} 10873 10874const ( 10875 // RetryActionRetry is a RetryAction enum value 10876 RetryActionRetry = "RETRY" 10877 10878 // RetryActionExit is a RetryAction enum value 10879 RetryActionExit = "EXIT" 10880) 10881 10882// RetryAction_Values returns all elements of the RetryAction enum 10883func RetryAction_Values() []string { 10884 return []string{ 10885 RetryActionRetry, 10886 RetryActionExit, 10887 } 10888} 10889