1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package batch 4 5import ( 6 "fmt" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/aws/awsutil" 10 "github.com/aws/aws-sdk-go/aws/request" 11 "github.com/aws/aws-sdk-go/private/protocol" 12 "github.com/aws/aws-sdk-go/private/protocol/restjson" 13) 14 15const opCancelJob = "CancelJob" 16 17// CancelJobRequest generates a "aws/request.Request" representing the 18// client's request for the CancelJob operation. The "output" return 19// value will be populated with the request's response once the request completes 20// successfully. 21// 22// Use "Send" method on the returned Request to send the API call to the service. 23// the "output" return value is not valid until after Send returns without error. 24// 25// See CancelJob for more information on using the CancelJob 26// API call, and error handling. 27// 28// This method is useful when you want to inject custom logic or configuration 29// into the SDK's request lifecycle. Such as custom headers, or retry logic. 30// 31// 32// // Example sending a request using the CancelJobRequest method. 33// req, resp := client.CancelJobRequest(params) 34// 35// err := req.Send() 36// if err == nil { // resp is now filled 37// fmt.Println(resp) 38// } 39// 40// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob 41func (c *Batch) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { 42 op := &request.Operation{ 43 Name: opCancelJob, 44 HTTPMethod: "POST", 45 HTTPPath: "/v1/canceljob", 46 } 47 48 if input == nil { 49 input = &CancelJobInput{} 50 } 51 52 output = &CancelJobOutput{} 53 req = c.newRequest(op, input, output) 54 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 55 return 56} 57 58// CancelJob API operation for AWS Batch. 59// 60// Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, 61// PENDING, or RUNNABLE state are cancelled. Jobs that have progressed to STARTING 62// or RUNNING are not cancelled (but the API operation still succeeds, even 63// if no job is cancelled); these jobs must be terminated with the TerminateJob 64// operation. 65// 66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 67// with awserr.Error's Code and Message methods to get detailed information about 68// the error. 69// 70// See the AWS API reference guide for AWS Batch's 71// API operation CancelJob for usage and error information. 72// 73// Returned Error Codes: 74// * ErrCodeClientException "ClientException" 75// These errors are usually caused by a client action, such as using an action 76// or resource on behalf of a user that doesn't have permissions to use the 77// action or resource, or specifying an identifier that is not valid. 78// 79// * ErrCodeServerException "ServerException" 80// These errors are usually caused by a server issue. 81// 82// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob 83func (c *Batch) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { 84 req, out := c.CancelJobRequest(input) 85 return out, req.Send() 86} 87 88// CancelJobWithContext is the same as CancelJob with the addition of 89// the ability to pass a context and additional request options. 90// 91// See CancelJob for details on how to use this API operation. 92// 93// The context must be non-nil and will be used for request cancellation. If 94// the context is nil a panic will occur. In the future the SDK may create 95// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 96// for more information on using Contexts. 97func (c *Batch) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) { 98 req, out := c.CancelJobRequest(input) 99 req.SetContext(ctx) 100 req.ApplyOptions(opts...) 101 return out, req.Send() 102} 103 104const opCreateComputeEnvironment = "CreateComputeEnvironment" 105 106// CreateComputeEnvironmentRequest generates a "aws/request.Request" representing the 107// client's request for the CreateComputeEnvironment operation. The "output" return 108// value will be populated with the request's response once the request completes 109// successfully. 110// 111// Use "Send" method on the returned Request to send the API call to the service. 112// the "output" return value is not valid until after Send returns without error. 113// 114// See CreateComputeEnvironment for more information on using the CreateComputeEnvironment 115// API call, and error handling. 116// 117// This method is useful when you want to inject custom logic or configuration 118// into the SDK's request lifecycle. Such as custom headers, or retry logic. 119// 120// 121// // Example sending a request using the CreateComputeEnvironmentRequest method. 122// req, resp := client.CreateComputeEnvironmentRequest(params) 123// 124// err := req.Send() 125// if err == nil { // resp is now filled 126// fmt.Println(resp) 127// } 128// 129// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment 130func (c *Batch) CreateComputeEnvironmentRequest(input *CreateComputeEnvironmentInput) (req *request.Request, output *CreateComputeEnvironmentOutput) { 131 op := &request.Operation{ 132 Name: opCreateComputeEnvironment, 133 HTTPMethod: "POST", 134 HTTPPath: "/v1/createcomputeenvironment", 135 } 136 137 if input == nil { 138 input = &CreateComputeEnvironmentInput{} 139 } 140 141 output = &CreateComputeEnvironmentOutput{} 142 req = c.newRequest(op, input, output) 143 return 144} 145 146// CreateComputeEnvironment API operation for AWS Batch. 147// 148// Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED 149// compute environments. 150// 151// In a managed compute environment, AWS Batch manages the capacity and instance 152// types of the compute resources within the environment. This is based on the 153// compute resource specification that you define or the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) 154// that you specify when you create the compute environment. You can choose 155// to use Amazon EC2 On-Demand Instances or Spot Instances in your managed compute 156// environment. You can optionally set a maximum price so that Spot Instances 157// only launch when the Spot Instance price is below a specified percentage 158// of the On-Demand price. 159// 160// Multi-node parallel jobs are not supported on Spot Instances. 161// 162// In an unmanaged compute environment, you can manage your own compute resources. 163// This provides more compute resource configuration options, such as using 164// a custom AMI, but you must ensure that your AMI meets the Amazon ECS container 165// instance AMI specification. For more information, see Container Instance 166// AMIs (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) 167// in the Amazon Elastic Container Service Developer Guide. After you have created 168// your unmanaged compute environment, you can use the DescribeComputeEnvironments 169// operation to find the Amazon ECS cluster that is associated with it. Then, 170// manually launch your container instances into that Amazon ECS cluster. For 171// more information, see Launching an Amazon ECS Container Instance (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) 172// in the Amazon Elastic Container Service Developer Guide. 173// 174// AWS Batch does not upgrade the AMIs in a compute environment after it is 175// created (for example, when a newer version of the Amazon ECS-optimized AMI 176// is available). You are responsible for the management of the guest operating 177// system (including updates and security patches) and any additional application 178// software or utilities that you install on the compute resources. To use a 179// new AMI for your AWS Batch jobs: 180// 181// Create a new compute environment with the new AMI. 182// 183// Add the compute environment to an existing job queue. 184// 185// Remove the old compute environment from your job queue. 186// 187// Delete the old compute environment. 188// 189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 190// with awserr.Error's Code and Message methods to get detailed information about 191// the error. 192// 193// See the AWS API reference guide for AWS Batch's 194// API operation CreateComputeEnvironment for usage and error information. 195// 196// Returned Error Codes: 197// * ErrCodeClientException "ClientException" 198// These errors are usually caused by a client action, such as using an action 199// or resource on behalf of a user that doesn't have permissions to use the 200// action or resource, or specifying an identifier that is not valid. 201// 202// * ErrCodeServerException "ServerException" 203// These errors are usually caused by a server issue. 204// 205// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment 206func (c *Batch) CreateComputeEnvironment(input *CreateComputeEnvironmentInput) (*CreateComputeEnvironmentOutput, error) { 207 req, out := c.CreateComputeEnvironmentRequest(input) 208 return out, req.Send() 209} 210 211// CreateComputeEnvironmentWithContext is the same as CreateComputeEnvironment with the addition of 212// the ability to pass a context and additional request options. 213// 214// See CreateComputeEnvironment for details on how to use this API operation. 215// 216// The context must be non-nil and will be used for request cancellation. If 217// the context is nil a panic will occur. In the future the SDK may create 218// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 219// for more information on using Contexts. 220func (c *Batch) CreateComputeEnvironmentWithContext(ctx aws.Context, input *CreateComputeEnvironmentInput, opts ...request.Option) (*CreateComputeEnvironmentOutput, error) { 221 req, out := c.CreateComputeEnvironmentRequest(input) 222 req.SetContext(ctx) 223 req.ApplyOptions(opts...) 224 return out, req.Send() 225} 226 227const opCreateJobQueue = "CreateJobQueue" 228 229// CreateJobQueueRequest generates a "aws/request.Request" representing the 230// client's request for the CreateJobQueue operation. The "output" return 231// value will be populated with the request's response once the request completes 232// successfully. 233// 234// Use "Send" method on the returned Request to send the API call to the service. 235// the "output" return value is not valid until after Send returns without error. 236// 237// See CreateJobQueue for more information on using the CreateJobQueue 238// API call, and error handling. 239// 240// This method is useful when you want to inject custom logic or configuration 241// into the SDK's request lifecycle. Such as custom headers, or retry logic. 242// 243// 244// // Example sending a request using the CreateJobQueueRequest method. 245// req, resp := client.CreateJobQueueRequest(params) 246// 247// err := req.Send() 248// if err == nil { // resp is now filled 249// fmt.Println(resp) 250// } 251// 252// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue 253func (c *Batch) CreateJobQueueRequest(input *CreateJobQueueInput) (req *request.Request, output *CreateJobQueueOutput) { 254 op := &request.Operation{ 255 Name: opCreateJobQueue, 256 HTTPMethod: "POST", 257 HTTPPath: "/v1/createjobqueue", 258 } 259 260 if input == nil { 261 input = &CreateJobQueueInput{} 262 } 263 264 output = &CreateJobQueueOutput{} 265 req = c.newRequest(op, input, output) 266 return 267} 268 269// CreateJobQueue API operation for AWS Batch. 270// 271// Creates an AWS Batch job queue. When you create a job queue, you associate 272// one or more compute environments to the queue and assign an order of preference 273// for the compute environments. 274// 275// You also set a priority to the job queue that determines the order in which 276// the AWS Batch scheduler places jobs onto its associated compute environments. 277// For example, if a compute environment is associated with more than one job 278// queue, the job queue with a higher priority is given preference for scheduling 279// jobs to that compute environment. 280// 281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 282// with awserr.Error's Code and Message methods to get detailed information about 283// the error. 284// 285// See the AWS API reference guide for AWS Batch's 286// API operation CreateJobQueue for usage and error information. 287// 288// Returned Error Codes: 289// * ErrCodeClientException "ClientException" 290// These errors are usually caused by a client action, such as using an action 291// or resource on behalf of a user that doesn't have permissions to use the 292// action or resource, or specifying an identifier that is not valid. 293// 294// * ErrCodeServerException "ServerException" 295// These errors are usually caused by a server issue. 296// 297// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue 298func (c *Batch) CreateJobQueue(input *CreateJobQueueInput) (*CreateJobQueueOutput, error) { 299 req, out := c.CreateJobQueueRequest(input) 300 return out, req.Send() 301} 302 303// CreateJobQueueWithContext is the same as CreateJobQueue with the addition of 304// the ability to pass a context and additional request options. 305// 306// See CreateJobQueue for details on how to use this API operation. 307// 308// The context must be non-nil and will be used for request cancellation. If 309// the context is nil a panic will occur. In the future the SDK may create 310// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 311// for more information on using Contexts. 312func (c *Batch) CreateJobQueueWithContext(ctx aws.Context, input *CreateJobQueueInput, opts ...request.Option) (*CreateJobQueueOutput, error) { 313 req, out := c.CreateJobQueueRequest(input) 314 req.SetContext(ctx) 315 req.ApplyOptions(opts...) 316 return out, req.Send() 317} 318 319const opDeleteComputeEnvironment = "DeleteComputeEnvironment" 320 321// DeleteComputeEnvironmentRequest generates a "aws/request.Request" representing the 322// client's request for the DeleteComputeEnvironment operation. The "output" return 323// value will be populated with the request's response once the request completes 324// successfully. 325// 326// Use "Send" method on the returned Request to send the API call to the service. 327// the "output" return value is not valid until after Send returns without error. 328// 329// See DeleteComputeEnvironment for more information on using the DeleteComputeEnvironment 330// API call, and error handling. 331// 332// This method is useful when you want to inject custom logic or configuration 333// into the SDK's request lifecycle. Such as custom headers, or retry logic. 334// 335// 336// // Example sending a request using the DeleteComputeEnvironmentRequest method. 337// req, resp := client.DeleteComputeEnvironmentRequest(params) 338// 339// err := req.Send() 340// if err == nil { // resp is now filled 341// fmt.Println(resp) 342// } 343// 344// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 345func (c *Batch) DeleteComputeEnvironmentRequest(input *DeleteComputeEnvironmentInput) (req *request.Request, output *DeleteComputeEnvironmentOutput) { 346 op := &request.Operation{ 347 Name: opDeleteComputeEnvironment, 348 HTTPMethod: "POST", 349 HTTPPath: "/v1/deletecomputeenvironment", 350 } 351 352 if input == nil { 353 input = &DeleteComputeEnvironmentInput{} 354 } 355 356 output = &DeleteComputeEnvironmentOutput{} 357 req = c.newRequest(op, input, output) 358 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 359 return 360} 361 362// DeleteComputeEnvironment API operation for AWS Batch. 363// 364// Deletes an AWS Batch compute environment. 365// 366// Before you can delete a compute environment, you must set its state to DISABLED 367// with the UpdateComputeEnvironment API operation and disassociate it from 368// any job queues with the UpdateJobQueue API operation. 369// 370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 371// with awserr.Error's Code and Message methods to get detailed information about 372// the error. 373// 374// See the AWS API reference guide for AWS Batch's 375// API operation DeleteComputeEnvironment for usage and error information. 376// 377// Returned Error Codes: 378// * ErrCodeClientException "ClientException" 379// These errors are usually caused by a client action, such as using an action 380// or resource on behalf of a user that doesn't have permissions to use the 381// action or resource, or specifying an identifier that is not valid. 382// 383// * ErrCodeServerException "ServerException" 384// These errors are usually caused by a server issue. 385// 386// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment 387func (c *Batch) DeleteComputeEnvironment(input *DeleteComputeEnvironmentInput) (*DeleteComputeEnvironmentOutput, error) { 388 req, out := c.DeleteComputeEnvironmentRequest(input) 389 return out, req.Send() 390} 391 392// DeleteComputeEnvironmentWithContext is the same as DeleteComputeEnvironment with the addition of 393// the ability to pass a context and additional request options. 394// 395// See DeleteComputeEnvironment for details on how to use this API operation. 396// 397// The context must be non-nil and will be used for request cancellation. If 398// the context is nil a panic will occur. In the future the SDK may create 399// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 400// for more information on using Contexts. 401func (c *Batch) DeleteComputeEnvironmentWithContext(ctx aws.Context, input *DeleteComputeEnvironmentInput, opts ...request.Option) (*DeleteComputeEnvironmentOutput, error) { 402 req, out := c.DeleteComputeEnvironmentRequest(input) 403 req.SetContext(ctx) 404 req.ApplyOptions(opts...) 405 return out, req.Send() 406} 407 408const opDeleteJobQueue = "DeleteJobQueue" 409 410// DeleteJobQueueRequest generates a "aws/request.Request" representing the 411// client's request for the DeleteJobQueue operation. The "output" return 412// value will be populated with the request's response once the request completes 413// successfully. 414// 415// Use "Send" method on the returned Request to send the API call to the service. 416// the "output" return value is not valid until after Send returns without error. 417// 418// See DeleteJobQueue for more information on using the DeleteJobQueue 419// API call, and error handling. 420// 421// This method is useful when you want to inject custom logic or configuration 422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 423// 424// 425// // Example sending a request using the DeleteJobQueueRequest method. 426// req, resp := client.DeleteJobQueueRequest(params) 427// 428// err := req.Send() 429// if err == nil { // resp is now filled 430// fmt.Println(resp) 431// } 432// 433// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 434func (c *Batch) DeleteJobQueueRequest(input *DeleteJobQueueInput) (req *request.Request, output *DeleteJobQueueOutput) { 435 op := &request.Operation{ 436 Name: opDeleteJobQueue, 437 HTTPMethod: "POST", 438 HTTPPath: "/v1/deletejobqueue", 439 } 440 441 if input == nil { 442 input = &DeleteJobQueueInput{} 443 } 444 445 output = &DeleteJobQueueOutput{} 446 req = c.newRequest(op, input, output) 447 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 448 return 449} 450 451// DeleteJobQueue API operation for AWS Batch. 452// 453// Deletes the specified job queue. You must first disable submissions for a 454// queue with the UpdateJobQueue operation. All jobs in the queue are terminated 455// when you delete a job queue. 456// 457// It is not necessary to disassociate compute environments from a queue before 458// submitting a DeleteJobQueue request. 459// 460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 461// with awserr.Error's Code and Message methods to get detailed information about 462// the error. 463// 464// See the AWS API reference guide for AWS Batch's 465// API operation DeleteJobQueue for usage and error information. 466// 467// Returned Error Codes: 468// * ErrCodeClientException "ClientException" 469// These errors are usually caused by a client action, such as using an action 470// or resource on behalf of a user that doesn't have permissions to use the 471// action or resource, or specifying an identifier that is not valid. 472// 473// * ErrCodeServerException "ServerException" 474// These errors are usually caused by a server issue. 475// 476// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue 477func (c *Batch) DeleteJobQueue(input *DeleteJobQueueInput) (*DeleteJobQueueOutput, error) { 478 req, out := c.DeleteJobQueueRequest(input) 479 return out, req.Send() 480} 481 482// DeleteJobQueueWithContext is the same as DeleteJobQueue with the addition of 483// the ability to pass a context and additional request options. 484// 485// See DeleteJobQueue for details on how to use this API operation. 486// 487// The context must be non-nil and will be used for request cancellation. If 488// the context is nil a panic will occur. In the future the SDK may create 489// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 490// for more information on using Contexts. 491func (c *Batch) DeleteJobQueueWithContext(ctx aws.Context, input *DeleteJobQueueInput, opts ...request.Option) (*DeleteJobQueueOutput, error) { 492 req, out := c.DeleteJobQueueRequest(input) 493 req.SetContext(ctx) 494 req.ApplyOptions(opts...) 495 return out, req.Send() 496} 497 498const opDeregisterJobDefinition = "DeregisterJobDefinition" 499 500// DeregisterJobDefinitionRequest generates a "aws/request.Request" representing the 501// client's request for the DeregisterJobDefinition operation. The "output" return 502// value will be populated with the request's response once the request completes 503// successfully. 504// 505// Use "Send" method on the returned Request to send the API call to the service. 506// the "output" return value is not valid until after Send returns without error. 507// 508// See DeregisterJobDefinition for more information on using the DeregisterJobDefinition 509// API call, and error handling. 510// 511// This method is useful when you want to inject custom logic or configuration 512// into the SDK's request lifecycle. Such as custom headers, or retry logic. 513// 514// 515// // Example sending a request using the DeregisterJobDefinitionRequest method. 516// req, resp := client.DeregisterJobDefinitionRequest(params) 517// 518// err := req.Send() 519// if err == nil { // resp is now filled 520// fmt.Println(resp) 521// } 522// 523// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 524func (c *Batch) DeregisterJobDefinitionRequest(input *DeregisterJobDefinitionInput) (req *request.Request, output *DeregisterJobDefinitionOutput) { 525 op := &request.Operation{ 526 Name: opDeregisterJobDefinition, 527 HTTPMethod: "POST", 528 HTTPPath: "/v1/deregisterjobdefinition", 529 } 530 531 if input == nil { 532 input = &DeregisterJobDefinitionInput{} 533 } 534 535 output = &DeregisterJobDefinitionOutput{} 536 req = c.newRequest(op, input, output) 537 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 538 return 539} 540 541// DeregisterJobDefinition API operation for AWS Batch. 542// 543// Deregisters an AWS Batch job definition. 544// 545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 546// with awserr.Error's Code and Message methods to get detailed information about 547// the error. 548// 549// See the AWS API reference guide for AWS Batch's 550// API operation DeregisterJobDefinition for usage and error information. 551// 552// Returned Error Codes: 553// * ErrCodeClientException "ClientException" 554// These errors are usually caused by a client action, such as using an action 555// or resource on behalf of a user that doesn't have permissions to use the 556// action or resource, or specifying an identifier that is not valid. 557// 558// * ErrCodeServerException "ServerException" 559// These errors are usually caused by a server issue. 560// 561// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition 562func (c *Batch) DeregisterJobDefinition(input *DeregisterJobDefinitionInput) (*DeregisterJobDefinitionOutput, error) { 563 req, out := c.DeregisterJobDefinitionRequest(input) 564 return out, req.Send() 565} 566 567// DeregisterJobDefinitionWithContext is the same as DeregisterJobDefinition with the addition of 568// the ability to pass a context and additional request options. 569// 570// See DeregisterJobDefinition for details on how to use this API operation. 571// 572// The context must be non-nil and will be used for request cancellation. If 573// the context is nil a panic will occur. In the future the SDK may create 574// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 575// for more information on using Contexts. 576func (c *Batch) DeregisterJobDefinitionWithContext(ctx aws.Context, input *DeregisterJobDefinitionInput, opts ...request.Option) (*DeregisterJobDefinitionOutput, error) { 577 req, out := c.DeregisterJobDefinitionRequest(input) 578 req.SetContext(ctx) 579 req.ApplyOptions(opts...) 580 return out, req.Send() 581} 582 583const opDescribeComputeEnvironments = "DescribeComputeEnvironments" 584 585// DescribeComputeEnvironmentsRequest generates a "aws/request.Request" representing the 586// client's request for the DescribeComputeEnvironments operation. The "output" return 587// value will be populated with the request's response once the request completes 588// successfully. 589// 590// Use "Send" method on the returned Request to send the API call to the service. 591// the "output" return value is not valid until after Send returns without error. 592// 593// See DescribeComputeEnvironments for more information on using the DescribeComputeEnvironments 594// API call, and error handling. 595// 596// This method is useful when you want to inject custom logic or configuration 597// into the SDK's request lifecycle. Such as custom headers, or retry logic. 598// 599// 600// // Example sending a request using the DescribeComputeEnvironmentsRequest method. 601// req, resp := client.DescribeComputeEnvironmentsRequest(params) 602// 603// err := req.Send() 604// if err == nil { // resp is now filled 605// fmt.Println(resp) 606// } 607// 608// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 609func (c *Batch) DescribeComputeEnvironmentsRequest(input *DescribeComputeEnvironmentsInput) (req *request.Request, output *DescribeComputeEnvironmentsOutput) { 610 op := &request.Operation{ 611 Name: opDescribeComputeEnvironments, 612 HTTPMethod: "POST", 613 HTTPPath: "/v1/describecomputeenvironments", 614 Paginator: &request.Paginator{ 615 InputTokens: []string{"nextToken"}, 616 OutputTokens: []string{"nextToken"}, 617 LimitToken: "maxResults", 618 TruncationToken: "", 619 }, 620 } 621 622 if input == nil { 623 input = &DescribeComputeEnvironmentsInput{} 624 } 625 626 output = &DescribeComputeEnvironmentsOutput{} 627 req = c.newRequest(op, input, output) 628 return 629} 630 631// DescribeComputeEnvironments API operation for AWS Batch. 632// 633// Describes one or more of your compute environments. 634// 635// If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment 636// operation to determine the ecsClusterArn that you should launch your Amazon 637// ECS container instances into. 638// 639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 640// with awserr.Error's Code and Message methods to get detailed information about 641// the error. 642// 643// See the AWS API reference guide for AWS Batch's 644// API operation DescribeComputeEnvironments for usage and error information. 645// 646// Returned Error Codes: 647// * ErrCodeClientException "ClientException" 648// These errors are usually caused by a client action, such as using an action 649// or resource on behalf of a user that doesn't have permissions to use the 650// action or resource, or specifying an identifier that is not valid. 651// 652// * ErrCodeServerException "ServerException" 653// These errors are usually caused by a server issue. 654// 655// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments 656func (c *Batch) DescribeComputeEnvironments(input *DescribeComputeEnvironmentsInput) (*DescribeComputeEnvironmentsOutput, error) { 657 req, out := c.DescribeComputeEnvironmentsRequest(input) 658 return out, req.Send() 659} 660 661// DescribeComputeEnvironmentsWithContext is the same as DescribeComputeEnvironments with the addition of 662// the ability to pass a context and additional request options. 663// 664// See DescribeComputeEnvironments for details on how to use this API operation. 665// 666// The context must be non-nil and will be used for request cancellation. If 667// the context is nil a panic will occur. In the future the SDK may create 668// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 669// for more information on using Contexts. 670func (c *Batch) DescribeComputeEnvironmentsWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, opts ...request.Option) (*DescribeComputeEnvironmentsOutput, error) { 671 req, out := c.DescribeComputeEnvironmentsRequest(input) 672 req.SetContext(ctx) 673 req.ApplyOptions(opts...) 674 return out, req.Send() 675} 676 677// DescribeComputeEnvironmentsPages iterates over the pages of a DescribeComputeEnvironments operation, 678// calling the "fn" function with the response data for each page. To stop 679// iterating, return false from the fn function. 680// 681// See DescribeComputeEnvironments method for more information on how to use this operation. 682// 683// Note: This operation can generate multiple requests to a service. 684// 685// // Example iterating over at most 3 pages of a DescribeComputeEnvironments operation. 686// pageNum := 0 687// err := client.DescribeComputeEnvironmentsPages(params, 688// func(page *batch.DescribeComputeEnvironmentsOutput, lastPage bool) bool { 689// pageNum++ 690// fmt.Println(page) 691// return pageNum <= 3 692// }) 693// 694func (c *Batch) DescribeComputeEnvironmentsPages(input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool) error { 695 return c.DescribeComputeEnvironmentsPagesWithContext(aws.BackgroundContext(), input, fn) 696} 697 698// DescribeComputeEnvironmentsPagesWithContext same as DescribeComputeEnvironmentsPages except 699// it takes a Context and allows setting request options on the pages. 700// 701// The context must be non-nil and will be used for request cancellation. If 702// the context is nil a panic will occur. In the future the SDK may create 703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 704// for more information on using Contexts. 705func (c *Batch) DescribeComputeEnvironmentsPagesWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool, opts ...request.Option) error { 706 p := request.Pagination{ 707 NewRequest: func() (*request.Request, error) { 708 var inCpy *DescribeComputeEnvironmentsInput 709 if input != nil { 710 tmp := *input 711 inCpy = &tmp 712 } 713 req, _ := c.DescribeComputeEnvironmentsRequest(inCpy) 714 req.SetContext(ctx) 715 req.ApplyOptions(opts...) 716 return req, nil 717 }, 718 } 719 720 cont := true 721 for p.Next() && cont { 722 cont = fn(p.Page().(*DescribeComputeEnvironmentsOutput), !p.HasNextPage()) 723 } 724 return p.Err() 725} 726 727const opDescribeJobDefinitions = "DescribeJobDefinitions" 728 729// DescribeJobDefinitionsRequest generates a "aws/request.Request" representing the 730// client's request for the DescribeJobDefinitions operation. The "output" return 731// value will be populated with the request's response once the request completes 732// successfully. 733// 734// Use "Send" method on the returned Request to send the API call to the service. 735// the "output" return value is not valid until after Send returns without error. 736// 737// See DescribeJobDefinitions for more information on using the DescribeJobDefinitions 738// API call, and error handling. 739// 740// This method is useful when you want to inject custom logic or configuration 741// into the SDK's request lifecycle. Such as custom headers, or retry logic. 742// 743// 744// // Example sending a request using the DescribeJobDefinitionsRequest method. 745// req, resp := client.DescribeJobDefinitionsRequest(params) 746// 747// err := req.Send() 748// if err == nil { // resp is now filled 749// fmt.Println(resp) 750// } 751// 752// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 753func (c *Batch) DescribeJobDefinitionsRequest(input *DescribeJobDefinitionsInput) (req *request.Request, output *DescribeJobDefinitionsOutput) { 754 op := &request.Operation{ 755 Name: opDescribeJobDefinitions, 756 HTTPMethod: "POST", 757 HTTPPath: "/v1/describejobdefinitions", 758 Paginator: &request.Paginator{ 759 InputTokens: []string{"nextToken"}, 760 OutputTokens: []string{"nextToken"}, 761 LimitToken: "maxResults", 762 TruncationToken: "", 763 }, 764 } 765 766 if input == nil { 767 input = &DescribeJobDefinitionsInput{} 768 } 769 770 output = &DescribeJobDefinitionsOutput{} 771 req = c.newRequest(op, input, output) 772 return 773} 774 775// DescribeJobDefinitions API operation for AWS Batch. 776// 777// Describes a list of job definitions. You can specify a status (such as ACTIVE) 778// to only return job definitions that match that status. 779// 780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 781// with awserr.Error's Code and Message methods to get detailed information about 782// the error. 783// 784// See the AWS API reference guide for AWS Batch's 785// API operation DescribeJobDefinitions for usage and error information. 786// 787// Returned Error Codes: 788// * ErrCodeClientException "ClientException" 789// These errors are usually caused by a client action, such as using an action 790// or resource on behalf of a user that doesn't have permissions to use the 791// action or resource, or specifying an identifier that is not valid. 792// 793// * ErrCodeServerException "ServerException" 794// These errors are usually caused by a server issue. 795// 796// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions 797func (c *Batch) DescribeJobDefinitions(input *DescribeJobDefinitionsInput) (*DescribeJobDefinitionsOutput, error) { 798 req, out := c.DescribeJobDefinitionsRequest(input) 799 return out, req.Send() 800} 801 802// DescribeJobDefinitionsWithContext is the same as DescribeJobDefinitions with the addition of 803// the ability to pass a context and additional request options. 804// 805// See DescribeJobDefinitions for details on how to use this API operation. 806// 807// The context must be non-nil and will be used for request cancellation. If 808// the context is nil a panic will occur. In the future the SDK may create 809// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 810// for more information on using Contexts. 811func (c *Batch) DescribeJobDefinitionsWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, opts ...request.Option) (*DescribeJobDefinitionsOutput, error) { 812 req, out := c.DescribeJobDefinitionsRequest(input) 813 req.SetContext(ctx) 814 req.ApplyOptions(opts...) 815 return out, req.Send() 816} 817 818// DescribeJobDefinitionsPages iterates over the pages of a DescribeJobDefinitions operation, 819// calling the "fn" function with the response data for each page. To stop 820// iterating, return false from the fn function. 821// 822// See DescribeJobDefinitions method for more information on how to use this operation. 823// 824// Note: This operation can generate multiple requests to a service. 825// 826// // Example iterating over at most 3 pages of a DescribeJobDefinitions operation. 827// pageNum := 0 828// err := client.DescribeJobDefinitionsPages(params, 829// func(page *batch.DescribeJobDefinitionsOutput, lastPage bool) bool { 830// pageNum++ 831// fmt.Println(page) 832// return pageNum <= 3 833// }) 834// 835func (c *Batch) DescribeJobDefinitionsPages(input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool) error { 836 return c.DescribeJobDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 837} 838 839// DescribeJobDefinitionsPagesWithContext same as DescribeJobDefinitionsPages except 840// it takes a Context and allows setting request options on the pages. 841// 842// The context must be non-nil and will be used for request cancellation. If 843// the context is nil a panic will occur. In the future the SDK may create 844// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 845// for more information on using Contexts. 846func (c *Batch) DescribeJobDefinitionsPagesWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool, opts ...request.Option) error { 847 p := request.Pagination{ 848 NewRequest: func() (*request.Request, error) { 849 var inCpy *DescribeJobDefinitionsInput 850 if input != nil { 851 tmp := *input 852 inCpy = &tmp 853 } 854 req, _ := c.DescribeJobDefinitionsRequest(inCpy) 855 req.SetContext(ctx) 856 req.ApplyOptions(opts...) 857 return req, nil 858 }, 859 } 860 861 cont := true 862 for p.Next() && cont { 863 cont = fn(p.Page().(*DescribeJobDefinitionsOutput), !p.HasNextPage()) 864 } 865 return p.Err() 866} 867 868const opDescribeJobQueues = "DescribeJobQueues" 869 870// DescribeJobQueuesRequest generates a "aws/request.Request" representing the 871// client's request for the DescribeJobQueues operation. The "output" return 872// value will be populated with the request's response once the request completes 873// successfully. 874// 875// Use "Send" method on the returned Request to send the API call to the service. 876// the "output" return value is not valid until after Send returns without error. 877// 878// See DescribeJobQueues for more information on using the DescribeJobQueues 879// API call, and error handling. 880// 881// This method is useful when you want to inject custom logic or configuration 882// into the SDK's request lifecycle. Such as custom headers, or retry logic. 883// 884// 885// // Example sending a request using the DescribeJobQueuesRequest method. 886// req, resp := client.DescribeJobQueuesRequest(params) 887// 888// err := req.Send() 889// if err == nil { // resp is now filled 890// fmt.Println(resp) 891// } 892// 893// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 894func (c *Batch) DescribeJobQueuesRequest(input *DescribeJobQueuesInput) (req *request.Request, output *DescribeJobQueuesOutput) { 895 op := &request.Operation{ 896 Name: opDescribeJobQueues, 897 HTTPMethod: "POST", 898 HTTPPath: "/v1/describejobqueues", 899 Paginator: &request.Paginator{ 900 InputTokens: []string{"nextToken"}, 901 OutputTokens: []string{"nextToken"}, 902 LimitToken: "maxResults", 903 TruncationToken: "", 904 }, 905 } 906 907 if input == nil { 908 input = &DescribeJobQueuesInput{} 909 } 910 911 output = &DescribeJobQueuesOutput{} 912 req = c.newRequest(op, input, output) 913 return 914} 915 916// DescribeJobQueues API operation for AWS Batch. 917// 918// Describes one or more of your job queues. 919// 920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 921// with awserr.Error's Code and Message methods to get detailed information about 922// the error. 923// 924// See the AWS API reference guide for AWS Batch's 925// API operation DescribeJobQueues for usage and error information. 926// 927// Returned Error Codes: 928// * ErrCodeClientException "ClientException" 929// These errors are usually caused by a client action, such as using an action 930// or resource on behalf of a user that doesn't have permissions to use the 931// action or resource, or specifying an identifier that is not valid. 932// 933// * ErrCodeServerException "ServerException" 934// These errors are usually caused by a server issue. 935// 936// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues 937func (c *Batch) DescribeJobQueues(input *DescribeJobQueuesInput) (*DescribeJobQueuesOutput, error) { 938 req, out := c.DescribeJobQueuesRequest(input) 939 return out, req.Send() 940} 941 942// DescribeJobQueuesWithContext is the same as DescribeJobQueues with the addition of 943// the ability to pass a context and additional request options. 944// 945// See DescribeJobQueues for details on how to use this API operation. 946// 947// The context must be non-nil and will be used for request cancellation. If 948// the context is nil a panic will occur. In the future the SDK may create 949// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 950// for more information on using Contexts. 951func (c *Batch) DescribeJobQueuesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, opts ...request.Option) (*DescribeJobQueuesOutput, error) { 952 req, out := c.DescribeJobQueuesRequest(input) 953 req.SetContext(ctx) 954 req.ApplyOptions(opts...) 955 return out, req.Send() 956} 957 958// DescribeJobQueuesPages iterates over the pages of a DescribeJobQueues operation, 959// calling the "fn" function with the response data for each page. To stop 960// iterating, return false from the fn function. 961// 962// See DescribeJobQueues method for more information on how to use this operation. 963// 964// Note: This operation can generate multiple requests to a service. 965// 966// // Example iterating over at most 3 pages of a DescribeJobQueues operation. 967// pageNum := 0 968// err := client.DescribeJobQueuesPages(params, 969// func(page *batch.DescribeJobQueuesOutput, lastPage bool) bool { 970// pageNum++ 971// fmt.Println(page) 972// return pageNum <= 3 973// }) 974// 975func (c *Batch) DescribeJobQueuesPages(input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool) error { 976 return c.DescribeJobQueuesPagesWithContext(aws.BackgroundContext(), input, fn) 977} 978 979// DescribeJobQueuesPagesWithContext same as DescribeJobQueuesPages except 980// it takes a Context and allows setting request options on the pages. 981// 982// The context must be non-nil and will be used for request cancellation. If 983// the context is nil a panic will occur. In the future the SDK may create 984// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 985// for more information on using Contexts. 986func (c *Batch) DescribeJobQueuesPagesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool, opts ...request.Option) error { 987 p := request.Pagination{ 988 NewRequest: func() (*request.Request, error) { 989 var inCpy *DescribeJobQueuesInput 990 if input != nil { 991 tmp := *input 992 inCpy = &tmp 993 } 994 req, _ := c.DescribeJobQueuesRequest(inCpy) 995 req.SetContext(ctx) 996 req.ApplyOptions(opts...) 997 return req, nil 998 }, 999 } 1000 1001 cont := true 1002 for p.Next() && cont { 1003 cont = fn(p.Page().(*DescribeJobQueuesOutput), !p.HasNextPage()) 1004 } 1005 return p.Err() 1006} 1007 1008const opDescribeJobs = "DescribeJobs" 1009 1010// DescribeJobsRequest generates a "aws/request.Request" representing the 1011// client's request for the DescribeJobs operation. The "output" return 1012// value will be populated with the request's response once the request completes 1013// successfully. 1014// 1015// Use "Send" method on the returned Request to send the API call to the service. 1016// the "output" return value is not valid until after Send returns without error. 1017// 1018// See DescribeJobs for more information on using the DescribeJobs 1019// API call, and error handling. 1020// 1021// This method is useful when you want to inject custom logic or configuration 1022// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1023// 1024// 1025// // Example sending a request using the DescribeJobsRequest method. 1026// req, resp := client.DescribeJobsRequest(params) 1027// 1028// err := req.Send() 1029// if err == nil { // resp is now filled 1030// fmt.Println(resp) 1031// } 1032// 1033// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1034func (c *Batch) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput) { 1035 op := &request.Operation{ 1036 Name: opDescribeJobs, 1037 HTTPMethod: "POST", 1038 HTTPPath: "/v1/describejobs", 1039 } 1040 1041 if input == nil { 1042 input = &DescribeJobsInput{} 1043 } 1044 1045 output = &DescribeJobsOutput{} 1046 req = c.newRequest(op, input, output) 1047 return 1048} 1049 1050// DescribeJobs API operation for AWS Batch. 1051// 1052// Describes a list of AWS Batch jobs. 1053// 1054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1055// with awserr.Error's Code and Message methods to get detailed information about 1056// the error. 1057// 1058// See the AWS API reference guide for AWS Batch's 1059// API operation DescribeJobs for usage and error information. 1060// 1061// Returned Error Codes: 1062// * ErrCodeClientException "ClientException" 1063// These errors are usually caused by a client action, such as using an action 1064// or resource on behalf of a user that doesn't have permissions to use the 1065// action or resource, or specifying an identifier that is not valid. 1066// 1067// * ErrCodeServerException "ServerException" 1068// These errors are usually caused by a server issue. 1069// 1070// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs 1071func (c *Batch) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error) { 1072 req, out := c.DescribeJobsRequest(input) 1073 return out, req.Send() 1074} 1075 1076// DescribeJobsWithContext is the same as DescribeJobs with the addition of 1077// the ability to pass a context and additional request options. 1078// 1079// See DescribeJobs for details on how to use this API operation. 1080// 1081// The context must be non-nil and will be used for request cancellation. If 1082// the context is nil a panic will occur. In the future the SDK may create 1083// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1084// for more information on using Contexts. 1085func (c *Batch) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error) { 1086 req, out := c.DescribeJobsRequest(input) 1087 req.SetContext(ctx) 1088 req.ApplyOptions(opts...) 1089 return out, req.Send() 1090} 1091 1092const opListJobs = "ListJobs" 1093 1094// ListJobsRequest generates a "aws/request.Request" representing the 1095// client's request for the ListJobs operation. The "output" return 1096// value will be populated with the request's response once the request completes 1097// successfully. 1098// 1099// Use "Send" method on the returned Request to send the API call to the service. 1100// the "output" return value is not valid until after Send returns without error. 1101// 1102// See ListJobs for more information on using the ListJobs 1103// API call, and error handling. 1104// 1105// This method is useful when you want to inject custom logic or configuration 1106// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1107// 1108// 1109// // Example sending a request using the ListJobsRequest method. 1110// req, resp := client.ListJobsRequest(params) 1111// 1112// err := req.Send() 1113// if err == nil { // resp is now filled 1114// fmt.Println(resp) 1115// } 1116// 1117// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1118func (c *Batch) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 1119 op := &request.Operation{ 1120 Name: opListJobs, 1121 HTTPMethod: "POST", 1122 HTTPPath: "/v1/listjobs", 1123 Paginator: &request.Paginator{ 1124 InputTokens: []string{"nextToken"}, 1125 OutputTokens: []string{"nextToken"}, 1126 LimitToken: "maxResults", 1127 TruncationToken: "", 1128 }, 1129 } 1130 1131 if input == nil { 1132 input = &ListJobsInput{} 1133 } 1134 1135 output = &ListJobsOutput{} 1136 req = c.newRequest(op, input, output) 1137 return 1138} 1139 1140// ListJobs API operation for AWS Batch. 1141// 1142// Returns a list of AWS Batch jobs. 1143// 1144// You must specify only one of the following: 1145// 1146// * a job queue ID to return a list of jobs in that job queue 1147// 1148// * a multi-node parallel job ID to return a list of that job's nodes 1149// 1150// * an array job ID to return a list of that job's children 1151// 1152// You can filter the results by job status with the jobStatus parameter. If 1153// you do not specify a status, only RUNNING jobs are returned. 1154// 1155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1156// with awserr.Error's Code and Message methods to get detailed information about 1157// the error. 1158// 1159// See the AWS API reference guide for AWS Batch's 1160// API operation ListJobs for usage and error information. 1161// 1162// Returned Error Codes: 1163// * ErrCodeClientException "ClientException" 1164// These errors are usually caused by a client action, such as using an action 1165// or resource on behalf of a user that doesn't have permissions to use the 1166// action or resource, or specifying an identifier that is not valid. 1167// 1168// * ErrCodeServerException "ServerException" 1169// These errors are usually caused by a server issue. 1170// 1171// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs 1172func (c *Batch) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 1173 req, out := c.ListJobsRequest(input) 1174 return out, req.Send() 1175} 1176 1177// ListJobsWithContext is the same as ListJobs with the addition of 1178// the ability to pass a context and additional request options. 1179// 1180// See ListJobs for details on how to use this API operation. 1181// 1182// The context must be non-nil and will be used for request cancellation. If 1183// the context is nil a panic will occur. In the future the SDK may create 1184// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1185// for more information on using Contexts. 1186func (c *Batch) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 1187 req, out := c.ListJobsRequest(input) 1188 req.SetContext(ctx) 1189 req.ApplyOptions(opts...) 1190 return out, req.Send() 1191} 1192 1193// ListJobsPages iterates over the pages of a ListJobs operation, 1194// calling the "fn" function with the response data for each page. To stop 1195// iterating, return false from the fn function. 1196// 1197// See ListJobs method for more information on how to use this operation. 1198// 1199// Note: This operation can generate multiple requests to a service. 1200// 1201// // Example iterating over at most 3 pages of a ListJobs operation. 1202// pageNum := 0 1203// err := client.ListJobsPages(params, 1204// func(page *batch.ListJobsOutput, lastPage bool) bool { 1205// pageNum++ 1206// fmt.Println(page) 1207// return pageNum <= 3 1208// }) 1209// 1210func (c *Batch) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 1211 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 1212} 1213 1214// ListJobsPagesWithContext same as ListJobsPages except 1215// it takes a Context and allows setting request options on the pages. 1216// 1217// The context must be non-nil and will be used for request cancellation. If 1218// the context is nil a panic will occur. In the future the SDK may create 1219// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1220// for more information on using Contexts. 1221func (c *Batch) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 1222 p := request.Pagination{ 1223 NewRequest: func() (*request.Request, error) { 1224 var inCpy *ListJobsInput 1225 if input != nil { 1226 tmp := *input 1227 inCpy = &tmp 1228 } 1229 req, _ := c.ListJobsRequest(inCpy) 1230 req.SetContext(ctx) 1231 req.ApplyOptions(opts...) 1232 return req, nil 1233 }, 1234 } 1235 1236 cont := true 1237 for p.Next() && cont { 1238 cont = fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) 1239 } 1240 return p.Err() 1241} 1242 1243const opRegisterJobDefinition = "RegisterJobDefinition" 1244 1245// RegisterJobDefinitionRequest generates a "aws/request.Request" representing the 1246// client's request for the RegisterJobDefinition operation. The "output" return 1247// value will be populated with the request's response once the request completes 1248// successfully. 1249// 1250// Use "Send" method on the returned Request to send the API call to the service. 1251// the "output" return value is not valid until after Send returns without error. 1252// 1253// See RegisterJobDefinition for more information on using the RegisterJobDefinition 1254// API call, and error handling. 1255// 1256// This method is useful when you want to inject custom logic or configuration 1257// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1258// 1259// 1260// // Example sending a request using the RegisterJobDefinitionRequest method. 1261// req, resp := client.RegisterJobDefinitionRequest(params) 1262// 1263// err := req.Send() 1264// if err == nil { // resp is now filled 1265// fmt.Println(resp) 1266// } 1267// 1268// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1269func (c *Batch) RegisterJobDefinitionRequest(input *RegisterJobDefinitionInput) (req *request.Request, output *RegisterJobDefinitionOutput) { 1270 op := &request.Operation{ 1271 Name: opRegisterJobDefinition, 1272 HTTPMethod: "POST", 1273 HTTPPath: "/v1/registerjobdefinition", 1274 } 1275 1276 if input == nil { 1277 input = &RegisterJobDefinitionInput{} 1278 } 1279 1280 output = &RegisterJobDefinitionOutput{} 1281 req = c.newRequest(op, input, output) 1282 return 1283} 1284 1285// RegisterJobDefinition API operation for AWS Batch. 1286// 1287// Registers an AWS Batch job definition. 1288// 1289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1290// with awserr.Error's Code and Message methods to get detailed information about 1291// the error. 1292// 1293// See the AWS API reference guide for AWS Batch's 1294// API operation RegisterJobDefinition for usage and error information. 1295// 1296// Returned Error Codes: 1297// * ErrCodeClientException "ClientException" 1298// These errors are usually caused by a client action, such as using an action 1299// or resource on behalf of a user that doesn't have permissions to use the 1300// action or resource, or specifying an identifier that is not valid. 1301// 1302// * ErrCodeServerException "ServerException" 1303// These errors are usually caused by a server issue. 1304// 1305// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition 1306func (c *Batch) RegisterJobDefinition(input *RegisterJobDefinitionInput) (*RegisterJobDefinitionOutput, error) { 1307 req, out := c.RegisterJobDefinitionRequest(input) 1308 return out, req.Send() 1309} 1310 1311// RegisterJobDefinitionWithContext is the same as RegisterJobDefinition with the addition of 1312// the ability to pass a context and additional request options. 1313// 1314// See RegisterJobDefinition for details on how to use this API operation. 1315// 1316// The context must be non-nil and will be used for request cancellation. If 1317// the context is nil a panic will occur. In the future the SDK may create 1318// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1319// for more information on using Contexts. 1320func (c *Batch) RegisterJobDefinitionWithContext(ctx aws.Context, input *RegisterJobDefinitionInput, opts ...request.Option) (*RegisterJobDefinitionOutput, error) { 1321 req, out := c.RegisterJobDefinitionRequest(input) 1322 req.SetContext(ctx) 1323 req.ApplyOptions(opts...) 1324 return out, req.Send() 1325} 1326 1327const opSubmitJob = "SubmitJob" 1328 1329// SubmitJobRequest generates a "aws/request.Request" representing the 1330// client's request for the SubmitJob operation. The "output" return 1331// value will be populated with the request's response once the request completes 1332// successfully. 1333// 1334// Use "Send" method on the returned Request to send the API call to the service. 1335// the "output" return value is not valid until after Send returns without error. 1336// 1337// See SubmitJob for more information on using the SubmitJob 1338// API call, and error handling. 1339// 1340// This method is useful when you want to inject custom logic or configuration 1341// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1342// 1343// 1344// // Example sending a request using the SubmitJobRequest method. 1345// req, resp := client.SubmitJobRequest(params) 1346// 1347// err := req.Send() 1348// if err == nil { // resp is now filled 1349// fmt.Println(resp) 1350// } 1351// 1352// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1353func (c *Batch) SubmitJobRequest(input *SubmitJobInput) (req *request.Request, output *SubmitJobOutput) { 1354 op := &request.Operation{ 1355 Name: opSubmitJob, 1356 HTTPMethod: "POST", 1357 HTTPPath: "/v1/submitjob", 1358 } 1359 1360 if input == nil { 1361 input = &SubmitJobInput{} 1362 } 1363 1364 output = &SubmitJobOutput{} 1365 req = c.newRequest(op, input, output) 1366 return 1367} 1368 1369// SubmitJob API operation for AWS Batch. 1370// 1371// Submits an AWS Batch job from a job definition. Parameters specified during 1372// SubmitJob override parameters defined in the job definition. 1373// 1374// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1375// with awserr.Error's Code and Message methods to get detailed information about 1376// the error. 1377// 1378// See the AWS API reference guide for AWS Batch's 1379// API operation SubmitJob for usage and error information. 1380// 1381// Returned Error Codes: 1382// * ErrCodeClientException "ClientException" 1383// These errors are usually caused by a client action, such as using an action 1384// or resource on behalf of a user that doesn't have permissions to use the 1385// action or resource, or specifying an identifier that is not valid. 1386// 1387// * ErrCodeServerException "ServerException" 1388// These errors are usually caused by a server issue. 1389// 1390// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob 1391func (c *Batch) SubmitJob(input *SubmitJobInput) (*SubmitJobOutput, error) { 1392 req, out := c.SubmitJobRequest(input) 1393 return out, req.Send() 1394} 1395 1396// SubmitJobWithContext is the same as SubmitJob with the addition of 1397// the ability to pass a context and additional request options. 1398// 1399// See SubmitJob for details on how to use this API operation. 1400// 1401// The context must be non-nil and will be used for request cancellation. If 1402// the context is nil a panic will occur. In the future the SDK may create 1403// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1404// for more information on using Contexts. 1405func (c *Batch) SubmitJobWithContext(ctx aws.Context, input *SubmitJobInput, opts ...request.Option) (*SubmitJobOutput, error) { 1406 req, out := c.SubmitJobRequest(input) 1407 req.SetContext(ctx) 1408 req.ApplyOptions(opts...) 1409 return out, req.Send() 1410} 1411 1412const opTerminateJob = "TerminateJob" 1413 1414// TerminateJobRequest generates a "aws/request.Request" representing the 1415// client's request for the TerminateJob operation. The "output" return 1416// value will be populated with the request's response once the request completes 1417// successfully. 1418// 1419// Use "Send" method on the returned Request to send the API call to the service. 1420// the "output" return value is not valid until after Send returns without error. 1421// 1422// See TerminateJob for more information on using the TerminateJob 1423// API call, and error handling. 1424// 1425// This method is useful when you want to inject custom logic or configuration 1426// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1427// 1428// 1429// // Example sending a request using the TerminateJobRequest method. 1430// req, resp := client.TerminateJobRequest(params) 1431// 1432// err := req.Send() 1433// if err == nil { // resp is now filled 1434// fmt.Println(resp) 1435// } 1436// 1437// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 1438func (c *Batch) TerminateJobRequest(input *TerminateJobInput) (req *request.Request, output *TerminateJobOutput) { 1439 op := &request.Operation{ 1440 Name: opTerminateJob, 1441 HTTPMethod: "POST", 1442 HTTPPath: "/v1/terminatejob", 1443 } 1444 1445 if input == nil { 1446 input = &TerminateJobInput{} 1447 } 1448 1449 output = &TerminateJobOutput{} 1450 req = c.newRequest(op, input, output) 1451 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1452 return 1453} 1454 1455// TerminateJob API operation for AWS Batch. 1456// 1457// Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING 1458// state are terminated, which causes them to transition to FAILED. Jobs that 1459// have not progressed to the STARTING state are cancelled. 1460// 1461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1462// with awserr.Error's Code and Message methods to get detailed information about 1463// the error. 1464// 1465// See the AWS API reference guide for AWS Batch's 1466// API operation TerminateJob for usage and error information. 1467// 1468// Returned Error Codes: 1469// * ErrCodeClientException "ClientException" 1470// These errors are usually caused by a client action, such as using an action 1471// or resource on behalf of a user that doesn't have permissions to use the 1472// action or resource, or specifying an identifier that is not valid. 1473// 1474// * ErrCodeServerException "ServerException" 1475// These errors are usually caused by a server issue. 1476// 1477// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob 1478func (c *Batch) TerminateJob(input *TerminateJobInput) (*TerminateJobOutput, error) { 1479 req, out := c.TerminateJobRequest(input) 1480 return out, req.Send() 1481} 1482 1483// TerminateJobWithContext is the same as TerminateJob with the addition of 1484// the ability to pass a context and additional request options. 1485// 1486// See TerminateJob for details on how to use this API operation. 1487// 1488// The context must be non-nil and will be used for request cancellation. If 1489// the context is nil a panic will occur. In the future the SDK may create 1490// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1491// for more information on using Contexts. 1492func (c *Batch) TerminateJobWithContext(ctx aws.Context, input *TerminateJobInput, opts ...request.Option) (*TerminateJobOutput, error) { 1493 req, out := c.TerminateJobRequest(input) 1494 req.SetContext(ctx) 1495 req.ApplyOptions(opts...) 1496 return out, req.Send() 1497} 1498 1499const opUpdateComputeEnvironment = "UpdateComputeEnvironment" 1500 1501// UpdateComputeEnvironmentRequest generates a "aws/request.Request" representing the 1502// client's request for the UpdateComputeEnvironment operation. The "output" return 1503// value will be populated with the request's response once the request completes 1504// successfully. 1505// 1506// Use "Send" method on the returned Request to send the API call to the service. 1507// the "output" return value is not valid until after Send returns without error. 1508// 1509// See UpdateComputeEnvironment for more information on using the UpdateComputeEnvironment 1510// API call, and error handling. 1511// 1512// This method is useful when you want to inject custom logic or configuration 1513// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1514// 1515// 1516// // Example sending a request using the UpdateComputeEnvironmentRequest method. 1517// req, resp := client.UpdateComputeEnvironmentRequest(params) 1518// 1519// err := req.Send() 1520// if err == nil { // resp is now filled 1521// fmt.Println(resp) 1522// } 1523// 1524// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 1525func (c *Batch) UpdateComputeEnvironmentRequest(input *UpdateComputeEnvironmentInput) (req *request.Request, output *UpdateComputeEnvironmentOutput) { 1526 op := &request.Operation{ 1527 Name: opUpdateComputeEnvironment, 1528 HTTPMethod: "POST", 1529 HTTPPath: "/v1/updatecomputeenvironment", 1530 } 1531 1532 if input == nil { 1533 input = &UpdateComputeEnvironmentInput{} 1534 } 1535 1536 output = &UpdateComputeEnvironmentOutput{} 1537 req = c.newRequest(op, input, output) 1538 return 1539} 1540 1541// UpdateComputeEnvironment API operation for AWS Batch. 1542// 1543// Updates an AWS Batch compute environment. 1544// 1545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1546// with awserr.Error's Code and Message methods to get detailed information about 1547// the error. 1548// 1549// See the AWS API reference guide for AWS Batch's 1550// API operation UpdateComputeEnvironment for usage and error information. 1551// 1552// Returned Error Codes: 1553// * ErrCodeClientException "ClientException" 1554// These errors are usually caused by a client action, such as using an action 1555// or resource on behalf of a user that doesn't have permissions to use the 1556// action or resource, or specifying an identifier that is not valid. 1557// 1558// * ErrCodeServerException "ServerException" 1559// These errors are usually caused by a server issue. 1560// 1561// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment 1562func (c *Batch) UpdateComputeEnvironment(input *UpdateComputeEnvironmentInput) (*UpdateComputeEnvironmentOutput, error) { 1563 req, out := c.UpdateComputeEnvironmentRequest(input) 1564 return out, req.Send() 1565} 1566 1567// UpdateComputeEnvironmentWithContext is the same as UpdateComputeEnvironment with the addition of 1568// the ability to pass a context and additional request options. 1569// 1570// See UpdateComputeEnvironment for details on how to use this API operation. 1571// 1572// The context must be non-nil and will be used for request cancellation. If 1573// the context is nil a panic will occur. In the future the SDK may create 1574// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1575// for more information on using Contexts. 1576func (c *Batch) UpdateComputeEnvironmentWithContext(ctx aws.Context, input *UpdateComputeEnvironmentInput, opts ...request.Option) (*UpdateComputeEnvironmentOutput, error) { 1577 req, out := c.UpdateComputeEnvironmentRequest(input) 1578 req.SetContext(ctx) 1579 req.ApplyOptions(opts...) 1580 return out, req.Send() 1581} 1582 1583const opUpdateJobQueue = "UpdateJobQueue" 1584 1585// UpdateJobQueueRequest generates a "aws/request.Request" representing the 1586// client's request for the UpdateJobQueue operation. The "output" return 1587// value will be populated with the request's response once the request completes 1588// successfully. 1589// 1590// Use "Send" method on the returned Request to send the API call to the service. 1591// the "output" return value is not valid until after Send returns without error. 1592// 1593// See UpdateJobQueue for more information on using the UpdateJobQueue 1594// API call, and error handling. 1595// 1596// This method is useful when you want to inject custom logic or configuration 1597// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1598// 1599// 1600// // Example sending a request using the UpdateJobQueueRequest method. 1601// req, resp := client.UpdateJobQueueRequest(params) 1602// 1603// err := req.Send() 1604// if err == nil { // resp is now filled 1605// fmt.Println(resp) 1606// } 1607// 1608// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 1609func (c *Batch) UpdateJobQueueRequest(input *UpdateJobQueueInput) (req *request.Request, output *UpdateJobQueueOutput) { 1610 op := &request.Operation{ 1611 Name: opUpdateJobQueue, 1612 HTTPMethod: "POST", 1613 HTTPPath: "/v1/updatejobqueue", 1614 } 1615 1616 if input == nil { 1617 input = &UpdateJobQueueInput{} 1618 } 1619 1620 output = &UpdateJobQueueOutput{} 1621 req = c.newRequest(op, input, output) 1622 return 1623} 1624 1625// UpdateJobQueue API operation for AWS Batch. 1626// 1627// Updates a job queue. 1628// 1629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1630// with awserr.Error's Code and Message methods to get detailed information about 1631// the error. 1632// 1633// See the AWS API reference guide for AWS Batch's 1634// API operation UpdateJobQueue for usage and error information. 1635// 1636// Returned Error Codes: 1637// * ErrCodeClientException "ClientException" 1638// These errors are usually caused by a client action, such as using an action 1639// or resource on behalf of a user that doesn't have permissions to use the 1640// action or resource, or specifying an identifier that is not valid. 1641// 1642// * ErrCodeServerException "ServerException" 1643// These errors are usually caused by a server issue. 1644// 1645// See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue 1646func (c *Batch) UpdateJobQueue(input *UpdateJobQueueInput) (*UpdateJobQueueOutput, error) { 1647 req, out := c.UpdateJobQueueRequest(input) 1648 return out, req.Send() 1649} 1650 1651// UpdateJobQueueWithContext is the same as UpdateJobQueue with the addition of 1652// the ability to pass a context and additional request options. 1653// 1654// See UpdateJobQueue for details on how to use this API operation. 1655// 1656// The context must be non-nil and will be used for request cancellation. If 1657// the context is nil a panic will occur. In the future the SDK may create 1658// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1659// for more information on using Contexts. 1660func (c *Batch) UpdateJobQueueWithContext(ctx aws.Context, input *UpdateJobQueueInput, opts ...request.Option) (*UpdateJobQueueOutput, error) { 1661 req, out := c.UpdateJobQueueRequest(input) 1662 req.SetContext(ctx) 1663 req.ApplyOptions(opts...) 1664 return out, req.Send() 1665} 1666 1667// An object representing an AWS Batch array job. 1668type ArrayProperties struct { 1669 _ struct{} `type:"structure"` 1670 1671 // The size of the array job. 1672 Size *int64 `locationName:"size" type:"integer"` 1673} 1674 1675// String returns the string representation 1676func (s ArrayProperties) String() string { 1677 return awsutil.Prettify(s) 1678} 1679 1680// GoString returns the string representation 1681func (s ArrayProperties) GoString() string { 1682 return s.String() 1683} 1684 1685// SetSize sets the Size field's value. 1686func (s *ArrayProperties) SetSize(v int64) *ArrayProperties { 1687 s.Size = &v 1688 return s 1689} 1690 1691// An object representing the array properties of a job. 1692type ArrayPropertiesDetail struct { 1693 _ struct{} `type:"structure"` 1694 1695 // The job index within the array that is associated with this job. This parameter 1696 // is returned for array job children. 1697 Index *int64 `locationName:"index" type:"integer"` 1698 1699 // The size of the array job. This parameter is returned for parent array jobs. 1700 Size *int64 `locationName:"size" type:"integer"` 1701 1702 // A summary of the number of array job children in each available job status. 1703 // This parameter is returned for parent array jobs. 1704 StatusSummary map[string]*int64 `locationName:"statusSummary" type:"map"` 1705} 1706 1707// String returns the string representation 1708func (s ArrayPropertiesDetail) String() string { 1709 return awsutil.Prettify(s) 1710} 1711 1712// GoString returns the string representation 1713func (s ArrayPropertiesDetail) GoString() string { 1714 return s.String() 1715} 1716 1717// SetIndex sets the Index field's value. 1718func (s *ArrayPropertiesDetail) SetIndex(v int64) *ArrayPropertiesDetail { 1719 s.Index = &v 1720 return s 1721} 1722 1723// SetSize sets the Size field's value. 1724func (s *ArrayPropertiesDetail) SetSize(v int64) *ArrayPropertiesDetail { 1725 s.Size = &v 1726 return s 1727} 1728 1729// SetStatusSummary sets the StatusSummary field's value. 1730func (s *ArrayPropertiesDetail) SetStatusSummary(v map[string]*int64) *ArrayPropertiesDetail { 1731 s.StatusSummary = v 1732 return s 1733} 1734 1735// An object representing the array properties of a job. 1736type ArrayPropertiesSummary struct { 1737 _ struct{} `type:"structure"` 1738 1739 // The job index within the array that is associated with this job. This parameter 1740 // is returned for children of array jobs. 1741 Index *int64 `locationName:"index" type:"integer"` 1742 1743 // The size of the array job. This parameter is returned for parent array jobs. 1744 Size *int64 `locationName:"size" type:"integer"` 1745} 1746 1747// String returns the string representation 1748func (s ArrayPropertiesSummary) String() string { 1749 return awsutil.Prettify(s) 1750} 1751 1752// GoString returns the string representation 1753func (s ArrayPropertiesSummary) GoString() string { 1754 return s.String() 1755} 1756 1757// SetIndex sets the Index field's value. 1758func (s *ArrayPropertiesSummary) SetIndex(v int64) *ArrayPropertiesSummary { 1759 s.Index = &v 1760 return s 1761} 1762 1763// SetSize sets the Size field's value. 1764func (s *ArrayPropertiesSummary) SetSize(v int64) *ArrayPropertiesSummary { 1765 s.Size = &v 1766 return s 1767} 1768 1769// An object representing the details of a container that is part of a job attempt. 1770type AttemptContainerDetail struct { 1771 _ struct{} `type:"structure"` 1772 1773 // The Amazon Resource Name (ARN) of the Amazon ECS container instance that 1774 // hosts the job attempt. 1775 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 1776 1777 // The exit code for the job attempt. A non-zero exit code is considered a failure. 1778 ExitCode *int64 `locationName:"exitCode" type:"integer"` 1779 1780 // The name of the CloudWatch Logs log stream associated with the container. 1781 // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt 1782 // receives a log stream name when they reach the RUNNING status. 1783 LogStreamName *string `locationName:"logStreamName" type:"string"` 1784 1785 // The network interfaces associated with the job attempt. 1786 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 1787 1788 // A short (255 max characters) human-readable string to provide additional 1789 // details about a running or stopped container. 1790 Reason *string `locationName:"reason" type:"string"` 1791 1792 // The Amazon Resource Name (ARN) of the Amazon ECS task that is associated 1793 // with the job attempt. Each container attempt receives a task ARN when they 1794 // reach the STARTING status. 1795 TaskArn *string `locationName:"taskArn" type:"string"` 1796} 1797 1798// String returns the string representation 1799func (s AttemptContainerDetail) String() string { 1800 return awsutil.Prettify(s) 1801} 1802 1803// GoString returns the string representation 1804func (s AttemptContainerDetail) GoString() string { 1805 return s.String() 1806} 1807 1808// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 1809func (s *AttemptContainerDetail) SetContainerInstanceArn(v string) *AttemptContainerDetail { 1810 s.ContainerInstanceArn = &v 1811 return s 1812} 1813 1814// SetExitCode sets the ExitCode field's value. 1815func (s *AttemptContainerDetail) SetExitCode(v int64) *AttemptContainerDetail { 1816 s.ExitCode = &v 1817 return s 1818} 1819 1820// SetLogStreamName sets the LogStreamName field's value. 1821func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail { 1822 s.LogStreamName = &v 1823 return s 1824} 1825 1826// SetNetworkInterfaces sets the NetworkInterfaces field's value. 1827func (s *AttemptContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *AttemptContainerDetail { 1828 s.NetworkInterfaces = v 1829 return s 1830} 1831 1832// SetReason sets the Reason field's value. 1833func (s *AttemptContainerDetail) SetReason(v string) *AttemptContainerDetail { 1834 s.Reason = &v 1835 return s 1836} 1837 1838// SetTaskArn sets the TaskArn field's value. 1839func (s *AttemptContainerDetail) SetTaskArn(v string) *AttemptContainerDetail { 1840 s.TaskArn = &v 1841 return s 1842} 1843 1844// An object representing a job attempt. 1845type AttemptDetail struct { 1846 _ struct{} `type:"structure"` 1847 1848 // Details about the container in this job attempt. 1849 Container *AttemptContainerDetail `locationName:"container" type:"structure"` 1850 1851 // The Unix timestamp (in seconds and milliseconds) for when the attempt was 1852 // started (when the attempt transitioned from the STARTING state to the RUNNING 1853 // state). 1854 StartedAt *int64 `locationName:"startedAt" type:"long"` 1855 1856 // A short, human-readable string to provide additional details about the current 1857 // status of the job attempt. 1858 StatusReason *string `locationName:"statusReason" type:"string"` 1859 1860 // The Unix timestamp (in seconds and milliseconds) for when the attempt was 1861 // stopped (when the attempt transitioned from the RUNNING state to a terminal 1862 // state, such as SUCCEEDED or FAILED). 1863 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 1864} 1865 1866// String returns the string representation 1867func (s AttemptDetail) String() string { 1868 return awsutil.Prettify(s) 1869} 1870 1871// GoString returns the string representation 1872func (s AttemptDetail) GoString() string { 1873 return s.String() 1874} 1875 1876// SetContainer sets the Container field's value. 1877func (s *AttemptDetail) SetContainer(v *AttemptContainerDetail) *AttemptDetail { 1878 s.Container = v 1879 return s 1880} 1881 1882// SetStartedAt sets the StartedAt field's value. 1883func (s *AttemptDetail) SetStartedAt(v int64) *AttemptDetail { 1884 s.StartedAt = &v 1885 return s 1886} 1887 1888// SetStatusReason sets the StatusReason field's value. 1889func (s *AttemptDetail) SetStatusReason(v string) *AttemptDetail { 1890 s.StatusReason = &v 1891 return s 1892} 1893 1894// SetStoppedAt sets the StoppedAt field's value. 1895func (s *AttemptDetail) SetStoppedAt(v int64) *AttemptDetail { 1896 s.StoppedAt = &v 1897 return s 1898} 1899 1900type CancelJobInput struct { 1901 _ struct{} `type:"structure"` 1902 1903 // The AWS Batch job ID of the job to cancel. 1904 // 1905 // JobId is a required field 1906 JobId *string `locationName:"jobId" type:"string" required:"true"` 1907 1908 // A message to attach to the job that explains the reason for canceling it. 1909 // This message is returned by future DescribeJobs operations on the job. This 1910 // message is also recorded in the AWS Batch activity logs. 1911 // 1912 // Reason is a required field 1913 Reason *string `locationName:"reason" type:"string" required:"true"` 1914} 1915 1916// String returns the string representation 1917func (s CancelJobInput) String() string { 1918 return awsutil.Prettify(s) 1919} 1920 1921// GoString returns the string representation 1922func (s CancelJobInput) GoString() string { 1923 return s.String() 1924} 1925 1926// Validate inspects the fields of the type to determine if they are valid. 1927func (s *CancelJobInput) Validate() error { 1928 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 1929 if s.JobId == nil { 1930 invalidParams.Add(request.NewErrParamRequired("JobId")) 1931 } 1932 if s.Reason == nil { 1933 invalidParams.Add(request.NewErrParamRequired("Reason")) 1934 } 1935 1936 if invalidParams.Len() > 0 { 1937 return invalidParams 1938 } 1939 return nil 1940} 1941 1942// SetJobId sets the JobId field's value. 1943func (s *CancelJobInput) SetJobId(v string) *CancelJobInput { 1944 s.JobId = &v 1945 return s 1946} 1947 1948// SetReason sets the Reason field's value. 1949func (s *CancelJobInput) SetReason(v string) *CancelJobInput { 1950 s.Reason = &v 1951 return s 1952} 1953 1954type CancelJobOutput struct { 1955 _ struct{} `type:"structure"` 1956} 1957 1958// String returns the string representation 1959func (s CancelJobOutput) String() string { 1960 return awsutil.Prettify(s) 1961} 1962 1963// GoString returns the string representation 1964func (s CancelJobOutput) GoString() string { 1965 return s.String() 1966} 1967 1968// An object representing an AWS Batch compute environment. 1969type ComputeEnvironmentDetail struct { 1970 _ struct{} `type:"structure"` 1971 1972 // The Amazon Resource Name (ARN) of the compute environment. 1973 // 1974 // ComputeEnvironmentArn is a required field 1975 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string" required:"true"` 1976 1977 // The name of the compute environment. 1978 // 1979 // ComputeEnvironmentName is a required field 1980 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 1981 1982 // The compute resources defined for the compute environment. 1983 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 1984 1985 // The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used 1986 // by the compute environment. 1987 // 1988 // EcsClusterArn is a required field 1989 EcsClusterArn *string `locationName:"ecsClusterArn" type:"string" required:"true"` 1990 1991 // The service role associated with the compute environment that allows AWS 1992 // Batch to make calls to AWS API operations on your behalf. 1993 ServiceRole *string `locationName:"serviceRole" type:"string"` 1994 1995 // The state of the compute environment. The valid values are ENABLED or DISABLED. 1996 // 1997 // If the state is ENABLED, then the AWS Batch scheduler can attempt to place 1998 // jobs from an associated job queue on the compute resources within the environment. 1999 // If the compute environment is managed, then it can scale its instances out 2000 // or in automatically, based on the job queue demand. 2001 // 2002 // If the state is DISABLED, then the AWS Batch scheduler does not attempt to 2003 // place jobs within the environment. Jobs in a STARTING or RUNNING state continue 2004 // to progress normally. Managed compute environments in the DISABLED state 2005 // do not scale out. However, they scale in to minvCpus value after instances 2006 // become idle. 2007 State *string `locationName:"state" type:"string" enum:"CEState"` 2008 2009 // The current status of the compute environment (for example, CREATING or VALID). 2010 Status *string `locationName:"status" type:"string" enum:"CEStatus"` 2011 2012 // A short, human-readable string to provide additional details about the current 2013 // status of the compute environment. 2014 StatusReason *string `locationName:"statusReason" type:"string"` 2015 2016 // The type of the compute environment. 2017 Type *string `locationName:"type" type:"string" enum:"CEType"` 2018} 2019 2020// String returns the string representation 2021func (s ComputeEnvironmentDetail) String() string { 2022 return awsutil.Prettify(s) 2023} 2024 2025// GoString returns the string representation 2026func (s ComputeEnvironmentDetail) GoString() string { 2027 return s.String() 2028} 2029 2030// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 2031func (s *ComputeEnvironmentDetail) SetComputeEnvironmentArn(v string) *ComputeEnvironmentDetail { 2032 s.ComputeEnvironmentArn = &v 2033 return s 2034} 2035 2036// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 2037func (s *ComputeEnvironmentDetail) SetComputeEnvironmentName(v string) *ComputeEnvironmentDetail { 2038 s.ComputeEnvironmentName = &v 2039 return s 2040} 2041 2042// SetComputeResources sets the ComputeResources field's value. 2043func (s *ComputeEnvironmentDetail) SetComputeResources(v *ComputeResource) *ComputeEnvironmentDetail { 2044 s.ComputeResources = v 2045 return s 2046} 2047 2048// SetEcsClusterArn sets the EcsClusterArn field's value. 2049func (s *ComputeEnvironmentDetail) SetEcsClusterArn(v string) *ComputeEnvironmentDetail { 2050 s.EcsClusterArn = &v 2051 return s 2052} 2053 2054// SetServiceRole sets the ServiceRole field's value. 2055func (s *ComputeEnvironmentDetail) SetServiceRole(v string) *ComputeEnvironmentDetail { 2056 s.ServiceRole = &v 2057 return s 2058} 2059 2060// SetState sets the State field's value. 2061func (s *ComputeEnvironmentDetail) SetState(v string) *ComputeEnvironmentDetail { 2062 s.State = &v 2063 return s 2064} 2065 2066// SetStatus sets the Status field's value. 2067func (s *ComputeEnvironmentDetail) SetStatus(v string) *ComputeEnvironmentDetail { 2068 s.Status = &v 2069 return s 2070} 2071 2072// SetStatusReason sets the StatusReason field's value. 2073func (s *ComputeEnvironmentDetail) SetStatusReason(v string) *ComputeEnvironmentDetail { 2074 s.StatusReason = &v 2075 return s 2076} 2077 2078// SetType sets the Type field's value. 2079func (s *ComputeEnvironmentDetail) SetType(v string) *ComputeEnvironmentDetail { 2080 s.Type = &v 2081 return s 2082} 2083 2084// The order in which compute environments are tried for job placement within 2085// a queue. Compute environments are tried in ascending order. For example, 2086// if two compute environments are associated with a job queue, the compute 2087// environment with a lower order integer value is tried for job placement first. 2088type ComputeEnvironmentOrder struct { 2089 _ struct{} `type:"structure"` 2090 2091 // The Amazon Resource Name (ARN) of the compute environment. 2092 // 2093 // ComputeEnvironment is a required field 2094 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 2095 2096 // The order of the compute environment. 2097 // 2098 // Order is a required field 2099 Order *int64 `locationName:"order" type:"integer" required:"true"` 2100} 2101 2102// String returns the string representation 2103func (s ComputeEnvironmentOrder) String() string { 2104 return awsutil.Prettify(s) 2105} 2106 2107// GoString returns the string representation 2108func (s ComputeEnvironmentOrder) GoString() string { 2109 return s.String() 2110} 2111 2112// Validate inspects the fields of the type to determine if they are valid. 2113func (s *ComputeEnvironmentOrder) Validate() error { 2114 invalidParams := request.ErrInvalidParams{Context: "ComputeEnvironmentOrder"} 2115 if s.ComputeEnvironment == nil { 2116 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 2117 } 2118 if s.Order == nil { 2119 invalidParams.Add(request.NewErrParamRequired("Order")) 2120 } 2121 2122 if invalidParams.Len() > 0 { 2123 return invalidParams 2124 } 2125 return nil 2126} 2127 2128// SetComputeEnvironment sets the ComputeEnvironment field's value. 2129func (s *ComputeEnvironmentOrder) SetComputeEnvironment(v string) *ComputeEnvironmentOrder { 2130 s.ComputeEnvironment = &v 2131 return s 2132} 2133 2134// SetOrder sets the Order field's value. 2135func (s *ComputeEnvironmentOrder) SetOrder(v int64) *ComputeEnvironmentOrder { 2136 s.Order = &v 2137 return s 2138} 2139 2140// An object representing an AWS Batch compute resource. 2141type ComputeResource struct { 2142 _ struct{} `type:"structure"` 2143 2144 // The maximum percentage that a Spot Instance price can be when compared with 2145 // the On-Demand price for that instance type before instances are launched. 2146 // For example, if your maximum percentage is 20%, then the Spot price must 2147 // be below 20% of the current On-Demand price for that EC2 instance. You always 2148 // pay the lowest (market) price and never more than your maximum percentage. 2149 // If you leave this field empty, the default value is 100% of the On-Demand 2150 // price. 2151 BidPercentage *int64 `locationName:"bidPercentage" type:"integer"` 2152 2153 // The desired number of EC2 vCPUS in the compute environment. 2154 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2155 2156 // The EC2 key pair that is used for instances launched in the compute environment. 2157 Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"` 2158 2159 // The Amazon Machine Image (AMI) ID used for instances launched in the compute 2160 // environment. 2161 ImageId *string `locationName:"imageId" type:"string"` 2162 2163 // The Amazon ECS instance profile applied to Amazon EC2 instances in a compute 2164 // environment. You can specify the short name or full Amazon Resource Name 2165 // (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole 2166 // . For more information, see Amazon ECS Instance Role (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html) 2167 // in the AWS Batch User Guide. 2168 // 2169 // InstanceRole is a required field 2170 InstanceRole *string `locationName:"instanceRole" type:"string" required:"true"` 2171 2172 // The instances types that may be launched. You can specify instance families 2173 // to launch any instance type within those families (for example, c4 or p3), 2174 // or you can specify specific sizes within a family (such as c4.8xlarge). You 2175 // can also choose optimal to pick instance types (from the C, M, and R instance 2176 // families) on the fly that match the demand of your job queues. 2177 // 2178 // InstanceTypes is a required field 2179 InstanceTypes []*string `locationName:"instanceTypes" type:"list" required:"true"` 2180 2181 // The launch template to use for your compute resources. Any other compute 2182 // resource parameters that you specify in a CreateComputeEnvironment API operation 2183 // override the same parameters in the launch template. You must specify either 2184 // the launch template ID or launch template name in the request, but not both. 2185 // For more information, see Launch Template Support (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html) 2186 // in the AWS Batch User Guide. 2187 LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"` 2188 2189 // The maximum number of EC2 vCPUs that an environment can reach. 2190 // 2191 // MaxvCpus is a required field 2192 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"` 2193 2194 // The minimum number of EC2 vCPUs that an environment should maintain (even 2195 // if the compute environment is DISABLED). 2196 // 2197 // MinvCpus is a required field 2198 MinvCpus *int64 `locationName:"minvCpus" type:"integer" required:"true"` 2199 2200 // The Amazon EC2 placement group to associate with your compute resources. 2201 // If you intend to submit multi-node parallel jobs to your compute environment, 2202 // you should consider creating a cluster placement group and associate it with 2203 // your compute resources. This keeps your multi-node parallel job on a logical 2204 // grouping of instances within a single Availability Zone with high network 2205 // flow potential. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 2206 // in the Amazon EC2 User Guide for Linux Instances. 2207 PlacementGroup *string `locationName:"placementGroup" type:"string"` 2208 2209 // The EC2 security group that is associated with instances launched in the 2210 // compute environment. 2211 SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` 2212 2213 // The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied 2214 // to a SPOT compute environment. For more information, see Amazon EC2 Spot 2215 // Fleet Role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html) 2216 // in the AWS Batch User Guide. 2217 SpotIamFleetRole *string `locationName:"spotIamFleetRole" type:"string"` 2218 2219 // The VPC subnets into which the compute resources are launched. For more information, 2220 // see VPCs and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) 2221 // in the Amazon VPC User Guide. 2222 // 2223 // Subnets is a required field 2224 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 2225 2226 // Key-value pair tags to be applied to resources that are launched in the compute 2227 // environment. For AWS Batch, these take the form of "String1": "String2", 2228 // where String1 is the tag key and String2 is the tag value—for example, 2229 // { "Name": "AWS Batch Instance - C4OnDemand" }. 2230 Tags map[string]*string `locationName:"tags" type:"map"` 2231 2232 // The type of compute environment: EC2 or SPOT. 2233 // 2234 // Type is a required field 2235 Type *string `locationName:"type" type:"string" required:"true" enum:"CRType"` 2236} 2237 2238// String returns the string representation 2239func (s ComputeResource) String() string { 2240 return awsutil.Prettify(s) 2241} 2242 2243// GoString returns the string representation 2244func (s ComputeResource) GoString() string { 2245 return s.String() 2246} 2247 2248// Validate inspects the fields of the type to determine if they are valid. 2249func (s *ComputeResource) Validate() error { 2250 invalidParams := request.ErrInvalidParams{Context: "ComputeResource"} 2251 if s.InstanceRole == nil { 2252 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 2253 } 2254 if s.InstanceTypes == nil { 2255 invalidParams.Add(request.NewErrParamRequired("InstanceTypes")) 2256 } 2257 if s.MaxvCpus == nil { 2258 invalidParams.Add(request.NewErrParamRequired("MaxvCpus")) 2259 } 2260 if s.MinvCpus == nil { 2261 invalidParams.Add(request.NewErrParamRequired("MinvCpus")) 2262 } 2263 if s.Subnets == nil { 2264 invalidParams.Add(request.NewErrParamRequired("Subnets")) 2265 } 2266 if s.Type == nil { 2267 invalidParams.Add(request.NewErrParamRequired("Type")) 2268 } 2269 2270 if invalidParams.Len() > 0 { 2271 return invalidParams 2272 } 2273 return nil 2274} 2275 2276// SetBidPercentage sets the BidPercentage field's value. 2277func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource { 2278 s.BidPercentage = &v 2279 return s 2280} 2281 2282// SetDesiredvCpus sets the DesiredvCpus field's value. 2283func (s *ComputeResource) SetDesiredvCpus(v int64) *ComputeResource { 2284 s.DesiredvCpus = &v 2285 return s 2286} 2287 2288// SetEc2KeyPair sets the Ec2KeyPair field's value. 2289func (s *ComputeResource) SetEc2KeyPair(v string) *ComputeResource { 2290 s.Ec2KeyPair = &v 2291 return s 2292} 2293 2294// SetImageId sets the ImageId field's value. 2295func (s *ComputeResource) SetImageId(v string) *ComputeResource { 2296 s.ImageId = &v 2297 return s 2298} 2299 2300// SetInstanceRole sets the InstanceRole field's value. 2301func (s *ComputeResource) SetInstanceRole(v string) *ComputeResource { 2302 s.InstanceRole = &v 2303 return s 2304} 2305 2306// SetInstanceTypes sets the InstanceTypes field's value. 2307func (s *ComputeResource) SetInstanceTypes(v []*string) *ComputeResource { 2308 s.InstanceTypes = v 2309 return s 2310} 2311 2312// SetLaunchTemplate sets the LaunchTemplate field's value. 2313func (s *ComputeResource) SetLaunchTemplate(v *LaunchTemplateSpecification) *ComputeResource { 2314 s.LaunchTemplate = v 2315 return s 2316} 2317 2318// SetMaxvCpus sets the MaxvCpus field's value. 2319func (s *ComputeResource) SetMaxvCpus(v int64) *ComputeResource { 2320 s.MaxvCpus = &v 2321 return s 2322} 2323 2324// SetMinvCpus sets the MinvCpus field's value. 2325func (s *ComputeResource) SetMinvCpus(v int64) *ComputeResource { 2326 s.MinvCpus = &v 2327 return s 2328} 2329 2330// SetPlacementGroup sets the PlacementGroup field's value. 2331func (s *ComputeResource) SetPlacementGroup(v string) *ComputeResource { 2332 s.PlacementGroup = &v 2333 return s 2334} 2335 2336// SetSecurityGroupIds sets the SecurityGroupIds field's value. 2337func (s *ComputeResource) SetSecurityGroupIds(v []*string) *ComputeResource { 2338 s.SecurityGroupIds = v 2339 return s 2340} 2341 2342// SetSpotIamFleetRole sets the SpotIamFleetRole field's value. 2343func (s *ComputeResource) SetSpotIamFleetRole(v string) *ComputeResource { 2344 s.SpotIamFleetRole = &v 2345 return s 2346} 2347 2348// SetSubnets sets the Subnets field's value. 2349func (s *ComputeResource) SetSubnets(v []*string) *ComputeResource { 2350 s.Subnets = v 2351 return s 2352} 2353 2354// SetTags sets the Tags field's value. 2355func (s *ComputeResource) SetTags(v map[string]*string) *ComputeResource { 2356 s.Tags = v 2357 return s 2358} 2359 2360// SetType sets the Type field's value. 2361func (s *ComputeResource) SetType(v string) *ComputeResource { 2362 s.Type = &v 2363 return s 2364} 2365 2366// An object representing the attributes of a compute environment that can be 2367// updated. 2368type ComputeResourceUpdate struct { 2369 _ struct{} `type:"structure"` 2370 2371 // The desired number of EC2 vCPUS in the compute environment. 2372 DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"` 2373 2374 // The maximum number of EC2 vCPUs that an environment can reach. 2375 MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"` 2376 2377 // The minimum number of EC2 vCPUs that an environment should maintain. 2378 MinvCpus *int64 `locationName:"minvCpus" type:"integer"` 2379} 2380 2381// String returns the string representation 2382func (s ComputeResourceUpdate) String() string { 2383 return awsutil.Prettify(s) 2384} 2385 2386// GoString returns the string representation 2387func (s ComputeResourceUpdate) GoString() string { 2388 return s.String() 2389} 2390 2391// SetDesiredvCpus sets the DesiredvCpus field's value. 2392func (s *ComputeResourceUpdate) SetDesiredvCpus(v int64) *ComputeResourceUpdate { 2393 s.DesiredvCpus = &v 2394 return s 2395} 2396 2397// SetMaxvCpus sets the MaxvCpus field's value. 2398func (s *ComputeResourceUpdate) SetMaxvCpus(v int64) *ComputeResourceUpdate { 2399 s.MaxvCpus = &v 2400 return s 2401} 2402 2403// SetMinvCpus sets the MinvCpus field's value. 2404func (s *ComputeResourceUpdate) SetMinvCpus(v int64) *ComputeResourceUpdate { 2405 s.MinvCpus = &v 2406 return s 2407} 2408 2409// An object representing the details of a container that is part of a job. 2410type ContainerDetail struct { 2411 _ struct{} `type:"structure"` 2412 2413 // The command that is passed to the container. 2414 Command []*string `locationName:"command" type:"list"` 2415 2416 // The Amazon Resource Name (ARN) of the container instance on which the container 2417 // is running. 2418 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 2419 2420 // The environment variables to pass to a container. 2421 // 2422 // Environment variables must not start with AWS_BATCH; this naming convention 2423 // is reserved for variables that are set by the AWS Batch service. 2424 Environment []*KeyValuePair `locationName:"environment" type:"list"` 2425 2426 // The exit code to return upon completion. 2427 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2428 2429 // The image used to start the container. 2430 Image *string `locationName:"image" type:"string"` 2431 2432 // The instance type of the underlying host infrastructure of a multi-node parallel 2433 // job. 2434 InstanceType *string `locationName:"instanceType" type:"string"` 2435 2436 // The Amazon Resource Name (ARN) associated with the job upon execution. 2437 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 2438 2439 // Linux-specific modifications that are applied to the container, such as details 2440 // for device mappings. 2441 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 2442 2443 // The name of the CloudWatch Logs log stream associated with the container. 2444 // The log group for AWS Batch jobs is /aws/batch/job. Each container attempt 2445 // receives a log stream name when they reach the RUNNING status. 2446 LogStreamName *string `locationName:"logStreamName" type:"string"` 2447 2448 // The number of MiB of memory reserved for the job. 2449 Memory *int64 `locationName:"memory" type:"integer"` 2450 2451 // The mount points for data volumes in your container. 2452 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 2453 2454 // The network interfaces associated with the job. 2455 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 2456 2457 // When this parameter is true, the container is given elevated privileges on 2458 // the host container instance (similar to the root user). 2459 Privileged *bool `locationName:"privileged" type:"boolean"` 2460 2461 // When this parameter is true, the container is given read-only access to its 2462 // root file system. 2463 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 2464 2465 // A short (255 max characters) human-readable string to provide additional 2466 // details about a running or stopped container. 2467 Reason *string `locationName:"reason" type:"string"` 2468 2469 // The type and amount of a resource to assign to a container. Currently, the 2470 // only supported resource is GPU. 2471 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 2472 2473 // The Amazon Resource Name (ARN) of the Amazon ECS task that is associated 2474 // with the container job. Each container attempt receives a task ARN when they 2475 // reach the STARTING status. 2476 TaskArn *string `locationName:"taskArn" type:"string"` 2477 2478 // A list of ulimit values to set in the container. 2479 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 2480 2481 // The user name to use inside the container. 2482 User *string `locationName:"user" type:"string"` 2483 2484 // The number of VCPUs allocated for the job. 2485 Vcpus *int64 `locationName:"vcpus" type:"integer"` 2486 2487 // A list of volumes associated with the job. 2488 Volumes []*Volume `locationName:"volumes" type:"list"` 2489} 2490 2491// String returns the string representation 2492func (s ContainerDetail) String() string { 2493 return awsutil.Prettify(s) 2494} 2495 2496// GoString returns the string representation 2497func (s ContainerDetail) GoString() string { 2498 return s.String() 2499} 2500 2501// SetCommand sets the Command field's value. 2502func (s *ContainerDetail) SetCommand(v []*string) *ContainerDetail { 2503 s.Command = v 2504 return s 2505} 2506 2507// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 2508func (s *ContainerDetail) SetContainerInstanceArn(v string) *ContainerDetail { 2509 s.ContainerInstanceArn = &v 2510 return s 2511} 2512 2513// SetEnvironment sets the Environment field's value. 2514func (s *ContainerDetail) SetEnvironment(v []*KeyValuePair) *ContainerDetail { 2515 s.Environment = v 2516 return s 2517} 2518 2519// SetExitCode sets the ExitCode field's value. 2520func (s *ContainerDetail) SetExitCode(v int64) *ContainerDetail { 2521 s.ExitCode = &v 2522 return s 2523} 2524 2525// SetImage sets the Image field's value. 2526func (s *ContainerDetail) SetImage(v string) *ContainerDetail { 2527 s.Image = &v 2528 return s 2529} 2530 2531// SetInstanceType sets the InstanceType field's value. 2532func (s *ContainerDetail) SetInstanceType(v string) *ContainerDetail { 2533 s.InstanceType = &v 2534 return s 2535} 2536 2537// SetJobRoleArn sets the JobRoleArn field's value. 2538func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail { 2539 s.JobRoleArn = &v 2540 return s 2541} 2542 2543// SetLinuxParameters sets the LinuxParameters field's value. 2544func (s *ContainerDetail) SetLinuxParameters(v *LinuxParameters) *ContainerDetail { 2545 s.LinuxParameters = v 2546 return s 2547} 2548 2549// SetLogStreamName sets the LogStreamName field's value. 2550func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail { 2551 s.LogStreamName = &v 2552 return s 2553} 2554 2555// SetMemory sets the Memory field's value. 2556func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail { 2557 s.Memory = &v 2558 return s 2559} 2560 2561// SetMountPoints sets the MountPoints field's value. 2562func (s *ContainerDetail) SetMountPoints(v []*MountPoint) *ContainerDetail { 2563 s.MountPoints = v 2564 return s 2565} 2566 2567// SetNetworkInterfaces sets the NetworkInterfaces field's value. 2568func (s *ContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *ContainerDetail { 2569 s.NetworkInterfaces = v 2570 return s 2571} 2572 2573// SetPrivileged sets the Privileged field's value. 2574func (s *ContainerDetail) SetPrivileged(v bool) *ContainerDetail { 2575 s.Privileged = &v 2576 return s 2577} 2578 2579// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 2580func (s *ContainerDetail) SetReadonlyRootFilesystem(v bool) *ContainerDetail { 2581 s.ReadonlyRootFilesystem = &v 2582 return s 2583} 2584 2585// SetReason sets the Reason field's value. 2586func (s *ContainerDetail) SetReason(v string) *ContainerDetail { 2587 s.Reason = &v 2588 return s 2589} 2590 2591// SetResourceRequirements sets the ResourceRequirements field's value. 2592func (s *ContainerDetail) SetResourceRequirements(v []*ResourceRequirement) *ContainerDetail { 2593 s.ResourceRequirements = v 2594 return s 2595} 2596 2597// SetTaskArn sets the TaskArn field's value. 2598func (s *ContainerDetail) SetTaskArn(v string) *ContainerDetail { 2599 s.TaskArn = &v 2600 return s 2601} 2602 2603// SetUlimits sets the Ulimits field's value. 2604func (s *ContainerDetail) SetUlimits(v []*Ulimit) *ContainerDetail { 2605 s.Ulimits = v 2606 return s 2607} 2608 2609// SetUser sets the User field's value. 2610func (s *ContainerDetail) SetUser(v string) *ContainerDetail { 2611 s.User = &v 2612 return s 2613} 2614 2615// SetVcpus sets the Vcpus field's value. 2616func (s *ContainerDetail) SetVcpus(v int64) *ContainerDetail { 2617 s.Vcpus = &v 2618 return s 2619} 2620 2621// SetVolumes sets the Volumes field's value. 2622func (s *ContainerDetail) SetVolumes(v []*Volume) *ContainerDetail { 2623 s.Volumes = v 2624 return s 2625} 2626 2627// The overrides that should be sent to a container. 2628type ContainerOverrides struct { 2629 _ struct{} `type:"structure"` 2630 2631 // The command to send to the container that overrides the default command from 2632 // the Docker image or the job definition. 2633 Command []*string `locationName:"command" type:"list"` 2634 2635 // The environment variables to send to the container. You can add new environment 2636 // variables, which are added to the container at launch, or you can override 2637 // the existing environment variables from the Docker image or the job definition. 2638 // 2639 // Environment variables must not start with AWS_BATCH; this naming convention 2640 // is reserved for variables that are set by the AWS Batch service. 2641 Environment []*KeyValuePair `locationName:"environment" type:"list"` 2642 2643 // The instance type to use for a multi-node parallel job. This parameter is 2644 // not valid for single-node container jobs. 2645 InstanceType *string `locationName:"instanceType" type:"string"` 2646 2647 // The number of MiB of memory reserved for the job. This value overrides the 2648 // value set in the job definition. 2649 Memory *int64 `locationName:"memory" type:"integer"` 2650 2651 // The type and amount of a resource to assign to a container. This value overrides 2652 // the value set in the job definition. Currently, the only supported resource 2653 // is GPU. 2654 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 2655 2656 // The number of vCPUs to reserve for the container. This value overrides the 2657 // value set in the job definition. 2658 Vcpus *int64 `locationName:"vcpus" type:"integer"` 2659} 2660 2661// String returns the string representation 2662func (s ContainerOverrides) String() string { 2663 return awsutil.Prettify(s) 2664} 2665 2666// GoString returns the string representation 2667func (s ContainerOverrides) GoString() string { 2668 return s.String() 2669} 2670 2671// Validate inspects the fields of the type to determine if they are valid. 2672func (s *ContainerOverrides) Validate() error { 2673 invalidParams := request.ErrInvalidParams{Context: "ContainerOverrides"} 2674 if s.ResourceRequirements != nil { 2675 for i, v := range s.ResourceRequirements { 2676 if v == nil { 2677 continue 2678 } 2679 if err := v.Validate(); err != nil { 2680 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 2681 } 2682 } 2683 } 2684 2685 if invalidParams.Len() > 0 { 2686 return invalidParams 2687 } 2688 return nil 2689} 2690 2691// SetCommand sets the Command field's value. 2692func (s *ContainerOverrides) SetCommand(v []*string) *ContainerOverrides { 2693 s.Command = v 2694 return s 2695} 2696 2697// SetEnvironment sets the Environment field's value. 2698func (s *ContainerOverrides) SetEnvironment(v []*KeyValuePair) *ContainerOverrides { 2699 s.Environment = v 2700 return s 2701} 2702 2703// SetInstanceType sets the InstanceType field's value. 2704func (s *ContainerOverrides) SetInstanceType(v string) *ContainerOverrides { 2705 s.InstanceType = &v 2706 return s 2707} 2708 2709// SetMemory sets the Memory field's value. 2710func (s *ContainerOverrides) SetMemory(v int64) *ContainerOverrides { 2711 s.Memory = &v 2712 return s 2713} 2714 2715// SetResourceRequirements sets the ResourceRequirements field's value. 2716func (s *ContainerOverrides) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverrides { 2717 s.ResourceRequirements = v 2718 return s 2719} 2720 2721// SetVcpus sets the Vcpus field's value. 2722func (s *ContainerOverrides) SetVcpus(v int64) *ContainerOverrides { 2723 s.Vcpus = &v 2724 return s 2725} 2726 2727// Container properties are used in job definitions to describe the container 2728// that is launched as part of a job. 2729type ContainerProperties struct { 2730 _ struct{} `type:"structure"` 2731 2732 // The command that is passed to the container. This parameter maps to Cmd in 2733 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2734 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2735 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 2736 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 2737 // (https://docs.docker.com/engine/reference/builder/#cmd). 2738 Command []*string `locationName:"command" type:"list"` 2739 2740 // The environment variables to pass to a container. This parameter maps to 2741 // Env in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2742 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2743 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 2744 // 2745 // We do not recommend using plaintext environment variables for sensitive information, 2746 // such as credential data. 2747 // 2748 // Environment variables must not start with AWS_BATCH; this naming convention 2749 // is reserved for variables that are set by the AWS Batch service. 2750 Environment []*KeyValuePair `locationName:"environment" type:"list"` 2751 2752 // The image used to start a container. This string is passed directly to the 2753 // Docker daemon. Images in the Docker Hub registry are available by default. 2754 // Other repositories are specified with repository-url/image:tag . Up to 255 2755 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, 2756 // periods, forward slashes, and number signs are allowed. This parameter maps 2757 // to Image in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2758 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2759 // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 2760 // 2761 // * Images in Amazon ECR repositories use the full registry and repository 2762 // URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>). 2763 // 2764 // * Images in official repositories on Docker Hub use a single name (for 2765 // example, ubuntu or mongo). 2766 // 2767 // * Images in other repositories on Docker Hub are qualified with an organization 2768 // name (for example, amazon/amazon-ecs-agent). 2769 // 2770 // * Images in other online repositories are qualified further by a domain 2771 // name (for example, quay.io/assemblyline/ubuntu). 2772 Image *string `locationName:"image" type:"string"` 2773 2774 // The instance type to use for a multi-node parallel job. Currently all node 2775 // groups in a multi-node parallel job must use the same instance type. This 2776 // parameter is not valid for single-node container jobs. 2777 InstanceType *string `locationName:"instanceType" type:"string"` 2778 2779 // The Amazon Resource Name (ARN) of the IAM role that the container can assume 2780 // for AWS permissions. 2781 JobRoleArn *string `locationName:"jobRoleArn" type:"string"` 2782 2783 // Linux-specific modifications that are applied to the container, such as details 2784 // for device mappings. 2785 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 2786 2787 // The hard limit (in MiB) of memory to present to the container. If your container 2788 // attempts to exceed the memory specified here, the container is killed. This 2789 // parameter maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2790 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2791 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 2792 // You must specify at least 4 MiB of memory for a job. 2793 // 2794 // If you are trying to maximize your resource utilization by providing your 2795 // jobs as much memory as possible for a particular instance type, see Memory 2796 // Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html) 2797 // in the AWS Batch User Guide. 2798 Memory *int64 `locationName:"memory" type:"integer"` 2799 2800 // The mount points for data volumes in your container. This parameter maps 2801 // to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2802 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2803 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 2804 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 2805 2806 // When this parameter is true, the container is given elevated privileges on 2807 // the host container instance (similar to the root user). This parameter maps 2808 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2809 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2810 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 2811 Privileged *bool `locationName:"privileged" type:"boolean"` 2812 2813 // When this parameter is true, the container is given read-only access to its 2814 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 2815 // (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of 2816 // the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the 2817 // --read-only option to docker run. 2818 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 2819 2820 // The type and amount of a resource to assign to a container. Currently, the 2821 // only supported resource is GPU. 2822 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 2823 2824 // A list of ulimits to set in the container. This parameter maps to Ulimits 2825 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2826 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2827 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 2828 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 2829 2830 // The user name to use inside the container. This parameter maps to User in 2831 // the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2832 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2833 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 2834 User *string `locationName:"user" type:"string"` 2835 2836 // The number of vCPUs reserved for the container. This parameter maps to CpuShares 2837 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 2838 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 2839 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 2840 // Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one 2841 // vCPU. 2842 Vcpus *int64 `locationName:"vcpus" type:"integer"` 2843 2844 // A list of data volumes used in a job. 2845 Volumes []*Volume `locationName:"volumes" type:"list"` 2846} 2847 2848// String returns the string representation 2849func (s ContainerProperties) String() string { 2850 return awsutil.Prettify(s) 2851} 2852 2853// GoString returns the string representation 2854func (s ContainerProperties) GoString() string { 2855 return s.String() 2856} 2857 2858// Validate inspects the fields of the type to determine if they are valid. 2859func (s *ContainerProperties) Validate() error { 2860 invalidParams := request.ErrInvalidParams{Context: "ContainerProperties"} 2861 if s.LinuxParameters != nil { 2862 if err := s.LinuxParameters.Validate(); err != nil { 2863 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 2864 } 2865 } 2866 if s.ResourceRequirements != nil { 2867 for i, v := range s.ResourceRequirements { 2868 if v == nil { 2869 continue 2870 } 2871 if err := v.Validate(); err != nil { 2872 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 2873 } 2874 } 2875 } 2876 if s.Ulimits != nil { 2877 for i, v := range s.Ulimits { 2878 if v == nil { 2879 continue 2880 } 2881 if err := v.Validate(); err != nil { 2882 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 2883 } 2884 } 2885 } 2886 2887 if invalidParams.Len() > 0 { 2888 return invalidParams 2889 } 2890 return nil 2891} 2892 2893// SetCommand sets the Command field's value. 2894func (s *ContainerProperties) SetCommand(v []*string) *ContainerProperties { 2895 s.Command = v 2896 return s 2897} 2898 2899// SetEnvironment sets the Environment field's value. 2900func (s *ContainerProperties) SetEnvironment(v []*KeyValuePair) *ContainerProperties { 2901 s.Environment = v 2902 return s 2903} 2904 2905// SetImage sets the Image field's value. 2906func (s *ContainerProperties) SetImage(v string) *ContainerProperties { 2907 s.Image = &v 2908 return s 2909} 2910 2911// SetInstanceType sets the InstanceType field's value. 2912func (s *ContainerProperties) SetInstanceType(v string) *ContainerProperties { 2913 s.InstanceType = &v 2914 return s 2915} 2916 2917// SetJobRoleArn sets the JobRoleArn field's value. 2918func (s *ContainerProperties) SetJobRoleArn(v string) *ContainerProperties { 2919 s.JobRoleArn = &v 2920 return s 2921} 2922 2923// SetLinuxParameters sets the LinuxParameters field's value. 2924func (s *ContainerProperties) SetLinuxParameters(v *LinuxParameters) *ContainerProperties { 2925 s.LinuxParameters = v 2926 return s 2927} 2928 2929// SetMemory sets the Memory field's value. 2930func (s *ContainerProperties) SetMemory(v int64) *ContainerProperties { 2931 s.Memory = &v 2932 return s 2933} 2934 2935// SetMountPoints sets the MountPoints field's value. 2936func (s *ContainerProperties) SetMountPoints(v []*MountPoint) *ContainerProperties { 2937 s.MountPoints = v 2938 return s 2939} 2940 2941// SetPrivileged sets the Privileged field's value. 2942func (s *ContainerProperties) SetPrivileged(v bool) *ContainerProperties { 2943 s.Privileged = &v 2944 return s 2945} 2946 2947// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 2948func (s *ContainerProperties) SetReadonlyRootFilesystem(v bool) *ContainerProperties { 2949 s.ReadonlyRootFilesystem = &v 2950 return s 2951} 2952 2953// SetResourceRequirements sets the ResourceRequirements field's value. 2954func (s *ContainerProperties) SetResourceRequirements(v []*ResourceRequirement) *ContainerProperties { 2955 s.ResourceRequirements = v 2956 return s 2957} 2958 2959// SetUlimits sets the Ulimits field's value. 2960func (s *ContainerProperties) SetUlimits(v []*Ulimit) *ContainerProperties { 2961 s.Ulimits = v 2962 return s 2963} 2964 2965// SetUser sets the User field's value. 2966func (s *ContainerProperties) SetUser(v string) *ContainerProperties { 2967 s.User = &v 2968 return s 2969} 2970 2971// SetVcpus sets the Vcpus field's value. 2972func (s *ContainerProperties) SetVcpus(v int64) *ContainerProperties { 2973 s.Vcpus = &v 2974 return s 2975} 2976 2977// SetVolumes sets the Volumes field's value. 2978func (s *ContainerProperties) SetVolumes(v []*Volume) *ContainerProperties { 2979 s.Volumes = v 2980 return s 2981} 2982 2983// An object representing summary details of a container within a job. 2984type ContainerSummary struct { 2985 _ struct{} `type:"structure"` 2986 2987 // The exit code to return upon completion. 2988 ExitCode *int64 `locationName:"exitCode" type:"integer"` 2989 2990 // A short (255 max characters) human-readable string to provide additional 2991 // details about a running or stopped container. 2992 Reason *string `locationName:"reason" type:"string"` 2993} 2994 2995// String returns the string representation 2996func (s ContainerSummary) String() string { 2997 return awsutil.Prettify(s) 2998} 2999 3000// GoString returns the string representation 3001func (s ContainerSummary) GoString() string { 3002 return s.String() 3003} 3004 3005// SetExitCode sets the ExitCode field's value. 3006func (s *ContainerSummary) SetExitCode(v int64) *ContainerSummary { 3007 s.ExitCode = &v 3008 return s 3009} 3010 3011// SetReason sets the Reason field's value. 3012func (s *ContainerSummary) SetReason(v string) *ContainerSummary { 3013 s.Reason = &v 3014 return s 3015} 3016 3017type CreateComputeEnvironmentInput struct { 3018 _ struct{} `type:"structure"` 3019 3020 // The name for your compute environment. Up to 128 letters (uppercase and lowercase), 3021 // numbers, hyphens, and underscores are allowed. 3022 // 3023 // ComputeEnvironmentName is a required field 3024 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"` 3025 3026 // Details of the compute resources managed by the compute environment. This 3027 // parameter is required for managed compute environments. For more information, 3028 // see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3029 // in the AWS Batch User Guide. 3030 ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"` 3031 3032 // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch 3033 // to make calls to other AWS services on your behalf. 3034 // 3035 // If your specified role has a path other than /, then you must either specify 3036 // the full role ARN (this is recommended) or prefix the role name with the 3037 // path. 3038 // 3039 // Depending on how you created your AWS Batch service role, its ARN may contain 3040 // the service-role path prefix. When you only specify the name of the service 3041 // role, AWS Batch assumes that your ARN does not use the service-role path 3042 // prefix. Because of this, we recommend that you specify the full ARN of your 3043 // service role when you create compute environments. 3044 // 3045 // ServiceRole is a required field 3046 ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"` 3047 3048 // The state of the compute environment. If the state is ENABLED, then the compute 3049 // environment accepts jobs from a queue and can scale out automatically based 3050 // on queues. 3051 State *string `locationName:"state" type:"string" enum:"CEState"` 3052 3053 // The type of the compute environment. For more information, see Compute Environments 3054 // (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) 3055 // in the AWS Batch User Guide. 3056 // 3057 // Type is a required field 3058 Type *string `locationName:"type" type:"string" required:"true" enum:"CEType"` 3059} 3060 3061// String returns the string representation 3062func (s CreateComputeEnvironmentInput) String() string { 3063 return awsutil.Prettify(s) 3064} 3065 3066// GoString returns the string representation 3067func (s CreateComputeEnvironmentInput) GoString() string { 3068 return s.String() 3069} 3070 3071// Validate inspects the fields of the type to determine if they are valid. 3072func (s *CreateComputeEnvironmentInput) Validate() error { 3073 invalidParams := request.ErrInvalidParams{Context: "CreateComputeEnvironmentInput"} 3074 if s.ComputeEnvironmentName == nil { 3075 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentName")) 3076 } 3077 if s.ServiceRole == nil { 3078 invalidParams.Add(request.NewErrParamRequired("ServiceRole")) 3079 } 3080 if s.Type == nil { 3081 invalidParams.Add(request.NewErrParamRequired("Type")) 3082 } 3083 if s.ComputeResources != nil { 3084 if err := s.ComputeResources.Validate(); err != nil { 3085 invalidParams.AddNested("ComputeResources", err.(request.ErrInvalidParams)) 3086 } 3087 } 3088 3089 if invalidParams.Len() > 0 { 3090 return invalidParams 3091 } 3092 return nil 3093} 3094 3095// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 3096func (s *CreateComputeEnvironmentInput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentInput { 3097 s.ComputeEnvironmentName = &v 3098 return s 3099} 3100 3101// SetComputeResources sets the ComputeResources field's value. 3102func (s *CreateComputeEnvironmentInput) SetComputeResources(v *ComputeResource) *CreateComputeEnvironmentInput { 3103 s.ComputeResources = v 3104 return s 3105} 3106 3107// SetServiceRole sets the ServiceRole field's value. 3108func (s *CreateComputeEnvironmentInput) SetServiceRole(v string) *CreateComputeEnvironmentInput { 3109 s.ServiceRole = &v 3110 return s 3111} 3112 3113// SetState sets the State field's value. 3114func (s *CreateComputeEnvironmentInput) SetState(v string) *CreateComputeEnvironmentInput { 3115 s.State = &v 3116 return s 3117} 3118 3119// SetType sets the Type field's value. 3120func (s *CreateComputeEnvironmentInput) SetType(v string) *CreateComputeEnvironmentInput { 3121 s.Type = &v 3122 return s 3123} 3124 3125type CreateComputeEnvironmentOutput struct { 3126 _ struct{} `type:"structure"` 3127 3128 // The Amazon Resource Name (ARN) of the compute environment. 3129 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 3130 3131 // The name of the compute environment. 3132 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 3133} 3134 3135// String returns the string representation 3136func (s CreateComputeEnvironmentOutput) String() string { 3137 return awsutil.Prettify(s) 3138} 3139 3140// GoString returns the string representation 3141func (s CreateComputeEnvironmentOutput) GoString() string { 3142 return s.String() 3143} 3144 3145// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 3146func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *CreateComputeEnvironmentOutput { 3147 s.ComputeEnvironmentArn = &v 3148 return s 3149} 3150 3151// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 3152func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentOutput { 3153 s.ComputeEnvironmentName = &v 3154 return s 3155} 3156 3157type CreateJobQueueInput struct { 3158 _ struct{} `type:"structure"` 3159 3160 // The set of compute environments mapped to a job queue and their order relative 3161 // to each other. The job scheduler uses this parameter to determine which compute 3162 // environment should execute a given job. Compute environments must be in the 3163 // VALID state before you can associate them with a job queue. You can associate 3164 // up to three compute environments with a job queue. 3165 // 3166 // ComputeEnvironmentOrder is a required field 3167 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 3168 3169 // The name of the job queue. 3170 // 3171 // JobQueueName is a required field 3172 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 3173 3174 // The priority of the job queue. Job queues with a higher priority (or a higher 3175 // integer value for the priority parameter) are evaluated first when associated 3176 // with the same compute environment. Priority is determined in descending order, 3177 // for example, a job queue with a priority value of 10 is given scheduling 3178 // preference over a job queue with a priority value of 1. 3179 // 3180 // Priority is a required field 3181 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 3182 3183 // The state of the job queue. If the job queue state is ENABLED, it is able 3184 // to accept jobs. 3185 State *string `locationName:"state" type:"string" enum:"JQState"` 3186} 3187 3188// String returns the string representation 3189func (s CreateJobQueueInput) String() string { 3190 return awsutil.Prettify(s) 3191} 3192 3193// GoString returns the string representation 3194func (s CreateJobQueueInput) GoString() string { 3195 return s.String() 3196} 3197 3198// Validate inspects the fields of the type to determine if they are valid. 3199func (s *CreateJobQueueInput) Validate() error { 3200 invalidParams := request.ErrInvalidParams{Context: "CreateJobQueueInput"} 3201 if s.ComputeEnvironmentOrder == nil { 3202 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironmentOrder")) 3203 } 3204 if s.JobQueueName == nil { 3205 invalidParams.Add(request.NewErrParamRequired("JobQueueName")) 3206 } 3207 if s.Priority == nil { 3208 invalidParams.Add(request.NewErrParamRequired("Priority")) 3209 } 3210 if s.ComputeEnvironmentOrder != nil { 3211 for i, v := range s.ComputeEnvironmentOrder { 3212 if v == nil { 3213 continue 3214 } 3215 if err := v.Validate(); err != nil { 3216 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 3217 } 3218 } 3219 } 3220 3221 if invalidParams.Len() > 0 { 3222 return invalidParams 3223 } 3224 return nil 3225} 3226 3227// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 3228func (s *CreateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *CreateJobQueueInput { 3229 s.ComputeEnvironmentOrder = v 3230 return s 3231} 3232 3233// SetJobQueueName sets the JobQueueName field's value. 3234func (s *CreateJobQueueInput) SetJobQueueName(v string) *CreateJobQueueInput { 3235 s.JobQueueName = &v 3236 return s 3237} 3238 3239// SetPriority sets the Priority field's value. 3240func (s *CreateJobQueueInput) SetPriority(v int64) *CreateJobQueueInput { 3241 s.Priority = &v 3242 return s 3243} 3244 3245// SetState sets the State field's value. 3246func (s *CreateJobQueueInput) SetState(v string) *CreateJobQueueInput { 3247 s.State = &v 3248 return s 3249} 3250 3251type CreateJobQueueOutput struct { 3252 _ struct{} `type:"structure"` 3253 3254 // The Amazon Resource Name (ARN) of the job queue. 3255 // 3256 // JobQueueArn is a required field 3257 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 3258 3259 // The name of the job queue. 3260 // 3261 // JobQueueName is a required field 3262 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 3263} 3264 3265// String returns the string representation 3266func (s CreateJobQueueOutput) String() string { 3267 return awsutil.Prettify(s) 3268} 3269 3270// GoString returns the string representation 3271func (s CreateJobQueueOutput) GoString() string { 3272 return s.String() 3273} 3274 3275// SetJobQueueArn sets the JobQueueArn field's value. 3276func (s *CreateJobQueueOutput) SetJobQueueArn(v string) *CreateJobQueueOutput { 3277 s.JobQueueArn = &v 3278 return s 3279} 3280 3281// SetJobQueueName sets the JobQueueName field's value. 3282func (s *CreateJobQueueOutput) SetJobQueueName(v string) *CreateJobQueueOutput { 3283 s.JobQueueName = &v 3284 return s 3285} 3286 3287type DeleteComputeEnvironmentInput struct { 3288 _ struct{} `type:"structure"` 3289 3290 // The name or Amazon Resource Name (ARN) of the compute environment to delete. 3291 // 3292 // ComputeEnvironment is a required field 3293 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 3294} 3295 3296// String returns the string representation 3297func (s DeleteComputeEnvironmentInput) String() string { 3298 return awsutil.Prettify(s) 3299} 3300 3301// GoString returns the string representation 3302func (s DeleteComputeEnvironmentInput) GoString() string { 3303 return s.String() 3304} 3305 3306// Validate inspects the fields of the type to determine if they are valid. 3307func (s *DeleteComputeEnvironmentInput) Validate() error { 3308 invalidParams := request.ErrInvalidParams{Context: "DeleteComputeEnvironmentInput"} 3309 if s.ComputeEnvironment == nil { 3310 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 3311 } 3312 3313 if invalidParams.Len() > 0 { 3314 return invalidParams 3315 } 3316 return nil 3317} 3318 3319// SetComputeEnvironment sets the ComputeEnvironment field's value. 3320func (s *DeleteComputeEnvironmentInput) SetComputeEnvironment(v string) *DeleteComputeEnvironmentInput { 3321 s.ComputeEnvironment = &v 3322 return s 3323} 3324 3325type DeleteComputeEnvironmentOutput struct { 3326 _ struct{} `type:"structure"` 3327} 3328 3329// String returns the string representation 3330func (s DeleteComputeEnvironmentOutput) String() string { 3331 return awsutil.Prettify(s) 3332} 3333 3334// GoString returns the string representation 3335func (s DeleteComputeEnvironmentOutput) GoString() string { 3336 return s.String() 3337} 3338 3339type DeleteJobQueueInput struct { 3340 _ struct{} `type:"structure"` 3341 3342 // The short name or full Amazon Resource Name (ARN) of the queue to delete. 3343 // 3344 // JobQueue is a required field 3345 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 3346} 3347 3348// String returns the string representation 3349func (s DeleteJobQueueInput) String() string { 3350 return awsutil.Prettify(s) 3351} 3352 3353// GoString returns the string representation 3354func (s DeleteJobQueueInput) GoString() string { 3355 return s.String() 3356} 3357 3358// Validate inspects the fields of the type to determine if they are valid. 3359func (s *DeleteJobQueueInput) Validate() error { 3360 invalidParams := request.ErrInvalidParams{Context: "DeleteJobQueueInput"} 3361 if s.JobQueue == nil { 3362 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 3363 } 3364 3365 if invalidParams.Len() > 0 { 3366 return invalidParams 3367 } 3368 return nil 3369} 3370 3371// SetJobQueue sets the JobQueue field's value. 3372func (s *DeleteJobQueueInput) SetJobQueue(v string) *DeleteJobQueueInput { 3373 s.JobQueue = &v 3374 return s 3375} 3376 3377type DeleteJobQueueOutput struct { 3378 _ struct{} `type:"structure"` 3379} 3380 3381// String returns the string representation 3382func (s DeleteJobQueueOutput) String() string { 3383 return awsutil.Prettify(s) 3384} 3385 3386// GoString returns the string representation 3387func (s DeleteJobQueueOutput) GoString() string { 3388 return s.String() 3389} 3390 3391type DeregisterJobDefinitionInput struct { 3392 _ struct{} `type:"structure"` 3393 3394 // The name and revision (name:revision) or full Amazon Resource Name (ARN) 3395 // of the job definition to deregister. 3396 // 3397 // JobDefinition is a required field 3398 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 3399} 3400 3401// String returns the string representation 3402func (s DeregisterJobDefinitionInput) String() string { 3403 return awsutil.Prettify(s) 3404} 3405 3406// GoString returns the string representation 3407func (s DeregisterJobDefinitionInput) GoString() string { 3408 return s.String() 3409} 3410 3411// Validate inspects the fields of the type to determine if they are valid. 3412func (s *DeregisterJobDefinitionInput) Validate() error { 3413 invalidParams := request.ErrInvalidParams{Context: "DeregisterJobDefinitionInput"} 3414 if s.JobDefinition == nil { 3415 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 3416 } 3417 3418 if invalidParams.Len() > 0 { 3419 return invalidParams 3420 } 3421 return nil 3422} 3423 3424// SetJobDefinition sets the JobDefinition field's value. 3425func (s *DeregisterJobDefinitionInput) SetJobDefinition(v string) *DeregisterJobDefinitionInput { 3426 s.JobDefinition = &v 3427 return s 3428} 3429 3430type DeregisterJobDefinitionOutput struct { 3431 _ struct{} `type:"structure"` 3432} 3433 3434// String returns the string representation 3435func (s DeregisterJobDefinitionOutput) String() string { 3436 return awsutil.Prettify(s) 3437} 3438 3439// GoString returns the string representation 3440func (s DeregisterJobDefinitionOutput) GoString() string { 3441 return s.String() 3442} 3443 3444type DescribeComputeEnvironmentsInput struct { 3445 _ struct{} `type:"structure"` 3446 3447 // A list of up to 100 compute environment names or full Amazon Resource Name 3448 // (ARN) entries. 3449 ComputeEnvironments []*string `locationName:"computeEnvironments" type:"list"` 3450 3451 // The maximum number of cluster results returned by DescribeComputeEnvironments 3452 // in paginated output. When this parameter is used, DescribeComputeEnvironments 3453 // only returns maxResults results in a single page along with a nextToken response 3454 // element. The remaining results of the initial request can be seen by sending 3455 // another DescribeComputeEnvironments request with the returned nextToken value. 3456 // This value can be between 1 and 100. If this parameter is not used, then 3457 // DescribeComputeEnvironments returns up to 100 results and a nextToken value 3458 // if applicable. 3459 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3460 3461 // The nextToken value returned from a previous paginated DescribeComputeEnvironments 3462 // request where maxResults was used and the results exceeded the value of that 3463 // parameter. Pagination continues from the end of the previous results that 3464 // returned the nextToken value. This value is null when there are no more results 3465 // to return. 3466 // 3467 // This token should be treated as an opaque identifier that is only used to 3468 // retrieve the next items in a list and not for other programmatic purposes. 3469 NextToken *string `locationName:"nextToken" type:"string"` 3470} 3471 3472// String returns the string representation 3473func (s DescribeComputeEnvironmentsInput) String() string { 3474 return awsutil.Prettify(s) 3475} 3476 3477// GoString returns the string representation 3478func (s DescribeComputeEnvironmentsInput) GoString() string { 3479 return s.String() 3480} 3481 3482// SetComputeEnvironments sets the ComputeEnvironments field's value. 3483func (s *DescribeComputeEnvironmentsInput) SetComputeEnvironments(v []*string) *DescribeComputeEnvironmentsInput { 3484 s.ComputeEnvironments = v 3485 return s 3486} 3487 3488// SetMaxResults sets the MaxResults field's value. 3489func (s *DescribeComputeEnvironmentsInput) SetMaxResults(v int64) *DescribeComputeEnvironmentsInput { 3490 s.MaxResults = &v 3491 return s 3492} 3493 3494// SetNextToken sets the NextToken field's value. 3495func (s *DescribeComputeEnvironmentsInput) SetNextToken(v string) *DescribeComputeEnvironmentsInput { 3496 s.NextToken = &v 3497 return s 3498} 3499 3500type DescribeComputeEnvironmentsOutput struct { 3501 _ struct{} `type:"structure"` 3502 3503 // The list of compute environments. 3504 ComputeEnvironments []*ComputeEnvironmentDetail `locationName:"computeEnvironments" type:"list"` 3505 3506 // The nextToken value to include in a future DescribeComputeEnvironments request. 3507 // When the results of a DescribeJobDefinitions request exceed maxResults, this 3508 // value can be used to retrieve the next page of results. This value is null 3509 // when there are no more results to return. 3510 NextToken *string `locationName:"nextToken" type:"string"` 3511} 3512 3513// String returns the string representation 3514func (s DescribeComputeEnvironmentsOutput) String() string { 3515 return awsutil.Prettify(s) 3516} 3517 3518// GoString returns the string representation 3519func (s DescribeComputeEnvironmentsOutput) GoString() string { 3520 return s.String() 3521} 3522 3523// SetComputeEnvironments sets the ComputeEnvironments field's value. 3524func (s *DescribeComputeEnvironmentsOutput) SetComputeEnvironments(v []*ComputeEnvironmentDetail) *DescribeComputeEnvironmentsOutput { 3525 s.ComputeEnvironments = v 3526 return s 3527} 3528 3529// SetNextToken sets the NextToken field's value. 3530func (s *DescribeComputeEnvironmentsOutput) SetNextToken(v string) *DescribeComputeEnvironmentsOutput { 3531 s.NextToken = &v 3532 return s 3533} 3534 3535type DescribeJobDefinitionsInput struct { 3536 _ struct{} `type:"structure"` 3537 3538 // The name of the job definition to describe. 3539 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string"` 3540 3541 // A list of up to 100 job definition names or full Amazon Resource Name (ARN) 3542 // entries. 3543 JobDefinitions []*string `locationName:"jobDefinitions" type:"list"` 3544 3545 // The maximum number of results returned by DescribeJobDefinitions in paginated 3546 // output. When this parameter is used, DescribeJobDefinitions only returns 3547 // maxResults results in a single page along with a nextToken response element. 3548 // The remaining results of the initial request can be seen by sending another 3549 // DescribeJobDefinitions request with the returned nextToken value. This value 3550 // can be between 1 and 100. If this parameter is not used, then DescribeJobDefinitions 3551 // returns up to 100 results and a nextToken value if applicable. 3552 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3553 3554 // The nextToken value returned from a previous paginated DescribeJobDefinitions 3555 // request where maxResults was used and the results exceeded the value of that 3556 // parameter. Pagination continues from the end of the previous results that 3557 // returned the nextToken value. This value is null when there are no more results 3558 // to return. 3559 // 3560 // This token should be treated as an opaque identifier that is only used to 3561 // retrieve the next items in a list and not for other programmatic purposes. 3562 NextToken *string `locationName:"nextToken" type:"string"` 3563 3564 // The status with which to filter job definitions. 3565 Status *string `locationName:"status" type:"string"` 3566} 3567 3568// String returns the string representation 3569func (s DescribeJobDefinitionsInput) String() string { 3570 return awsutil.Prettify(s) 3571} 3572 3573// GoString returns the string representation 3574func (s DescribeJobDefinitionsInput) GoString() string { 3575 return s.String() 3576} 3577 3578// SetJobDefinitionName sets the JobDefinitionName field's value. 3579func (s *DescribeJobDefinitionsInput) SetJobDefinitionName(v string) *DescribeJobDefinitionsInput { 3580 s.JobDefinitionName = &v 3581 return s 3582} 3583 3584// SetJobDefinitions sets the JobDefinitions field's value. 3585func (s *DescribeJobDefinitionsInput) SetJobDefinitions(v []*string) *DescribeJobDefinitionsInput { 3586 s.JobDefinitions = v 3587 return s 3588} 3589 3590// SetMaxResults sets the MaxResults field's value. 3591func (s *DescribeJobDefinitionsInput) SetMaxResults(v int64) *DescribeJobDefinitionsInput { 3592 s.MaxResults = &v 3593 return s 3594} 3595 3596// SetNextToken sets the NextToken field's value. 3597func (s *DescribeJobDefinitionsInput) SetNextToken(v string) *DescribeJobDefinitionsInput { 3598 s.NextToken = &v 3599 return s 3600} 3601 3602// SetStatus sets the Status field's value. 3603func (s *DescribeJobDefinitionsInput) SetStatus(v string) *DescribeJobDefinitionsInput { 3604 s.Status = &v 3605 return s 3606} 3607 3608type DescribeJobDefinitionsOutput struct { 3609 _ struct{} `type:"structure"` 3610 3611 // The list of job definitions. 3612 JobDefinitions []*JobDefinition `locationName:"jobDefinitions" type:"list"` 3613 3614 // The nextToken value to include in a future DescribeJobDefinitions request. 3615 // When the results of a DescribeJobDefinitions request exceed maxResults, this 3616 // value can be used to retrieve the next page of results. This value is null 3617 // when there are no more results to return. 3618 NextToken *string `locationName:"nextToken" type:"string"` 3619} 3620 3621// String returns the string representation 3622func (s DescribeJobDefinitionsOutput) String() string { 3623 return awsutil.Prettify(s) 3624} 3625 3626// GoString returns the string representation 3627func (s DescribeJobDefinitionsOutput) GoString() string { 3628 return s.String() 3629} 3630 3631// SetJobDefinitions sets the JobDefinitions field's value. 3632func (s *DescribeJobDefinitionsOutput) SetJobDefinitions(v []*JobDefinition) *DescribeJobDefinitionsOutput { 3633 s.JobDefinitions = v 3634 return s 3635} 3636 3637// SetNextToken sets the NextToken field's value. 3638func (s *DescribeJobDefinitionsOutput) SetNextToken(v string) *DescribeJobDefinitionsOutput { 3639 s.NextToken = &v 3640 return s 3641} 3642 3643type DescribeJobQueuesInput struct { 3644 _ struct{} `type:"structure"` 3645 3646 // A list of up to 100 queue names or full queue Amazon Resource Name (ARN) 3647 // entries. 3648 JobQueues []*string `locationName:"jobQueues" type:"list"` 3649 3650 // The maximum number of results returned by DescribeJobQueues in paginated 3651 // output. When this parameter is used, DescribeJobQueues only returns maxResults 3652 // results in a single page along with a nextToken response element. The remaining 3653 // results of the initial request can be seen by sending another DescribeJobQueues 3654 // request with the returned nextToken value. This value can be between 1 and 3655 // 100. If this parameter is not used, then DescribeJobQueues returns up to 3656 // 100 results and a nextToken value if applicable. 3657 MaxResults *int64 `locationName:"maxResults" type:"integer"` 3658 3659 // The nextToken value returned from a previous paginated DescribeJobQueues 3660 // request where maxResults was used and the results exceeded the value of that 3661 // parameter. Pagination continues from the end of the previous results that 3662 // returned the nextToken value. This value is null when there are no more results 3663 // to return. 3664 // 3665 // This token should be treated as an opaque identifier that is only used to 3666 // retrieve the next items in a list and not for other programmatic purposes. 3667 NextToken *string `locationName:"nextToken" type:"string"` 3668} 3669 3670// String returns the string representation 3671func (s DescribeJobQueuesInput) String() string { 3672 return awsutil.Prettify(s) 3673} 3674 3675// GoString returns the string representation 3676func (s DescribeJobQueuesInput) GoString() string { 3677 return s.String() 3678} 3679 3680// SetJobQueues sets the JobQueues field's value. 3681func (s *DescribeJobQueuesInput) SetJobQueues(v []*string) *DescribeJobQueuesInput { 3682 s.JobQueues = v 3683 return s 3684} 3685 3686// SetMaxResults sets the MaxResults field's value. 3687func (s *DescribeJobQueuesInput) SetMaxResults(v int64) *DescribeJobQueuesInput { 3688 s.MaxResults = &v 3689 return s 3690} 3691 3692// SetNextToken sets the NextToken field's value. 3693func (s *DescribeJobQueuesInput) SetNextToken(v string) *DescribeJobQueuesInput { 3694 s.NextToken = &v 3695 return s 3696} 3697 3698type DescribeJobQueuesOutput struct { 3699 _ struct{} `type:"structure"` 3700 3701 // The list of job queues. 3702 JobQueues []*JobQueueDetail `locationName:"jobQueues" type:"list"` 3703 3704 // The nextToken value to include in a future DescribeJobQueues request. When 3705 // the results of a DescribeJobQueues request exceed maxResults, this value 3706 // can be used to retrieve the next page of results. This value is null when 3707 // there are no more results to return. 3708 NextToken *string `locationName:"nextToken" type:"string"` 3709} 3710 3711// String returns the string representation 3712func (s DescribeJobQueuesOutput) String() string { 3713 return awsutil.Prettify(s) 3714} 3715 3716// GoString returns the string representation 3717func (s DescribeJobQueuesOutput) GoString() string { 3718 return s.String() 3719} 3720 3721// SetJobQueues sets the JobQueues field's value. 3722func (s *DescribeJobQueuesOutput) SetJobQueues(v []*JobQueueDetail) *DescribeJobQueuesOutput { 3723 s.JobQueues = v 3724 return s 3725} 3726 3727// SetNextToken sets the NextToken field's value. 3728func (s *DescribeJobQueuesOutput) SetNextToken(v string) *DescribeJobQueuesOutput { 3729 s.NextToken = &v 3730 return s 3731} 3732 3733type DescribeJobsInput struct { 3734 _ struct{} `type:"structure"` 3735 3736 // A list of up to 100 job IDs. 3737 // 3738 // Jobs is a required field 3739 Jobs []*string `locationName:"jobs" type:"list" required:"true"` 3740} 3741 3742// String returns the string representation 3743func (s DescribeJobsInput) String() string { 3744 return awsutil.Prettify(s) 3745} 3746 3747// GoString returns the string representation 3748func (s DescribeJobsInput) GoString() string { 3749 return s.String() 3750} 3751 3752// Validate inspects the fields of the type to determine if they are valid. 3753func (s *DescribeJobsInput) Validate() error { 3754 invalidParams := request.ErrInvalidParams{Context: "DescribeJobsInput"} 3755 if s.Jobs == nil { 3756 invalidParams.Add(request.NewErrParamRequired("Jobs")) 3757 } 3758 3759 if invalidParams.Len() > 0 { 3760 return invalidParams 3761 } 3762 return nil 3763} 3764 3765// SetJobs sets the Jobs field's value. 3766func (s *DescribeJobsInput) SetJobs(v []*string) *DescribeJobsInput { 3767 s.Jobs = v 3768 return s 3769} 3770 3771type DescribeJobsOutput struct { 3772 _ struct{} `type:"structure"` 3773 3774 // The list of jobs. 3775 Jobs []*JobDetail `locationName:"jobs" type:"list"` 3776} 3777 3778// String returns the string representation 3779func (s DescribeJobsOutput) String() string { 3780 return awsutil.Prettify(s) 3781} 3782 3783// GoString returns the string representation 3784func (s DescribeJobsOutput) GoString() string { 3785 return s.String() 3786} 3787 3788// SetJobs sets the Jobs field's value. 3789func (s *DescribeJobsOutput) SetJobs(v []*JobDetail) *DescribeJobsOutput { 3790 s.Jobs = v 3791 return s 3792} 3793 3794// An object representing a container instance host device. 3795type Device struct { 3796 _ struct{} `type:"structure"` 3797 3798 // The path inside the container at which to expose the host device. By default 3799 // the hostPath value is used. 3800 ContainerPath *string `locationName:"containerPath" type:"string"` 3801 3802 // The path for the device on the host container instance. 3803 // 3804 // HostPath is a required field 3805 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 3806 3807 // The explicit permissions to provide to the container for the device. By default, 3808 // the container has permissions for read, write, and mknod for the device. 3809 Permissions []*string `locationName:"permissions" type:"list"` 3810} 3811 3812// String returns the string representation 3813func (s Device) String() string { 3814 return awsutil.Prettify(s) 3815} 3816 3817// GoString returns the string representation 3818func (s Device) GoString() string { 3819 return s.String() 3820} 3821 3822// Validate inspects the fields of the type to determine if they are valid. 3823func (s *Device) Validate() error { 3824 invalidParams := request.ErrInvalidParams{Context: "Device"} 3825 if s.HostPath == nil { 3826 invalidParams.Add(request.NewErrParamRequired("HostPath")) 3827 } 3828 3829 if invalidParams.Len() > 0 { 3830 return invalidParams 3831 } 3832 return nil 3833} 3834 3835// SetContainerPath sets the ContainerPath field's value. 3836func (s *Device) SetContainerPath(v string) *Device { 3837 s.ContainerPath = &v 3838 return s 3839} 3840 3841// SetHostPath sets the HostPath field's value. 3842func (s *Device) SetHostPath(v string) *Device { 3843 s.HostPath = &v 3844 return s 3845} 3846 3847// SetPermissions sets the Permissions field's value. 3848func (s *Device) SetPermissions(v []*string) *Device { 3849 s.Permissions = v 3850 return s 3851} 3852 3853// Determine whether your data volume persists on the host container instance 3854// and where it is stored. If this parameter is empty, then the Docker daemon 3855// assigns a host path for your data volume, but the data is not guaranteed 3856// to persist after the containers associated with it stop running. 3857type Host struct { 3858 _ struct{} `type:"structure"` 3859 3860 // The path on the host container instance that is presented to the container. 3861 // If this parameter is empty, then the Docker daemon has assigned a host path 3862 // for you. If this parameter contains a file location, then the data volume 3863 // persists at the specified location on the host container instance until you 3864 // delete it manually. If the source path location does not exist on the host 3865 // container instance, the Docker daemon creates it. If the location does exist, 3866 // the contents of the source path folder are exported. 3867 SourcePath *string `locationName:"sourcePath" type:"string"` 3868} 3869 3870// String returns the string representation 3871func (s Host) String() string { 3872 return awsutil.Prettify(s) 3873} 3874 3875// GoString returns the string representation 3876func (s Host) GoString() string { 3877 return s.String() 3878} 3879 3880// SetSourcePath sets the SourcePath field's value. 3881func (s *Host) SetSourcePath(v string) *Host { 3882 s.SourcePath = &v 3883 return s 3884} 3885 3886// An object representing an AWS Batch job definition. 3887type JobDefinition struct { 3888 _ struct{} `type:"structure"` 3889 3890 // An object with various properties specific to container-based jobs. 3891 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 3892 3893 // The Amazon Resource Name (ARN) for the job definition. 3894 // 3895 // JobDefinitionArn is a required field 3896 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 3897 3898 // The name of the job definition. 3899 // 3900 // JobDefinitionName is a required field 3901 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 3902 3903 // An object with various properties specific to multi-node parallel jobs. 3904 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 3905 3906 // Default parameters or parameter substitution placeholders that are set in 3907 // the job definition. Parameters are specified as a key-value pair mapping. 3908 // Parameters in a SubmitJob request override any corresponding parameter defaults 3909 // from the job definition. For more information about specifying parameters, 3910 // see Job Definition Parameters (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html) 3911 // in the AWS Batch User Guide. 3912 Parameters map[string]*string `locationName:"parameters" type:"map"` 3913 3914 // The retry strategy to use for failed jobs that are submitted with this job 3915 // definition. 3916 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 3917 3918 // The revision of the job definition. 3919 // 3920 // Revision is a required field 3921 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 3922 3923 // The status of the job definition. 3924 Status *string `locationName:"status" type:"string"` 3925 3926 // The timeout configuration for jobs that are submitted with this job definition. 3927 // You can specify a timeout duration after which AWS Batch terminates your 3928 // jobs if they have not finished. 3929 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 3930 3931 // The type of job definition. 3932 // 3933 // Type is a required field 3934 Type *string `locationName:"type" type:"string" required:"true"` 3935} 3936 3937// String returns the string representation 3938func (s JobDefinition) String() string { 3939 return awsutil.Prettify(s) 3940} 3941 3942// GoString returns the string representation 3943func (s JobDefinition) GoString() string { 3944 return s.String() 3945} 3946 3947// SetContainerProperties sets the ContainerProperties field's value. 3948func (s *JobDefinition) SetContainerProperties(v *ContainerProperties) *JobDefinition { 3949 s.ContainerProperties = v 3950 return s 3951} 3952 3953// SetJobDefinitionArn sets the JobDefinitionArn field's value. 3954func (s *JobDefinition) SetJobDefinitionArn(v string) *JobDefinition { 3955 s.JobDefinitionArn = &v 3956 return s 3957} 3958 3959// SetJobDefinitionName sets the JobDefinitionName field's value. 3960func (s *JobDefinition) SetJobDefinitionName(v string) *JobDefinition { 3961 s.JobDefinitionName = &v 3962 return s 3963} 3964 3965// SetNodeProperties sets the NodeProperties field's value. 3966func (s *JobDefinition) SetNodeProperties(v *NodeProperties) *JobDefinition { 3967 s.NodeProperties = v 3968 return s 3969} 3970 3971// SetParameters sets the Parameters field's value. 3972func (s *JobDefinition) SetParameters(v map[string]*string) *JobDefinition { 3973 s.Parameters = v 3974 return s 3975} 3976 3977// SetRetryStrategy sets the RetryStrategy field's value. 3978func (s *JobDefinition) SetRetryStrategy(v *RetryStrategy) *JobDefinition { 3979 s.RetryStrategy = v 3980 return s 3981} 3982 3983// SetRevision sets the Revision field's value. 3984func (s *JobDefinition) SetRevision(v int64) *JobDefinition { 3985 s.Revision = &v 3986 return s 3987} 3988 3989// SetStatus sets the Status field's value. 3990func (s *JobDefinition) SetStatus(v string) *JobDefinition { 3991 s.Status = &v 3992 return s 3993} 3994 3995// SetTimeout sets the Timeout field's value. 3996func (s *JobDefinition) SetTimeout(v *JobTimeout) *JobDefinition { 3997 s.Timeout = v 3998 return s 3999} 4000 4001// SetType sets the Type field's value. 4002func (s *JobDefinition) SetType(v string) *JobDefinition { 4003 s.Type = &v 4004 return s 4005} 4006 4007// An object representing an AWS Batch job dependency. 4008type JobDependency struct { 4009 _ struct{} `type:"structure"` 4010 4011 // The job ID of the AWS Batch job associated with this dependency. 4012 JobId *string `locationName:"jobId" type:"string"` 4013 4014 // The type of the job dependency. 4015 Type *string `locationName:"type" type:"string" enum:"ArrayJobDependency"` 4016} 4017 4018// String returns the string representation 4019func (s JobDependency) String() string { 4020 return awsutil.Prettify(s) 4021} 4022 4023// GoString returns the string representation 4024func (s JobDependency) GoString() string { 4025 return s.String() 4026} 4027 4028// SetJobId sets the JobId field's value. 4029func (s *JobDependency) SetJobId(v string) *JobDependency { 4030 s.JobId = &v 4031 return s 4032} 4033 4034// SetType sets the Type field's value. 4035func (s *JobDependency) SetType(v string) *JobDependency { 4036 s.Type = &v 4037 return s 4038} 4039 4040// An object representing an AWS Batch job. 4041type JobDetail struct { 4042 _ struct{} `type:"structure"` 4043 4044 // The array properties of the job, if it is an array job. 4045 ArrayProperties *ArrayPropertiesDetail `locationName:"arrayProperties" type:"structure"` 4046 4047 // A list of job attempts associated with this job. 4048 Attempts []*AttemptDetail `locationName:"attempts" type:"list"` 4049 4050 // An object representing the details of the container that is associated with 4051 // the job. 4052 Container *ContainerDetail `locationName:"container" type:"structure"` 4053 4054 // The Unix timestamp (in seconds and milliseconds) for when the job was created. 4055 // For non-array jobs and parent array jobs, this is when the job entered the 4056 // SUBMITTED state (at the time SubmitJob was called). For array child jobs, 4057 // this is when the child job was spawned by its parent and entered the PENDING 4058 // state. 4059 CreatedAt *int64 `locationName:"createdAt" type:"long"` 4060 4061 // A list of job names or IDs on which this job depends. 4062 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 4063 4064 // The job definition that is used by this job. 4065 // 4066 // JobDefinition is a required field 4067 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 4068 4069 // The ID for the job. 4070 // 4071 // JobId is a required field 4072 JobId *string `locationName:"jobId" type:"string" required:"true"` 4073 4074 // The name of the job. 4075 // 4076 // JobName is a required field 4077 JobName *string `locationName:"jobName" type:"string" required:"true"` 4078 4079 // The Amazon Resource Name (ARN) of the job queue with which the job is associated. 4080 // 4081 // JobQueue is a required field 4082 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 4083 4084 // An object representing the details of a node that is associated with a multi-node 4085 // parallel job. 4086 NodeDetails *NodeDetails `locationName:"nodeDetails" type:"structure"` 4087 4088 // An object representing the node properties of a multi-node parallel job. 4089 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 4090 4091 // Additional parameters passed to the job that replace parameter substitution 4092 // placeholders or override any corresponding parameter defaults from the job 4093 // definition. 4094 Parameters map[string]*string `locationName:"parameters" type:"map"` 4095 4096 // The retry strategy to use for this job if an attempt fails. 4097 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 4098 4099 // The Unix timestamp (in seconds and milliseconds) for when the job was started 4100 // (when the job transitioned from the STARTING state to the RUNNING state). 4101 // 4102 // StartedAt is a required field 4103 StartedAt *int64 `locationName:"startedAt" type:"long" required:"true"` 4104 4105 // The current status for the job. 4106 // 4107 // If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status 4108 // (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable) 4109 // in the troubleshooting section of the AWS Batch User Guide. 4110 // 4111 // Status is a required field 4112 Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"` 4113 4114 // A short, human-readable string to provide additional details about the current 4115 // status of the job. 4116 StatusReason *string `locationName:"statusReason" type:"string"` 4117 4118 // The Unix timestamp (in seconds and milliseconds) for when the job was stopped 4119 // (when the job transitioned from the RUNNING state to a terminal state, such 4120 // as SUCCEEDED or FAILED). 4121 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 4122 4123 // The timeout configuration for the job. 4124 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 4125} 4126 4127// String returns the string representation 4128func (s JobDetail) String() string { 4129 return awsutil.Prettify(s) 4130} 4131 4132// GoString returns the string representation 4133func (s JobDetail) GoString() string { 4134 return s.String() 4135} 4136 4137// SetArrayProperties sets the ArrayProperties field's value. 4138func (s *JobDetail) SetArrayProperties(v *ArrayPropertiesDetail) *JobDetail { 4139 s.ArrayProperties = v 4140 return s 4141} 4142 4143// SetAttempts sets the Attempts field's value. 4144func (s *JobDetail) SetAttempts(v []*AttemptDetail) *JobDetail { 4145 s.Attempts = v 4146 return s 4147} 4148 4149// SetContainer sets the Container field's value. 4150func (s *JobDetail) SetContainer(v *ContainerDetail) *JobDetail { 4151 s.Container = v 4152 return s 4153} 4154 4155// SetCreatedAt sets the CreatedAt field's value. 4156func (s *JobDetail) SetCreatedAt(v int64) *JobDetail { 4157 s.CreatedAt = &v 4158 return s 4159} 4160 4161// SetDependsOn sets the DependsOn field's value. 4162func (s *JobDetail) SetDependsOn(v []*JobDependency) *JobDetail { 4163 s.DependsOn = v 4164 return s 4165} 4166 4167// SetJobDefinition sets the JobDefinition field's value. 4168func (s *JobDetail) SetJobDefinition(v string) *JobDetail { 4169 s.JobDefinition = &v 4170 return s 4171} 4172 4173// SetJobId sets the JobId field's value. 4174func (s *JobDetail) SetJobId(v string) *JobDetail { 4175 s.JobId = &v 4176 return s 4177} 4178 4179// SetJobName sets the JobName field's value. 4180func (s *JobDetail) SetJobName(v string) *JobDetail { 4181 s.JobName = &v 4182 return s 4183} 4184 4185// SetJobQueue sets the JobQueue field's value. 4186func (s *JobDetail) SetJobQueue(v string) *JobDetail { 4187 s.JobQueue = &v 4188 return s 4189} 4190 4191// SetNodeDetails sets the NodeDetails field's value. 4192func (s *JobDetail) SetNodeDetails(v *NodeDetails) *JobDetail { 4193 s.NodeDetails = v 4194 return s 4195} 4196 4197// SetNodeProperties sets the NodeProperties field's value. 4198func (s *JobDetail) SetNodeProperties(v *NodeProperties) *JobDetail { 4199 s.NodeProperties = v 4200 return s 4201} 4202 4203// SetParameters sets the Parameters field's value. 4204func (s *JobDetail) SetParameters(v map[string]*string) *JobDetail { 4205 s.Parameters = v 4206 return s 4207} 4208 4209// SetRetryStrategy sets the RetryStrategy field's value. 4210func (s *JobDetail) SetRetryStrategy(v *RetryStrategy) *JobDetail { 4211 s.RetryStrategy = v 4212 return s 4213} 4214 4215// SetStartedAt sets the StartedAt field's value. 4216func (s *JobDetail) SetStartedAt(v int64) *JobDetail { 4217 s.StartedAt = &v 4218 return s 4219} 4220 4221// SetStatus sets the Status field's value. 4222func (s *JobDetail) SetStatus(v string) *JobDetail { 4223 s.Status = &v 4224 return s 4225} 4226 4227// SetStatusReason sets the StatusReason field's value. 4228func (s *JobDetail) SetStatusReason(v string) *JobDetail { 4229 s.StatusReason = &v 4230 return s 4231} 4232 4233// SetStoppedAt sets the StoppedAt field's value. 4234func (s *JobDetail) SetStoppedAt(v int64) *JobDetail { 4235 s.StoppedAt = &v 4236 return s 4237} 4238 4239// SetTimeout sets the Timeout field's value. 4240func (s *JobDetail) SetTimeout(v *JobTimeout) *JobDetail { 4241 s.Timeout = v 4242 return s 4243} 4244 4245// An object representing the details of an AWS Batch job queue. 4246type JobQueueDetail struct { 4247 _ struct{} `type:"structure"` 4248 4249 // The compute environments that are attached to the job queue and the order 4250 // in which job placement is preferred. Compute environments are selected for 4251 // job placement in ascending order. 4252 // 4253 // ComputeEnvironmentOrder is a required field 4254 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"` 4255 4256 // The Amazon Resource Name (ARN) of the job queue. 4257 // 4258 // JobQueueArn is a required field 4259 JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"` 4260 4261 // The name of the job queue. 4262 // 4263 // JobQueueName is a required field 4264 JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"` 4265 4266 // The priority of the job queue. 4267 // 4268 // Priority is a required field 4269 Priority *int64 `locationName:"priority" type:"integer" required:"true"` 4270 4271 // Describes the ability of the queue to accept new jobs. 4272 // 4273 // State is a required field 4274 State *string `locationName:"state" type:"string" required:"true" enum:"JQState"` 4275 4276 // The status of the job queue (for example, CREATING or VALID). 4277 Status *string `locationName:"status" type:"string" enum:"JQStatus"` 4278 4279 // A short, human-readable string to provide additional details about the current 4280 // status of the job queue. 4281 StatusReason *string `locationName:"statusReason" type:"string"` 4282} 4283 4284// String returns the string representation 4285func (s JobQueueDetail) String() string { 4286 return awsutil.Prettify(s) 4287} 4288 4289// GoString returns the string representation 4290func (s JobQueueDetail) GoString() string { 4291 return s.String() 4292} 4293 4294// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 4295func (s *JobQueueDetail) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *JobQueueDetail { 4296 s.ComputeEnvironmentOrder = v 4297 return s 4298} 4299 4300// SetJobQueueArn sets the JobQueueArn field's value. 4301func (s *JobQueueDetail) SetJobQueueArn(v string) *JobQueueDetail { 4302 s.JobQueueArn = &v 4303 return s 4304} 4305 4306// SetJobQueueName sets the JobQueueName field's value. 4307func (s *JobQueueDetail) SetJobQueueName(v string) *JobQueueDetail { 4308 s.JobQueueName = &v 4309 return s 4310} 4311 4312// SetPriority sets the Priority field's value. 4313func (s *JobQueueDetail) SetPriority(v int64) *JobQueueDetail { 4314 s.Priority = &v 4315 return s 4316} 4317 4318// SetState sets the State field's value. 4319func (s *JobQueueDetail) SetState(v string) *JobQueueDetail { 4320 s.State = &v 4321 return s 4322} 4323 4324// SetStatus sets the Status field's value. 4325func (s *JobQueueDetail) SetStatus(v string) *JobQueueDetail { 4326 s.Status = &v 4327 return s 4328} 4329 4330// SetStatusReason sets the StatusReason field's value. 4331func (s *JobQueueDetail) SetStatusReason(v string) *JobQueueDetail { 4332 s.StatusReason = &v 4333 return s 4334} 4335 4336// An object representing summary details of a job. 4337type JobSummary struct { 4338 _ struct{} `type:"structure"` 4339 4340 // The array properties of the job, if it is an array job. 4341 ArrayProperties *ArrayPropertiesSummary `locationName:"arrayProperties" type:"structure"` 4342 4343 // An object representing the details of the container that is associated with 4344 // the job. 4345 Container *ContainerSummary `locationName:"container" type:"structure"` 4346 4347 // The Unix timestamp for when the job was created. For non-array jobs and parent 4348 // array jobs, this is when the job entered the SUBMITTED state (at the time 4349 // SubmitJob was called). For array child jobs, this is when the child job was 4350 // spawned by its parent and entered the PENDING state. 4351 CreatedAt *int64 `locationName:"createdAt" type:"long"` 4352 4353 // The ID of the job. 4354 // 4355 // JobId is a required field 4356 JobId *string `locationName:"jobId" type:"string" required:"true"` 4357 4358 // The name of the job. 4359 // 4360 // JobName is a required field 4361 JobName *string `locationName:"jobName" type:"string" required:"true"` 4362 4363 // The node properties for a single node in a job summary list. 4364 NodeProperties *NodePropertiesSummary `locationName:"nodeProperties" type:"structure"` 4365 4366 // The Unix timestamp for when the job was started (when the job transitioned 4367 // from the STARTING state to the RUNNING state). 4368 StartedAt *int64 `locationName:"startedAt" type:"long"` 4369 4370 // The current status for the job. 4371 Status *string `locationName:"status" type:"string" enum:"JobStatus"` 4372 4373 // A short, human-readable string to provide additional details about the current 4374 // status of the job. 4375 StatusReason *string `locationName:"statusReason" type:"string"` 4376 4377 // The Unix timestamp for when the job was stopped (when the job transitioned 4378 // from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED). 4379 StoppedAt *int64 `locationName:"stoppedAt" type:"long"` 4380} 4381 4382// String returns the string representation 4383func (s JobSummary) String() string { 4384 return awsutil.Prettify(s) 4385} 4386 4387// GoString returns the string representation 4388func (s JobSummary) GoString() string { 4389 return s.String() 4390} 4391 4392// SetArrayProperties sets the ArrayProperties field's value. 4393func (s *JobSummary) SetArrayProperties(v *ArrayPropertiesSummary) *JobSummary { 4394 s.ArrayProperties = v 4395 return s 4396} 4397 4398// SetContainer sets the Container field's value. 4399func (s *JobSummary) SetContainer(v *ContainerSummary) *JobSummary { 4400 s.Container = v 4401 return s 4402} 4403 4404// SetCreatedAt sets the CreatedAt field's value. 4405func (s *JobSummary) SetCreatedAt(v int64) *JobSummary { 4406 s.CreatedAt = &v 4407 return s 4408} 4409 4410// SetJobId sets the JobId field's value. 4411func (s *JobSummary) SetJobId(v string) *JobSummary { 4412 s.JobId = &v 4413 return s 4414} 4415 4416// SetJobName sets the JobName field's value. 4417func (s *JobSummary) SetJobName(v string) *JobSummary { 4418 s.JobName = &v 4419 return s 4420} 4421 4422// SetNodeProperties sets the NodeProperties field's value. 4423func (s *JobSummary) SetNodeProperties(v *NodePropertiesSummary) *JobSummary { 4424 s.NodeProperties = v 4425 return s 4426} 4427 4428// SetStartedAt sets the StartedAt field's value. 4429func (s *JobSummary) SetStartedAt(v int64) *JobSummary { 4430 s.StartedAt = &v 4431 return s 4432} 4433 4434// SetStatus sets the Status field's value. 4435func (s *JobSummary) SetStatus(v string) *JobSummary { 4436 s.Status = &v 4437 return s 4438} 4439 4440// SetStatusReason sets the StatusReason field's value. 4441func (s *JobSummary) SetStatusReason(v string) *JobSummary { 4442 s.StatusReason = &v 4443 return s 4444} 4445 4446// SetStoppedAt sets the StoppedAt field's value. 4447func (s *JobSummary) SetStoppedAt(v int64) *JobSummary { 4448 s.StoppedAt = &v 4449 return s 4450} 4451 4452// An object representing a job timeout configuration. 4453type JobTimeout struct { 4454 _ struct{} `type:"structure"` 4455 4456 // The time duration in seconds (measured from the job attempt's startedAt timestamp) 4457 // after which AWS Batch terminates your jobs if they have not finished. 4458 AttemptDurationSeconds *int64 `locationName:"attemptDurationSeconds" type:"integer"` 4459} 4460 4461// String returns the string representation 4462func (s JobTimeout) String() string { 4463 return awsutil.Prettify(s) 4464} 4465 4466// GoString returns the string representation 4467func (s JobTimeout) GoString() string { 4468 return s.String() 4469} 4470 4471// SetAttemptDurationSeconds sets the AttemptDurationSeconds field's value. 4472func (s *JobTimeout) SetAttemptDurationSeconds(v int64) *JobTimeout { 4473 s.AttemptDurationSeconds = &v 4474 return s 4475} 4476 4477// A key-value pair object. 4478type KeyValuePair struct { 4479 _ struct{} `type:"structure"` 4480 4481 // The name of the key-value pair. For environment variables, this is the name 4482 // of the environment variable. 4483 Name *string `locationName:"name" type:"string"` 4484 4485 // The value of the key-value pair. For environment variables, this is the value 4486 // of the environment variable. 4487 Value *string `locationName:"value" type:"string"` 4488} 4489 4490// String returns the string representation 4491func (s KeyValuePair) String() string { 4492 return awsutil.Prettify(s) 4493} 4494 4495// GoString returns the string representation 4496func (s KeyValuePair) GoString() string { 4497 return s.String() 4498} 4499 4500// SetName sets the Name field's value. 4501func (s *KeyValuePair) SetName(v string) *KeyValuePair { 4502 s.Name = &v 4503 return s 4504} 4505 4506// SetValue sets the Value field's value. 4507func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 4508 s.Value = &v 4509 return s 4510} 4511 4512// An object representing a launch template associated with a compute resource. 4513// You must specify either the launch template ID or launch template name in 4514// the request, but not both. 4515type LaunchTemplateSpecification struct { 4516 _ struct{} `type:"structure"` 4517 4518 // The ID of the launch template. 4519 LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"` 4520 4521 // The name of the launch template. 4522 LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"` 4523 4524 // The version number of the launch template. 4525 // 4526 // Default: The default version of the launch template. 4527 Version *string `locationName:"version" type:"string"` 4528} 4529 4530// String returns the string representation 4531func (s LaunchTemplateSpecification) String() string { 4532 return awsutil.Prettify(s) 4533} 4534 4535// GoString returns the string representation 4536func (s LaunchTemplateSpecification) GoString() string { 4537 return s.String() 4538} 4539 4540// SetLaunchTemplateId sets the LaunchTemplateId field's value. 4541func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification { 4542 s.LaunchTemplateId = &v 4543 return s 4544} 4545 4546// SetLaunchTemplateName sets the LaunchTemplateName field's value. 4547func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification { 4548 s.LaunchTemplateName = &v 4549 return s 4550} 4551 4552// SetVersion sets the Version field's value. 4553func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification { 4554 s.Version = &v 4555 return s 4556} 4557 4558// Linux-specific modifications that are applied to the container, such as details 4559// for device mappings. 4560type LinuxParameters struct { 4561 _ struct{} `type:"structure"` 4562 4563 // Any host devices to expose to the container. This parameter maps to Devices 4564 // in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container) 4565 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) 4566 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 4567 Devices []*Device `locationName:"devices" type:"list"` 4568} 4569 4570// String returns the string representation 4571func (s LinuxParameters) String() string { 4572 return awsutil.Prettify(s) 4573} 4574 4575// GoString returns the string representation 4576func (s LinuxParameters) GoString() string { 4577 return s.String() 4578} 4579 4580// Validate inspects the fields of the type to determine if they are valid. 4581func (s *LinuxParameters) Validate() error { 4582 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 4583 if s.Devices != nil { 4584 for i, v := range s.Devices { 4585 if v == nil { 4586 continue 4587 } 4588 if err := v.Validate(); err != nil { 4589 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 4590 } 4591 } 4592 } 4593 4594 if invalidParams.Len() > 0 { 4595 return invalidParams 4596 } 4597 return nil 4598} 4599 4600// SetDevices sets the Devices field's value. 4601func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 4602 s.Devices = v 4603 return s 4604} 4605 4606type ListJobsInput struct { 4607 _ struct{} `type:"structure"` 4608 4609 // The job ID for an array job. Specifying an array job ID with this parameter 4610 // lists all child jobs from within the specified array. 4611 ArrayJobId *string `locationName:"arrayJobId" type:"string"` 4612 4613 // The name or full Amazon Resource Name (ARN) of the job queue with which to 4614 // list jobs. 4615 JobQueue *string `locationName:"jobQueue" type:"string"` 4616 4617 // The job status with which to filter jobs in the specified queue. If you do 4618 // not specify a status, only RUNNING jobs are returned. 4619 JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"` 4620 4621 // The maximum number of results returned by ListJobs in paginated output. When 4622 // this parameter is used, ListJobs only returns maxResults results in a single 4623 // page along with a nextToken response element. The remaining results of the 4624 // initial request can be seen by sending another ListJobs request with the 4625 // returned nextToken value. This value can be between 1 and 100. If this parameter 4626 // is not used, then ListJobs returns up to 100 results and a nextToken value 4627 // if applicable. 4628 MaxResults *int64 `locationName:"maxResults" type:"integer"` 4629 4630 // The job ID for a multi-node parallel job. Specifying a multi-node parallel 4631 // job ID with this parameter lists all nodes that are associated with the specified 4632 // job. 4633 MultiNodeJobId *string `locationName:"multiNodeJobId" type:"string"` 4634 4635 // The nextToken value returned from a previous paginated ListJobs request where 4636 // maxResults was used and the results exceeded the value of that parameter. 4637 // Pagination continues from the end of the previous results that returned the 4638 // nextToken value. This value is null when there are no more results to return. 4639 // 4640 // This token should be treated as an opaque identifier that is only used to 4641 // retrieve the next items in a list and not for other programmatic purposes. 4642 NextToken *string `locationName:"nextToken" type:"string"` 4643} 4644 4645// String returns the string representation 4646func (s ListJobsInput) String() string { 4647 return awsutil.Prettify(s) 4648} 4649 4650// GoString returns the string representation 4651func (s ListJobsInput) GoString() string { 4652 return s.String() 4653} 4654 4655// SetArrayJobId sets the ArrayJobId field's value. 4656func (s *ListJobsInput) SetArrayJobId(v string) *ListJobsInput { 4657 s.ArrayJobId = &v 4658 return s 4659} 4660 4661// SetJobQueue sets the JobQueue field's value. 4662func (s *ListJobsInput) SetJobQueue(v string) *ListJobsInput { 4663 s.JobQueue = &v 4664 return s 4665} 4666 4667// SetJobStatus sets the JobStatus field's value. 4668func (s *ListJobsInput) SetJobStatus(v string) *ListJobsInput { 4669 s.JobStatus = &v 4670 return s 4671} 4672 4673// SetMaxResults sets the MaxResults field's value. 4674func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 4675 s.MaxResults = &v 4676 return s 4677} 4678 4679// SetMultiNodeJobId sets the MultiNodeJobId field's value. 4680func (s *ListJobsInput) SetMultiNodeJobId(v string) *ListJobsInput { 4681 s.MultiNodeJobId = &v 4682 return s 4683} 4684 4685// SetNextToken sets the NextToken field's value. 4686func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 4687 s.NextToken = &v 4688 return s 4689} 4690 4691type ListJobsOutput struct { 4692 _ struct{} `type:"structure"` 4693 4694 // A list of job summaries that match the request. 4695 // 4696 // JobSummaryList is a required field 4697 JobSummaryList []*JobSummary `locationName:"jobSummaryList" type:"list" required:"true"` 4698 4699 // The nextToken value to include in a future ListJobs request. When the results 4700 // of a ListJobs request exceed maxResults, this value can be used to retrieve 4701 // the next page of results. This value is null when there are no more results 4702 // to return. 4703 NextToken *string `locationName:"nextToken" type:"string"` 4704} 4705 4706// String returns the string representation 4707func (s ListJobsOutput) String() string { 4708 return awsutil.Prettify(s) 4709} 4710 4711// GoString returns the string representation 4712func (s ListJobsOutput) GoString() string { 4713 return s.String() 4714} 4715 4716// SetJobSummaryList sets the JobSummaryList field's value. 4717func (s *ListJobsOutput) SetJobSummaryList(v []*JobSummary) *ListJobsOutput { 4718 s.JobSummaryList = v 4719 return s 4720} 4721 4722// SetNextToken sets the NextToken field's value. 4723func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 4724 s.NextToken = &v 4725 return s 4726} 4727 4728// Details on a Docker volume mount point that is used in a job's container 4729// properties. 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) 4730// section of the Docker Remote API and the --volume option to docker run. 4731type MountPoint struct { 4732 _ struct{} `type:"structure"` 4733 4734 // The path on the container at which to mount the host volume. 4735 ContainerPath *string `locationName:"containerPath" type:"string"` 4736 4737 // If this value is true, the container has read-only access to the volume; 4738 // otherwise, the container can write to the volume. The default value is false. 4739 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 4740 4741 // The name of the volume to mount. 4742 SourceVolume *string `locationName:"sourceVolume" type:"string"` 4743} 4744 4745// String returns the string representation 4746func (s MountPoint) String() string { 4747 return awsutil.Prettify(s) 4748} 4749 4750// GoString returns the string representation 4751func (s MountPoint) GoString() string { 4752 return s.String() 4753} 4754 4755// SetContainerPath sets the ContainerPath field's value. 4756func (s *MountPoint) SetContainerPath(v string) *MountPoint { 4757 s.ContainerPath = &v 4758 return s 4759} 4760 4761// SetReadOnly sets the ReadOnly field's value. 4762func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 4763 s.ReadOnly = &v 4764 return s 4765} 4766 4767// SetSourceVolume sets the SourceVolume field's value. 4768func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 4769 s.SourceVolume = &v 4770 return s 4771} 4772 4773// An object representing the elastic network interface for a multi-node parallel 4774// job node. 4775type NetworkInterface struct { 4776 _ struct{} `type:"structure"` 4777 4778 // The attachment ID for the network interface. 4779 AttachmentId *string `locationName:"attachmentId" type:"string"` 4780 4781 // The private IPv6 address for the network interface. 4782 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 4783 4784 // The private IPv4 address for the network interface. 4785 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 4786} 4787 4788// String returns the string representation 4789func (s NetworkInterface) String() string { 4790 return awsutil.Prettify(s) 4791} 4792 4793// GoString returns the string representation 4794func (s NetworkInterface) GoString() string { 4795 return s.String() 4796} 4797 4798// SetAttachmentId sets the AttachmentId field's value. 4799func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 4800 s.AttachmentId = &v 4801 return s 4802} 4803 4804// SetIpv6Address sets the Ipv6Address field's value. 4805func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 4806 s.Ipv6Address = &v 4807 return s 4808} 4809 4810// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 4811func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 4812 s.PrivateIpv4Address = &v 4813 return s 4814} 4815 4816// An object representing the details of a multi-node parallel job node. 4817type NodeDetails struct { 4818 _ struct{} `type:"structure"` 4819 4820 // Specifies whether the current node is the main node for a multi-node parallel 4821 // job. 4822 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 4823 4824 // The node index for the node. Node index numbering begins at zero. This index 4825 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 4826 // variable. 4827 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 4828} 4829 4830// String returns the string representation 4831func (s NodeDetails) String() string { 4832 return awsutil.Prettify(s) 4833} 4834 4835// GoString returns the string representation 4836func (s NodeDetails) GoString() string { 4837 return s.String() 4838} 4839 4840// SetIsMainNode sets the IsMainNode field's value. 4841func (s *NodeDetails) SetIsMainNode(v bool) *NodeDetails { 4842 s.IsMainNode = &v 4843 return s 4844} 4845 4846// SetNodeIndex sets the NodeIndex field's value. 4847func (s *NodeDetails) SetNodeIndex(v int64) *NodeDetails { 4848 s.NodeIndex = &v 4849 return s 4850} 4851 4852// Object representing any node overrides to a job definition that is used in 4853// a SubmitJob API operation. 4854type NodeOverrides struct { 4855 _ struct{} `type:"structure"` 4856 4857 // The node property overrides for the job. 4858 NodePropertyOverrides []*NodePropertyOverride `locationName:"nodePropertyOverrides" type:"list"` 4859 4860 // The number of nodes to use with a multi-node parallel job. This value overrides 4861 // the number of nodes that are specified in the job definition. To use this 4862 // override: 4863 // 4864 // * There must be at least one node range in your job definition that has 4865 // an open upper boundary (such as : or n:). 4866 // 4867 // * The lower boundary of the node range specified in the job definition 4868 // must be fewer than the number of nodes specified in the override. 4869 // 4870 // * The main node index specified in the job definition must be fewer than 4871 // the number of nodes specified in the override. 4872 NumNodes *int64 `locationName:"numNodes" type:"integer"` 4873} 4874 4875// String returns the string representation 4876func (s NodeOverrides) String() string { 4877 return awsutil.Prettify(s) 4878} 4879 4880// GoString returns the string representation 4881func (s NodeOverrides) GoString() string { 4882 return s.String() 4883} 4884 4885// Validate inspects the fields of the type to determine if they are valid. 4886func (s *NodeOverrides) Validate() error { 4887 invalidParams := request.ErrInvalidParams{Context: "NodeOverrides"} 4888 if s.NodePropertyOverrides != nil { 4889 for i, v := range s.NodePropertyOverrides { 4890 if v == nil { 4891 continue 4892 } 4893 if err := v.Validate(); err != nil { 4894 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodePropertyOverrides", i), err.(request.ErrInvalidParams)) 4895 } 4896 } 4897 } 4898 4899 if invalidParams.Len() > 0 { 4900 return invalidParams 4901 } 4902 return nil 4903} 4904 4905// SetNodePropertyOverrides sets the NodePropertyOverrides field's value. 4906func (s *NodeOverrides) SetNodePropertyOverrides(v []*NodePropertyOverride) *NodeOverrides { 4907 s.NodePropertyOverrides = v 4908 return s 4909} 4910 4911// SetNumNodes sets the NumNodes field's value. 4912func (s *NodeOverrides) SetNumNodes(v int64) *NodeOverrides { 4913 s.NumNodes = &v 4914 return s 4915} 4916 4917// An object representing the node properties of a multi-node parallel job. 4918type NodeProperties struct { 4919 _ struct{} `type:"structure"` 4920 4921 // Specifies the node index for the main node of a multi-node parallel job. 4922 // This node index value must be fewer than the number of nodes. 4923 // 4924 // MainNode is a required field 4925 MainNode *int64 `locationName:"mainNode" type:"integer" required:"true"` 4926 4927 // A list of node ranges and their properties associated with a multi-node parallel 4928 // job. 4929 // 4930 // NodeRangeProperties is a required field 4931 NodeRangeProperties []*NodeRangeProperty `locationName:"nodeRangeProperties" type:"list" required:"true"` 4932 4933 // The number of nodes associated with a multi-node parallel job. 4934 // 4935 // NumNodes is a required field 4936 NumNodes *int64 `locationName:"numNodes" type:"integer" required:"true"` 4937} 4938 4939// String returns the string representation 4940func (s NodeProperties) String() string { 4941 return awsutil.Prettify(s) 4942} 4943 4944// GoString returns the string representation 4945func (s NodeProperties) GoString() string { 4946 return s.String() 4947} 4948 4949// Validate inspects the fields of the type to determine if they are valid. 4950func (s *NodeProperties) Validate() error { 4951 invalidParams := request.ErrInvalidParams{Context: "NodeProperties"} 4952 if s.MainNode == nil { 4953 invalidParams.Add(request.NewErrParamRequired("MainNode")) 4954 } 4955 if s.NodeRangeProperties == nil { 4956 invalidParams.Add(request.NewErrParamRequired("NodeRangeProperties")) 4957 } 4958 if s.NumNodes == nil { 4959 invalidParams.Add(request.NewErrParamRequired("NumNodes")) 4960 } 4961 if s.NodeRangeProperties != nil { 4962 for i, v := range s.NodeRangeProperties { 4963 if v == nil { 4964 continue 4965 } 4966 if err := v.Validate(); err != nil { 4967 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeRangeProperties", i), err.(request.ErrInvalidParams)) 4968 } 4969 } 4970 } 4971 4972 if invalidParams.Len() > 0 { 4973 return invalidParams 4974 } 4975 return nil 4976} 4977 4978// SetMainNode sets the MainNode field's value. 4979func (s *NodeProperties) SetMainNode(v int64) *NodeProperties { 4980 s.MainNode = &v 4981 return s 4982} 4983 4984// SetNodeRangeProperties sets the NodeRangeProperties field's value. 4985func (s *NodeProperties) SetNodeRangeProperties(v []*NodeRangeProperty) *NodeProperties { 4986 s.NodeRangeProperties = v 4987 return s 4988} 4989 4990// SetNumNodes sets the NumNodes field's value. 4991func (s *NodeProperties) SetNumNodes(v int64) *NodeProperties { 4992 s.NumNodes = &v 4993 return s 4994} 4995 4996// An object representing the properties of a node that is associated with a 4997// multi-node parallel job. 4998type NodePropertiesSummary struct { 4999 _ struct{} `type:"structure"` 5000 5001 // Specifies whether the current node is the main node for a multi-node parallel 5002 // job. 5003 IsMainNode *bool `locationName:"isMainNode" type:"boolean"` 5004 5005 // The node index for the node. Node index numbering begins at zero. This index 5006 // is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment 5007 // variable. 5008 NodeIndex *int64 `locationName:"nodeIndex" type:"integer"` 5009 5010 // The number of nodes associated with a multi-node parallel job. 5011 NumNodes *int64 `locationName:"numNodes" type:"integer"` 5012} 5013 5014// String returns the string representation 5015func (s NodePropertiesSummary) String() string { 5016 return awsutil.Prettify(s) 5017} 5018 5019// GoString returns the string representation 5020func (s NodePropertiesSummary) GoString() string { 5021 return s.String() 5022} 5023 5024// SetIsMainNode sets the IsMainNode field's value. 5025func (s *NodePropertiesSummary) SetIsMainNode(v bool) *NodePropertiesSummary { 5026 s.IsMainNode = &v 5027 return s 5028} 5029 5030// SetNodeIndex sets the NodeIndex field's value. 5031func (s *NodePropertiesSummary) SetNodeIndex(v int64) *NodePropertiesSummary { 5032 s.NodeIndex = &v 5033 return s 5034} 5035 5036// SetNumNodes sets the NumNodes field's value. 5037func (s *NodePropertiesSummary) SetNumNodes(v int64) *NodePropertiesSummary { 5038 s.NumNodes = &v 5039 return s 5040} 5041 5042// Object representing any node overrides to a job definition that is used in 5043// a SubmitJob API operation. 5044type NodePropertyOverride struct { 5045 _ struct{} `type:"structure"` 5046 5047 // The overrides that should be sent to a node range. 5048 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 5049 5050 // The range of nodes, using node index values, with which to override. A range 5051 // of 0:3 indicates nodes with index values of 0 through 3. If the starting 5052 // range value is omitted (:n), then 0 is used to start the range. If the ending 5053 // range value is omitted (n:), then the highest possible node index is used 5054 // to end the range. 5055 // 5056 // TargetNodes is a required field 5057 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 5058} 5059 5060// String returns the string representation 5061func (s NodePropertyOverride) String() string { 5062 return awsutil.Prettify(s) 5063} 5064 5065// GoString returns the string representation 5066func (s NodePropertyOverride) GoString() string { 5067 return s.String() 5068} 5069 5070// Validate inspects the fields of the type to determine if they are valid. 5071func (s *NodePropertyOverride) Validate() error { 5072 invalidParams := request.ErrInvalidParams{Context: "NodePropertyOverride"} 5073 if s.TargetNodes == nil { 5074 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 5075 } 5076 if s.ContainerOverrides != nil { 5077 if err := s.ContainerOverrides.Validate(); err != nil { 5078 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 5079 } 5080 } 5081 5082 if invalidParams.Len() > 0 { 5083 return invalidParams 5084 } 5085 return nil 5086} 5087 5088// SetContainerOverrides sets the ContainerOverrides field's value. 5089func (s *NodePropertyOverride) SetContainerOverrides(v *ContainerOverrides) *NodePropertyOverride { 5090 s.ContainerOverrides = v 5091 return s 5092} 5093 5094// SetTargetNodes sets the TargetNodes field's value. 5095func (s *NodePropertyOverride) SetTargetNodes(v string) *NodePropertyOverride { 5096 s.TargetNodes = &v 5097 return s 5098} 5099 5100// An object representing the properties of the node range for a multi-node 5101// parallel job. 5102type NodeRangeProperty struct { 5103 _ struct{} `type:"structure"` 5104 5105 // The container details for the node range. 5106 Container *ContainerProperties `locationName:"container" type:"structure"` 5107 5108 // The range of nodes, using node index values. A range of 0:3 indicates nodes 5109 // with index values of 0 through 3. If the starting range value is omitted 5110 // (:n), then 0 is used to start the range. If the ending range value is omitted 5111 // (n:), then the highest possible node index is used to end the range. Your 5112 // accumulative node ranges must account for all nodes (0:n). You may nest node 5113 // ranges, for example 0:10 and 4:5, in which case the 4:5 range properties 5114 // override the 0:10 properties. 5115 // 5116 // TargetNodes is a required field 5117 TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"` 5118} 5119 5120// String returns the string representation 5121func (s NodeRangeProperty) String() string { 5122 return awsutil.Prettify(s) 5123} 5124 5125// GoString returns the string representation 5126func (s NodeRangeProperty) GoString() string { 5127 return s.String() 5128} 5129 5130// Validate inspects the fields of the type to determine if they are valid. 5131func (s *NodeRangeProperty) Validate() error { 5132 invalidParams := request.ErrInvalidParams{Context: "NodeRangeProperty"} 5133 if s.TargetNodes == nil { 5134 invalidParams.Add(request.NewErrParamRequired("TargetNodes")) 5135 } 5136 if s.Container != nil { 5137 if err := s.Container.Validate(); err != nil { 5138 invalidParams.AddNested("Container", err.(request.ErrInvalidParams)) 5139 } 5140 } 5141 5142 if invalidParams.Len() > 0 { 5143 return invalidParams 5144 } 5145 return nil 5146} 5147 5148// SetContainer sets the Container field's value. 5149func (s *NodeRangeProperty) SetContainer(v *ContainerProperties) *NodeRangeProperty { 5150 s.Container = v 5151 return s 5152} 5153 5154// SetTargetNodes sets the TargetNodes field's value. 5155func (s *NodeRangeProperty) SetTargetNodes(v string) *NodeRangeProperty { 5156 s.TargetNodes = &v 5157 return s 5158} 5159 5160type RegisterJobDefinitionInput struct { 5161 _ struct{} `type:"structure"` 5162 5163 // An object with various properties specific to single-node container-based 5164 // jobs. If the job definition's type parameter is container, then you must 5165 // specify either containerProperties or nodeProperties. 5166 ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"` 5167 5168 // The name of the job definition to register. Up to 128 letters (uppercase 5169 // and lowercase), numbers, hyphens, and underscores are allowed. 5170 // 5171 // JobDefinitionName is a required field 5172 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 5173 5174 // An object with various properties specific to multi-node parallel jobs. If 5175 // you specify node properties for a job, it becomes a multi-node parallel job. 5176 // For more information, see Multi-node Parallel Jobs (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html) 5177 // in the AWS Batch User Guide. If the job definition's type parameter is container, 5178 // then you must specify either containerProperties or nodeProperties. 5179 NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"` 5180 5181 // Default parameter substitution placeholders to set in the job definition. 5182 // Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob 5183 // request override any corresponding parameter defaults from the job definition. 5184 Parameters map[string]*string `locationName:"parameters" type:"map"` 5185 5186 // The retry strategy to use for failed jobs that are submitted with this job 5187 // definition. Any retry strategy that is specified during a SubmitJob operation 5188 // overrides the retry strategy defined here. If a job is terminated due to 5189 // a timeout, it is not retried. 5190 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5191 5192 // The timeout configuration for jobs that are submitted with this job definition, 5193 // after which AWS Batch terminates your jobs if they have not finished. If 5194 // a job is terminated due to a timeout, it is not retried. The minimum value 5195 // for the timeout is 60 seconds. Any timeout configuration that is specified 5196 // during a SubmitJob operation overrides the timeout configuration defined 5197 // here. For more information, see Job Timeouts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html) 5198 // in the Amazon Elastic Container Service Developer Guide. 5199 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5200 5201 // The type of job definition. 5202 // 5203 // Type is a required field 5204 Type *string `locationName:"type" type:"string" required:"true" enum:"JobDefinitionType"` 5205} 5206 5207// String returns the string representation 5208func (s RegisterJobDefinitionInput) String() string { 5209 return awsutil.Prettify(s) 5210} 5211 5212// GoString returns the string representation 5213func (s RegisterJobDefinitionInput) GoString() string { 5214 return s.String() 5215} 5216 5217// Validate inspects the fields of the type to determine if they are valid. 5218func (s *RegisterJobDefinitionInput) Validate() error { 5219 invalidParams := request.ErrInvalidParams{Context: "RegisterJobDefinitionInput"} 5220 if s.JobDefinitionName == nil { 5221 invalidParams.Add(request.NewErrParamRequired("JobDefinitionName")) 5222 } 5223 if s.Type == nil { 5224 invalidParams.Add(request.NewErrParamRequired("Type")) 5225 } 5226 if s.ContainerProperties != nil { 5227 if err := s.ContainerProperties.Validate(); err != nil { 5228 invalidParams.AddNested("ContainerProperties", err.(request.ErrInvalidParams)) 5229 } 5230 } 5231 if s.NodeProperties != nil { 5232 if err := s.NodeProperties.Validate(); err != nil { 5233 invalidParams.AddNested("NodeProperties", err.(request.ErrInvalidParams)) 5234 } 5235 } 5236 5237 if invalidParams.Len() > 0 { 5238 return invalidParams 5239 } 5240 return nil 5241} 5242 5243// SetContainerProperties sets the ContainerProperties field's value. 5244func (s *RegisterJobDefinitionInput) SetContainerProperties(v *ContainerProperties) *RegisterJobDefinitionInput { 5245 s.ContainerProperties = v 5246 return s 5247} 5248 5249// SetJobDefinitionName sets the JobDefinitionName field's value. 5250func (s *RegisterJobDefinitionInput) SetJobDefinitionName(v string) *RegisterJobDefinitionInput { 5251 s.JobDefinitionName = &v 5252 return s 5253} 5254 5255// SetNodeProperties sets the NodeProperties field's value. 5256func (s *RegisterJobDefinitionInput) SetNodeProperties(v *NodeProperties) *RegisterJobDefinitionInput { 5257 s.NodeProperties = v 5258 return s 5259} 5260 5261// SetParameters sets the Parameters field's value. 5262func (s *RegisterJobDefinitionInput) SetParameters(v map[string]*string) *RegisterJobDefinitionInput { 5263 s.Parameters = v 5264 return s 5265} 5266 5267// SetRetryStrategy sets the RetryStrategy field's value. 5268func (s *RegisterJobDefinitionInput) SetRetryStrategy(v *RetryStrategy) *RegisterJobDefinitionInput { 5269 s.RetryStrategy = v 5270 return s 5271} 5272 5273// SetTimeout sets the Timeout field's value. 5274func (s *RegisterJobDefinitionInput) SetTimeout(v *JobTimeout) *RegisterJobDefinitionInput { 5275 s.Timeout = v 5276 return s 5277} 5278 5279// SetType sets the Type field's value. 5280func (s *RegisterJobDefinitionInput) SetType(v string) *RegisterJobDefinitionInput { 5281 s.Type = &v 5282 return s 5283} 5284 5285type RegisterJobDefinitionOutput struct { 5286 _ struct{} `type:"structure"` 5287 5288 // The Amazon Resource Name (ARN) of the job definition. 5289 // 5290 // JobDefinitionArn is a required field 5291 JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"` 5292 5293 // The name of the job definition. 5294 // 5295 // JobDefinitionName is a required field 5296 JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"` 5297 5298 // The revision of the job definition. 5299 // 5300 // Revision is a required field 5301 Revision *int64 `locationName:"revision" type:"integer" required:"true"` 5302} 5303 5304// String returns the string representation 5305func (s RegisterJobDefinitionOutput) String() string { 5306 return awsutil.Prettify(s) 5307} 5308 5309// GoString returns the string representation 5310func (s RegisterJobDefinitionOutput) GoString() string { 5311 return s.String() 5312} 5313 5314// SetJobDefinitionArn sets the JobDefinitionArn field's value. 5315func (s *RegisterJobDefinitionOutput) SetJobDefinitionArn(v string) *RegisterJobDefinitionOutput { 5316 s.JobDefinitionArn = &v 5317 return s 5318} 5319 5320// SetJobDefinitionName sets the JobDefinitionName field's value. 5321func (s *RegisterJobDefinitionOutput) SetJobDefinitionName(v string) *RegisterJobDefinitionOutput { 5322 s.JobDefinitionName = &v 5323 return s 5324} 5325 5326// SetRevision sets the Revision field's value. 5327func (s *RegisterJobDefinitionOutput) SetRevision(v int64) *RegisterJobDefinitionOutput { 5328 s.Revision = &v 5329 return s 5330} 5331 5332// The type and amount of a resource to assign to a container. Currently, the 5333// only supported resource type is GPU. 5334type ResourceRequirement struct { 5335 _ struct{} `type:"structure"` 5336 5337 // The type of resource to assign to a container. Currently, the only supported 5338 // resource type is GPU. 5339 // 5340 // Type is a required field 5341 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 5342 5343 // The number of physical GPUs to reserve for the container. The number of GPUs 5344 // reserved for all containers in a job should not exceed the number of available 5345 // GPUs on the compute resource that the job is launched on. 5346 // 5347 // Value is a required field 5348 Value *string `locationName:"value" type:"string" required:"true"` 5349} 5350 5351// String returns the string representation 5352func (s ResourceRequirement) String() string { 5353 return awsutil.Prettify(s) 5354} 5355 5356// GoString returns the string representation 5357func (s ResourceRequirement) GoString() string { 5358 return s.String() 5359} 5360 5361// Validate inspects the fields of the type to determine if they are valid. 5362func (s *ResourceRequirement) Validate() error { 5363 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 5364 if s.Type == nil { 5365 invalidParams.Add(request.NewErrParamRequired("Type")) 5366 } 5367 if s.Value == nil { 5368 invalidParams.Add(request.NewErrParamRequired("Value")) 5369 } 5370 5371 if invalidParams.Len() > 0 { 5372 return invalidParams 5373 } 5374 return nil 5375} 5376 5377// SetType sets the Type field's value. 5378func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 5379 s.Type = &v 5380 return s 5381} 5382 5383// SetValue sets the Value field's value. 5384func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 5385 s.Value = &v 5386 return s 5387} 5388 5389// The retry strategy associated with a job. 5390type RetryStrategy struct { 5391 _ struct{} `type:"structure"` 5392 5393 // The number of times to move a job to the RUNNABLE status. You may specify 5394 // between 1 and 10 attempts. If the value of attempts is greater than one, 5395 // the job is retried on failure the same number of attempts as the value. 5396 Attempts *int64 `locationName:"attempts" type:"integer"` 5397} 5398 5399// String returns the string representation 5400func (s RetryStrategy) String() string { 5401 return awsutil.Prettify(s) 5402} 5403 5404// GoString returns the string representation 5405func (s RetryStrategy) GoString() string { 5406 return s.String() 5407} 5408 5409// SetAttempts sets the Attempts field's value. 5410func (s *RetryStrategy) SetAttempts(v int64) *RetryStrategy { 5411 s.Attempts = &v 5412 return s 5413} 5414 5415type SubmitJobInput struct { 5416 _ struct{} `type:"structure"` 5417 5418 // The array properties for the submitted job, such as the size of the array. 5419 // The array size can be between 2 and 10,000. If you specify array properties 5420 // for a job, it becomes an array job. For more information, see Array Jobs 5421 // (https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html) in the 5422 // AWS Batch User Guide. 5423 ArrayProperties *ArrayProperties `locationName:"arrayProperties" type:"structure"` 5424 5425 // A list of container overrides in JSON format that specify the name of a container 5426 // in the specified job definition and the overrides it should receive. You 5427 // can override the default command for a container (that is specified in the 5428 // job definition or the Docker image) with a command override. You can also 5429 // override existing environment variables (that are specified in the job definition 5430 // or Docker image) on a container or add new environment variables to it with 5431 // an environment override. 5432 ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"` 5433 5434 // A list of dependencies for the job. A job can depend upon a maximum of 20 5435 // jobs. You can specify a SEQUENTIAL type dependency without specifying a job 5436 // ID for array jobs so that each child array job completes sequentially, starting 5437 // at index 0. You can also specify an N_TO_N type dependency with a job ID 5438 // for array jobs. In that case, each index child of this job must wait for 5439 // the corresponding index child of each dependency to complete before it can 5440 // begin. 5441 DependsOn []*JobDependency `locationName:"dependsOn" type:"list"` 5442 5443 // The job definition used by this job. This value can be either a name:revision 5444 // or the Amazon Resource Name (ARN) for the job definition. 5445 // 5446 // JobDefinition is a required field 5447 JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"` 5448 5449 // The name of the job. The first character must be alphanumeric, and up to 5450 // 128 letters (uppercase and lowercase), numbers, hyphens, and underscores 5451 // are allowed. 5452 // 5453 // JobName is a required field 5454 JobName *string `locationName:"jobName" type:"string" required:"true"` 5455 5456 // The job queue into which the job is submitted. You can specify either the 5457 // name or the Amazon Resource Name (ARN) of the queue. 5458 // 5459 // JobQueue is a required field 5460 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 5461 5462 // A list of node overrides in JSON format that specify the node range to target 5463 // and the container overrides for that node range. 5464 NodeOverrides *NodeOverrides `locationName:"nodeOverrides" type:"structure"` 5465 5466 // Additional parameters passed to the job that replace parameter substitution 5467 // placeholders that are set in the job definition. Parameters are specified 5468 // as a key and value pair mapping. Parameters in a SubmitJob request override 5469 // any corresponding parameter defaults from the job definition. 5470 Parameters map[string]*string `locationName:"parameters" type:"map"` 5471 5472 // The retry strategy to use for failed jobs from this SubmitJob operation. 5473 // When a retry strategy is specified here, it overrides the retry strategy 5474 // defined in the job definition. 5475 RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"` 5476 5477 // The timeout configuration for this SubmitJob operation. You can specify a 5478 // timeout duration after which AWS Batch terminates your jobs if they have 5479 // not finished. If a job is terminated due to a timeout, it is not retried. 5480 // The minimum value for the timeout is 60 seconds. This configuration overrides 5481 // any timeout configuration specified in the job definition. For array jobs, 5482 // child jobs have the same timeout configuration as the parent job. For more 5483 // information, see Job Timeouts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html) 5484 // in the Amazon Elastic Container Service Developer Guide. 5485 Timeout *JobTimeout `locationName:"timeout" type:"structure"` 5486} 5487 5488// String returns the string representation 5489func (s SubmitJobInput) String() string { 5490 return awsutil.Prettify(s) 5491} 5492 5493// GoString returns the string representation 5494func (s SubmitJobInput) GoString() string { 5495 return s.String() 5496} 5497 5498// Validate inspects the fields of the type to determine if they are valid. 5499func (s *SubmitJobInput) Validate() error { 5500 invalidParams := request.ErrInvalidParams{Context: "SubmitJobInput"} 5501 if s.JobDefinition == nil { 5502 invalidParams.Add(request.NewErrParamRequired("JobDefinition")) 5503 } 5504 if s.JobName == nil { 5505 invalidParams.Add(request.NewErrParamRequired("JobName")) 5506 } 5507 if s.JobQueue == nil { 5508 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 5509 } 5510 if s.ContainerOverrides != nil { 5511 if err := s.ContainerOverrides.Validate(); err != nil { 5512 invalidParams.AddNested("ContainerOverrides", err.(request.ErrInvalidParams)) 5513 } 5514 } 5515 if s.NodeOverrides != nil { 5516 if err := s.NodeOverrides.Validate(); err != nil { 5517 invalidParams.AddNested("NodeOverrides", err.(request.ErrInvalidParams)) 5518 } 5519 } 5520 5521 if invalidParams.Len() > 0 { 5522 return invalidParams 5523 } 5524 return nil 5525} 5526 5527// SetArrayProperties sets the ArrayProperties field's value. 5528func (s *SubmitJobInput) SetArrayProperties(v *ArrayProperties) *SubmitJobInput { 5529 s.ArrayProperties = v 5530 return s 5531} 5532 5533// SetContainerOverrides sets the ContainerOverrides field's value. 5534func (s *SubmitJobInput) SetContainerOverrides(v *ContainerOverrides) *SubmitJobInput { 5535 s.ContainerOverrides = v 5536 return s 5537} 5538 5539// SetDependsOn sets the DependsOn field's value. 5540func (s *SubmitJobInput) SetDependsOn(v []*JobDependency) *SubmitJobInput { 5541 s.DependsOn = v 5542 return s 5543} 5544 5545// SetJobDefinition sets the JobDefinition field's value. 5546func (s *SubmitJobInput) SetJobDefinition(v string) *SubmitJobInput { 5547 s.JobDefinition = &v 5548 return s 5549} 5550 5551// SetJobName sets the JobName field's value. 5552func (s *SubmitJobInput) SetJobName(v string) *SubmitJobInput { 5553 s.JobName = &v 5554 return s 5555} 5556 5557// SetJobQueue sets the JobQueue field's value. 5558func (s *SubmitJobInput) SetJobQueue(v string) *SubmitJobInput { 5559 s.JobQueue = &v 5560 return s 5561} 5562 5563// SetNodeOverrides sets the NodeOverrides field's value. 5564func (s *SubmitJobInput) SetNodeOverrides(v *NodeOverrides) *SubmitJobInput { 5565 s.NodeOverrides = v 5566 return s 5567} 5568 5569// SetParameters sets the Parameters field's value. 5570func (s *SubmitJobInput) SetParameters(v map[string]*string) *SubmitJobInput { 5571 s.Parameters = v 5572 return s 5573} 5574 5575// SetRetryStrategy sets the RetryStrategy field's value. 5576func (s *SubmitJobInput) SetRetryStrategy(v *RetryStrategy) *SubmitJobInput { 5577 s.RetryStrategy = v 5578 return s 5579} 5580 5581// SetTimeout sets the Timeout field's value. 5582func (s *SubmitJobInput) SetTimeout(v *JobTimeout) *SubmitJobInput { 5583 s.Timeout = v 5584 return s 5585} 5586 5587type SubmitJobOutput struct { 5588 _ struct{} `type:"structure"` 5589 5590 // The unique identifier for the job. 5591 // 5592 // JobId is a required field 5593 JobId *string `locationName:"jobId" type:"string" required:"true"` 5594 5595 // The name of the job. 5596 // 5597 // JobName is a required field 5598 JobName *string `locationName:"jobName" type:"string" required:"true"` 5599} 5600 5601// String returns the string representation 5602func (s SubmitJobOutput) String() string { 5603 return awsutil.Prettify(s) 5604} 5605 5606// GoString returns the string representation 5607func (s SubmitJobOutput) GoString() string { 5608 return s.String() 5609} 5610 5611// SetJobId sets the JobId field's value. 5612func (s *SubmitJobOutput) SetJobId(v string) *SubmitJobOutput { 5613 s.JobId = &v 5614 return s 5615} 5616 5617// SetJobName sets the JobName field's value. 5618func (s *SubmitJobOutput) SetJobName(v string) *SubmitJobOutput { 5619 s.JobName = &v 5620 return s 5621} 5622 5623type TerminateJobInput struct { 5624 _ struct{} `type:"structure"` 5625 5626 // The AWS Batch job ID of the job to terminate. 5627 // 5628 // JobId is a required field 5629 JobId *string `locationName:"jobId" type:"string" required:"true"` 5630 5631 // A message to attach to the job that explains the reason for canceling it. 5632 // This message is returned by future DescribeJobs operations on the job. This 5633 // message is also recorded in the AWS Batch activity logs. 5634 // 5635 // Reason is a required field 5636 Reason *string `locationName:"reason" type:"string" required:"true"` 5637} 5638 5639// String returns the string representation 5640func (s TerminateJobInput) String() string { 5641 return awsutil.Prettify(s) 5642} 5643 5644// GoString returns the string representation 5645func (s TerminateJobInput) GoString() string { 5646 return s.String() 5647} 5648 5649// Validate inspects the fields of the type to determine if they are valid. 5650func (s *TerminateJobInput) Validate() error { 5651 invalidParams := request.ErrInvalidParams{Context: "TerminateJobInput"} 5652 if s.JobId == nil { 5653 invalidParams.Add(request.NewErrParamRequired("JobId")) 5654 } 5655 if s.Reason == nil { 5656 invalidParams.Add(request.NewErrParamRequired("Reason")) 5657 } 5658 5659 if invalidParams.Len() > 0 { 5660 return invalidParams 5661 } 5662 return nil 5663} 5664 5665// SetJobId sets the JobId field's value. 5666func (s *TerminateJobInput) SetJobId(v string) *TerminateJobInput { 5667 s.JobId = &v 5668 return s 5669} 5670 5671// SetReason sets the Reason field's value. 5672func (s *TerminateJobInput) SetReason(v string) *TerminateJobInput { 5673 s.Reason = &v 5674 return s 5675} 5676 5677type TerminateJobOutput struct { 5678 _ struct{} `type:"structure"` 5679} 5680 5681// String returns the string representation 5682func (s TerminateJobOutput) String() string { 5683 return awsutil.Prettify(s) 5684} 5685 5686// GoString returns the string representation 5687func (s TerminateJobOutput) GoString() string { 5688 return s.String() 5689} 5690 5691// The ulimit settings to pass to the container. 5692type Ulimit struct { 5693 _ struct{} `type:"structure"` 5694 5695 // The hard limit for the ulimit type. 5696 // 5697 // HardLimit is a required field 5698 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 5699 5700 // The type of the ulimit. 5701 // 5702 // Name is a required field 5703 Name *string `locationName:"name" type:"string" required:"true"` 5704 5705 // The soft limit for the ulimit type. 5706 // 5707 // SoftLimit is a required field 5708 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 5709} 5710 5711// String returns the string representation 5712func (s Ulimit) String() string { 5713 return awsutil.Prettify(s) 5714} 5715 5716// GoString returns the string representation 5717func (s Ulimit) GoString() string { 5718 return s.String() 5719} 5720 5721// Validate inspects the fields of the type to determine if they are valid. 5722func (s *Ulimit) Validate() error { 5723 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 5724 if s.HardLimit == nil { 5725 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 5726 } 5727 if s.Name == nil { 5728 invalidParams.Add(request.NewErrParamRequired("Name")) 5729 } 5730 if s.SoftLimit == nil { 5731 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 5732 } 5733 5734 if invalidParams.Len() > 0 { 5735 return invalidParams 5736 } 5737 return nil 5738} 5739 5740// SetHardLimit sets the HardLimit field's value. 5741func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 5742 s.HardLimit = &v 5743 return s 5744} 5745 5746// SetName sets the Name field's value. 5747func (s *Ulimit) SetName(v string) *Ulimit { 5748 s.Name = &v 5749 return s 5750} 5751 5752// SetSoftLimit sets the SoftLimit field's value. 5753func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 5754 s.SoftLimit = &v 5755 return s 5756} 5757 5758type UpdateComputeEnvironmentInput struct { 5759 _ struct{} `type:"structure"` 5760 5761 // The name or full Amazon Resource Name (ARN) of the compute environment to 5762 // update. 5763 // 5764 // ComputeEnvironment is a required field 5765 ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"` 5766 5767 // Details of the compute resources managed by the compute environment. Required 5768 // for a managed compute environment. 5769 ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"` 5770 5771 // The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch 5772 // to make calls to other AWS services on your behalf. 5773 // 5774 // If your specified role has a path other than /, then you must either specify 5775 // the full role ARN (this is recommended) or prefix the role name with the 5776 // path. 5777 // 5778 // Depending on how you created your AWS Batch service role, its ARN may contain 5779 // the service-role path prefix. When you only specify the name of the service 5780 // role, AWS Batch assumes that your ARN does not use the service-role path 5781 // prefix. Because of this, we recommend that you specify the full ARN of your 5782 // service role when you create compute environments. 5783 ServiceRole *string `locationName:"serviceRole" type:"string"` 5784 5785 // The state of the compute environment. Compute environments in the ENABLED 5786 // state can accept jobs from a queue and scale in or out automatically based 5787 // on the workload demand of its associated queues. 5788 State *string `locationName:"state" type:"string" enum:"CEState"` 5789} 5790 5791// String returns the string representation 5792func (s UpdateComputeEnvironmentInput) String() string { 5793 return awsutil.Prettify(s) 5794} 5795 5796// GoString returns the string representation 5797func (s UpdateComputeEnvironmentInput) GoString() string { 5798 return s.String() 5799} 5800 5801// Validate inspects the fields of the type to determine if they are valid. 5802func (s *UpdateComputeEnvironmentInput) Validate() error { 5803 invalidParams := request.ErrInvalidParams{Context: "UpdateComputeEnvironmentInput"} 5804 if s.ComputeEnvironment == nil { 5805 invalidParams.Add(request.NewErrParamRequired("ComputeEnvironment")) 5806 } 5807 5808 if invalidParams.Len() > 0 { 5809 return invalidParams 5810 } 5811 return nil 5812} 5813 5814// SetComputeEnvironment sets the ComputeEnvironment field's value. 5815func (s *UpdateComputeEnvironmentInput) SetComputeEnvironment(v string) *UpdateComputeEnvironmentInput { 5816 s.ComputeEnvironment = &v 5817 return s 5818} 5819 5820// SetComputeResources sets the ComputeResources field's value. 5821func (s *UpdateComputeEnvironmentInput) SetComputeResources(v *ComputeResourceUpdate) *UpdateComputeEnvironmentInput { 5822 s.ComputeResources = v 5823 return s 5824} 5825 5826// SetServiceRole sets the ServiceRole field's value. 5827func (s *UpdateComputeEnvironmentInput) SetServiceRole(v string) *UpdateComputeEnvironmentInput { 5828 s.ServiceRole = &v 5829 return s 5830} 5831 5832// SetState sets the State field's value. 5833func (s *UpdateComputeEnvironmentInput) SetState(v string) *UpdateComputeEnvironmentInput { 5834 s.State = &v 5835 return s 5836} 5837 5838type UpdateComputeEnvironmentOutput struct { 5839 _ struct{} `type:"structure"` 5840 5841 // The Amazon Resource Name (ARN) of the compute environment. 5842 ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"` 5843 5844 // The name of the compute environment. 5845 ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"` 5846} 5847 5848// String returns the string representation 5849func (s UpdateComputeEnvironmentOutput) String() string { 5850 return awsutil.Prettify(s) 5851} 5852 5853// GoString returns the string representation 5854func (s UpdateComputeEnvironmentOutput) GoString() string { 5855 return s.String() 5856} 5857 5858// SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value. 5859func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentArn(v string) *UpdateComputeEnvironmentOutput { 5860 s.ComputeEnvironmentArn = &v 5861 return s 5862} 5863 5864// SetComputeEnvironmentName sets the ComputeEnvironmentName field's value. 5865func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *UpdateComputeEnvironmentOutput { 5866 s.ComputeEnvironmentName = &v 5867 return s 5868} 5869 5870type UpdateJobQueueInput struct { 5871 _ struct{} `type:"structure"` 5872 5873 // Details the set of compute environments mapped to a job queue and their order 5874 // relative to each other. This is one of the parameters used by the job scheduler 5875 // to determine which compute environment should execute a given job. 5876 ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list"` 5877 5878 // The name or the Amazon Resource Name (ARN) of the job queue. 5879 // 5880 // JobQueue is a required field 5881 JobQueue *string `locationName:"jobQueue" type:"string" required:"true"` 5882 5883 // The priority of the job queue. Job queues with a higher priority (or a higher 5884 // integer value for the priority parameter) are evaluated first when associated 5885 // with the same compute environment. Priority is determined in descending order, 5886 // for example, a job queue with a priority value of 10 is given scheduling 5887 // preference over a job queue with a priority value of 1. 5888 Priority *int64 `locationName:"priority" type:"integer"` 5889 5890 // Describes the queue's ability to accept new jobs. 5891 State *string `locationName:"state" type:"string" enum:"JQState"` 5892} 5893 5894// String returns the string representation 5895func (s UpdateJobQueueInput) String() string { 5896 return awsutil.Prettify(s) 5897} 5898 5899// GoString returns the string representation 5900func (s UpdateJobQueueInput) GoString() string { 5901 return s.String() 5902} 5903 5904// Validate inspects the fields of the type to determine if they are valid. 5905func (s *UpdateJobQueueInput) Validate() error { 5906 invalidParams := request.ErrInvalidParams{Context: "UpdateJobQueueInput"} 5907 if s.JobQueue == nil { 5908 invalidParams.Add(request.NewErrParamRequired("JobQueue")) 5909 } 5910 if s.ComputeEnvironmentOrder != nil { 5911 for i, v := range s.ComputeEnvironmentOrder { 5912 if v == nil { 5913 continue 5914 } 5915 if err := v.Validate(); err != nil { 5916 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputeEnvironmentOrder", i), err.(request.ErrInvalidParams)) 5917 } 5918 } 5919 } 5920 5921 if invalidParams.Len() > 0 { 5922 return invalidParams 5923 } 5924 return nil 5925} 5926 5927// SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value. 5928func (s *UpdateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *UpdateJobQueueInput { 5929 s.ComputeEnvironmentOrder = v 5930 return s 5931} 5932 5933// SetJobQueue sets the JobQueue field's value. 5934func (s *UpdateJobQueueInput) SetJobQueue(v string) *UpdateJobQueueInput { 5935 s.JobQueue = &v 5936 return s 5937} 5938 5939// SetPriority sets the Priority field's value. 5940func (s *UpdateJobQueueInput) SetPriority(v int64) *UpdateJobQueueInput { 5941 s.Priority = &v 5942 return s 5943} 5944 5945// SetState sets the State field's value. 5946func (s *UpdateJobQueueInput) SetState(v string) *UpdateJobQueueInput { 5947 s.State = &v 5948 return s 5949} 5950 5951type UpdateJobQueueOutput struct { 5952 _ struct{} `type:"structure"` 5953 5954 // The Amazon Resource Name (ARN) of the job queue. 5955 JobQueueArn *string `locationName:"jobQueueArn" type:"string"` 5956 5957 // The name of the job queue. 5958 JobQueueName *string `locationName:"jobQueueName" type:"string"` 5959} 5960 5961// String returns the string representation 5962func (s UpdateJobQueueOutput) String() string { 5963 return awsutil.Prettify(s) 5964} 5965 5966// GoString returns the string representation 5967func (s UpdateJobQueueOutput) GoString() string { 5968 return s.String() 5969} 5970 5971// SetJobQueueArn sets the JobQueueArn field's value. 5972func (s *UpdateJobQueueOutput) SetJobQueueArn(v string) *UpdateJobQueueOutput { 5973 s.JobQueueArn = &v 5974 return s 5975} 5976 5977// SetJobQueueName sets the JobQueueName field's value. 5978func (s *UpdateJobQueueOutput) SetJobQueueName(v string) *UpdateJobQueueOutput { 5979 s.JobQueueName = &v 5980 return s 5981} 5982 5983// A data volume used in a job's container properties. 5984type Volume struct { 5985 _ struct{} `type:"structure"` 5986 5987 // The contents of the host parameter determine whether your data volume persists 5988 // on the host container instance and where it is stored. If the host parameter 5989 // is empty, then the Docker daemon assigns a host path for your data volume. 5990 // However, the data is not guaranteed to persist after the containers associated 5991 // with it stop running. 5992 Host *Host `locationName:"host" type:"structure"` 5993 5994 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 5995 // hyphens, and underscores are allowed. This name is referenced in the sourceVolume 5996 // parameter of container definition mountPoints. 5997 Name *string `locationName:"name" type:"string"` 5998} 5999 6000// String returns the string representation 6001func (s Volume) String() string { 6002 return awsutil.Prettify(s) 6003} 6004 6005// GoString returns the string representation 6006func (s Volume) GoString() string { 6007 return s.String() 6008} 6009 6010// SetHost sets the Host field's value. 6011func (s *Volume) SetHost(v *Host) *Volume { 6012 s.Host = v 6013 return s 6014} 6015 6016// SetName sets the Name field's value. 6017func (s *Volume) SetName(v string) *Volume { 6018 s.Name = &v 6019 return s 6020} 6021 6022const ( 6023 // ArrayJobDependencyNToN is a ArrayJobDependency enum value 6024 ArrayJobDependencyNToN = "N_TO_N" 6025 6026 // ArrayJobDependencySequential is a ArrayJobDependency enum value 6027 ArrayJobDependencySequential = "SEQUENTIAL" 6028) 6029 6030const ( 6031 // CEStateEnabled is a CEState enum value 6032 CEStateEnabled = "ENABLED" 6033 6034 // CEStateDisabled is a CEState enum value 6035 CEStateDisabled = "DISABLED" 6036) 6037 6038const ( 6039 // CEStatusCreating is a CEStatus enum value 6040 CEStatusCreating = "CREATING" 6041 6042 // CEStatusUpdating is a CEStatus enum value 6043 CEStatusUpdating = "UPDATING" 6044 6045 // CEStatusDeleting is a CEStatus enum value 6046 CEStatusDeleting = "DELETING" 6047 6048 // CEStatusDeleted is a CEStatus enum value 6049 CEStatusDeleted = "DELETED" 6050 6051 // CEStatusValid is a CEStatus enum value 6052 CEStatusValid = "VALID" 6053 6054 // CEStatusInvalid is a CEStatus enum value 6055 CEStatusInvalid = "INVALID" 6056) 6057 6058const ( 6059 // CETypeManaged is a CEType enum value 6060 CETypeManaged = "MANAGED" 6061 6062 // CETypeUnmanaged is a CEType enum value 6063 CETypeUnmanaged = "UNMANAGED" 6064) 6065 6066const ( 6067 // CRTypeEc2 is a CRType enum value 6068 CRTypeEc2 = "EC2" 6069 6070 // CRTypeSpot is a CRType enum value 6071 CRTypeSpot = "SPOT" 6072) 6073 6074const ( 6075 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 6076 DeviceCgroupPermissionRead = "READ" 6077 6078 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 6079 DeviceCgroupPermissionWrite = "WRITE" 6080 6081 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 6082 DeviceCgroupPermissionMknod = "MKNOD" 6083) 6084 6085const ( 6086 // JQStateEnabled is a JQState enum value 6087 JQStateEnabled = "ENABLED" 6088 6089 // JQStateDisabled is a JQState enum value 6090 JQStateDisabled = "DISABLED" 6091) 6092 6093const ( 6094 // JQStatusCreating is a JQStatus enum value 6095 JQStatusCreating = "CREATING" 6096 6097 // JQStatusUpdating is a JQStatus enum value 6098 JQStatusUpdating = "UPDATING" 6099 6100 // JQStatusDeleting is a JQStatus enum value 6101 JQStatusDeleting = "DELETING" 6102 6103 // JQStatusDeleted is a JQStatus enum value 6104 JQStatusDeleted = "DELETED" 6105 6106 // JQStatusValid is a JQStatus enum value 6107 JQStatusValid = "VALID" 6108 6109 // JQStatusInvalid is a JQStatus enum value 6110 JQStatusInvalid = "INVALID" 6111) 6112 6113const ( 6114 // JobDefinitionTypeContainer is a JobDefinitionType enum value 6115 JobDefinitionTypeContainer = "container" 6116 6117 // JobDefinitionTypeMultinode is a JobDefinitionType enum value 6118 JobDefinitionTypeMultinode = "multinode" 6119) 6120 6121const ( 6122 // JobStatusSubmitted is a JobStatus enum value 6123 JobStatusSubmitted = "SUBMITTED" 6124 6125 // JobStatusPending is a JobStatus enum value 6126 JobStatusPending = "PENDING" 6127 6128 // JobStatusRunnable is a JobStatus enum value 6129 JobStatusRunnable = "RUNNABLE" 6130 6131 // JobStatusStarting is a JobStatus enum value 6132 JobStatusStarting = "STARTING" 6133 6134 // JobStatusRunning is a JobStatus enum value 6135 JobStatusRunning = "RUNNING" 6136 6137 // JobStatusSucceeded is a JobStatus enum value 6138 JobStatusSucceeded = "SUCCEEDED" 6139 6140 // JobStatusFailed is a JobStatus enum value 6141 JobStatusFailed = "FAILED" 6142) 6143 6144const ( 6145 // ResourceTypeGpu is a ResourceType enum value 6146 ResourceTypeGpu = "GPU" 6147) 6148