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