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