batch

package
v1.38.63 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2021 License: Apache-2.0 Imports: 9 Imported by: 148

Documentation

Overview

Package batch provides the client and types for making API requests to AWS Batch.

Using AWS Batch, you can run batch computing workloads on the AWS Cloud. Batch computing is a common means for developers, scientists, and engineers to access large amounts of compute resources. AWS Batch uses the advantages of this computing workload to remove the undifferentiated heavy lifting of configuring and managing required infrastructure. At the same time, it also adopts a familiar batch computing software approach. Given these advantages, AWS Batch can help you to efficiently provision resources in response to jobs submitted, thus effectively helping you to eliminate capacity constraints, reduce compute costs, and deliver your results more quickly.

As a fully managed service, AWS Batch can run batch computing workloads of any scale. AWS Batch automatically provisions compute resources and optimizes workload distribution based on the quantity and scale of your specific workloads. With AWS Batch, there's no need to install or manage batch computing software. This means that you can focus your time and energy on analyzing results and solving your specific problems.

See https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10 for more information on this service.

See batch package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/batch/

Using the Client

To contact AWS Batch with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS Batch client Batch for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/batch/#New

Index

Examples

Constants

View Source
const (
	// ArrayJobDependencyNToN is a ArrayJobDependency enum value
	ArrayJobDependencyNToN = "N_TO_N"

	// ArrayJobDependencySequential is a ArrayJobDependency enum value
	ArrayJobDependencySequential = "SEQUENTIAL"
)
View Source
const (
	// AssignPublicIpEnabled is a AssignPublicIp enum value
	AssignPublicIpEnabled = "ENABLED"

	// AssignPublicIpDisabled is a AssignPublicIp enum value
	AssignPublicIpDisabled = "DISABLED"
)
View Source
const (
	// CEStateEnabled is a CEState enum value
	CEStateEnabled = "ENABLED"

	// CEStateDisabled is a CEState enum value
	CEStateDisabled = "DISABLED"
)
View Source
const (
	// CEStatusCreating is a CEStatus enum value
	CEStatusCreating = "CREATING"

	// CEStatusUpdating is a CEStatus enum value
	CEStatusUpdating = "UPDATING"

	// CEStatusDeleting is a CEStatus enum value
	CEStatusDeleting = "DELETING"

	// CEStatusDeleted is a CEStatus enum value
	CEStatusDeleted = "DELETED"

	// CEStatusValid is a CEStatus enum value
	CEStatusValid = "VALID"

	// CEStatusInvalid is a CEStatus enum value
	CEStatusInvalid = "INVALID"
)
View Source
const (
	// CETypeManaged is a CEType enum value
	CETypeManaged = "MANAGED"

	// CETypeUnmanaged is a CEType enum value
	CETypeUnmanaged = "UNMANAGED"
)
View Source
const (
	// CRAllocationStrategyBestFit is a CRAllocationStrategy enum value
	CRAllocationStrategyBestFit = "BEST_FIT"

	// CRAllocationStrategyBestFitProgressive is a CRAllocationStrategy enum value
	CRAllocationStrategyBestFitProgressive = "BEST_FIT_PROGRESSIVE"

	// CRAllocationStrategySpotCapacityOptimized is a CRAllocationStrategy enum value
	CRAllocationStrategySpotCapacityOptimized = "SPOT_CAPACITY_OPTIMIZED"
)
View Source
const (
	// CRTypeEc2 is a CRType enum value
	CRTypeEc2 = "EC2"

	// CRTypeSpot is a CRType enum value
	CRTypeSpot = "SPOT"

	// CRTypeFargate is a CRType enum value
	CRTypeFargate = "FARGATE"

	// CRTypeFargateSpot is a CRType enum value
	CRTypeFargateSpot = "FARGATE_SPOT"
)
View Source
const (
	// DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value
	DeviceCgroupPermissionRead = "READ"

	// DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value
	DeviceCgroupPermissionWrite = "WRITE"

	// DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value
	DeviceCgroupPermissionMknod = "MKNOD"
)
View Source
const (
	// EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value
	EFSAuthorizationConfigIAMEnabled = "ENABLED"

	// EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value
	EFSAuthorizationConfigIAMDisabled = "DISABLED"
)
View Source
const (
	// EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value
	EFSTransitEncryptionEnabled = "ENABLED"

	// EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value
	EFSTransitEncryptionDisabled = "DISABLED"
)
View Source
const (
	// JQStateEnabled is a JQState enum value
	JQStateEnabled = "ENABLED"

	// JQStateDisabled is a JQState enum value
	JQStateDisabled = "DISABLED"
)
View Source
const (
	// JQStatusCreating is a JQStatus enum value
	JQStatusCreating = "CREATING"

	// JQStatusUpdating is a JQStatus enum value
	JQStatusUpdating = "UPDATING"

	// JQStatusDeleting is a JQStatus enum value
	JQStatusDeleting = "DELETING"

	// JQStatusDeleted is a JQStatus enum value
	JQStatusDeleted = "DELETED"

	// JQStatusValid is a JQStatus enum value
	JQStatusValid = "VALID"

	// JQStatusInvalid is a JQStatus enum value
	JQStatusInvalid = "INVALID"
)
View Source
const (
	// JobDefinitionTypeContainer is a JobDefinitionType enum value
	JobDefinitionTypeContainer = "container"

	// JobDefinitionTypeMultinode is a JobDefinitionType enum value
	JobDefinitionTypeMultinode = "multinode"
)
View Source
const (
	// JobStatusSubmitted is a JobStatus enum value
	JobStatusSubmitted = "SUBMITTED"

	// JobStatusPending is a JobStatus enum value
	JobStatusPending = "PENDING"

	// JobStatusRunnable is a JobStatus enum value
	JobStatusRunnable = "RUNNABLE"

	// JobStatusStarting is a JobStatus enum value
	JobStatusStarting = "STARTING"

	// JobStatusRunning is a JobStatus enum value
	JobStatusRunning = "RUNNING"

	// JobStatusSucceeded is a JobStatus enum value
	JobStatusSucceeded = "SUCCEEDED"

	// JobStatusFailed is a JobStatus enum value
	JobStatusFailed = "FAILED"
)
View Source
const (
	// LogDriverJsonFile is a LogDriver enum value
	LogDriverJsonFile = "json-file"

	// LogDriverSyslog is a LogDriver enum value
	LogDriverSyslog = "syslog"

	// LogDriverJournald is a LogDriver enum value
	LogDriverJournald = "journald"

	// LogDriverGelf is a LogDriver enum value
	LogDriverGelf = "gelf"

	// LogDriverFluentd is a LogDriver enum value
	LogDriverFluentd = "fluentd"

	// LogDriverAwslogs is a LogDriver enum value
	LogDriverAwslogs = "awslogs"

	// LogDriverSplunk is a LogDriver enum value
	LogDriverSplunk = "splunk"
)
View Source
const (
	// PlatformCapabilityEc2 is a PlatformCapability enum value
	PlatformCapabilityEc2 = "EC2"

	// PlatformCapabilityFargate is a PlatformCapability enum value
	PlatformCapabilityFargate = "FARGATE"
)
View Source
const (
	// ResourceTypeGpu is a ResourceType enum value
	ResourceTypeGpu = "GPU"

	// ResourceTypeVcpu is a ResourceType enum value
	ResourceTypeVcpu = "VCPU"

	// ResourceTypeMemory is a ResourceType enum value
	ResourceTypeMemory = "MEMORY"
)
View Source
const (
	// RetryActionRetry is a RetryAction enum value
	RetryActionRetry = "RETRY"

	// RetryActionExit is a RetryAction enum value
	RetryActionExit = "EXIT"
)
View Source
const (

	// ErrCodeClientException for service response error code
	// "ClientException".
	//
	// These errors are usually caused by a client action, such as using an action
	// or resource on behalf of a user that doesn't have permissions to use the
	// action or resource, or specifying an identifier that's not valid.
	ErrCodeClientException = "ClientException"

	// ErrCodeServerException for service response error code
	// "ServerException".
	//
	// These errors are usually caused by a server issue.
	ErrCodeServerException = "ServerException"
)
View Source
const (
	ServiceName = "batch"     // Name of service.
	EndpointsID = ServiceName // ID to lookup a service endpoint with.
	ServiceID   = "Batch"     // ServiceID is a unique identifier of a specific service.
)

Service information constants

Variables

This section is empty.

Functions

func ArrayJobDependency_Values added in v1.34.3

func ArrayJobDependency_Values() []string

ArrayJobDependency_Values returns all elements of the ArrayJobDependency enum

func AssignPublicIp_Values added in v1.36.1

func AssignPublicIp_Values() []string

AssignPublicIp_Values returns all elements of the AssignPublicIp enum

func CEState_Values added in v1.34.3

func CEState_Values() []string

CEState_Values returns all elements of the CEState enum

func CEStatus_Values added in v1.34.3

func CEStatus_Values() []string

CEStatus_Values returns all elements of the CEStatus enum

func CEType_Values added in v1.34.3

func CEType_Values() []string

CEType_Values returns all elements of the CEType enum

func CRAllocationStrategy_Values added in v1.34.3

func CRAllocationStrategy_Values() []string

CRAllocationStrategy_Values returns all elements of the CRAllocationStrategy enum

func CRType_Values added in v1.34.3

func CRType_Values() []string

CRType_Values returns all elements of the CRType enum

func DeviceCgroupPermission_Values added in v1.34.3

func DeviceCgroupPermission_Values() []string

DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum

func EFSAuthorizationConfigIAM_Values added in v1.38.10

func EFSAuthorizationConfigIAM_Values() []string

EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum

func EFSTransitEncryption_Values added in v1.38.10

func EFSTransitEncryption_Values() []string

EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum

func JQState_Values added in v1.34.3

func JQState_Values() []string

JQState_Values returns all elements of the JQState enum

func JQStatus_Values added in v1.34.3

func JQStatus_Values() []string

JQStatus_Values returns all elements of the JQStatus enum

func JobDefinitionType_Values added in v1.34.3

func JobDefinitionType_Values() []string

JobDefinitionType_Values returns all elements of the JobDefinitionType enum

func JobStatus_Values added in v1.34.3

func JobStatus_Values() []string

JobStatus_Values returns all elements of the JobStatus enum

func LogDriver_Values added in v1.34.32

func LogDriver_Values() []string

LogDriver_Values returns all elements of the LogDriver enum

func PlatformCapability_Values added in v1.36.1

func PlatformCapability_Values() []string

PlatformCapability_Values returns all elements of the PlatformCapability enum

func ResourceType_Values added in v1.34.3

func ResourceType_Values() []string

ResourceType_Values returns all elements of the ResourceType enum

func RetryAction_Values added in v1.35.11

func RetryAction_Values() []string

RetryAction_Values returns all elements of the RetryAction enum

Types

type ArrayProperties added in v1.12.35

type ArrayProperties struct {

	// The size of the array job.
	Size *int64 `locationName:"size" type:"integer"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch array job.

func (ArrayProperties) GoString added in v1.12.35

func (s ArrayProperties) GoString() string

GoString returns the string representation

func (*ArrayProperties) SetSize added in v1.12.35

func (s *ArrayProperties) SetSize(v int64) *ArrayProperties

SetSize sets the Size field's value.

func (ArrayProperties) String added in v1.12.35

func (s ArrayProperties) String() string

String returns the string representation

type ArrayPropertiesDetail added in v1.12.35

type ArrayPropertiesDetail struct {

	// The job index within the array that's associated with this job. This parameter
	// is returned for array job children.
	Index *int64 `locationName:"index" type:"integer"`

	// The size of the array job. This parameter is returned for parent array jobs.
	Size *int64 `locationName:"size" type:"integer"`

	// A summary of the number of array job children in each available job status.
	// This parameter is returned for parent array jobs.
	StatusSummary map[string]*int64 `locationName:"statusSummary" type:"map"`
	// contains filtered or unexported fields
}

An object representing the array properties of a job.

func (ArrayPropertiesDetail) GoString added in v1.12.35

func (s ArrayPropertiesDetail) GoString() string

GoString returns the string representation

func (*ArrayPropertiesDetail) SetIndex added in v1.12.35

SetIndex sets the Index field's value.

func (*ArrayPropertiesDetail) SetSize added in v1.12.35

SetSize sets the Size field's value.

func (*ArrayPropertiesDetail) SetStatusSummary added in v1.12.35

func (s *ArrayPropertiesDetail) SetStatusSummary(v map[string]*int64) *ArrayPropertiesDetail

SetStatusSummary sets the StatusSummary field's value.

func (ArrayPropertiesDetail) String added in v1.12.35

func (s ArrayPropertiesDetail) String() string

String returns the string representation

type ArrayPropertiesSummary added in v1.12.35

type ArrayPropertiesSummary struct {

	// The job index within the array that's associated with this job. This parameter
	// is returned for children of array jobs.
	Index *int64 `locationName:"index" type:"integer"`

	// The size of the array job. This parameter is returned for parent array jobs.
	Size *int64 `locationName:"size" type:"integer"`
	// contains filtered or unexported fields
}

An object representing the array properties of a job.

func (ArrayPropertiesSummary) GoString added in v1.12.35

func (s ArrayPropertiesSummary) GoString() string

GoString returns the string representation

func (*ArrayPropertiesSummary) SetIndex added in v1.12.35

SetIndex sets the Index field's value.

func (*ArrayPropertiesSummary) SetSize added in v1.12.35

SetSize sets the Size field's value.

func (ArrayPropertiesSummary) String added in v1.12.35

func (s ArrayPropertiesSummary) String() string

String returns the string representation

type AttemptContainerDetail added in v1.8.4

type AttemptContainerDetail struct {

	// The Amazon Resource Name (ARN) of the Amazon ECS container instance that
	// hosts the job attempt.
	ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`

	// The exit code for the job attempt. A non-zero exit code is considered a failure.
	ExitCode *int64 `locationName:"exitCode" type:"integer"`

	// The name of the CloudWatch Logs log stream associated with the container.
	// The log group for AWS Batch jobs is /aws/batch/job. Each container attempt
	// receives a log stream name when they reach the RUNNING status.
	LogStreamName *string `locationName:"logStreamName" type:"string"`

	// The network interfaces associated with the job attempt.
	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`

	// A short (255 max characters) human-readable string to provide additional
	// details about a running or stopped container.
	Reason *string `locationName:"reason" type:"string"`

	// The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
	// the job attempt. Each container attempt receives a task ARN when they reach
	// the STARTING status.
	TaskArn *string `locationName:"taskArn" type:"string"`
	// contains filtered or unexported fields
}

An object representing the details of a container that's part of a job attempt.

func (AttemptContainerDetail) GoString added in v1.8.4

func (s AttemptContainerDetail) GoString() string

GoString returns the string representation

func (*AttemptContainerDetail) SetContainerInstanceArn added in v1.8.4

func (s *AttemptContainerDetail) SetContainerInstanceArn(v string) *AttemptContainerDetail

SetContainerInstanceArn sets the ContainerInstanceArn field's value.

func (*AttemptContainerDetail) SetExitCode added in v1.8.4

SetExitCode sets the ExitCode field's value.

func (*AttemptContainerDetail) SetLogStreamName added in v1.10.25

func (s *AttemptContainerDetail) SetLogStreamName(v string) *AttemptContainerDetail

SetLogStreamName sets the LogStreamName field's value.

func (*AttemptContainerDetail) SetNetworkInterfaces added in v1.15.79

func (s *AttemptContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *AttemptContainerDetail

SetNetworkInterfaces sets the NetworkInterfaces field's value.

func (*AttemptContainerDetail) SetReason added in v1.8.4

SetReason sets the Reason field's value.

func (*AttemptContainerDetail) SetTaskArn added in v1.8.4

SetTaskArn sets the TaskArn field's value.

func (AttemptContainerDetail) String added in v1.8.4

func (s AttemptContainerDetail) String() string

String returns the string representation

type AttemptDetail added in v1.8.4

type AttemptDetail struct {

	// Details about the container in this job attempt.
	Container *AttemptContainerDetail `locationName:"container" type:"structure"`

	// The Unix timestamp (in milliseconds) for when the attempt was started (when
	// the attempt transitioned from the STARTING state to the RUNNING state).
	StartedAt *int64 `locationName:"startedAt" type:"long"`

	// A short, human-readable string to provide additional details about the current
	// status of the job attempt.
	StatusReason *string `locationName:"statusReason" type:"string"`

	// The Unix timestamp (in milliseconds) for when the attempt was stopped (when
	// the attempt transitioned from the RUNNING state to a terminal state, such
	// as SUCCEEDED or FAILED).
	StoppedAt *int64 `locationName:"stoppedAt" type:"long"`
	// contains filtered or unexported fields
}

An object representing a job attempt.

func (AttemptDetail) GoString added in v1.8.4

func (s AttemptDetail) GoString() string

GoString returns the string representation

func (*AttemptDetail) SetContainer added in v1.8.4

func (s *AttemptDetail) SetContainer(v *AttemptContainerDetail) *AttemptDetail

SetContainer sets the Container field's value.

func (*AttemptDetail) SetStartedAt added in v1.8.4

func (s *AttemptDetail) SetStartedAt(v int64) *AttemptDetail

SetStartedAt sets the StartedAt field's value.

func (*AttemptDetail) SetStatusReason added in v1.8.4

func (s *AttemptDetail) SetStatusReason(v string) *AttemptDetail

SetStatusReason sets the StatusReason field's value.

func (*AttemptDetail) SetStoppedAt added in v1.8.4

func (s *AttemptDetail) SetStoppedAt(v int64) *AttemptDetail

SetStoppedAt sets the StoppedAt field's value.

func (AttemptDetail) String added in v1.8.4

func (s AttemptDetail) String() string

String returns the string representation

type Batch

type Batch struct {
	*client.Client
}

Batch provides the API operation methods for making requests to AWS Batch. See this package's package overview docs for details on the service.

Batch methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(p client.ConfigProvider, cfgs ...*aws.Config) *Batch

New creates a new instance of the Batch client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

mySession := session.Must(session.NewSession())

// Create a Batch client from just a session.
svc := batch.New(mySession)

// Create a Batch client with additional configuration
svc := batch.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*Batch) CancelJob

func (c *Batch) CancelJob(input *CancelJobInput) (*CancelJobOutput, error)

CancelJob API operation for AWS Batch.

Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or RUNNABLE state are canceled. Jobs that have progressed to STARTING or RUNNING aren't canceled, but the API operation still succeeds, even if no job is canceled. These jobs must be terminated with the TerminateJob operation.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation CancelJob for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob

Example (Shared00)

To cancel a job

This example cancels a job with the specified job ID.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.CancelJobInput{
		JobId:  aws.String("1d828f65-7a4d-42e8-996d-3b900ed59dc4"),
		Reason: aws.String("Cancelling job."),
	}

	result, err := svc.CancelJob(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) CancelJobRequest

func (c *Batch) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput)

CancelJobRequest generates a "aws/request.Request" representing the client's request for the CancelJob operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CancelJob for more information on using the CancelJob API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CancelJobRequest method.
req, resp := client.CancelJobRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CancelJob

func (*Batch) CancelJobWithContext added in v1.8.0

func (c *Batch) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error)

CancelJobWithContext is the same as CancelJob with the addition of the ability to pass a context and additional request options.

See CancelJob for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) CreateComputeEnvironment

func (c *Batch) CreateComputeEnvironment(input *CreateComputeEnvironmentInput) (*CreateComputeEnvironmentOutput, error)

CreateComputeEnvironment API operation for AWS Batch.

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments. MANAGED compute environments can use Amazon EC2 or AWS Fargate resources. UNMANAGED compute environments can only use EC2 resources.

In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) that you specify when you create the compute environment. Either, you can choose to use EC2 On-Demand Instances and EC2 Spot Instances. Or, you can use Fargate and Fargate Spot capacity in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is less than a specified percentage of the On-Demand price.

Multi-node parallel jobs aren't supported on Spot Instances.

In an unmanaged compute environment, you can manage your own EC2 compute resources and have a lot of flexibility with how you configure your compute resources. For example, you can use custom AMIs. However, you must verify that each of your AMIs meet the Amazon ECS container instance AMI specification. For more information, see container instance AMIs (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html) in the Amazon Elastic Container Service Developer Guide. After you created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that's associated with it. Then, launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS container instance (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html) in the Amazon Elastic Container Service Developer Guide.

AWS Batch doesn't upgrade the AMIs in a compute environment after the environment is created. For example, it doesn't update the AMIs when a newer version of the Amazon ECS optimized AMI is available. Therefore, you're responsible for managing the guest operating system (including its updates and security patches) and any additional application software or utilities that you install on the compute resources. To use a new AMI for your AWS Batch jobs, complete these steps:

Create a new compute environment with the new AMI.

Add the compute environment to an existing job queue.

Remove the earlier compute environment from your job queue.

Delete the earlier compute environment.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation CreateComputeEnvironment for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment

Example (Shared00)

To create a managed EC2 compute environment

This example creates a managed compute environment with specific C4 instance types that are launched on demand. The compute environment is called C4OnDemand.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.CreateComputeEnvironmentInput{
		ComputeEnvironmentName: aws.String("C4OnDemand"),
		ComputeResources: &batch.ComputeResource{
			DesiredvCpus: aws.Int64(48),
			Ec2KeyPair:   aws.String("id_rsa"),
			InstanceRole: aws.String("ecsInstanceRole"),
			InstanceTypes: []*string{
				aws.String("c4.large"),
				aws.String("c4.xlarge"),
				aws.String("c4.2xlarge"),
				aws.String("c4.4xlarge"),
				aws.String("c4.8xlarge"),
			},
			MaxvCpus: aws.Int64(128),
			MinvCpus: aws.Int64(0),
			SecurityGroupIds: []*string{
				aws.String("sg-cf5093b2"),
			},
			Subnets: []*string{
				aws.String("subnet-220c0e0a"),
				aws.String("subnet-1a95556d"),
				aws.String("subnet-978f6dce"),
			},
			Tags: map[string]*string{
				"Name": aws.String("Batch Instance - C4OnDemand"),
			},
			Type: aws.String("EC2"),
		},
		ServiceRole: aws.String("arn:aws:iam::012345678910:role/AWSBatchServiceRole"),
		State:       aws.String("ENABLED"),
		Type:        aws.String("MANAGED"),
	}

	result, err := svc.CreateComputeEnvironment(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

Example (Shared01)

To create a managed EC2 Spot compute environment

This example creates a managed compute environment with the M4 instance type that is launched when the Spot bid price is at or below 20% of the On-Demand price for the instance type. The compute environment is called M4Spot.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.CreateComputeEnvironmentInput{
		ComputeEnvironmentName: aws.String("M4Spot"),
		ComputeResources: &batch.ComputeResource{
			BidPercentage: aws.Int64(20),
			DesiredvCpus:  aws.Int64(4),
			Ec2KeyPair:    aws.String("id_rsa"),
			InstanceRole:  aws.String("ecsInstanceRole"),
			InstanceTypes: []*string{
				aws.String("m4"),
			},
			MaxvCpus: aws.Int64(128),
			MinvCpus: aws.Int64(0),
			SecurityGroupIds: []*string{
				aws.String("sg-cf5093b2"),
			},
			SpotIamFleetRole: aws.String("arn:aws:iam::012345678910:role/aws-ec2-spot-fleet-role"),
			Subnets: []*string{
				aws.String("subnet-220c0e0a"),
				aws.String("subnet-1a95556d"),
				aws.String("subnet-978f6dce"),
			},
			Tags: map[string]*string{
				"Name": aws.String("Batch Instance - M4Spot"),
			},
			Type: aws.String("SPOT"),
		},
		ServiceRole: aws.String("arn:aws:iam::012345678910:role/AWSBatchServiceRole"),
		State:       aws.String("ENABLED"),
		Type:        aws.String("MANAGED"),
	}

	result, err := svc.CreateComputeEnvironment(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) CreateComputeEnvironmentRequest

func (c *Batch) CreateComputeEnvironmentRequest(input *CreateComputeEnvironmentInput) (req *request.Request, output *CreateComputeEnvironmentOutput)

CreateComputeEnvironmentRequest generates a "aws/request.Request" representing the client's request for the CreateComputeEnvironment operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateComputeEnvironment for more information on using the CreateComputeEnvironment API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateComputeEnvironmentRequest method.
req, resp := client.CreateComputeEnvironmentRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironment

func (*Batch) CreateComputeEnvironmentWithContext added in v1.8.0

func (c *Batch) CreateComputeEnvironmentWithContext(ctx aws.Context, input *CreateComputeEnvironmentInput, opts ...request.Option) (*CreateComputeEnvironmentOutput, error)

CreateComputeEnvironmentWithContext is the same as CreateComputeEnvironment with the addition of the ability to pass a context and additional request options.

See CreateComputeEnvironment for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) CreateJobQueue

func (c *Batch) CreateJobQueue(input *CreateJobQueueInput) (*CreateJobQueueOutput, error)

CreateJobQueue API operation for AWS Batch.

Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the queue and assign an order of preference for the compute environments.

You also set a priority to the job queue that determines the order that the AWS Batch scheduler places jobs onto its associated compute environments. For example, if a compute environment is associated with more than one job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute environment.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation CreateJobQueue for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue

Example (Shared00)

To create a job queue with a single compute environment

This example creates a job queue called LowPriority that uses the M4Spot compute environment.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.CreateJobQueueInput{
		ComputeEnvironmentOrder: []*batch.ComputeEnvironmentOrder{
			{
				ComputeEnvironment: aws.String("M4Spot"),
				Order:              aws.Int64(1),
			},
		},
		JobQueueName: aws.String("LowPriority"),
		Priority:     aws.Int64(1),
		State:        aws.String("ENABLED"),
	}

	result, err := svc.CreateJobQueue(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

Example (Shared01)

To create a job queue with multiple compute environments

This example creates a job queue called HighPriority that uses the C4OnDemand compute environment with an order of 1 and the M4Spot compute environment with an order of 2.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.CreateJobQueueInput{
		ComputeEnvironmentOrder: []*batch.ComputeEnvironmentOrder{
			{
				ComputeEnvironment: aws.String("C4OnDemand"),
				Order:              aws.Int64(1),
			},
			{
				ComputeEnvironment: aws.String("M4Spot"),
				Order:              aws.Int64(2),
			},
		},
		JobQueueName: aws.String("HighPriority"),
		Priority:     aws.Int64(10),
		State:        aws.String("ENABLED"),
	}

	result, err := svc.CreateJobQueue(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) CreateJobQueueRequest

func (c *Batch) CreateJobQueueRequest(input *CreateJobQueueInput) (req *request.Request, output *CreateJobQueueOutput)

CreateJobQueueRequest generates a "aws/request.Request" representing the client's request for the CreateJobQueue operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See CreateJobQueue for more information on using the CreateJobQueue API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the CreateJobQueueRequest method.
req, resp := client.CreateJobQueueRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueue

func (*Batch) CreateJobQueueWithContext added in v1.8.0

func (c *Batch) CreateJobQueueWithContext(ctx aws.Context, input *CreateJobQueueInput, opts ...request.Option) (*CreateJobQueueOutput, error)

CreateJobQueueWithContext is the same as CreateJobQueue with the addition of the ability to pass a context and additional request options.

See CreateJobQueue for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DeleteComputeEnvironment

func (c *Batch) DeleteComputeEnvironment(input *DeleteComputeEnvironmentInput) (*DeleteComputeEnvironmentOutput, error)

DeleteComputeEnvironment API operation for AWS Batch.

Deletes an AWS Batch compute environment.

Before you can delete a compute environment, you must set its state to DISABLED with the UpdateComputeEnvironment API operation and disassociate it from any job queues with the UpdateJobQueue API operation. Compute environments that use AWS Fargate resources must terminate all active jobs on that compute environment before deleting the compute environment. If this isn't done, the compute environment enters an invalid state.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DeleteComputeEnvironment for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment

Example (Shared00)

To delete a compute environment

This example deletes the P2OnDemand compute environment.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DeleteComputeEnvironmentInput{
		ComputeEnvironment: aws.String("P2OnDemand"),
	}

	result, err := svc.DeleteComputeEnvironment(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DeleteComputeEnvironmentRequest

func (c *Batch) DeleteComputeEnvironmentRequest(input *DeleteComputeEnvironmentInput) (req *request.Request, output *DeleteComputeEnvironmentOutput)

DeleteComputeEnvironmentRequest generates a "aws/request.Request" representing the client's request for the DeleteComputeEnvironment operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteComputeEnvironment for more information on using the DeleteComputeEnvironment API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteComputeEnvironmentRequest method.
req, resp := client.DeleteComputeEnvironmentRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteComputeEnvironment

func (*Batch) DeleteComputeEnvironmentWithContext added in v1.8.0

func (c *Batch) DeleteComputeEnvironmentWithContext(ctx aws.Context, input *DeleteComputeEnvironmentInput, opts ...request.Option) (*DeleteComputeEnvironmentOutput, error)

DeleteComputeEnvironmentWithContext is the same as DeleteComputeEnvironment with the addition of the ability to pass a context and additional request options.

See DeleteComputeEnvironment for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DeleteJobQueue

func (c *Batch) DeleteJobQueue(input *DeleteJobQueueInput) (*DeleteJobQueueOutput, error)

DeleteJobQueue API operation for AWS Batch.

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are eventually terminated when you delete a job queue. The jobs are terminated at a rate of about 16 jobs each second.

It's not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DeleteJobQueue for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue

Example (Shared00)

To delete a job queue

This example deletes the GPGPU job queue.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DeleteJobQueueInput{
		JobQueue: aws.String("GPGPU"),
	}

	result, err := svc.DeleteJobQueue(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DeleteJobQueueRequest

func (c *Batch) DeleteJobQueueRequest(input *DeleteJobQueueInput) (req *request.Request, output *DeleteJobQueueOutput)

DeleteJobQueueRequest generates a "aws/request.Request" representing the client's request for the DeleteJobQueue operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeleteJobQueue for more information on using the DeleteJobQueue API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeleteJobQueueRequest method.
req, resp := client.DeleteJobQueueRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteJobQueue

func (*Batch) DeleteJobQueueWithContext added in v1.8.0

func (c *Batch) DeleteJobQueueWithContext(ctx aws.Context, input *DeleteJobQueueInput, opts ...request.Option) (*DeleteJobQueueOutput, error)

DeleteJobQueueWithContext is the same as DeleteJobQueue with the addition of the ability to pass a context and additional request options.

See DeleteJobQueue for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DeregisterJobDefinition

func (c *Batch) DeregisterJobDefinition(input *DeregisterJobDefinitionInput) (*DeregisterJobDefinitionOutput, error)

DeregisterJobDefinition API operation for AWS Batch.

Deregisters an AWS Batch job definition. Job definitions are permanently deleted after 180 days.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DeregisterJobDefinition for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition

Example (Shared00)

To deregister a job definition

This example deregisters a job definition called sleep10.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DeregisterJobDefinitionInput{
		JobDefinition: aws.String("sleep10"),
	}

	result, err := svc.DeregisterJobDefinition(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DeregisterJobDefinitionRequest

func (c *Batch) DeregisterJobDefinitionRequest(input *DeregisterJobDefinitionInput) (req *request.Request, output *DeregisterJobDefinitionOutput)

DeregisterJobDefinitionRequest generates a "aws/request.Request" representing the client's request for the DeregisterJobDefinition operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DeregisterJobDefinition for more information on using the DeregisterJobDefinition API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DeregisterJobDefinitionRequest method.
req, resp := client.DeregisterJobDefinitionRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeregisterJobDefinition

func (*Batch) DeregisterJobDefinitionWithContext added in v1.8.0

func (c *Batch) DeregisterJobDefinitionWithContext(ctx aws.Context, input *DeregisterJobDefinitionInput, opts ...request.Option) (*DeregisterJobDefinitionOutput, error)

DeregisterJobDefinitionWithContext is the same as DeregisterJobDefinition with the addition of the ability to pass a context and additional request options.

See DeregisterJobDefinition for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeComputeEnvironments

func (c *Batch) DescribeComputeEnvironments(input *DescribeComputeEnvironmentsInput) (*DescribeComputeEnvironmentsOutput, error)

DescribeComputeEnvironments API operation for AWS Batch.

Describes one or more of your compute environments.

If you're using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DescribeComputeEnvironments for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments

Example (Shared00)

To describe a compute environment

This example describes the P2OnDemand compute environment.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DescribeComputeEnvironmentsInput{
		ComputeEnvironments: []*string{
			aws.String("P2OnDemand"),
		},
	}

	result, err := svc.DescribeComputeEnvironments(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DescribeComputeEnvironmentsPages added in v1.21.6

func (c *Batch) DescribeComputeEnvironmentsPages(input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool) error

DescribeComputeEnvironmentsPages iterates over the pages of a DescribeComputeEnvironments operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeComputeEnvironments method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeComputeEnvironments operation.
pageNum := 0
err := client.DescribeComputeEnvironmentsPages(params,
    func(page *batch.DescribeComputeEnvironmentsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*Batch) DescribeComputeEnvironmentsPagesWithContext added in v1.21.6

func (c *Batch) DescribeComputeEnvironmentsPagesWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, fn func(*DescribeComputeEnvironmentsOutput, bool) bool, opts ...request.Option) error

DescribeComputeEnvironmentsPagesWithContext same as DescribeComputeEnvironmentsPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeComputeEnvironmentsRequest

func (c *Batch) DescribeComputeEnvironmentsRequest(input *DescribeComputeEnvironmentsInput) (req *request.Request, output *DescribeComputeEnvironmentsOutput)

DescribeComputeEnvironmentsRequest generates a "aws/request.Request" representing the client's request for the DescribeComputeEnvironments operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeComputeEnvironments for more information on using the DescribeComputeEnvironments API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeComputeEnvironmentsRequest method.
req, resp := client.DescribeComputeEnvironmentsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments

func (*Batch) DescribeComputeEnvironmentsWithContext added in v1.8.0

func (c *Batch) DescribeComputeEnvironmentsWithContext(ctx aws.Context, input *DescribeComputeEnvironmentsInput, opts ...request.Option) (*DescribeComputeEnvironmentsOutput, error)

DescribeComputeEnvironmentsWithContext is the same as DescribeComputeEnvironments with the addition of the ability to pass a context and additional request options.

See DescribeComputeEnvironments for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeJobDefinitions

func (c *Batch) DescribeJobDefinitions(input *DescribeJobDefinitionsInput) (*DescribeJobDefinitionsOutput, error)

DescribeJobDefinitions API operation for AWS Batch.

Describes a list of job definitions. You can specify a status (such as ACTIVE) to only return job definitions that match that status.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DescribeJobDefinitions for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions

Example (Shared00)

To describe active job definitions

This example describes all of your active job definitions.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DescribeJobDefinitionsInput{
		Status: aws.String("ACTIVE"),
	}

	result, err := svc.DescribeJobDefinitions(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DescribeJobDefinitionsPages added in v1.21.6

func (c *Batch) DescribeJobDefinitionsPages(input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool) error

DescribeJobDefinitionsPages iterates over the pages of a DescribeJobDefinitions operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeJobDefinitions method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeJobDefinitions operation.
pageNum := 0
err := client.DescribeJobDefinitionsPages(params,
    func(page *batch.DescribeJobDefinitionsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*Batch) DescribeJobDefinitionsPagesWithContext added in v1.21.6

func (c *Batch) DescribeJobDefinitionsPagesWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, fn func(*DescribeJobDefinitionsOutput, bool) bool, opts ...request.Option) error

DescribeJobDefinitionsPagesWithContext same as DescribeJobDefinitionsPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeJobDefinitionsRequest

func (c *Batch) DescribeJobDefinitionsRequest(input *DescribeJobDefinitionsInput) (req *request.Request, output *DescribeJobDefinitionsOutput)

DescribeJobDefinitionsRequest generates a "aws/request.Request" representing the client's request for the DescribeJobDefinitions operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeJobDefinitions for more information on using the DescribeJobDefinitions API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeJobDefinitionsRequest method.
req, resp := client.DescribeJobDefinitionsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions

func (*Batch) DescribeJobDefinitionsWithContext added in v1.8.0

func (c *Batch) DescribeJobDefinitionsWithContext(ctx aws.Context, input *DescribeJobDefinitionsInput, opts ...request.Option) (*DescribeJobDefinitionsOutput, error)

DescribeJobDefinitionsWithContext is the same as DescribeJobDefinitions with the addition of the ability to pass a context and additional request options.

See DescribeJobDefinitions for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeJobQueues

func (c *Batch) DescribeJobQueues(input *DescribeJobQueuesInput) (*DescribeJobQueuesOutput, error)

DescribeJobQueues API operation for AWS Batch.

Describes one or more of your job queues.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DescribeJobQueues for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues

Example (Shared00)

To describe a job queue

This example describes the HighPriority job queue.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DescribeJobQueuesInput{
		JobQueues: []*string{
			aws.String("HighPriority"),
		},
	}

	result, err := svc.DescribeJobQueues(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DescribeJobQueuesPages added in v1.21.6

func (c *Batch) DescribeJobQueuesPages(input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool) error

DescribeJobQueuesPages iterates over the pages of a DescribeJobQueues operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeJobQueues method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeJobQueues operation.
pageNum := 0
err := client.DescribeJobQueuesPages(params,
    func(page *batch.DescribeJobQueuesOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*Batch) DescribeJobQueuesPagesWithContext added in v1.21.6

func (c *Batch) DescribeJobQueuesPagesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, fn func(*DescribeJobQueuesOutput, bool) bool, opts ...request.Option) error

DescribeJobQueuesPagesWithContext same as DescribeJobQueuesPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeJobQueuesRequest

func (c *Batch) DescribeJobQueuesRequest(input *DescribeJobQueuesInput) (req *request.Request, output *DescribeJobQueuesOutput)

DescribeJobQueuesRequest generates a "aws/request.Request" representing the client's request for the DescribeJobQueues operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeJobQueues for more information on using the DescribeJobQueues API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeJobQueuesRequest method.
req, resp := client.DescribeJobQueuesRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues

func (*Batch) DescribeJobQueuesWithContext added in v1.8.0

func (c *Batch) DescribeJobQueuesWithContext(ctx aws.Context, input *DescribeJobQueuesInput, opts ...request.Option) (*DescribeJobQueuesOutput, error)

DescribeJobQueuesWithContext is the same as DescribeJobQueues with the addition of the ability to pass a context and additional request options.

See DescribeJobQueues for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) DescribeJobs

func (c *Batch) DescribeJobs(input *DescribeJobsInput) (*DescribeJobsOutput, error)

DescribeJobs API operation for AWS Batch.

Describes a list of AWS Batch jobs.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation DescribeJobs for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs

Example (Shared00)

To describe a specific job

This example describes a job with the specified job ID.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.DescribeJobsInput{
		Jobs: []*string{
			aws.String("24fa2d7a-64c4-49d2-8b47-f8da4fbde8e9"),
		},
	}

	result, err := svc.DescribeJobs(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) DescribeJobsRequest

func (c *Batch) DescribeJobsRequest(input *DescribeJobsInput) (req *request.Request, output *DescribeJobsOutput)

DescribeJobsRequest generates a "aws/request.Request" representing the client's request for the DescribeJobs operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See DescribeJobs for more information on using the DescribeJobs API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the DescribeJobsRequest method.
req, resp := client.DescribeJobsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs

func (*Batch) DescribeJobsWithContext added in v1.8.0

func (c *Batch) DescribeJobsWithContext(ctx aws.Context, input *DescribeJobsInput, opts ...request.Option) (*DescribeJobsOutput, error)

DescribeJobsWithContext is the same as DescribeJobs with the addition of the ability to pass a context and additional request options.

See DescribeJobs for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) ListJobs

func (c *Batch) ListJobs(input *ListJobsInput) (*ListJobsOutput, error)

ListJobs API operation for AWS Batch.

Returns a list of AWS Batch jobs.

You must specify only one of the following items:

  • A job queue ID to return a list of jobs in that job queue

  • A multi-node parallel job ID to return a list of nodes for that job

  • An array job ID to return a list of the children for that job

You can filter the results by job status with the jobStatus parameter. If you don't specify a status, only RUNNING jobs are returned.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation ListJobs for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs

Example (Shared00)

To list running jobs

This example lists the running jobs in the HighPriority job queue.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.ListJobsInput{
		JobQueue: aws.String("HighPriority"),
	}

	result, err := svc.ListJobs(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

Example (Shared01)

To list submitted jobs

This example lists jobs in the HighPriority job queue that are in the SUBMITTED job status.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.ListJobsInput{
		JobQueue:  aws.String("HighPriority"),
		JobStatus: aws.String("SUBMITTED"),
	}

	result, err := svc.ListJobs(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) ListJobsPages added in v1.21.6

func (c *Batch) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error

ListJobsPages iterates over the pages of a ListJobs operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See ListJobs method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a ListJobs operation.
pageNum := 0
err := client.ListJobsPages(params,
    func(page *batch.ListJobsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*Batch) ListJobsPagesWithContext added in v1.21.6

func (c *Batch) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error

ListJobsPagesWithContext same as ListJobsPages except it takes a Context and allows setting request options on the pages.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) ListJobsRequest

func (c *Batch) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput)

ListJobsRequest generates a "aws/request.Request" representing the client's request for the ListJobs operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListJobs for more information on using the ListJobs API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListJobsRequest method.
req, resp := client.ListJobsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobs

func (*Batch) ListJobsWithContext added in v1.8.0

func (c *Batch) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error)

ListJobsWithContext is the same as ListJobs with the addition of the ability to pass a context and additional request options.

See ListJobs for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) ListTagsForResource added in v1.35.2

func (c *Batch) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error)

ListTagsForResource API operation for AWS Batch.

Lists the tags for an AWS Batch resource. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation ListTagsForResource for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource

Example (Shared00)

ListTagsForResource Example

This demonstrates calling the ListTagsForResource action.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.ListTagsForResourceInput{
		ResourceArn: aws.String("arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1"),
	}

	result, err := svc.ListTagsForResource(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) ListTagsForResourceRequest added in v1.35.2

func (c *Batch) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput)

ListTagsForResourceRequest generates a "aws/request.Request" representing the client's request for the ListTagsForResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See ListTagsForResource for more information on using the ListTagsForResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the ListTagsForResourceRequest method.
req, resp := client.ListTagsForResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource

func (*Batch) ListTagsForResourceWithContext added in v1.35.2

func (c *Batch) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error)

ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of the ability to pass a context and additional request options.

See ListTagsForResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) RegisterJobDefinition

func (c *Batch) RegisterJobDefinition(input *RegisterJobDefinitionInput) (*RegisterJobDefinitionOutput, error)

RegisterJobDefinition API operation for AWS Batch.

Registers an AWS Batch job definition.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation RegisterJobDefinition for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition

Example (Shared00)

To register a job definition

This example registers a job definition for a simple container job.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.RegisterJobDefinitionInput{
		ContainerProperties: &batch.ContainerProperties{
			Command: []*string{
				aws.String("sleep"),
				aws.String("10"),
			},
			Image:  aws.String("busybox"),
			Memory: aws.Int64(128),
			Vcpus:  aws.Int64(1),
		},
		JobDefinitionName: aws.String("sleep10"),
		Type:              aws.String("container"),
	}

	result, err := svc.RegisterJobDefinition(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

Example (Shared01)

RegisterJobDefinition with tags

This demonstrates calling the RegisterJobDefinition action, including tags.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.RegisterJobDefinitionInput{
		ContainerProperties: &batch.ContainerProperties{
			Command: []*string{
				aws.String("sleep"),
				aws.String("30"),
			},
			Image:  aws.String("busybox"),
			Memory: aws.Int64(128),
			Vcpus:  aws.Int64(1),
		},
		JobDefinitionName: aws.String("sleep30"),
		Tags: map[string]*string{
			"Department": aws.String("Engineering"),
			"User":       aws.String("JaneDoe"),
		},
		Type: aws.String("container"),
	}

	result, err := svc.RegisterJobDefinition(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) RegisterJobDefinitionRequest

func (c *Batch) RegisterJobDefinitionRequest(input *RegisterJobDefinitionInput) (req *request.Request, output *RegisterJobDefinitionOutput)

RegisterJobDefinitionRequest generates a "aws/request.Request" representing the client's request for the RegisterJobDefinition operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See RegisterJobDefinition for more information on using the RegisterJobDefinition API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the RegisterJobDefinitionRequest method.
req, resp := client.RegisterJobDefinitionRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinition

func (*Batch) RegisterJobDefinitionWithContext added in v1.8.0

func (c *Batch) RegisterJobDefinitionWithContext(ctx aws.Context, input *RegisterJobDefinitionInput, opts ...request.Option) (*RegisterJobDefinitionOutput, error)

RegisterJobDefinitionWithContext is the same as RegisterJobDefinition with the addition of the ability to pass a context and additional request options.

See RegisterJobDefinition for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) SubmitJob

func (c *Batch) SubmitJob(input *SubmitJobInput) (*SubmitJobOutput, error)

SubmitJob API operation for AWS Batch.

Submits an AWS Batch job from a job definition. Parameters that are specified during SubmitJob override parameters defined in the job definition. vCPU and memory requirements that are specified in the ResourceRequirements objects in the job definition are the exception. They can't be overridden this way using the memory and vcpus parameters. Rather, you must specify updates to job definition parameters in a ResourceRequirements object that's included in the containerOverrides parameter.

Jobs that run on Fargate resources can't be guaranteed to run for more than 14 days. This is because, after 14 days, Fargate resources might become unavailable and job might be terminated.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation SubmitJob for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob

Example (Shared00)

To submit a job to a queue

This example submits a simple container job called example to the HighPriority job queue.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.SubmitJobInput{
		JobDefinition: aws.String("sleep60"),
		JobName:       aws.String("example"),
		JobQueue:      aws.String("HighPriority"),
	}

	result, err := svc.SubmitJob(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) SubmitJobRequest

func (c *Batch) SubmitJobRequest(input *SubmitJobInput) (req *request.Request, output *SubmitJobOutput)

SubmitJobRequest generates a "aws/request.Request" representing the client's request for the SubmitJob operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See SubmitJob for more information on using the SubmitJob API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the SubmitJobRequest method.
req, resp := client.SubmitJobRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJob

func (*Batch) SubmitJobWithContext added in v1.8.0

func (c *Batch) SubmitJobWithContext(ctx aws.Context, input *SubmitJobInput, opts ...request.Option) (*SubmitJobOutput, error)

SubmitJobWithContext is the same as SubmitJob with the addition of the ability to pass a context and additional request options.

See SubmitJob for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) TagResource added in v1.35.2

func (c *Batch) TagResource(input *TagResourceInput) (*TagResourceOutput, error)

TagResource API operation for AWS Batch.

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource aren't specified in the request parameters, they aren't changed. When a resource is deleted, the tags associated with that resource are deleted as well. AWS Batch resources that support tags are compute environments, jobs, job definitions, and job queues. ARNs for child jobs of array and multi-node parallel (MNP) jobs are not supported.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation TagResource for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource

Example (Shared00)

TagResource Example

This demonstrates calling the TagResource action.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.TagResourceInput{
		ResourceArn: aws.String("arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1"),
		Tags: map[string]*string{
			"Stage": aws.String("Alpha"),
		},
	}

	result, err := svc.TagResource(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) TagResourceRequest added in v1.35.2

func (c *Batch) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput)

TagResourceRequest generates a "aws/request.Request" representing the client's request for the TagResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See TagResource for more information on using the TagResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the TagResourceRequest method.
req, resp := client.TagResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource

func (*Batch) TagResourceWithContext added in v1.35.2

func (c *Batch) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error)

TagResourceWithContext is the same as TagResource with the addition of the ability to pass a context and additional request options.

See TagResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) TerminateJob

func (c *Batch) TerminateJob(input *TerminateJobInput) (*TerminateJobOutput, error)

TerminateJob API operation for AWS Batch.

Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING state are terminated, which causes them to transition to FAILED. Jobs that have not progressed to the STARTING state are cancelled.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation TerminateJob for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob

Example (Shared00)

To terminate a job

This example terminates a job with the specified job ID.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.TerminateJobInput{
		JobId:  aws.String("61e743ed-35e4-48da-b2de-5c8333821c84"),
		Reason: aws.String("Terminating job."),
	}

	result, err := svc.TerminateJob(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) TerminateJobRequest

func (c *Batch) TerminateJobRequest(input *TerminateJobInput) (req *request.Request, output *TerminateJobOutput)

TerminateJobRequest generates a "aws/request.Request" representing the client's request for the TerminateJob operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See TerminateJob for more information on using the TerminateJob API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the TerminateJobRequest method.
req, resp := client.TerminateJobRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TerminateJob

func (*Batch) TerminateJobWithContext added in v1.8.0

func (c *Batch) TerminateJobWithContext(ctx aws.Context, input *TerminateJobInput, opts ...request.Option) (*TerminateJobOutput, error)

TerminateJobWithContext is the same as TerminateJob with the addition of the ability to pass a context and additional request options.

See TerminateJob for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) UntagResource added in v1.35.2

func (c *Batch) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error)

UntagResource API operation for AWS Batch.

Deletes specified tags from an AWS Batch resource.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation UntagResource for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource

Example (Shared00)

UntagResource Example

This demonstrates calling the UntagResource action.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.UntagResourceInput{
		ResourceArn: aws.String("arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1"),
		TagKeys: []*string{
			aws.String("Stage"),
		},
	}

	result, err := svc.UntagResource(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) UntagResourceRequest added in v1.35.2

func (c *Batch) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput)

UntagResourceRequest generates a "aws/request.Request" representing the client's request for the UntagResource operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UntagResource for more information on using the UntagResource API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UntagResourceRequest method.
req, resp := client.UntagResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource

func (*Batch) UntagResourceWithContext added in v1.35.2

func (c *Batch) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error)

UntagResourceWithContext is the same as UntagResource with the addition of the ability to pass a context and additional request options.

See UntagResource for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) UpdateComputeEnvironment

func (c *Batch) UpdateComputeEnvironment(input *UpdateComputeEnvironmentInput) (*UpdateComputeEnvironmentOutput, error)

UpdateComputeEnvironment API operation for AWS Batch.

Updates an AWS Batch compute environment.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation UpdateComputeEnvironment for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment

Example (Shared00)

To update a compute environment

This example disables the P2OnDemand compute environment so it can be deleted.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.UpdateComputeEnvironmentInput{
		ComputeEnvironment: aws.String("P2OnDemand"),
		State:              aws.String("DISABLED"),
	}

	result, err := svc.UpdateComputeEnvironment(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) UpdateComputeEnvironmentRequest

func (c *Batch) UpdateComputeEnvironmentRequest(input *UpdateComputeEnvironmentInput) (req *request.Request, output *UpdateComputeEnvironmentOutput)

UpdateComputeEnvironmentRequest generates a "aws/request.Request" representing the client's request for the UpdateComputeEnvironment operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateComputeEnvironment for more information on using the UpdateComputeEnvironment API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateComputeEnvironmentRequest method.
req, resp := client.UpdateComputeEnvironmentRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironment

func (*Batch) UpdateComputeEnvironmentWithContext added in v1.8.0

func (c *Batch) UpdateComputeEnvironmentWithContext(ctx aws.Context, input *UpdateComputeEnvironmentInput, opts ...request.Option) (*UpdateComputeEnvironmentOutput, error)

UpdateComputeEnvironmentWithContext is the same as UpdateComputeEnvironment with the addition of the ability to pass a context and additional request options.

See UpdateComputeEnvironment for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

func (*Batch) UpdateJobQueue

func (c *Batch) UpdateJobQueue(input *UpdateJobQueueInput) (*UpdateJobQueueOutput, error)

UpdateJobQueue API operation for AWS Batch.

Updates a job queue.

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS Batch's API operation UpdateJobQueue for usage and error information.

Returned Error Types:

  • ClientException These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

  • ServerException These errors are usually caused by a server issue.

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue

Example (Shared00)

To update a job queue

This example disables a job queue so that it can be deleted.

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/batch"
)

func main() {
	svc := batch.New(session.New())
	input := &batch.UpdateJobQueueInput{
		JobQueue: aws.String("GPGPU"),
		State:    aws.String("DISABLED"),
	}

	result, err := svc.UpdateJobQueue(input)
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case batch.ErrCodeClientException:
				fmt.Println(batch.ErrCodeClientException, aerr.Error())
			case batch.ErrCodeServerException:
				fmt.Println(batch.ErrCodeServerException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}
Output:

func (*Batch) UpdateJobQueueRequest

func (c *Batch) UpdateJobQueueRequest(input *UpdateJobQueueInput) (req *request.Request, output *UpdateJobQueueOutput)

UpdateJobQueueRequest generates a "aws/request.Request" representing the client's request for the UpdateJobQueue operation. The "output" return value will be populated with the request's response once the request completes successfully.

Use "Send" method on the returned Request to send the API call to the service. the "output" return value is not valid until after Send returns without error.

See UpdateJobQueue for more information on using the UpdateJobQueue API call, and error handling.

This method is useful when you want to inject custom logic or configuration into the SDK's request lifecycle. Such as custom headers, or retry logic.

// Example sending a request using the UpdateJobQueueRequest method.
req, resp := client.UpdateJobQueueRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueue

func (*Batch) UpdateJobQueueWithContext added in v1.8.0

func (c *Batch) UpdateJobQueueWithContext(ctx aws.Context, input *UpdateJobQueueInput, opts ...request.Option) (*UpdateJobQueueOutput, error)

UpdateJobQueueWithContext is the same as UpdateJobQueue with the addition of the ability to pass a context and additional request options.

See UpdateJobQueue for details on how to use this API operation.

The context must be non-nil and will be used for request cancellation. If the context is nil a panic will occur. In the future the SDK may create sub-contexts for http.Requests. See https://golang.org/pkg/context/ for more information on using Contexts.

type CancelJobInput

type CancelJobInput struct {

	// The AWS Batch job ID of the job to cancel.
	//
	// JobId is a required field
	JobId *string `locationName:"jobId" type:"string" required:"true"`

	// A message to attach to the job that explains the reason for canceling it.
	// This message is returned by future DescribeJobs operations on the job. This
	// message is also recorded in the AWS Batch activity logs.
	//
	// Reason is a required field
	Reason *string `locationName:"reason" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Contains the parameters for CancelJob.

func (CancelJobInput) GoString

func (s CancelJobInput) GoString() string

GoString returns the string representation

func (*CancelJobInput) SetJobId

func (s *CancelJobInput) SetJobId(v string) *CancelJobInput

SetJobId sets the JobId field's value.

func (*CancelJobInput) SetReason

func (s *CancelJobInput) SetReason(v string) *CancelJobInput

SetReason sets the Reason field's value.

func (CancelJobInput) String

func (s CancelJobInput) String() string

String returns the string representation

func (*CancelJobInput) Validate

func (s *CancelJobInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CancelJobOutput

type CancelJobOutput struct {
	// contains filtered or unexported fields
}

func (CancelJobOutput) GoString

func (s CancelJobOutput) GoString() string

GoString returns the string representation

func (CancelJobOutput) String

func (s CancelJobOutput) String() string

String returns the string representation

type ClientException added in v1.28.0

type ClientException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" type:"string"`
	// contains filtered or unexported fields
}

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that's not valid.

func (*ClientException) Code added in v1.28.0

func (s *ClientException) Code() string

Code returns the exception type name.

func (*ClientException) Error added in v1.28.0

func (s *ClientException) Error() string

func (ClientException) GoString added in v1.28.0

func (s ClientException) GoString() string

GoString returns the string representation

func (*ClientException) Message added in v1.28.0

func (s *ClientException) Message() string

Message returns the exception's message.

func (*ClientException) OrigErr added in v1.28.0

func (s *ClientException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ClientException) RequestID added in v1.28.0

func (s *ClientException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ClientException) StatusCode added in v1.28.0

func (s *ClientException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ClientException) String added in v1.28.0

func (s ClientException) String() string

String returns the string representation

type ComputeEnvironmentDetail

type ComputeEnvironmentDetail struct {

	// The Amazon Resource Name (ARN) of the compute environment.
	//
	// ComputeEnvironmentArn is a required field
	ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string" required:"true"`

	// The name of the compute environment. Up to 128 letters (uppercase and lowercase),
	// numbers, hyphens, and underscores are allowed.
	//
	// ComputeEnvironmentName is a required field
	ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"`

	// The compute resources defined for the compute environment. For more information,
	// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"`

	// The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used
	// by the compute environment.
	//
	// EcsClusterArn is a required field
	EcsClusterArn *string `locationName:"ecsClusterArn" type:"string" required:"true"`

	// The service role associated with the compute environment that allows AWS
	// Batch to make calls to AWS API operations on your behalf. For more information,
	// see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html)
	// in the AWS Batch User Guide.
	ServiceRole *string `locationName:"serviceRole" type:"string"`

	// The state of the compute environment. The valid values are ENABLED or DISABLED.
	//
	// If the state is ENABLED, then the AWS Batch scheduler can attempt to place
	// jobs from an associated job queue on the compute resources within the environment.
	// If the compute environment is managed, then it can scale its instances out
	// or in automatically, based on the job queue demand.
	//
	// If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to
	// place jobs within the environment. Jobs in a STARTING or RUNNING state continue
	// to progress normally. Managed compute environments in the DISABLED state
	// don't scale out. However, they scale in to minvCpus value after instances
	// become idle.
	State *string `locationName:"state" type:"string" enum:"CEState"`

	// The current status of the compute environment (for example, CREATING or VALID).
	Status *string `locationName:"status" type:"string" enum:"CEStatus"`

	// A short, human-readable string to provide additional details about the current
	// status of the compute environment.
	StatusReason *string `locationName:"statusReason" type:"string"`

	// The tags applied to the compute environment.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The type of the compute environment: MANAGED or UNMANAGED. For more information,
	// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	Type *string `locationName:"type" type:"string" enum:"CEType"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch compute environment.

func (ComputeEnvironmentDetail) GoString

func (s ComputeEnvironmentDetail) GoString() string

GoString returns the string representation

func (*ComputeEnvironmentDetail) SetComputeEnvironmentArn

func (s *ComputeEnvironmentDetail) SetComputeEnvironmentArn(v string) *ComputeEnvironmentDetail

SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value.

func (*ComputeEnvironmentDetail) SetComputeEnvironmentName

func (s *ComputeEnvironmentDetail) SetComputeEnvironmentName(v string) *ComputeEnvironmentDetail

SetComputeEnvironmentName sets the ComputeEnvironmentName field's value.

func (*ComputeEnvironmentDetail) SetComputeResources

SetComputeResources sets the ComputeResources field's value.

func (*ComputeEnvironmentDetail) SetEcsClusterArn

SetEcsClusterArn sets the EcsClusterArn field's value.

func (*ComputeEnvironmentDetail) SetServiceRole

SetServiceRole sets the ServiceRole field's value.

func (*ComputeEnvironmentDetail) SetState

SetState sets the State field's value.

func (*ComputeEnvironmentDetail) SetStatus

SetStatus sets the Status field's value.

func (*ComputeEnvironmentDetail) SetStatusReason

SetStatusReason sets the StatusReason field's value.

func (*ComputeEnvironmentDetail) SetTags added in v1.35.2

SetTags sets the Tags field's value.

func (*ComputeEnvironmentDetail) SetType

SetType sets the Type field's value.

func (ComputeEnvironmentDetail) String

func (s ComputeEnvironmentDetail) String() string

String returns the string representation

type ComputeEnvironmentOrder

type ComputeEnvironmentOrder struct {

	// The Amazon Resource Name (ARN) of the compute environment.
	//
	// ComputeEnvironment is a required field
	ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"`

	// The order of the compute environment. Compute environments are tried in ascending
	// order. For example, if two compute environments are associated with a job
	// queue, the compute environment with a lower order integer value is tried
	// for job placement first.
	//
	// Order is a required field
	Order *int64 `locationName:"order" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

The order in which compute environments are tried for job placement within a queue. Compute environments are tried in ascending order. For example, if two compute environments are associated with a job queue, the compute environment with a lower order integer value is tried for job placement first. Compute environments must be in the VALID state before you can associate them with a job queue. All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2 and Fargate compute environments can't be mixed.

All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.

func (ComputeEnvironmentOrder) GoString

func (s ComputeEnvironmentOrder) GoString() string

GoString returns the string representation

func (*ComputeEnvironmentOrder) SetComputeEnvironment

func (s *ComputeEnvironmentOrder) SetComputeEnvironment(v string) *ComputeEnvironmentOrder

SetComputeEnvironment sets the ComputeEnvironment field's value.

func (*ComputeEnvironmentOrder) SetOrder

SetOrder sets the Order field's value.

func (ComputeEnvironmentOrder) String

func (s ComputeEnvironmentOrder) String() string

String returns the string representation

func (*ComputeEnvironmentOrder) Validate

func (s *ComputeEnvironmentOrder) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ComputeResource

type ComputeResource struct {

	// The allocation strategy to use for the compute resource if not enough instances
	// of the best fitting instance type can be allocated. This might be because
	// of availability of the instance type in the Region or Amazon EC2 service
	// limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html).
	// For more information, see Allocation Strategies (https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html)
	// in the AWS Batch User Guide.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	//
	// BEST_FIT (default)
	//
	// AWS Batch selects an instance type that best fits the needs of the jobs with
	// a preference for the lowest-cost instance type. If additional instances of
	// the selected instance type aren't available, AWS Batch waits for the additional
	// instances to be available. If there aren't enough instances available, or
	// if the user is hitting Amazon EC2 service limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
	// then additional jobs aren't run until the currently running jobs have completed.
	// This allocation strategy keeps costs lower but can limit scaling. If you
	// are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be
	// specified.
	//
	// BEST_FIT_PROGRESSIVE
	//
	// AWS Batch will select additional instance types that are large enough to
	// meet the requirements of the jobs in the queue, with a preference for instance
	// types with a lower cost per unit vCPU. If additional instances of the previously
	// selected instance types aren't available, AWS Batch will select new instance
	// types.
	//
	// SPOT_CAPACITY_OPTIMIZED
	//
	// AWS Batch will select one or more instance types that are large enough to
	// meet the requirements of the jobs in the queue, with a preference for instance
	// types that are less likely to be interrupted. This allocation strategy is
	// only available for Spot Instance compute resources.
	//
	// With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED strategies, AWS
	// Batch might need to go above maxvCpus to meet your capacity requirements.
	// In this event, AWS Batch never exceeds maxvCpus by more than a single instance.
	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"CRAllocationStrategy"`

	// The maximum percentage that a Spot Instance price can be when compared with
	// the On-Demand price for that instance type before instances are launched.
	// For example, if your maximum percentage is 20%, then the Spot price must
	// be less than 20% of the current On-Demand price for that Amazon EC2 instance.
	// You always pay the lowest (market) price and never more than your maximum
	// percentage. If you leave this field empty, the default value is 100% of the
	// On-Demand price.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	BidPercentage *int64 `locationName:"bidPercentage" type:"integer"`

	// The desired number of Amazon EC2 vCPUS in the compute environment. AWS Batch
	// modifies this value between the minimum and maximum values, based on job
	// queue demand.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"`

	// Provides information used to select Amazon Machine Images (AMIs) for EC2
	// instances in the compute environment. If Ec2Configuration isn't specified,
	// the default is ECS_AL1.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	Ec2Configuration []*Ec2Configuration `locationName:"ec2Configuration" type:"list"`

	// The Amazon EC2 key pair that's used for instances launched in the compute
	// environment. You can use this key pair to log in to your instances with SSH.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	Ec2KeyPair *string `locationName:"ec2KeyPair" type:"string"`

	// The Amazon Machine Image (AMI) ID used for instances launched in the compute
	// environment. This parameter is overridden by the imageIdOverride member of
	// the Ec2Configuration structure.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	//
	// The AMI that you choose for a compute environment must match the architecture
	// of the instance types that you intend to use for that compute environment.
	// For example, if your compute environment uses A1 instance types, the compute
	// resource AMI that you choose must support ARM instances. Amazon ECS vends
	// both x86 and ARM versions of the Amazon ECS-optimized Amazon Linux 2 AMI.
	// 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)
	// in the Amazon Elastic Container Service Developer Guide.
	//
	// Deprecated: This field is deprecated, use ec2Configuration[].imageIdOverride instead.
	ImageId *string `locationName:"imageId" deprecated:"true" type:"string"`

	// The Amazon ECS instance profile applied to Amazon EC2 instances in a compute
	// environment. You can specify the short name or full Amazon Resource Name
	// (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole
	// . For more information, see Amazon ECS Instance Role (https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html)
	// in the AWS Batch User Guide.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	InstanceRole *string `locationName:"instanceRole" type:"string"`

	// The instances types that can be launched. You can specify instance families
	// to launch any instance type within those families (for example, c5 or p3),
	// or you can specify specific sizes within a family (such as c5.8xlarge). You
	// can also choose optimal to select instance types (from the C4, M4, and R4
	// instance families) that match the demand of your job queues.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	//
	// When you create a compute environment, the instance types that you select
	// for the compute environment must share the same architecture. For example,
	// you can't mix x86 and ARM instances in the same compute environment.
	//
	// Currently, optimal uses instance types from the C4, M4, and R4 instance families.
	// In Regions that don't have instance types from those instance families, instance
	// types from the C5, M5. and R5 instance families are used.
	InstanceTypes []*string `locationName:"instanceTypes" type:"list"`

	// The launch template to use for your compute resources. Any other compute
	// resource parameters that you specify in a CreateComputeEnvironment API operation
	// override the same parameters in the launch template. You must specify either
	// the launch template ID or launch template name in the request, but not both.
	// For more information, see Launch Template Support (https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html)
	// in the AWS Batch User Guide.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	LaunchTemplate *LaunchTemplateSpecification `locationName:"launchTemplate" type:"structure"`

	// The maximum number of Amazon EC2 vCPUs that a compute environment can reach.
	//
	// With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies,
	// AWS Batch might need to exceed maxvCpus to meet your capacity requirements.
	// In this event, AWS Batch never exceeds maxvCpus by more than a single instance.
	// For example, no more than a single instance from among those specified in
	// your compute environment is allocated.
	//
	// MaxvCpus is a required field
	MaxvCpus *int64 `locationName:"maxvCpus" type:"integer" required:"true"`

	// The minimum number of Amazon EC2 vCPUs that an environment should maintain
	// (even if the compute environment is DISABLED).
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	MinvCpus *int64 `locationName:"minvCpus" type:"integer"`

	// The Amazon EC2 placement group to associate with your compute resources.
	// If you intend to submit multi-node parallel jobs to your compute environment,
	// you should consider creating a cluster placement group and associate it with
	// your compute resources. This keeps your multi-node parallel job on a logical
	// grouping of instances within a single Availability Zone with high network
	// flow potential. For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
	// in the Amazon EC2 User Guide for Linux Instances.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	PlacementGroup *string `locationName:"placementGroup" type:"string"`

	// The Amazon EC2 security groups associated with instances launched in the
	// compute environment. One or more security groups must be specified, either
	// in securityGroupIds or using a launch template referenced in launchTemplate.
	// This parameter is required for jobs running on Fargate resources and must
	// contain at least one security group. Fargate doesn't support launch templates.
	// If security groups are specified using both securityGroupIds and launchTemplate,
	// the values in securityGroupIds is used.
	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`

	// The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied
	// to a SPOT compute environment. This role is required if the allocation strategy
	// set to BEST_FIT or if the allocation strategy isn't specified. For more information,
	// see Amazon EC2 Spot Fleet Role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html)
	// in the AWS Batch User Guide.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	//
	// To tag your Spot Instances on creation, the Spot Fleet IAM role specified
	// here must use the newer AmazonEC2SpotFleetTaggingRole managed policy. The
	// previously recommended AmazonEC2SpotFleetRole managed policy doesn't have
	// the required permissions to tag Spot Instances. For more information, see
	// Spot Instances not tagged on creation (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag)
	// in the AWS Batch User Guide.
	SpotIamFleetRole *string `locationName:"spotIamFleetRole" type:"string"`

	// The VPC subnets into which the compute resources are launched. These subnets
	// must be within the same VPC. Fargate compute resources can contain up to
	// 16 subnets. For more information, see VPCs and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
	// in the Amazon VPC User Guide.
	//
	// Subnets is a required field
	Subnets []*string `locationName:"subnets" type:"list" required:"true"`

	// Key-value pair tags to be applied to EC2 resources that are launched in the
	// compute environment. For AWS Batch, these take the form of "String1": "String2",
	// where String1 is the tag key and String2 is the tag value−for example,
	// { "Name": "AWS Batch Instance - C4OnDemand" }. This is helpful for recognizing
	// your AWS Batch instances in the Amazon EC2 console. These tags can't be updated
	// or removed after the compute environment has been created; any changes require
	// creating a new compute environment and removing the old compute environment.
	// These tags aren't seen when using the AWS Batch ListTagsForResource API operation.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	Tags map[string]*string `locationName:"tags" type:"map"`

	// The type of compute environment: EC2, SPOT, FARGATE, or FARGATE_SPOT. For
	// more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	//
	// If you choose SPOT, you must also specify an Amazon EC2 Spot Fleet role with
	// the spotIamFleetRole parameter. For more information, see Amazon EC2 Spot
	// Fleet role (https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html)
	// in the AWS Batch User Guide.
	//
	// Type is a required field
	Type *string `locationName:"type" type:"string" required:"true" enum:"CRType"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch compute resource. For more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) in the AWS Batch User Guide.

func (ComputeResource) GoString

func (s ComputeResource) GoString() string

GoString returns the string representation

func (*ComputeResource) SetAllocationStrategy added in v1.25.15

func (s *ComputeResource) SetAllocationStrategy(v string) *ComputeResource

SetAllocationStrategy sets the AllocationStrategy field's value.

func (*ComputeResource) SetBidPercentage

func (s *ComputeResource) SetBidPercentage(v int64) *ComputeResource

SetBidPercentage sets the BidPercentage field's value.

func (*ComputeResource) SetDesiredvCpus

func (s *ComputeResource) SetDesiredvCpus(v int64) *ComputeResource

SetDesiredvCpus sets the DesiredvCpus field's value.

func (*ComputeResource) SetEc2Configuration added in v1.35.35

func (s *ComputeResource) SetEc2Configuration(v []*Ec2Configuration) *ComputeResource

SetEc2Configuration sets the Ec2Configuration field's value.

func (*ComputeResource) SetEc2KeyPair

func (s *ComputeResource) SetEc2KeyPair(v string) *ComputeResource

SetEc2KeyPair sets the Ec2KeyPair field's value.

func (*ComputeResource) SetImageId added in v1.8.12

func (s *ComputeResource) SetImageId(v string) *ComputeResource

SetImageId sets the ImageId field's value.

func (*ComputeResource) SetInstanceRole

func (s *ComputeResource) SetInstanceRole(v string) *ComputeResource

SetInstanceRole sets the InstanceRole field's value.

func (*ComputeResource) SetInstanceTypes

func (s *ComputeResource) SetInstanceTypes(v []*string) *ComputeResource

SetInstanceTypes sets the InstanceTypes field's value.

func (*ComputeResource) SetLaunchTemplate added in v1.15.74

SetLaunchTemplate sets the LaunchTemplate field's value.

func (*ComputeResource) SetMaxvCpus

func (s *ComputeResource) SetMaxvCpus(v int64) *ComputeResource

SetMaxvCpus sets the MaxvCpus field's value.

func (*ComputeResource) SetMinvCpus

func (s *ComputeResource) SetMinvCpus(v int64) *ComputeResource

SetMinvCpus sets the MinvCpus field's value.

func (*ComputeResource) SetPlacementGroup added in v1.15.79

func (s *ComputeResource) SetPlacementGroup(v string) *ComputeResource

SetPlacementGroup sets the PlacementGroup field's value.

func (*ComputeResource) SetSecurityGroupIds

func (s *ComputeResource) SetSecurityGroupIds(v []*string) *ComputeResource

SetSecurityGroupIds sets the SecurityGroupIds field's value.

func (*ComputeResource) SetSpotIamFleetRole

func (s *ComputeResource) SetSpotIamFleetRole(v string) *ComputeResource

SetSpotIamFleetRole sets the SpotIamFleetRole field's value.

func (*ComputeResource) SetSubnets

func (s *ComputeResource) SetSubnets(v []*string) *ComputeResource

SetSubnets sets the Subnets field's value.

func (*ComputeResource) SetTags

func (s *ComputeResource) SetTags(v map[string]*string) *ComputeResource

SetTags sets the Tags field's value.

func (*ComputeResource) SetType

func (s *ComputeResource) SetType(v string) *ComputeResource

SetType sets the Type field's value.

func (ComputeResource) String

func (s ComputeResource) String() string

String returns the string representation

func (*ComputeResource) Validate

func (s *ComputeResource) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ComputeResourceUpdate

type ComputeResourceUpdate struct {

	// The desired number of Amazon EC2 vCPUS in the compute environment.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	DesiredvCpus *int64 `locationName:"desiredvCpus" type:"integer"`

	// The maximum number of Amazon EC2 vCPUs that an environment can reach.
	//
	// With both BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies,
	// AWS Batch might need to exceed maxvCpus to meet your capacity requirements.
	// In this event, AWS Batch never exceeds maxvCpus by more than a single instance.
	// That is, no more than a single instance from among those specified in your
	// compute environment.
	MaxvCpus *int64 `locationName:"maxvCpus" type:"integer"`

	// The minimum number of Amazon EC2 vCPUs that an environment should maintain.
	//
	// This parameter isn't applicable to jobs running on Fargate resources, and
	// shouldn't be specified.
	MinvCpus *int64 `locationName:"minvCpus" type:"integer"`

	// The Amazon EC2 security groups associated with instances launched in the
	// compute environment. This parameter is required for Fargate compute resources,
	// where it can contain up to 5 security groups. This can't be specified for
	// EC2 compute resources. Providing an empty list is handled as if this parameter
	// wasn't specified and no change is made.
	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`

	// The VPC subnets that the compute resources are launched into. Fargate compute
	// resources can contain up to 16 subnets. Providing an empty list will be handled
	// as if this parameter wasn't specified and no change is made. This can't be
	// specified for EC2 compute resources. For more information, see VPCs and Subnets
	// (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html) in the
	// Amazon VPC User Guide.
	Subnets []*string `locationName:"subnets" type:"list"`
	// contains filtered or unexported fields
}

An object representing the attributes of a compute environment that can be updated. For more information, see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html) in the AWS Batch User Guide.

func (ComputeResourceUpdate) GoString

func (s ComputeResourceUpdate) GoString() string

GoString returns the string representation

func (*ComputeResourceUpdate) SetDesiredvCpus

func (s *ComputeResourceUpdate) SetDesiredvCpus(v int64) *ComputeResourceUpdate

SetDesiredvCpus sets the DesiredvCpus field's value.

func (*ComputeResourceUpdate) SetMaxvCpus

SetMaxvCpus sets the MaxvCpus field's value.

func (*ComputeResourceUpdate) SetMinvCpus

SetMinvCpus sets the MinvCpus field's value.

func (*ComputeResourceUpdate) SetSecurityGroupIds added in v1.36.1

func (s *ComputeResourceUpdate) SetSecurityGroupIds(v []*string) *ComputeResourceUpdate

SetSecurityGroupIds sets the SecurityGroupIds field's value.

func (*ComputeResourceUpdate) SetSubnets added in v1.36.1

func (s *ComputeResourceUpdate) SetSubnets(v []*string) *ComputeResourceUpdate

SetSubnets sets the Subnets field's value.

func (ComputeResourceUpdate) String

func (s ComputeResourceUpdate) String() string

String returns the string representation

type ContainerDetail

type ContainerDetail struct {

	// The command that's passed to the container.
	Command []*string `locationName:"command" type:"list"`

	// The Amazon Resource Name (ARN) of the container instance that the container
	// is running on.
	ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`

	// The environment variables to pass to a container.
	//
	// Environment variables must not start with AWS_BATCH; this naming convention
	// is reserved for variables that are set by the AWS Batch service.
	Environment []*KeyValuePair `locationName:"environment" type:"list"`

	// The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
	// For more information, see AWS Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html)
	// in the AWS Batch User Guide.
	ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"`

	// The exit code to return upon completion.
	ExitCode *int64 `locationName:"exitCode" type:"integer"`

	// The platform configuration for jobs running on Fargate resources. Jobs running
	// on EC2 resources must not specify this parameter.
	FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"`

	// The image used to start the container.
	Image *string `locationName:"image" type:"string"`

	// The instance type of the underlying host infrastructure of a multi-node parallel
	// job.
	//
	// This parameter isn't applicable to jobs running on Fargate resources.
	InstanceType *string `locationName:"instanceType" type:"string"`

	// The Amazon Resource Name (ARN) associated with the job upon execution.
	JobRoleArn *string `locationName:"jobRoleArn" type:"string"`

	// Linux-specific modifications that are applied to the container, such as details
	// for device mappings.
	LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"`

	// The log configuration specification for the container.
	//
	// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/).
	// By default, containers use the same logging driver that the Docker daemon
	// uses. However, the container might use a different logging driver than the
	// Docker daemon by specifying a log driver with this parameter in the container
	// definition. To use a different logging driver for a container, the log system
	// must be configured properly on the container instance. Or, alternatively,
	// it must be configured on a different log server for remote logging options.
	// For more information on the options for different supported log drivers,
	// see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/)
	// in the Docker documentation.
	//
	// AWS Batch currently supports a subset of the logging drivers available to
	// the Docker daemon (shown in the LogConfiguration data type). Additional log
	// drivers might be available in future releases of the Amazon ECS container
	// agent.
	//
	// This parameter requires version 1.18 of the Docker Remote API or greater
	// on your container instance. To check the Docker Remote API version on your
	// container instance, log into your container instance and run the following
	// command: sudo docker version | grep "Server API version"
	//
	// The Amazon ECS container agent running on a container instance must register
	// the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
	// environment variable before containers placed on that instance can use these
	// log configuration options. For more information, see Amazon ECS Container
	// Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
	// in the Amazon Elastic Container Service Developer Guide.
	LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"`

	// The name of the CloudWatch Logs log stream associated with the container.
	// The log group for AWS Batch jobs is /aws/batch/job. Each container attempt
	// receives a log stream name when they reach the RUNNING status.
	LogStreamName *string `locationName:"logStreamName" type:"string"`

	// For jobs run on EC2 resources that didn't specify memory requirements using
	// ResourceRequirement, the number of MiB of memory reserved for the job. For
	// other jobs, including all run on Fargate resources, see resourceRequirements.
	Memory *int64 `locationName:"memory" type:"integer"`

	// The mount points for data volumes in your container.
	MountPoints []*MountPoint `locationName:"mountPoints" type:"list"`

	// The network configuration for jobs running on Fargate resources. Jobs running
	// on EC2 resources must not specify this parameter.
	NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`

	// The network interfaces associated with the job.
	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`

	// When this parameter is true, the container is given elevated permissions
	// on the host container instance (similar to the root user). The default value
	// is false.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided, or specified as false.
	Privileged *bool `locationName:"privileged" type:"boolean"`

	// When this parameter is true, the container is given read-only access to its
	// root file system. This parameter maps to ReadonlyRootfs in the Create a container
	// (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of
	// the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the
	// --read-only option to docker run (https://docs.docker.com/engine/reference/commandline/run/).
	ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"`

	// A short (255 max characters) human-readable string to provide additional
	// details about a running or stopped container.
	Reason *string `locationName:"reason" type:"string"`

	// The type and amount of resources to assign to a container. The supported
	// resources include GPU, MEMORY, and VCPU.
	ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"`

	// The secrets to pass to the container. For more information, see Specifying
	// sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html)
	// in the AWS Batch User Guide.
	Secrets []*Secret `locationName:"secrets" type:"list"`

	// The Amazon Resource Name (ARN) of the Amazon ECS task that's associated with
	// the container job. Each container attempt receives a task ARN when they reach
	// the STARTING status.
	TaskArn *string `locationName:"taskArn" type:"string"`

	// A list of ulimit values to set in the container. This parameter maps to Ulimits
	// in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter isn't applicable to jobs running on Fargate resources.
	Ulimits []*Ulimit `locationName:"ulimits" type:"list"`

	// The user name to use inside the container. This parameter maps to User in
	// the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --user option to docker run (https://docs.docker.com/engine/reference/run/).
	User *string `locationName:"user" type:"string"`

	// The number of vCPUs reserved for the container. For jobs that run on EC2
	// resources, you can specify the vCPU requirement for the job using resourceRequirements,
	// but you can't specify the vCPU requirements in both the vcpus and resourceRequirement
	// object. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
	// Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one
	// vCPU. This is required but can be specified in several places. It must be
	// specified for each node at least once.
	//
	// This parameter isn't applicable to jobs that run on Fargate resources. For
	// jobs that run on Fargate resources, you must specify the vCPU requirement
	// for the job using resourceRequirements.
	Vcpus *int64 `locationName:"vcpus" type:"integer"`

	// A list of volumes associated with the job.
	Volumes []*Volume `locationName:"volumes" type:"list"`
	// contains filtered or unexported fields
}

An object representing the details of a container that's part of a job.

func (ContainerDetail) GoString

func (s ContainerDetail) GoString() string

GoString returns the string representation

func (*ContainerDetail) SetCommand

func (s *ContainerDetail) SetCommand(v []*string) *ContainerDetail

SetCommand sets the Command field's value.

func (*ContainerDetail) SetContainerInstanceArn

func (s *ContainerDetail) SetContainerInstanceArn(v string) *ContainerDetail

SetContainerInstanceArn sets the ContainerInstanceArn field's value.

func (*ContainerDetail) SetEnvironment

func (s *ContainerDetail) SetEnvironment(v []*KeyValuePair) *ContainerDetail

SetEnvironment sets the Environment field's value.

func (*ContainerDetail) SetExecutionRoleArn added in v1.34.32

func (s *ContainerDetail) SetExecutionRoleArn(v string) *ContainerDetail

SetExecutionRoleArn sets the ExecutionRoleArn field's value.

func (*ContainerDetail) SetExitCode

func (s *ContainerDetail) SetExitCode(v int64) *ContainerDetail

SetExitCode sets the ExitCode field's value.

func (*ContainerDetail) SetFargatePlatformConfiguration added in v1.36.1

func (s *ContainerDetail) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerDetail

SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value.

func (*ContainerDetail) SetImage

func (s *ContainerDetail) SetImage(v string) *ContainerDetail

SetImage sets the Image field's value.

func (*ContainerDetail) SetInstanceType added in v1.15.79

func (s *ContainerDetail) SetInstanceType(v string) *ContainerDetail

SetInstanceType sets the InstanceType field's value.

func (*ContainerDetail) SetJobRoleArn

func (s *ContainerDetail) SetJobRoleArn(v string) *ContainerDetail

SetJobRoleArn sets the JobRoleArn field's value.

func (*ContainerDetail) SetLinuxParameters added in v1.21.6

func (s *ContainerDetail) SetLinuxParameters(v *LinuxParameters) *ContainerDetail

SetLinuxParameters sets the LinuxParameters field's value.

func (*ContainerDetail) SetLogConfiguration added in v1.34.32

func (s *ContainerDetail) SetLogConfiguration(v *LogConfiguration) *ContainerDetail

SetLogConfiguration sets the LogConfiguration field's value.

func (*ContainerDetail) SetLogStreamName added in v1.10.25

func (s *ContainerDetail) SetLogStreamName(v string) *ContainerDetail

SetLogStreamName sets the LogStreamName field's value.

func (*ContainerDetail) SetMemory

func (s *ContainerDetail) SetMemory(v int64) *ContainerDetail

SetMemory sets the Memory field's value.

func (*ContainerDetail) SetMountPoints

func (s *ContainerDetail) SetMountPoints(v []*MountPoint) *ContainerDetail

SetMountPoints sets the MountPoints field's value.

func (*ContainerDetail) SetNetworkConfiguration added in v1.36.1

func (s *ContainerDetail) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerDetail

SetNetworkConfiguration sets the NetworkConfiguration field's value.

func (*ContainerDetail) SetNetworkInterfaces added in v1.15.79

func (s *ContainerDetail) SetNetworkInterfaces(v []*NetworkInterface) *ContainerDetail

SetNetworkInterfaces sets the NetworkInterfaces field's value.

func (*ContainerDetail) SetPrivileged

func (s *ContainerDetail) SetPrivileged(v bool) *ContainerDetail

SetPrivileged sets the Privileged field's value.

func (*ContainerDetail) SetReadonlyRootFilesystem

func (s *ContainerDetail) SetReadonlyRootFilesystem(v bool) *ContainerDetail

SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.

func (*ContainerDetail) SetReason

func (s *ContainerDetail) SetReason(v string) *ContainerDetail

SetReason sets the Reason field's value.

func (*ContainerDetail) SetResourceRequirements added in v1.19.9

func (s *ContainerDetail) SetResourceRequirements(v []*ResourceRequirement) *ContainerDetail

SetResourceRequirements sets the ResourceRequirements field's value.

func (*ContainerDetail) SetSecrets added in v1.34.32

func (s *ContainerDetail) SetSecrets(v []*Secret) *ContainerDetail

SetSecrets sets the Secrets field's value.

func (*ContainerDetail) SetTaskArn added in v1.8.4

func (s *ContainerDetail) SetTaskArn(v string) *ContainerDetail

SetTaskArn sets the TaskArn field's value.

func (*ContainerDetail) SetUlimits

func (s *ContainerDetail) SetUlimits(v []*Ulimit) *ContainerDetail

SetUlimits sets the Ulimits field's value.

func (*ContainerDetail) SetUser

func (s *ContainerDetail) SetUser(v string) *ContainerDetail

SetUser sets the User field's value.

func (*ContainerDetail) SetVcpus

func (s *ContainerDetail) SetVcpus(v int64) *ContainerDetail

SetVcpus sets the Vcpus field's value.

func (*ContainerDetail) SetVolumes

func (s *ContainerDetail) SetVolumes(v []*Volume) *ContainerDetail

SetVolumes sets the Volumes field's value.

func (ContainerDetail) String

func (s ContainerDetail) String() string

String returns the string representation

type ContainerOverrides

type ContainerOverrides struct {

	// The command to send to the container that overrides the default command from
	// the Docker image or the job definition.
	Command []*string `locationName:"command" type:"list"`

	// The environment variables to send to the container. You can add new environment
	// variables, which are added to the container at launch, or you can override
	// the existing environment variables from the Docker image or the job definition.
	//
	// Environment variables must not start with AWS_BATCH; this naming convention
	// is reserved for variables that are set by the AWS Batch service.
	Environment []*KeyValuePair `locationName:"environment" type:"list"`

	// The instance type to use for a multi-node parallel job.
	//
	// This parameter isn't applicable to single-node container jobs or for jobs
	// running on Fargate resources and shouldn't be provided.
	InstanceType *string `locationName:"instanceType" type:"string"`

	// This parameter indicates the amount of memory (in MiB) that's reserved for
	// the job. It overrides the memory parameter set in the job definition, but
	// doesn't override any memory requirement specified in the ResourceRequirement
	// structure in the job definition.
	//
	// This parameter is supported for jobs that run on EC2 resources, but isn't
	// supported for jobs that run on Fargate resources. For these resources, use
	// resourceRequirement instead.
	//
	// Deprecated: This field is deprecated, use resourceRequirements instead.
	Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"`

	// The type and amount of resources to assign to a container. This overrides
	// the settings in the job definition. The supported resources include GPU,
	// MEMORY, and VCPU.
	ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"`

	// This parameter indicates the number of vCPUs reserved for the container.It
	// overrides the vcpus parameter that's set in the job definition, but doesn't
	// override any vCPU requirement specified in the resourceRequirement structure
	// in the job definition.
	//
	// This parameter is supported for jobs that run on EC2 resources, but isn't
	// supported for jobs that run on Fargate resources. For Fargate resources,
	// you can only use resourceRequirement. For EC2 resources, you can use either
	// this parameter or resourceRequirement but not both.
	//
	// This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
	// Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one
	// vCPU.
	//
	// This parameter isn't applicable to jobs that run on Fargate resources and
	// shouldn't be provided. For jobs that run on Fargate resources, you must specify
	// the vCPU requirement for the job using resourceRequirements.
	//
	// Deprecated: This field is deprecated, use resourceRequirements instead.
	Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"`
	// contains filtered or unexported fields
}

The overrides that should be sent to a container.

func (ContainerOverrides) GoString

func (s ContainerOverrides) GoString() string

GoString returns the string representation

func (*ContainerOverrides) SetCommand

func (s *ContainerOverrides) SetCommand(v []*string) *ContainerOverrides

SetCommand sets the Command field's value.

func (*ContainerOverrides) SetEnvironment

func (s *ContainerOverrides) SetEnvironment(v []*KeyValuePair) *ContainerOverrides

SetEnvironment sets the Environment field's value.

func (*ContainerOverrides) SetInstanceType added in v1.15.79

func (s *ContainerOverrides) SetInstanceType(v string) *ContainerOverrides

SetInstanceType sets the InstanceType field's value.

func (*ContainerOverrides) SetMemory

func (s *ContainerOverrides) SetMemory(v int64) *ContainerOverrides

SetMemory sets the Memory field's value.

func (*ContainerOverrides) SetResourceRequirements added in v1.19.9

func (s *ContainerOverrides) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverrides

SetResourceRequirements sets the ResourceRequirements field's value.

func (*ContainerOverrides) SetVcpus

SetVcpus sets the Vcpus field's value.

func (ContainerOverrides) String

func (s ContainerOverrides) String() string

String returns the string representation

func (*ContainerOverrides) Validate added in v1.19.9

func (s *ContainerOverrides) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ContainerProperties

type ContainerProperties struct {

	// The command that's passed to the container. This parameter maps to Cmd in
	// the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/).
	// For more information, see https://docs.docker.com/engine/reference/builder/#cmd
	// (https://docs.docker.com/engine/reference/builder/#cmd).
	Command []*string `locationName:"command" type:"list"`

	// The environment variables to pass to a container. This parameter maps to
	// Env in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --env option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// We don't recommend using plaintext environment variables for sensitive information,
	// such as credential data.
	//
	// Environment variables must not start with AWS_BATCH; this naming convention
	// is reserved for variables that are set by the AWS Batch service.
	Environment []*KeyValuePair `locationName:"environment" type:"list"`

	// The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
	// For jobs that run on Fargate resources, you must provide an execution role.
	// For more information, see AWS Batch execution IAM role (https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html)
	// in the AWS Batch User Guide.
	ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"`

	// The platform configuration for jobs running on Fargate resources. Jobs running
	// on EC2 resources must not specify this parameter.
	FargatePlatformConfiguration *FargatePlatformConfiguration `locationName:"fargatePlatformConfiguration" type:"structure"`

	// The image used to start a container. This string is passed directly to the
	// Docker daemon. Images in the Docker Hub registry are available by default.
	// Other repositories are specified with repository-url/image:tag . Up to 255
	// letters (uppercase and lowercase), numbers, hyphens, underscores, colons,
	// periods, forward slashes, and number signs are allowed. This parameter maps
	// to Image in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/).
	//
	// Docker image architecture must match the processor architecture of the compute
	// resources that they're scheduled on. For example, ARM-based Docker images
	// can only run on ARM-based compute resources.
	//
	//    * Images in Amazon ECR repositories use the full registry and repository
	//    URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).
	//
	//    * Images in official repositories on Docker Hub use a single name (for
	//    example, ubuntu or mongo).
	//
	//    * Images in other repositories on Docker Hub are qualified with an organization
	//    name (for example, amazon/amazon-ecs-agent).
	//
	//    * Images in other online repositories are qualified further by a domain
	//    name (for example, quay.io/assemblyline/ubuntu).
	Image *string `locationName:"image" type:"string"`

	// The instance type to use for a multi-node parallel job. All node groups in
	// a multi-node parallel job must use the same instance type.
	//
	// This parameter isn't applicable to single-node container jobs or for jobs
	// that run on Fargate resources and shouldn't be provided.
	InstanceType *string `locationName:"instanceType" type:"string"`

	// The Amazon Resource Name (ARN) of the IAM role that the container can assume
	// for AWS permissions. For more information, see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)
	// in the Amazon Elastic Container Service Developer Guide.
	JobRoleArn *string `locationName:"jobRoleArn" type:"string"`

	// Linux-specific modifications that are applied to the container, such as details
	// for device mappings.
	LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"`

	// The log configuration specification for the container.
	//
	// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/).
	// By default, containers use the same logging driver that the Docker daemon
	// uses. However the container might use a different logging driver than the
	// Docker daemon by specifying a log driver with this parameter in the container
	// definition. To use a different logging driver for a container, the log system
	// must be configured properly on the container instance (or on a different
	// log server for remote logging options). For more information on the options
	// for different supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/)
	// in the Docker documentation.
	//
	// AWS Batch currently supports a subset of the logging drivers available to
	// the Docker daemon (shown in the LogConfiguration data type).
	//
	// This parameter requires version 1.18 of the Docker Remote API or greater
	// on your container instance. To check the Docker Remote API version on your
	// container instance, log into your container instance and run the following
	// command: sudo docker version | grep "Server API version"
	//
	// The Amazon ECS container agent running on a container instance must register
	// the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS
	// environment variable before containers placed on that instance can use these
	// log configuration options. For more information, see Amazon ECS Container
	// Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
	// in the Amazon Elastic Container Service Developer Guide.
	LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"`

	// This parameter indicates the memory hard limit (in MiB) for a container.
	// If your container attempts to exceed the specified number, it is terminated.
	// You must specify at least 4 MiB of memory for a job using this parameter.
	// The memory hard limit can be specified in several places. It must be specified
	// for each node at least once.
	//
	// This parameter maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --memory option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is supported on EC2 resources but isn't supported on Fargate
	// resources. For Fargate resources, you should specify the memory requirement
	// using resourceRequirement. You can do this for EC2 resources.
	//
	// If you're trying to maximize your resource utilization by providing your
	// jobs as much memory as possible for a particular instance type, see Memory
	// Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html)
	// in the AWS Batch User Guide.
	//
	// Deprecated: This field is deprecated, use resourceRequirements instead.
	Memory *int64 `locationName:"memory" deprecated:"true" type:"integer"`

	// The mount points for data volumes in your container. This parameter maps
	// to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --volume option to docker run (https://docs.docker.com/engine/reference/run/).
	MountPoints []*MountPoint `locationName:"mountPoints" type:"list"`

	// The network configuration for jobs running on Fargate resources. Jobs running
	// on EC2 resources must not specify this parameter.
	NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"`

	// When this parameter is true, the container is given elevated permissions
	// on the host container instance (similar to the root user). This parameter
	// maps to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/).
	// The default value is false.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided, or specified as false.
	Privileged *bool `locationName:"privileged" type:"boolean"`

	// When this parameter is true, the container is given read-only access to its
	// root file system. This parameter maps to ReadonlyRootfs in the Create a container
	// (https://docs.docker.com/engine/api/v1.23/#create-a-container) section of
	// the Docker Remote API (https://docs.docker.com/engine/api/v1.23/) and the
	// --read-only option to docker run.
	ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"`

	// The type and amount of resources to assign to a container. The supported
	// resources include GPU, MEMORY, and VCPU.
	ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"`

	// The secrets for the container. For more information, see Specifying sensitive
	// data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html)
	// in the AWS Batch User Guide.
	Secrets []*Secret `locationName:"secrets" type:"list"`

	// A list of ulimits to set in the container. This parameter maps to Ulimits
	// in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	Ulimits []*Ulimit `locationName:"ulimits" type:"list"`

	// The user name to use inside the container. This parameter maps to User in
	// the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --user option to docker run (https://docs.docker.com/engine/reference/run/).
	User *string `locationName:"user" type:"string"`

	// The number of vCPUs reserved for the job. Each vCPU is equivalent to 1,024
	// CPU shares. This parameter maps to CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
	// The number of vCPUs must be specified but can be be specified in several
	// places. You must specify it at least once for each node.
	//
	// This parameter is supported on EC2 resources but isn't supported for jobs
	// that run on Fargate resources. For these resources, use resourceRequirement
	// instead. You can use this parameter or resourceRequirements structure but
	// not both.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided. For jobs that run on Fargate resources, you must specify
	// the vCPU requirement for the job using resourceRequirements.
	//
	// Deprecated: This field is deprecated, use resourceRequirements instead.
	Vcpus *int64 `locationName:"vcpus" deprecated:"true" type:"integer"`

	// A list of data volumes used in a job.
	Volumes []*Volume `locationName:"volumes" type:"list"`
	// contains filtered or unexported fields
}

Container properties are used in job definitions to describe the container that's launched as part of a job.

func (ContainerProperties) GoString

func (s ContainerProperties) GoString() string

GoString returns the string representation

func (*ContainerProperties) SetCommand

func (s *ContainerProperties) SetCommand(v []*string) *ContainerProperties

SetCommand sets the Command field's value.

func (*ContainerProperties) SetEnvironment

func (s *ContainerProperties) SetEnvironment(v []*KeyValuePair) *ContainerProperties

SetEnvironment sets the Environment field's value.

func (*ContainerProperties) SetExecutionRoleArn added in v1.34.32

func (s *ContainerProperties) SetExecutionRoleArn(v string) *ContainerProperties

SetExecutionRoleArn sets the ExecutionRoleArn field's value.

func (*ContainerProperties) SetFargatePlatformConfiguration added in v1.36.1

func (s *ContainerProperties) SetFargatePlatformConfiguration(v *FargatePlatformConfiguration) *ContainerProperties

SetFargatePlatformConfiguration sets the FargatePlatformConfiguration field's value.

func (*ContainerProperties) SetImage

SetImage sets the Image field's value.

func (*ContainerProperties) SetInstanceType added in v1.15.79

func (s *ContainerProperties) SetInstanceType(v string) *ContainerProperties

SetInstanceType sets the InstanceType field's value.

func (*ContainerProperties) SetJobRoleArn

func (s *ContainerProperties) SetJobRoleArn(v string) *ContainerProperties

SetJobRoleArn sets the JobRoleArn field's value.

func (*ContainerProperties) SetLinuxParameters added in v1.21.6

func (s *ContainerProperties) SetLinuxParameters(v *LinuxParameters) *ContainerProperties

SetLinuxParameters sets the LinuxParameters field's value.

func (*ContainerProperties) SetLogConfiguration added in v1.34.32

func (s *ContainerProperties) SetLogConfiguration(v *LogConfiguration) *ContainerProperties

SetLogConfiguration sets the LogConfiguration field's value.

func (*ContainerProperties) SetMemory

SetMemory sets the Memory field's value.

func (*ContainerProperties) SetMountPoints

func (s *ContainerProperties) SetMountPoints(v []*MountPoint) *ContainerProperties

SetMountPoints sets the MountPoints field's value.

func (*ContainerProperties) SetNetworkConfiguration added in v1.36.1

func (s *ContainerProperties) SetNetworkConfiguration(v *NetworkConfiguration) *ContainerProperties

SetNetworkConfiguration sets the NetworkConfiguration field's value.

func (*ContainerProperties) SetPrivileged

func (s *ContainerProperties) SetPrivileged(v bool) *ContainerProperties

SetPrivileged sets the Privileged field's value.

func (*ContainerProperties) SetReadonlyRootFilesystem

func (s *ContainerProperties) SetReadonlyRootFilesystem(v bool) *ContainerProperties

SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.

func (*ContainerProperties) SetResourceRequirements added in v1.19.9

func (s *ContainerProperties) SetResourceRequirements(v []*ResourceRequirement) *ContainerProperties

SetResourceRequirements sets the ResourceRequirements field's value.

func (*ContainerProperties) SetSecrets added in v1.34.32

func (s *ContainerProperties) SetSecrets(v []*Secret) *ContainerProperties

SetSecrets sets the Secrets field's value.

func (*ContainerProperties) SetUlimits

func (s *ContainerProperties) SetUlimits(v []*Ulimit) *ContainerProperties

SetUlimits sets the Ulimits field's value.

func (*ContainerProperties) SetUser

SetUser sets the User field's value.

func (*ContainerProperties) SetVcpus

SetVcpus sets the Vcpus field's value.

func (*ContainerProperties) SetVolumes

func (s *ContainerProperties) SetVolumes(v []*Volume) *ContainerProperties

SetVolumes sets the Volumes field's value.

func (ContainerProperties) String

func (s ContainerProperties) String() string

String returns the string representation

func (*ContainerProperties) Validate

func (s *ContainerProperties) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ContainerSummary added in v1.12.35

type ContainerSummary struct {

	// The exit code to return upon completion.
	ExitCode *int64 `locationName:"exitCode" type:"integer"`

	// A short (255 max characters) human-readable string to provide additional
	// details about a running or stopped container.
	Reason *string `locationName:"reason" type:"string"`
	// contains filtered or unexported fields
}

An object representing summary details of a container within a job.

func (ContainerSummary) GoString added in v1.12.35

func (s ContainerSummary) GoString() string

GoString returns the string representation

func (*ContainerSummary) SetExitCode added in v1.12.35

func (s *ContainerSummary) SetExitCode(v int64) *ContainerSummary

SetExitCode sets the ExitCode field's value.

func (*ContainerSummary) SetReason added in v1.12.35

func (s *ContainerSummary) SetReason(v string) *ContainerSummary

SetReason sets the Reason field's value.

func (ContainerSummary) String added in v1.12.35

func (s ContainerSummary) String() string

String returns the string representation

type CreateComputeEnvironmentInput

type CreateComputeEnvironmentInput struct {

	// The name for your compute environment. Up to 128 letters (uppercase and lowercase),
	// numbers, hyphens, and underscores are allowed.
	//
	// ComputeEnvironmentName is a required field
	ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string" required:"true"`

	// Details about the compute resources managed by the compute environment. This
	// parameter is required for managed compute environments. For more information,
	// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	ComputeResources *ComputeResource `locationName:"computeResources" type:"structure"`

	// The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch
	// to make calls to other AWS services on your behalf. For more information,
	// see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html)
	// in the AWS Batch User Guide.
	//
	// If your account has already created the AWS Batch service-linked role, that
	// role is used by default for your compute environment unless you specify a
	// role here. If the AWS Batch service-linked role does not exist in your account,
	// and no role is specified here, the service will try to create the AWS Batch
	// service-linked role in your account.
	//
	// If your specified role has a path other than /, then you must specify either
	// the full role ARN (recommended) or prefix the role name with the path. For
	// example, if a role with the name bar has a path of /foo/ then you would specify
	// /foo/bar as the role name. For more information, see Friendly names and paths
	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names)
	// in the IAM User Guide.
	//
	// Depending on how you created your AWS Batch service role, its ARN might contain
	// the service-role path prefix. When you only specify the name of the service
	// role, AWS Batch assumes that your ARN doesn't use the service-role path prefix.
	// Because of this, we recommend that you specify the full ARN of your service
	// role when you create compute environments.
	ServiceRole *string `locationName:"serviceRole" type:"string"`

	// The state of the compute environment. If the state is ENABLED, then the compute
	// environment accepts jobs from a queue and can scale out automatically based
	// on queues.
	//
	// If the state is ENABLED, then the AWS Batch scheduler can attempt to place
	// jobs from an associated job queue on the compute resources within the environment.
	// If the compute environment is managed, then it can scale its instances out
	// or in automatically, based on the job queue demand.
	//
	// If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to
	// place jobs within the environment. Jobs in a STARTING or RUNNING state continue
	// to progress normally. Managed compute environments in the DISABLED state
	// don't scale out. However, they scale in to minvCpus value after instances
	// become idle.
	State *string `locationName:"state" type:"string" enum:"CEState"`

	// The tags that you apply to the compute environment to help you categorize
	// and organize your resources. Each tag consists of a key and an optional value.
	// For more information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
	// in AWS General Reference.
	//
	// These tags can be updated or removed using the TagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html)
	// and UntagResource (https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html)
	// API operations. These tags don't propagate to the underlying compute resources.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The type of the compute environment: MANAGED or UNMANAGED. For more information,
	// see Compute Environments (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	//
	// Type is a required field
	Type *string `locationName:"type" type:"string" required:"true" enum:"CEType"`
	// contains filtered or unexported fields
}

Contains the parameters for CreateComputeEnvironment.

func (CreateComputeEnvironmentInput) GoString

GoString returns the string representation

func (*CreateComputeEnvironmentInput) SetComputeEnvironmentName

func (s *CreateComputeEnvironmentInput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentInput

SetComputeEnvironmentName sets the ComputeEnvironmentName field's value.

func (*CreateComputeEnvironmentInput) SetComputeResources

SetComputeResources sets the ComputeResources field's value.

func (*CreateComputeEnvironmentInput) SetServiceRole

SetServiceRole sets the ServiceRole field's value.

func (*CreateComputeEnvironmentInput) SetState

SetState sets the State field's value.

func (*CreateComputeEnvironmentInput) SetTags added in v1.35.2

SetTags sets the Tags field's value.

func (*CreateComputeEnvironmentInput) SetType

SetType sets the Type field's value.

func (CreateComputeEnvironmentInput) String

String returns the string representation

func (*CreateComputeEnvironmentInput) Validate

func (s *CreateComputeEnvironmentInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateComputeEnvironmentOutput

type CreateComputeEnvironmentOutput struct {

	// The Amazon Resource Name (ARN) of the compute environment.
	ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"`

	// The name of the compute environment. Up to 128 letters (uppercase and lowercase),
	// numbers, hyphens, and underscores are allowed.
	ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"`
	// contains filtered or unexported fields
}

func (CreateComputeEnvironmentOutput) GoString

GoString returns the string representation

func (*CreateComputeEnvironmentOutput) SetComputeEnvironmentArn

SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value.

func (*CreateComputeEnvironmentOutput) SetComputeEnvironmentName

func (s *CreateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *CreateComputeEnvironmentOutput

SetComputeEnvironmentName sets the ComputeEnvironmentName field's value.

func (CreateComputeEnvironmentOutput) String

String returns the string representation

type CreateJobQueueInput

type CreateJobQueueInput struct {

	// The set of compute environments mapped to a job queue and their order relative
	// to each other. The job scheduler uses this parameter to determine which compute
	// environment should run a specific job. Compute environments must be in the
	// VALID state before you can associate them with a job queue. You can associate
	// up to three compute environments with a job queue. All of the compute environments
	// must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT); EC2
	// and Fargate compute environments can't be mixed.
	//
	// All compute environments that are associated with a job queue must share
	// the same architecture. AWS Batch doesn't support mixing compute environment
	// architecture types in a single job queue.
	//
	// ComputeEnvironmentOrder is a required field
	ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"`

	// The name of the job queue. Up to 128 letters (uppercase and lowercase), numbers,
	// and underscores are allowed.
	//
	// JobQueueName is a required field
	JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"`

	// The priority of the job queue. Job queues with a higher priority (or a higher
	// integer value for the priority parameter) are evaluated first when associated
	// with the same compute environment. Priority is determined in descending order.
	// For example, a job queue with a priority value of 10 is given scheduling
	// preference over a job queue with a priority value of 1. All of the compute
	// environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT);
	// EC2 and Fargate compute environments cannot be mixed.
	//
	// Priority is a required field
	Priority *int64 `locationName:"priority" type:"integer" required:"true"`

	// The state of the job queue. If the job queue state is ENABLED, it is able
	// to accept jobs. If the job queue state is DISABLED, new jobs can't be added
	// to the queue, but jobs already in the queue can finish.
	State *string `locationName:"state" type:"string" enum:"JQState"`

	// The tags that you apply to the job queue to help you categorize and organize
	// your resources. Each tag consists of a key and an optional value. For more
	// information, see Tagging your AWS Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html)
	// in AWS Batch User Guide.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
	// contains filtered or unexported fields
}

Contains the parameters for CreateJobQueue.

func (CreateJobQueueInput) GoString

func (s CreateJobQueueInput) GoString() string

GoString returns the string representation

func (*CreateJobQueueInput) SetComputeEnvironmentOrder

func (s *CreateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *CreateJobQueueInput

SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value.

func (*CreateJobQueueInput) SetJobQueueName

func (s *CreateJobQueueInput) SetJobQueueName(v string) *CreateJobQueueInput

SetJobQueueName sets the JobQueueName field's value.

func (*CreateJobQueueInput) SetPriority

func (s *CreateJobQueueInput) SetPriority(v int64) *CreateJobQueueInput

SetPriority sets the Priority field's value.

func (*CreateJobQueueInput) SetState

SetState sets the State field's value.

func (*CreateJobQueueInput) SetTags added in v1.35.2

SetTags sets the Tags field's value.

func (CreateJobQueueInput) String

func (s CreateJobQueueInput) String() string

String returns the string representation

func (*CreateJobQueueInput) Validate

func (s *CreateJobQueueInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateJobQueueOutput

type CreateJobQueueOutput struct {

	// The Amazon Resource Name (ARN) of the job queue.
	//
	// JobQueueArn is a required field
	JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"`

	// The name of the job queue.
	//
	// JobQueueName is a required field
	JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (CreateJobQueueOutput) GoString

func (s CreateJobQueueOutput) GoString() string

GoString returns the string representation

func (*CreateJobQueueOutput) SetJobQueueArn

func (s *CreateJobQueueOutput) SetJobQueueArn(v string) *CreateJobQueueOutput

SetJobQueueArn sets the JobQueueArn field's value.

func (*CreateJobQueueOutput) SetJobQueueName

func (s *CreateJobQueueOutput) SetJobQueueName(v string) *CreateJobQueueOutput

SetJobQueueName sets the JobQueueName field's value.

func (CreateJobQueueOutput) String

func (s CreateJobQueueOutput) String() string

String returns the string representation

type DeleteComputeEnvironmentInput

type DeleteComputeEnvironmentInput struct {

	// The name or Amazon Resource Name (ARN) of the compute environment to delete.
	//
	// ComputeEnvironment is a required field
	ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Contains the parameters for DeleteComputeEnvironment.

func (DeleteComputeEnvironmentInput) GoString

GoString returns the string representation

func (*DeleteComputeEnvironmentInput) SetComputeEnvironment

SetComputeEnvironment sets the ComputeEnvironment field's value.

func (DeleteComputeEnvironmentInput) String

String returns the string representation

func (*DeleteComputeEnvironmentInput) Validate

func (s *DeleteComputeEnvironmentInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteComputeEnvironmentOutput

type DeleteComputeEnvironmentOutput struct {
	// contains filtered or unexported fields
}

func (DeleteComputeEnvironmentOutput) GoString

GoString returns the string representation

func (DeleteComputeEnvironmentOutput) String

String returns the string representation

type DeleteJobQueueInput

type DeleteJobQueueInput struct {

	// The short name or full Amazon Resource Name (ARN) of the queue to delete.
	//
	// JobQueue is a required field
	JobQueue *string `locationName:"jobQueue" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Contains the parameters for DeleteJobQueue.

func (DeleteJobQueueInput) GoString

func (s DeleteJobQueueInput) GoString() string

GoString returns the string representation

func (*DeleteJobQueueInput) SetJobQueue

func (s *DeleteJobQueueInput) SetJobQueue(v string) *DeleteJobQueueInput

SetJobQueue sets the JobQueue field's value.

func (DeleteJobQueueInput) String

func (s DeleteJobQueueInput) String() string

String returns the string representation

func (*DeleteJobQueueInput) Validate

func (s *DeleteJobQueueInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteJobQueueOutput

type DeleteJobQueueOutput struct {
	// contains filtered or unexported fields
}

func (DeleteJobQueueOutput) GoString

func (s DeleteJobQueueOutput) GoString() string

GoString returns the string representation

func (DeleteJobQueueOutput) String

func (s DeleteJobQueueOutput) String() string

String returns the string representation

type DeregisterJobDefinitionInput

type DeregisterJobDefinitionInput struct {

	// The name and revision (name:revision) or full Amazon Resource Name (ARN)
	// of the job definition to deregister.
	//
	// JobDefinition is a required field
	JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (DeregisterJobDefinitionInput) GoString

func (s DeregisterJobDefinitionInput) GoString() string

GoString returns the string representation

func (*DeregisterJobDefinitionInput) SetJobDefinition

SetJobDefinition sets the JobDefinition field's value.

func (DeregisterJobDefinitionInput) String

String returns the string representation

func (*DeregisterJobDefinitionInput) Validate

func (s *DeregisterJobDefinitionInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeregisterJobDefinitionOutput

type DeregisterJobDefinitionOutput struct {
	// contains filtered or unexported fields
}

func (DeregisterJobDefinitionOutput) GoString

GoString returns the string representation

func (DeregisterJobDefinitionOutput) String

String returns the string representation

type DescribeComputeEnvironmentsInput

type DescribeComputeEnvironmentsInput struct {

	// A list of up to 100 compute environment names or full Amazon Resource Name
	// (ARN) entries.
	ComputeEnvironments []*string `locationName:"computeEnvironments" type:"list"`

	// The maximum number of cluster results returned by DescribeComputeEnvironments
	// in paginated output. When this parameter is used, DescribeComputeEnvironments
	// only returns maxResults results in a single page along with a nextToken response
	// element. The remaining results of the initial request can be seen by sending
	// another DescribeComputeEnvironments request with the returned nextToken value.
	// This value can be between 1 and 100. If this parameter isn't used, then DescribeComputeEnvironments
	// returns up to 100 results and a nextToken value if applicable.
	MaxResults *int64 `locationName:"maxResults" type:"integer"`

	// The nextToken value returned from a previous paginated DescribeComputeEnvironments
	// request where maxResults was used and the results exceeded the value of that
	// parameter. Pagination continues from the end of the previous results that
	// returned the nextToken value. This value is null when there are no more results
	// to return.
	//
	// This token should be treated as an opaque identifier that's only used to
	// retrieve the next items in a list and not for other programmatic purposes.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

Contains the parameters for DescribeComputeEnvironments.

func (DescribeComputeEnvironmentsInput) GoString

GoString returns the string representation

func (*DescribeComputeEnvironmentsInput) SetComputeEnvironments

SetComputeEnvironments sets the ComputeEnvironments field's value.

func (*DescribeComputeEnvironmentsInput) SetMaxResults

SetMaxResults sets the MaxResults field's value.

func (*DescribeComputeEnvironmentsInput) SetNextToken

SetNextToken sets the NextToken field's value.

func (DescribeComputeEnvironmentsInput) String

String returns the string representation

type DescribeComputeEnvironmentsOutput

type DescribeComputeEnvironmentsOutput struct {

	// The list of compute environments.
	ComputeEnvironments []*ComputeEnvironmentDetail `locationName:"computeEnvironments" type:"list"`

	// The nextToken value to include in a future DescribeComputeEnvironments request.
	// When the results of a DescribeJobDefinitions request exceed maxResults, this
	// value can be used to retrieve the next page of results. This value is null
	// when there are no more results to return.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeComputeEnvironmentsOutput) GoString

GoString returns the string representation

func (*DescribeComputeEnvironmentsOutput) SetComputeEnvironments

SetComputeEnvironments sets the ComputeEnvironments field's value.

func (*DescribeComputeEnvironmentsOutput) SetNextToken

SetNextToken sets the NextToken field's value.

func (DescribeComputeEnvironmentsOutput) String

String returns the string representation

type DescribeJobDefinitionsInput

type DescribeJobDefinitionsInput struct {

	// The name of the job definition to describe.
	JobDefinitionName *string `locationName:"jobDefinitionName" type:"string"`

	// A list of up to 100 job definition names or full Amazon Resource Name (ARN)
	// entries.
	JobDefinitions []*string `locationName:"jobDefinitions" type:"list"`

	// The maximum number of results returned by DescribeJobDefinitions in paginated
	// output. When this parameter is used, DescribeJobDefinitions only returns
	// maxResults results in a single page and a nextToken response element. The
	// remaining results of the initial request can be seen by sending another DescribeJobDefinitions
	// request with the returned nextToken value. This value can be between 1 and
	// 100. If this parameter isn't used, then DescribeJobDefinitions returns up
	// to 100 results and a nextToken value if applicable.
	MaxResults *int64 `locationName:"maxResults" type:"integer"`

	// The nextToken value returned from a previous paginated DescribeJobDefinitions
	// request where maxResults was used and the results exceeded the value of that
	// parameter. Pagination continues from the end of the previous results that
	// returned the nextToken value. This value is null when there are no more results
	// to return.
	//
	// This token should be treated as an opaque identifier that's only used to
	// retrieve the next items in a list and not for other programmatic purposes.
	NextToken *string `locationName:"nextToken" type:"string"`

	// The status used to filter job definitions.
	Status *string `locationName:"status" type:"string"`
	// contains filtered or unexported fields
}

Contains the parameters for DescribeJobDefinitions.

func (DescribeJobDefinitionsInput) GoString

func (s DescribeJobDefinitionsInput) GoString() string

GoString returns the string representation

func (*DescribeJobDefinitionsInput) SetJobDefinitionName

SetJobDefinitionName sets the JobDefinitionName field's value.

func (*DescribeJobDefinitionsInput) SetJobDefinitions

SetJobDefinitions sets the JobDefinitions field's value.

func (*DescribeJobDefinitionsInput) SetMaxResults

SetMaxResults sets the MaxResults field's value.

func (*DescribeJobDefinitionsInput) SetNextToken

SetNextToken sets the NextToken field's value.

func (*DescribeJobDefinitionsInput) SetStatus

SetStatus sets the Status field's value.

func (DescribeJobDefinitionsInput) String

String returns the string representation

type DescribeJobDefinitionsOutput

type DescribeJobDefinitionsOutput struct {

	// The list of job definitions.
	JobDefinitions []*JobDefinition `locationName:"jobDefinitions" type:"list"`

	// The nextToken value to include in a future DescribeJobDefinitions request.
	// When the results of a DescribeJobDefinitions request exceed maxResults, this
	// value can be used to retrieve the next page of results. This value is null
	// when there are no more results to return.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeJobDefinitionsOutput) GoString

func (s DescribeJobDefinitionsOutput) GoString() string

GoString returns the string representation

func (*DescribeJobDefinitionsOutput) SetJobDefinitions

SetJobDefinitions sets the JobDefinitions field's value.

func (*DescribeJobDefinitionsOutput) SetNextToken

SetNextToken sets the NextToken field's value.

func (DescribeJobDefinitionsOutput) String

String returns the string representation

type DescribeJobQueuesInput

type DescribeJobQueuesInput struct {

	// A list of up to 100 queue names or full queue Amazon Resource Name (ARN)
	// entries.
	JobQueues []*string `locationName:"jobQueues" type:"list"`

	// The maximum number of results returned by DescribeJobQueues in paginated
	// output. When this parameter is used, DescribeJobQueues only returns maxResults
	// results in a single page and a nextToken response element. The remaining
	// results of the initial request can be seen by sending another DescribeJobQueues
	// request with the returned nextToken value. This value can be between 1 and
	// 100. If this parameter isn't used, then DescribeJobQueues returns up to 100
	// results and a nextToken value if applicable.
	MaxResults *int64 `locationName:"maxResults" type:"integer"`

	// The nextToken value returned from a previous paginated DescribeJobQueues
	// request where maxResults was used and the results exceeded the value of that
	// parameter. Pagination continues from the end of the previous results that
	// returned the nextToken value. This value is null when there are no more results
	// to return.
	//
	// This token should be treated as an opaque identifier that's only used to
	// retrieve the next items in a list and not for other programmatic purposes.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

Contains the parameters for DescribeJobQueues.

func (DescribeJobQueuesInput) GoString

func (s DescribeJobQueuesInput) GoString() string

GoString returns the string representation

func (*DescribeJobQueuesInput) SetJobQueues

func (s *DescribeJobQueuesInput) SetJobQueues(v []*string) *DescribeJobQueuesInput

SetJobQueues sets the JobQueues field's value.

func (*DescribeJobQueuesInput) SetMaxResults

SetMaxResults sets the MaxResults field's value.

func (*DescribeJobQueuesInput) SetNextToken

SetNextToken sets the NextToken field's value.

func (DescribeJobQueuesInput) String

func (s DescribeJobQueuesInput) String() string

String returns the string representation

type DescribeJobQueuesOutput

type DescribeJobQueuesOutput struct {

	// The list of job queues.
	JobQueues []*JobQueueDetail `locationName:"jobQueues" type:"list"`

	// The nextToken value to include in a future DescribeJobQueues request. When
	// the results of a DescribeJobQueues request exceed maxResults, this value
	// can be used to retrieve the next page of results. This value is null when
	// there are no more results to return.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

func (DescribeJobQueuesOutput) GoString

func (s DescribeJobQueuesOutput) GoString() string

GoString returns the string representation

func (*DescribeJobQueuesOutput) SetJobQueues

SetJobQueues sets the JobQueues field's value.

func (*DescribeJobQueuesOutput) SetNextToken

SetNextToken sets the NextToken field's value.

func (DescribeJobQueuesOutput) String

func (s DescribeJobQueuesOutput) String() string

String returns the string representation

type DescribeJobsInput

type DescribeJobsInput struct {

	// A list of up to 100 job IDs.
	//
	// Jobs is a required field
	Jobs []*string `locationName:"jobs" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Contains the parameters for DescribeJobs.

func (DescribeJobsInput) GoString

func (s DescribeJobsInput) GoString() string

GoString returns the string representation

func (*DescribeJobsInput) SetJobs

func (s *DescribeJobsInput) SetJobs(v []*string) *DescribeJobsInput

SetJobs sets the Jobs field's value.

func (DescribeJobsInput) String

func (s DescribeJobsInput) String() string

String returns the string representation

func (*DescribeJobsInput) Validate

func (s *DescribeJobsInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeJobsOutput

type DescribeJobsOutput struct {

	// The list of jobs.
	Jobs []*JobDetail `locationName:"jobs" type:"list"`
	// contains filtered or unexported fields
}

func (DescribeJobsOutput) GoString

func (s DescribeJobsOutput) GoString() string

GoString returns the string representation

func (*DescribeJobsOutput) SetJobs

SetJobs sets the Jobs field's value.

func (DescribeJobsOutput) String

func (s DescribeJobsOutput) String() string

String returns the string representation

type Device added in v1.21.6

type Device struct {

	// The path inside the container used to expose the host device. By default,
	// the hostPath value is used.
	ContainerPath *string `locationName:"containerPath" type:"string"`

	// The path for the device on the host container instance.
	//
	// HostPath is a required field
	HostPath *string `locationName:"hostPath" type:"string" required:"true"`

	// The explicit permissions to provide to the container for the device. By default,
	// the container has permissions for read, write, and mknod for the device.
	Permissions []*string `locationName:"permissions" type:"list"`
	// contains filtered or unexported fields
}

An object representing a container instance host device.

This object isn't applicable to jobs running on Fargate resources and shouldn't be provided.

func (Device) GoString added in v1.21.6

func (s Device) GoString() string

GoString returns the string representation

func (*Device) SetContainerPath added in v1.21.6

func (s *Device) SetContainerPath(v string) *Device

SetContainerPath sets the ContainerPath field's value.

func (*Device) SetHostPath added in v1.21.6

func (s *Device) SetHostPath(v string) *Device

SetHostPath sets the HostPath field's value.

func (*Device) SetPermissions added in v1.21.6

func (s *Device) SetPermissions(v []*string) *Device

SetPermissions sets the Permissions field's value.

func (Device) String added in v1.21.6

func (s Device) String() string

String returns the string representation

func (*Device) Validate added in v1.21.6

func (s *Device) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type EFSAuthorizationConfig added in v1.38.10

type EFSAuthorizationConfig struct {

	// The Amazon EFS access point ID to use. If an access point is specified, the
	// root directory value specified in the EFSVolumeConfiguration must either
	// be omitted or set to / which will enforce the path set on the EFS access
	// point. If an access point is used, transit encryption must be enabled in
	// the EFSVolumeConfiguration. For more information, see Working with Amazon
	// EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)
	// in the Amazon Elastic File System User Guide.
	AccessPointId *string `locationName:"accessPointId" type:"string"`

	// Whether or not to use the AWS Batch execution IAM role defined in a job definition
	// when mounting the Amazon EFS file system. If enabled, transit encryption
	// must be enabled in the EFSVolumeConfiguration. If this parameter is omitted,
	// the default value of DISABLED is used. For more information, see Using Amazon
	// EFS Access Points (https://docs.aws.amazon.com/batch/latest/ug/efs-volumes.html#efs-volume-accesspoints)
	// in the AWS Batch User Guide. EFS IAM authorization requires that TransitEncryption
	// be ENABLED and that a JobRoleArn is specified.
	Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"`
	// contains filtered or unexported fields
}

The authorization configuration details for the Amazon EFS file system.

func (EFSAuthorizationConfig) GoString added in v1.38.10

func (s EFSAuthorizationConfig) GoString() string

GoString returns the string representation

func (*EFSAuthorizationConfig) SetAccessPointId added in v1.38.10

func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig

SetAccessPointId sets the AccessPointId field's value.

func (*EFSAuthorizationConfig) SetIam added in v1.38.10

SetIam sets the Iam field's value.

func (EFSAuthorizationConfig) String added in v1.38.10

func (s EFSAuthorizationConfig) String() string

String returns the string representation

type EFSVolumeConfiguration added in v1.38.10

type EFSVolumeConfiguration struct {

	// The authorization configuration details for the Amazon EFS file system.
	AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"`

	// The Amazon EFS file system ID to use.
	//
	// FileSystemId is a required field
	FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"`

	// The directory within the Amazon EFS file system to mount as the root directory
	// inside the host. If this parameter is omitted, the root of the Amazon EFS
	// volume will be used. Specifying / will have the same effect as omitting this
	// parameter.
	//
	// If an EFS access point is specified in the authorizationConfig, the root
	// directory parameter must either be omitted or set to / which will enforce
	// the path set on the Amazon EFS access point.
	RootDirectory *string `locationName:"rootDirectory" type:"string"`

	// Whether or not to enable encryption for Amazon EFS data in transit between
	// the Amazon ECS host and the Amazon EFS server. Transit encryption must be
	// enabled if Amazon EFS IAM authorization is used. If this parameter is omitted,
	// the default value of DISABLED is used. For more information, see Encrypting
	// data in transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html)
	// in the Amazon Elastic File System User Guide.
	TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"`

	// The port to use when sending encrypted data between the Amazon ECS host and
	// the Amazon EFS server. If you do not specify a transit encryption port, it
	// will use the port selection strategy that the Amazon EFS mount helper uses.
	// For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html)
	// in the Amazon Elastic File System User Guide.
	TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"`
	// contains filtered or unexported fields
}

This parameter is specified when you are using an Amazon Elastic File System file system for task storage. For more information, see Amazon EFS Volumes (https://docs.aws.amazon.com/batch/latest/ug/efs-volumes.html) in the AWS Batch User Guide.

func (EFSVolumeConfiguration) GoString added in v1.38.10

func (s EFSVolumeConfiguration) GoString() string

GoString returns the string representation

func (*EFSVolumeConfiguration) SetAuthorizationConfig added in v1.38.10

SetAuthorizationConfig sets the AuthorizationConfig field's value.

func (*EFSVolumeConfiguration) SetFileSystemId added in v1.38.10

func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration

SetFileSystemId sets the FileSystemId field's value.

func (*EFSVolumeConfiguration) SetRootDirectory added in v1.38.10

func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration

SetRootDirectory sets the RootDirectory field's value.

func (*EFSVolumeConfiguration) SetTransitEncryption added in v1.38.10

func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration

SetTransitEncryption sets the TransitEncryption field's value.

func (*EFSVolumeConfiguration) SetTransitEncryptionPort added in v1.38.10

func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration

SetTransitEncryptionPort sets the TransitEncryptionPort field's value.

func (EFSVolumeConfiguration) String added in v1.38.10

func (s EFSVolumeConfiguration) String() string

String returns the string representation

func (*EFSVolumeConfiguration) Validate added in v1.38.10

func (s *EFSVolumeConfiguration) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Ec2Configuration added in v1.35.35

type Ec2Configuration struct {

	// The AMI ID used for instances launched in the compute environment that match
	// the image type. This setting overrides the imageId set in the computeResource
	// object.
	ImageIdOverride *string `locationName:"imageIdOverride" min:"1" type:"string"`

	// The image type to match with the instance type to select an AMI. If the imageIdOverride
	// parameter isn't specified, then a recent Amazon ECS-optimized AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html)
	// (ECS_AL1) is used. Starting on March 31, 2021, this default will be changing
	// to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)).
	//
	// ECS_AL2
	//
	// Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)−
	// Default for all AWS Graviton-based instance families (for example, C6g, M6g,
	// R6g, and T4g) and can be used for all non-GPU instance types.
	//
	// ECS_AL2_NVIDIA
	//
	// Amazon Linux 2 (GPU) (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami)−Default
	// for all GPU instance families (for example P4 and G4) and can be used for
	// all non-AWS Graviton-based instance types.
	//
	// ECS_AL1
	//
	// Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)−Default
	// for all non-GPU, non-AWS Graviton instance families. Amazon Linux is reaching
	// the end-of-life of standard support. For more information, see Amazon Linux
	// AMI (http://aws.amazon.com/amazon-linux-ami/).
	//
	// ImageType is a required field
	ImageType *string `locationName:"imageType" min:"1" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Provides information used to select Amazon Machine Images (AMIs) for instances in the compute environment. If Ec2Configuration isn't specified, the default is currently ECS_AL1 (Amazon Linux (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami)) for non-GPU, non-Graviton instances. Starting on March 31, 2021, this default will be changing to ECS_AL2 (Amazon Linux 2 (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami)).

This object isn't applicable to jobs running on Fargate resources.

func (Ec2Configuration) GoString added in v1.35.35

func (s Ec2Configuration) GoString() string

GoString returns the string representation

func (*Ec2Configuration) SetImageIdOverride added in v1.35.35

func (s *Ec2Configuration) SetImageIdOverride(v string) *Ec2Configuration

SetImageIdOverride sets the ImageIdOverride field's value.

func (*Ec2Configuration) SetImageType added in v1.35.35

func (s *Ec2Configuration) SetImageType(v string) *Ec2Configuration

SetImageType sets the ImageType field's value.

func (Ec2Configuration) String added in v1.35.35

func (s Ec2Configuration) String() string

String returns the string representation

func (*Ec2Configuration) Validate added in v1.35.35

func (s *Ec2Configuration) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type EvaluateOnExit added in v1.35.11

type EvaluateOnExit struct {

	// Specifies the action to take if all of the specified conditions (onStatusReason,
	// onReason, and onExitCode) are met. The values aren't case sensitive.
	//
	// Action is a required field
	Action *string `locationName:"action" type:"string" required:"true" enum:"RetryAction"`

	// Contains a glob pattern to match against the decimal representation of the
	// ExitCode returned for a job. The pattern can be up to 512 characters long,
	// can contain only numbers, and can optionally end with an asterisk (*) so
	// that only the start of the string needs to be an exact match.
	OnExitCode *string `locationName:"onExitCode" type:"string"`

	// Contains a glob pattern to match against the Reason returned for a job. The
	// pattern can be up to 512 characters long, and can contain letters, numbers,
	// periods (.), colons (:), and white space (including spaces and tabs). It
	// can optionally end with an asterisk (*) so that only the start of the string
	// needs to be an exact match.
	OnReason *string `locationName:"onReason" type:"string"`

	// Contains a glob pattern to match against the StatusReason returned for a
	// job. The pattern can be up to 512 characters long, and can contain letters,
	// numbers, periods (.), colons (:), and white space (including spaces or tabs).
	// It can optionally end with an asterisk (*) so that only the start of the
	// string needs to be an exact match.
	OnStatusReason *string `locationName:"onStatusReason" type:"string"`
	// contains filtered or unexported fields
}

Specifies a set of conditions to be met, and an action to take (RETRY or EXIT) if all conditions are met.

func (EvaluateOnExit) GoString added in v1.35.11

func (s EvaluateOnExit) GoString() string

GoString returns the string representation

func (*EvaluateOnExit) SetAction added in v1.35.11

func (s *EvaluateOnExit) SetAction(v string) *EvaluateOnExit

SetAction sets the Action field's value.

func (*EvaluateOnExit) SetOnExitCode added in v1.35.11

func (s *EvaluateOnExit) SetOnExitCode(v string) *EvaluateOnExit

SetOnExitCode sets the OnExitCode field's value.

func (*EvaluateOnExit) SetOnReason added in v1.35.11

func (s *EvaluateOnExit) SetOnReason(v string) *EvaluateOnExit

SetOnReason sets the OnReason field's value.

func (*EvaluateOnExit) SetOnStatusReason added in v1.35.11

func (s *EvaluateOnExit) SetOnStatusReason(v string) *EvaluateOnExit

SetOnStatusReason sets the OnStatusReason field's value.

func (EvaluateOnExit) String added in v1.35.11

func (s EvaluateOnExit) String() string

String returns the string representation

func (*EvaluateOnExit) Validate added in v1.35.11

func (s *EvaluateOnExit) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type FargatePlatformConfiguration added in v1.36.1

type FargatePlatformConfiguration struct {

	// The AWS Fargate platform version where the jobs are running. A platform version
	// is specified only for jobs running on Fargate resources. If one isn't specified,
	// the LATEST platform version is used by default. This uses a recent, approved
	// version of the AWS Fargate platform for compute resources. For more information,
	// see AWS Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html)
	// in the Amazon Elastic Container Service Developer Guide.
	PlatformVersion *string `locationName:"platformVersion" type:"string"`
	// contains filtered or unexported fields
}

The platform configuration for jobs running on Fargate resources. For jobs that run on EC2 resources, you shouldn't specify this parameter.

func (FargatePlatformConfiguration) GoString added in v1.36.1

func (s FargatePlatformConfiguration) GoString() string

GoString returns the string representation

func (*FargatePlatformConfiguration) SetPlatformVersion added in v1.36.1

SetPlatformVersion sets the PlatformVersion field's value.

func (FargatePlatformConfiguration) String added in v1.36.1

String returns the string representation

type Host

type Host struct {

	// The path on the host container instance that's presented to the container.
	// If this parameter is empty, then the Docker daemon has assigned a host path
	// for you. If this parameter contains a file location, then the data volume
	// persists at the specified location on the host container instance until you
	// delete it manually. If the source path location doesn't exist on the host
	// container instance, the Docker daemon creates it. If the location does exist,
	// the contents of the source path folder are exported.
	//
	// This parameter isn't applicable to jobs that run on Fargate resources and
	// shouldn't be provided.
	SourcePath *string `locationName:"sourcePath" type:"string"`
	// contains filtered or unexported fields
}

Determine whether your data volume persists on the host container instance and where it is stored. If this parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data isn't guaranteed to persist after the containers associated with it stop running.

func (Host) GoString

func (s Host) GoString() string

GoString returns the string representation

func (*Host) SetSourcePath

func (s *Host) SetSourcePath(v string) *Host

SetSourcePath sets the SourcePath field's value.

func (Host) String

func (s Host) String() string

String returns the string representation

type JobDefinition

type JobDefinition struct {

	// An object with various properties specific to container-based jobs.
	ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"`

	// The Amazon Resource Name (ARN) for the job definition.
	//
	// JobDefinitionArn is a required field
	JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"`

	// The name of the job definition.
	//
	// JobDefinitionName is a required field
	JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"`

	// An object with various properties specific to multi-node parallel jobs.
	//
	// If the job runs on Fargate resources, then you must not specify nodeProperties;
	// use containerProperties instead.
	NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"`

	// Default parameters or parameter substitution placeholders that are set in
	// the job definition. Parameters are specified as a key-value pair mapping.
	// Parameters in a SubmitJob request override any corresponding parameter defaults
	// from the job definition. For more information about specifying parameters,
	// see Job Definition Parameters (https://docs.aws.amazon.com/batch/latest/userguide/job_definition_parameters.html)
	// in the AWS Batch User Guide.
	Parameters map[string]*string `locationName:"parameters" type:"map"`

	// The platform capabilities required by the job definition. If no value is
	// specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.
	PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"`

	// Specifies whether to propagate the tags from the job or job definition to
	// the corresponding Amazon ECS task. If no value is specified, the tags aren't
	// propagated. Tags can only be propagated to the tasks during task creation.
	// For tags with the same name, job tags are given priority over job definitions
	// tags. If the total number of combined tags from the job and job definition
	// is over 50, the job is moved to the FAILED state.
	PropagateTags *bool `locationName:"propagateTags" type:"boolean"`

	// The retry strategy to use for failed jobs that are submitted with this job
	// definition.
	RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"`

	// The revision of the job definition.
	//
	// Revision is a required field
	Revision *int64 `locationName:"revision" type:"integer" required:"true"`

	// The status of the job definition.
	Status *string `locationName:"status" type:"string"`

	// The tags applied to the job definition.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The timeout configuration for jobs that are submitted with this job definition.
	// You can specify a timeout duration after which AWS Batch terminates your
	// jobs if they haven't finished.
	Timeout *JobTimeout `locationName:"timeout" type:"structure"`

	// The type of job definition. If the job is run on Fargate resources, then
	// multinode isn't supported. For more information about multi-node parallel
	// jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html)
	// in the AWS Batch User Guide.
	//
	// Type is a required field
	Type *string `locationName:"type" type:"string" required:"true"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch job definition.

func (JobDefinition) GoString

func (s JobDefinition) GoString() string

GoString returns the string representation

func (*JobDefinition) SetContainerProperties

func (s *JobDefinition) SetContainerProperties(v *ContainerProperties) *JobDefinition

SetContainerProperties sets the ContainerProperties field's value.

func (*JobDefinition) SetJobDefinitionArn

func (s *JobDefinition) SetJobDefinitionArn(v string) *JobDefinition

SetJobDefinitionArn sets the JobDefinitionArn field's value.

func (*JobDefinition) SetJobDefinitionName

func (s *JobDefinition) SetJobDefinitionName(v string) *JobDefinition

SetJobDefinitionName sets the JobDefinitionName field's value.

func (*JobDefinition) SetNodeProperties added in v1.15.79

func (s *JobDefinition) SetNodeProperties(v *NodeProperties) *JobDefinition

SetNodeProperties sets the NodeProperties field's value.

func (*JobDefinition) SetParameters

func (s *JobDefinition) SetParameters(v map[string]*string) *JobDefinition

SetParameters sets the Parameters field's value.

func (*JobDefinition) SetPlatformCapabilities added in v1.36.1

func (s *JobDefinition) SetPlatformCapabilities(v []*string) *JobDefinition

SetPlatformCapabilities sets the PlatformCapabilities field's value.

func (*JobDefinition) SetPropagateTags added in v1.36.1

func (s *JobDefinition) SetPropagateTags(v bool) *JobDefinition

SetPropagateTags sets the PropagateTags field's value.

func (*JobDefinition) SetRetryStrategy added in v1.8.4

func (s *JobDefinition) SetRetryStrategy(v *RetryStrategy) *JobDefinition

SetRetryStrategy sets the RetryStrategy field's value.

func (*JobDefinition) SetRevision

func (s *JobDefinition) SetRevision(v int64) *JobDefinition

SetRevision sets the Revision field's value.

func (*JobDefinition) SetStatus

func (s *JobDefinition) SetStatus(v string) *JobDefinition

SetStatus sets the Status field's value.

func (*JobDefinition) SetTags added in v1.35.2

func (s *JobDefinition) SetTags(v map[string]*string) *JobDefinition

SetTags sets the Tags field's value.

func (*JobDefinition) SetTimeout added in v1.13.30

func (s *JobDefinition) SetTimeout(v *JobTimeout) *JobDefinition

SetTimeout sets the Timeout field's value.

func (*JobDefinition) SetType

func (s *JobDefinition) SetType(v string) *JobDefinition

SetType sets the Type field's value.

func (JobDefinition) String

func (s JobDefinition) String() string

String returns the string representation

type JobDependency

type JobDependency struct {

	// The job ID of the AWS Batch job associated with this dependency.
	JobId *string `locationName:"jobId" type:"string"`

	// The type of the job dependency.
	Type *string `locationName:"type" type:"string" enum:"ArrayJobDependency"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch job dependency.

func (JobDependency) GoString

func (s JobDependency) GoString() string

GoString returns the string representation

func (*JobDependency) SetJobId

func (s *JobDependency) SetJobId(v string) *JobDependency

SetJobId sets the JobId field's value.

func (*JobDependency) SetType added in v1.12.35

func (s *JobDependency) SetType(v string) *JobDependency

SetType sets the Type field's value.

func (JobDependency) String

func (s JobDependency) String() string

String returns the string representation

type JobDetail

type JobDetail struct {

	// The array properties of the job, if it is an array job.
	ArrayProperties *ArrayPropertiesDetail `locationName:"arrayProperties" type:"structure"`

	// A list of job attempts associated with this job.
	Attempts []*AttemptDetail `locationName:"attempts" type:"list"`

	// An object representing the details of the container that's associated with
	// the job.
	Container *ContainerDetail `locationName:"container" type:"structure"`

	// The Unix timestamp (in milliseconds) for when the job was created. For non-array
	// jobs and parent array jobs, this is when the job entered the SUBMITTED state
	// (at the time SubmitJob was called). For array child jobs, this is when the
	// child job was spawned by its parent and entered the PENDING state.
	CreatedAt *int64 `locationName:"createdAt" type:"long"`

	// A list of job IDs that this job depends on.
	DependsOn []*JobDependency `locationName:"dependsOn" type:"list"`

	// The Amazon Resource Name (ARN) of the job.
	JobArn *string `locationName:"jobArn" type:"string"`

	// The job definition that's used by this job.
	//
	// JobDefinition is a required field
	JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"`

	// The ID for the job.
	//
	// JobId is a required field
	JobId *string `locationName:"jobId" type:"string" required:"true"`

	// The name of the job.
	//
	// JobName is a required field
	JobName *string `locationName:"jobName" type:"string" required:"true"`

	// The Amazon Resource Name (ARN) of the job queue that the job is associated
	// with.
	//
	// JobQueue is a required field
	JobQueue *string `locationName:"jobQueue" type:"string" required:"true"`

	// An object representing the details of a node that's associated with a multi-node
	// parallel job.
	NodeDetails *NodeDetails `locationName:"nodeDetails" type:"structure"`

	// An object representing the node properties of a multi-node parallel job.
	//
	// This isn't applicable to jobs running on Fargate resources.
	NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"`

	// Additional parameters passed to the job that replace parameter substitution
	// placeholders or override any corresponding parameter defaults from the job
	// definition.
	Parameters map[string]*string `locationName:"parameters" type:"map"`

	// The platform capabilities required by the job definition. If no value is
	// specified, it defaults to EC2. Jobs run on Fargate resources specify FARGATE.
	PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"`

	// Specifies whether to propagate the tags from the job or job definition to
	// the corresponding Amazon ECS task. If no value is specified, the tags aren't
	// propagated. Tags can only be propagated to the tasks during task creation.
	// For tags with the same name, job tags are given priority over job definitions
	// tags. If the total number of combined tags from the job and job definition
	// is over 50, the job is moved to the FAILED state.
	PropagateTags *bool `locationName:"propagateTags" type:"boolean"`

	// The retry strategy to use for this job if an attempt fails.
	RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"`

	// The Unix timestamp (in milliseconds) for when the job was started (when the
	// job transitioned from the STARTING state to the RUNNING state). This parameter
	// isn't provided for child jobs of array jobs or multi-node parallel jobs.
	//
	// StartedAt is a required field
	StartedAt *int64 `locationName:"startedAt" type:"long" required:"true"`

	// The current status for the job.
	//
	// If your jobs don't progress to STARTING, see Jobs Stuck in RUNNABLE Status
	// (https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable)
	// in the troubleshooting section of the AWS Batch User Guide.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true" enum:"JobStatus"`

	// A short, human-readable string to provide additional details about the current
	// status of the job.
	StatusReason *string `locationName:"statusReason" type:"string"`

	// The Unix timestamp (in milliseconds) for when the job was stopped (when the
	// job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED
	// or FAILED).
	StoppedAt *int64 `locationName:"stoppedAt" type:"long"`

	// The tags applied to the job.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The timeout configuration for the job.
	Timeout *JobTimeout `locationName:"timeout" type:"structure"`
	// contains filtered or unexported fields
}

An object representing an AWS Batch job.

func (JobDetail) GoString

func (s JobDetail) GoString() string

GoString returns the string representation

func (*JobDetail) SetArrayProperties added in v1.12.35

func (s *JobDetail) SetArrayProperties(v *ArrayPropertiesDetail) *JobDetail

SetArrayProperties sets the ArrayProperties field's value.

func (*JobDetail) SetAttempts added in v1.8.4

func (s *JobDetail) SetAttempts(v []*AttemptDetail) *JobDetail

SetAttempts sets the Attempts field's value.

func (*JobDetail) SetContainer

func (s *JobDetail) SetContainer(v *ContainerDetail) *JobDetail

SetContainer sets the Container field's value.

func (*JobDetail) SetCreatedAt

func (s *JobDetail) SetCreatedAt(v int64) *JobDetail

SetCreatedAt sets the CreatedAt field's value.

func (*JobDetail) SetDependsOn

func (s *JobDetail) SetDependsOn(v []*JobDependency) *JobDetail

SetDependsOn sets the DependsOn field's value.

func (*JobDetail) SetJobArn added in v1.35.2

func (s *JobDetail) SetJobArn(v string) *JobDetail

SetJobArn sets the JobArn field's value.

func (*JobDetail) SetJobDefinition

func (s *JobDetail) SetJobDefinition(v string) *JobDetail

SetJobDefinition sets the JobDefinition field's value.

func (*JobDetail) SetJobId

func (s *JobDetail) SetJobId(v string) *JobDetail

SetJobId sets the JobId field's value.

func (*JobDetail) SetJobName

func (s *JobDetail) SetJobName(v string) *JobDetail

SetJobName sets the JobName field's value.

func (*JobDetail) SetJobQueue

func (s *JobDetail) SetJobQueue(v string) *JobDetail

SetJobQueue sets the JobQueue field's value.

func (*JobDetail) SetNodeDetails added in v1.15.79

func (s *JobDetail) SetNodeDetails(v *NodeDetails) *JobDetail

SetNodeDetails sets the NodeDetails field's value.

func (*JobDetail) SetNodeProperties added in v1.15.79

func (s *JobDetail) SetNodeProperties(v *NodeProperties) *JobDetail

SetNodeProperties sets the NodeProperties field's value.

func (*JobDetail) SetParameters

func (s *JobDetail) SetParameters(v map[string]*string) *JobDetail

SetParameters sets the Parameters field's value.

func (*JobDetail) SetPlatformCapabilities added in v1.36.1

func (s *JobDetail) SetPlatformCapabilities(v []*string) *JobDetail

SetPlatformCapabilities sets the PlatformCapabilities field's value.

func (*JobDetail) SetPropagateTags added in v1.36.1

func (s *JobDetail) SetPropagateTags(v bool) *JobDetail

SetPropagateTags sets the PropagateTags field's value.

func (*JobDetail) SetRetryStrategy added in v1.8.4

func (s *JobDetail) SetRetryStrategy(v *RetryStrategy) *JobDetail

SetRetryStrategy sets the RetryStrategy field's value.

func (*JobDetail) SetStartedAt

func (s *JobDetail) SetStartedAt(v int64) *JobDetail

SetStartedAt sets the StartedAt field's value.

func (*JobDetail) SetStatus

func (s *JobDetail) SetStatus(v string) *JobDetail

SetStatus sets the Status field's value.

func (*JobDetail) SetStatusReason

func (s *JobDetail) SetStatusReason(v string) *JobDetail

SetStatusReason sets the StatusReason field's value.

func (*JobDetail) SetStoppedAt

func (s *JobDetail) SetStoppedAt(v int64) *JobDetail

SetStoppedAt sets the StoppedAt field's value.

func (*JobDetail) SetTags added in v1.35.2

func (s *JobDetail) SetTags(v map[string]*string) *JobDetail

SetTags sets the Tags field's value.

func (*JobDetail) SetTimeout added in v1.13.30

func (s *JobDetail) SetTimeout(v *JobTimeout) *JobDetail

SetTimeout sets the Timeout field's value.

func (JobDetail) String

func (s JobDetail) String() string

String returns the string representation

type JobQueueDetail

type JobQueueDetail struct {

	// The compute environments that are attached to the job queue and the order
	// that job placement is preferred. Compute environments are selected for job
	// placement in ascending order.
	//
	// ComputeEnvironmentOrder is a required field
	ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list" required:"true"`

	// The Amazon Resource Name (ARN) of the job queue.
	//
	// JobQueueArn is a required field
	JobQueueArn *string `locationName:"jobQueueArn" type:"string" required:"true"`

	// The name of the job queue.
	//
	// JobQueueName is a required field
	JobQueueName *string `locationName:"jobQueueName" type:"string" required:"true"`

	// The priority of the job queue. Job queues with a higher priority (or a higher
	// integer value for the priority parameter) are evaluated first when associated
	// with the same compute environment. Priority is determined in descending order,
	// for example, a job queue with a priority value of 10 is given scheduling
	// preference over a job queue with a priority value of 1. All of the compute
	// environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT);
	// EC2 and Fargate compute environments can't be mixed.
	//
	// Priority is a required field
	Priority *int64 `locationName:"priority" type:"integer" required:"true"`

	// Describes the ability of the queue to accept new jobs. If the job queue state
	// is ENABLED, it's able to accept jobs. If the job queue state is DISABLED,
	// new jobs can't be added to the queue, but jobs already in the queue can finish.
	//
	// State is a required field
	State *string `locationName:"state" type:"string" required:"true" enum:"JQState"`

	// The status of the job queue (for example, CREATING or VALID).
	Status *string `locationName:"status" type:"string" enum:"JQStatus"`

	// A short, human-readable string to provide additional details about the current
	// status of the job queue.
	StatusReason *string `locationName:"statusReason" type:"string"`

	// The tags applied to the job queue. For more information, see Tagging your
	// AWS Batch resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html)
	// in AWS Batch User Guide.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
	// contains filtered or unexported fields
}

An object representing the details of an AWS Batch job queue.

func (JobQueueDetail) GoString

func (s JobQueueDetail) GoString() string

GoString returns the string representation

func (*JobQueueDetail) SetComputeEnvironmentOrder

func (s *JobQueueDetail) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *JobQueueDetail

SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value.

func (*JobQueueDetail) SetJobQueueArn

func (s *JobQueueDetail) SetJobQueueArn(v string) *JobQueueDetail

SetJobQueueArn sets the JobQueueArn field's value.

func (*JobQueueDetail) SetJobQueueName

func (s *JobQueueDetail) SetJobQueueName(v string) *JobQueueDetail

SetJobQueueName sets the JobQueueName field's value.

func (*JobQueueDetail) SetPriority

func (s *JobQueueDetail) SetPriority(v int64) *JobQueueDetail

SetPriority sets the Priority field's value.

func (*JobQueueDetail) SetState

func (s *JobQueueDetail) SetState(v string) *JobQueueDetail

SetState sets the State field's value.

func (*JobQueueDetail) SetStatus

func (s *JobQueueDetail) SetStatus(v string) *JobQueueDetail

SetStatus sets the Status field's value.

func (*JobQueueDetail) SetStatusReason

func (s *JobQueueDetail) SetStatusReason(v string) *JobQueueDetail

SetStatusReason sets the StatusReason field's value.

func (*JobQueueDetail) SetTags added in v1.35.2

func (s *JobQueueDetail) SetTags(v map[string]*string) *JobQueueDetail

SetTags sets the Tags field's value.

func (JobQueueDetail) String

func (s JobQueueDetail) String() string

String returns the string representation

type JobSummary

type JobSummary struct {

	// The array properties of the job, if it is an array job.
	ArrayProperties *ArrayPropertiesSummary `locationName:"arrayProperties" type:"structure"`

	// An object representing the details of the container that's associated with
	// the job.
	Container *ContainerSummary `locationName:"container" type:"structure"`

	// The Unix timestamp for when the job was created. For non-array jobs and parent
	// array jobs, this is when the job entered the SUBMITTED state (at the time
	// SubmitJob was called). For array child jobs, this is when the child job was
	// spawned by its parent and entered the PENDING state.
	CreatedAt *int64 `locationName:"createdAt" type:"long"`

	// The Amazon Resource Name (ARN) of the job.
	JobArn *string `locationName:"jobArn" type:"string"`

	// The ID of the job.
	//
	// JobId is a required field
	JobId *string `locationName:"jobId" type:"string" required:"true"`

	// The name of the job.
	//
	// JobName is a required field
	JobName *string `locationName:"jobName" type:"string" required:"true"`

	// The node properties for a single node in a job summary list.
	//
	// This isn't applicable to jobs running on Fargate resources.
	NodeProperties *NodePropertiesSummary `locationName:"nodeProperties" type:"structure"`

	// The Unix timestamp for when the job was started (when the job transitioned
	// from the STARTING state to the RUNNING state).
	StartedAt *int64 `locationName:"startedAt" type:"long"`

	// The current status for the job.
	Status *string `locationName:"status" type:"string" enum:"JobStatus"`

	// A short, human-readable string to provide additional details about the current
	// status of the job.
	StatusReason *string `locationName:"statusReason" type:"string"`

	// The Unix timestamp for when the job was stopped (when the job transitioned
	// from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).
	StoppedAt *int64 `locationName:"stoppedAt" type:"long"`
	// contains filtered or unexported fields
}

An object representing summary details of a job.

func (JobSummary) GoString

func (s JobSummary) GoString() string

GoString returns the string representation

func (*JobSummary) SetArrayProperties added in v1.12.35

func (s *JobSummary) SetArrayProperties(v *ArrayPropertiesSummary) *JobSummary

SetArrayProperties sets the ArrayProperties field's value.

func (*JobSummary) SetContainer added in v1.12.35

func (s *JobSummary) SetContainer(v *ContainerSummary) *JobSummary

SetContainer sets the Container field's value.

func (*JobSummary) SetCreatedAt added in v1.12.35

func (s *JobSummary) SetCreatedAt(v int64) *JobSummary

SetCreatedAt sets the CreatedAt field's value.

func (*JobSummary) SetJobArn added in v1.35.2

func (s *JobSummary) SetJobArn(v string) *JobSummary

SetJobArn sets the JobArn field's value.

func (*JobSummary) SetJobId

func (s *JobSummary) SetJobId(v string) *JobSummary

SetJobId sets the JobId field's value.

func (*JobSummary) SetJobName

func (s *JobSummary) SetJobName(v string) *JobSummary

SetJobName sets the JobName field's value.

func (*JobSummary) SetNodeProperties added in v1.15.79

func (s *JobSummary) SetNodeProperties(v *NodePropertiesSummary) *JobSummary

SetNodeProperties sets the NodeProperties field's value.

func (*JobSummary) SetStartedAt added in v1.12.35

func (s *JobSummary) SetStartedAt(v int64) *JobSummary

SetStartedAt sets the StartedAt field's value.

func (*JobSummary) SetStatus added in v1.12.35

func (s *JobSummary) SetStatus(v string) *JobSummary

SetStatus sets the Status field's value.

func (*JobSummary) SetStatusReason added in v1.12.35

func (s *JobSummary) SetStatusReason(v string) *JobSummary

SetStatusReason sets the StatusReason field's value.

func (*JobSummary) SetStoppedAt added in v1.12.35

func (s *JobSummary) SetStoppedAt(v int64) *JobSummary

SetStoppedAt sets the StoppedAt field's value.

func (JobSummary) String

func (s JobSummary) String() string

String returns the string representation

type JobTimeout added in v1.13.30

type JobTimeout struct {

	// The time duration in seconds (measured from the job attempt's startedAt timestamp)
	// after which AWS Batch terminates your jobs if they have not finished. The
	// minimum value for the timeout is 60 seconds.
	AttemptDurationSeconds *int64 `locationName:"attemptDurationSeconds" type:"integer"`
	// contains filtered or unexported fields
}

An object representing a job timeout configuration.

func (JobTimeout) GoString added in v1.13.30

func (s JobTimeout) GoString() string

GoString returns the string representation

func (*JobTimeout) SetAttemptDurationSeconds added in v1.13.30

func (s *JobTimeout) SetAttemptDurationSeconds(v int64) *JobTimeout

SetAttemptDurationSeconds sets the AttemptDurationSeconds field's value.

func (JobTimeout) String added in v1.13.30

func (s JobTimeout) String() string

String returns the string representation

type KeyValuePair

type KeyValuePair struct {

	// The name of the key-value pair. For environment variables, this is the name
	// of the environment variable.
	Name *string `locationName:"name" type:"string"`

	// The value of the key-value pair. For environment variables, this is the value
	// of the environment variable.
	Value *string `locationName:"value" type:"string"`
	// contains filtered or unexported fields
}

A key-value pair object.

func (KeyValuePair) GoString

func (s KeyValuePair) GoString() string

GoString returns the string representation

func (*KeyValuePair) SetName

func (s *KeyValuePair) SetName(v string) *KeyValuePair

SetName sets the Name field's value.

func (*KeyValuePair) SetValue

func (s *KeyValuePair) SetValue(v string) *KeyValuePair

SetValue sets the Value field's value.

func (KeyValuePair) String

func (s KeyValuePair) String() string

String returns the string representation

type LaunchTemplateSpecification added in v1.15.74

type LaunchTemplateSpecification struct {

	// The ID of the launch template.
	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`

	// The name of the launch template.
	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`

	// The version number of the launch template, $Latest, or $Default.
	//
	// If the value is $Latest, the latest version of the launch template is used.
	// If the value is $Default, the default version of the launch template is used.
	//
	// After the compute environment is created, the launch template version used
	// will not be changed, even if the $Default or $Latest version for the launch
	// template is updated. To use a new launch template version, create a new compute
	// environment, add the new compute environment to the existing job queue, remove
	// the old compute environment from the job queue, and delete the old compute
	// environment.
	//
	// Default: $Default.
	Version *string `locationName:"version" type:"string"`
	// contains filtered or unexported fields
}

An object representing a launch template associated with a compute resource. You must specify either the launch template ID or launch template name in the request, but not both.

If security groups are specified using both the securityGroupIds parameter of CreateComputeEnvironment and the launch template, the values in the securityGroupIds parameter of CreateComputeEnvironment will be used.

This object isn't applicable to jobs running on Fargate resources.

func (LaunchTemplateSpecification) GoString added in v1.15.74

func (s LaunchTemplateSpecification) GoString() string

GoString returns the string representation

func (*LaunchTemplateSpecification) SetLaunchTemplateId added in v1.15.74

SetLaunchTemplateId sets the LaunchTemplateId field's value.

func (*LaunchTemplateSpecification) SetLaunchTemplateName added in v1.15.74

func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification

SetLaunchTemplateName sets the LaunchTemplateName field's value.

func (*LaunchTemplateSpecification) SetVersion added in v1.15.74

SetVersion sets the Version field's value.

func (LaunchTemplateSpecification) String added in v1.15.74

String returns the string representation

type LinuxParameters added in v1.21.6

type LinuxParameters struct {

	// Any host devices to expose to the container. This parameter maps to Devices
	// in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --device option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	Devices []*Device `locationName:"devices" type:"list"`

	// If true, run an init process inside the container that forwards signals and
	// reaps processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/).
	// This parameter requires version 1.25 of the Docker Remote API or greater
	// on your container instance. To check the Docker Remote API version on your
	// container instance, log into your container instance and run the following
	// command: sudo docker version | grep "Server API version"
	InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"`

	// The total amount of swap memory (in MiB) a container can use. This parameter
	// is translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/)
	// where the value is the sum of the container memory plus the maxSwap value.
	// For more information, see --memory-swap details (https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details)
	// in the Docker documentation.
	//
	// If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted
	// values are 0 or any positive integer. If the maxSwap parameter is omitted,
	// the container doesn't use the swap configuration for the container instance
	// it is running on. A maxSwap value must be set for the swappiness parameter
	// to be used.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	MaxSwap *int64 `locationName:"maxSwap" type:"integer"`

	// The value for the size (in MiB) of the /dev/shm volume. This parameter maps
	// to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"`

	// This allows you to tune a container's memory swappiness behavior. A swappiness
	// value of 0 causes swapping not to happen unless absolutely necessary. A swappiness
	// value of 100 causes pages to be swapped very aggressively. Accepted values
	// are whole numbers between 0 and 100. If the swappiness parameter isn't specified,
	// a default value of 60 is used. If a value isn't specified for maxSwap then
	// this parameter is ignored. If maxSwap is set to 0, the container doesn't
	// use swap. This parameter maps to the --memory-swappiness option to docker
	// run (https://docs.docker.com/engine/reference/run/).
	//
	// Consider the following when you use a per-container swap configuration.
	//
	//    * Swap space must be enabled and allocated on the container instance for
	//    the containers to use. The Amazon ECS optimized AMIs don't have swap enabled
	//    by default. You must enable swap on the instance to use this feature.
	//    For more information, see Instance Store Swap Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html)
	//    in the Amazon EC2 User Guide for Linux Instances or How do I allocate
	//    memory to work as swap space in an Amazon EC2 instance by using a swap
	//    file? (http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/)
	//
	//    * The swap space parameters are only supported for job definitions using
	//    EC2 resources.
	//
	//    * If the maxSwap and swappiness parameters are omitted from a job definition,
	//    each container will have a default swappiness value of 60, and the total
	//    swap usage will be limited to two times the memory reservation of the
	//    container.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	Swappiness *int64 `locationName:"swappiness" type:"integer"`

	// The container path, mount options, and size (in MiB) of the tmpfs mount.
	// This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"`
	// contains filtered or unexported fields
}

Linux-specific modifications that are applied to the container, such as details for device mappings.

func (LinuxParameters) GoString added in v1.21.6

func (s LinuxParameters) GoString() string

GoString returns the string representation

func (*LinuxParameters) SetDevices added in v1.21.6

func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters

SetDevices sets the Devices field's value.

func (*LinuxParameters) SetInitProcessEnabled added in v1.34.32

func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters

SetInitProcessEnabled sets the InitProcessEnabled field's value.

func (*LinuxParameters) SetMaxSwap added in v1.34.32

func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters

SetMaxSwap sets the MaxSwap field's value.

func (*LinuxParameters) SetSharedMemorySize added in v1.34.32

func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters

SetSharedMemorySize sets the SharedMemorySize field's value.

func (*LinuxParameters) SetSwappiness added in v1.34.32

func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters

SetSwappiness sets the Swappiness field's value.

func (*LinuxParameters) SetTmpfs added in v1.34.32

func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters

SetTmpfs sets the Tmpfs field's value.

func (LinuxParameters) String added in v1.21.6

func (s LinuxParameters) String() string

String returns the string representation

func (*LinuxParameters) Validate added in v1.21.6

func (s *LinuxParameters) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListJobsInput

type ListJobsInput struct {

	// The job ID for an array job. Specifying an array job ID with this parameter
	// lists all child jobs from within the specified array.
	ArrayJobId *string `locationName:"arrayJobId" type:"string"`

	// The name or full Amazon Resource Name (ARN) of the job queue used to list
	// jobs.
	JobQueue *string `locationName:"jobQueue" type:"string"`

	// The job status used to filter jobs in the specified queue. If you don't specify
	// a status, only RUNNING jobs are returned.
	JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"`

	// The maximum number of results returned by ListJobs in paginated output. When
	// this parameter is used, ListJobs only returns maxResults results in a single
	// page and a nextToken response element. The remaining results of the initial
	// request can be seen by sending another ListJobs request with the returned
	// nextToken value. This value can be between 1 and 100. If this parameter isn't
	// used, then ListJobs returns up to 100 results and a nextToken value if applicable.
	MaxResults *int64 `locationName:"maxResults" type:"integer"`

	// The job ID for a multi-node parallel job. Specifying a multi-node parallel
	// job ID with this parameter lists all nodes that are associated with the specified
	// job.
	MultiNodeJobId *string `locationName:"multiNodeJobId" type:"string"`

	// The nextToken value returned from a previous paginated ListJobs request where
	// maxResults was used and the results exceeded the value of that parameter.
	// Pagination continues from the end of the previous results that returned the
	// nextToken value. This value is null when there are no more results to return.
	//
	// This token should be treated as an opaque identifier that's only used to
	// retrieve the next items in a list and not for other programmatic purposes.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

Contains the parameters for ListJobs.

func (ListJobsInput) GoString

func (s ListJobsInput) GoString() string

GoString returns the string representation

func (*ListJobsInput) SetArrayJobId added in v1.12.35

func (s *ListJobsInput) SetArrayJobId(v string) *ListJobsInput

SetArrayJobId sets the ArrayJobId field's value.

func (*ListJobsInput) SetJobQueue

func (s *ListJobsInput) SetJobQueue(v string) *ListJobsInput

SetJobQueue sets the JobQueue field's value.

func (*ListJobsInput) SetJobStatus

func (s *ListJobsInput) SetJobStatus(v string) *ListJobsInput

SetJobStatus sets the JobStatus field's value.

func (*ListJobsInput) SetMaxResults

func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput

SetMaxResults sets the MaxResults field's value.

func (*ListJobsInput) SetMultiNodeJobId added in v1.15.79

func (s *ListJobsInput) SetMultiNodeJobId(v string) *ListJobsInput

SetMultiNodeJobId sets the MultiNodeJobId field's value.

func (*ListJobsInput) SetNextToken

func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput

SetNextToken sets the NextToken field's value.

func (ListJobsInput) String

func (s ListJobsInput) String() string

String returns the string representation

type ListJobsOutput

type ListJobsOutput struct {

	// A list of job summaries that match the request.
	//
	// JobSummaryList is a required field
	JobSummaryList []*JobSummary `locationName:"jobSummaryList" type:"list" required:"true"`

	// The nextToken value to include in a future ListJobs request. When the results
	// of a ListJobs request exceed maxResults, this value can be used to retrieve
	// the next page of results. This value is null when there are no more results
	// to return.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

func (ListJobsOutput) GoString

func (s ListJobsOutput) GoString() string

GoString returns the string representation

func (*ListJobsOutput) SetJobSummaryList

func (s *ListJobsOutput) SetJobSummaryList(v []*JobSummary) *ListJobsOutput

SetJobSummaryList sets the JobSummaryList field's value.

func (*ListJobsOutput) SetNextToken

func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput

SetNextToken sets the NextToken field's value.

func (ListJobsOutput) String

func (s ListJobsOutput) String() string

String returns the string representation

type ListTagsForResourceInput added in v1.35.2

type ListTagsForResourceInput struct {

	// The Amazon Resource Name (ARN) that identifies the resource that tags are
	// listed for. AWS Batch resources that support tags are compute environments,
	// jobs, job definitions, and job queues. ARNs for child jobs of array and multi-node
	// parallel (MNP) jobs are not supported.
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceInput) GoString added in v1.35.2

func (s ListTagsForResourceInput) GoString() string

GoString returns the string representation

func (*ListTagsForResourceInput) SetResourceArn added in v1.35.2

SetResourceArn sets the ResourceArn field's value.

func (ListTagsForResourceInput) String added in v1.35.2

func (s ListTagsForResourceInput) String() string

String returns the string representation

func (*ListTagsForResourceInput) Validate added in v1.35.2

func (s *ListTagsForResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListTagsForResourceOutput added in v1.35.2

type ListTagsForResourceOutput struct {

	// The tags for the resource.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
	// contains filtered or unexported fields
}

func (ListTagsForResourceOutput) GoString added in v1.35.2

func (s ListTagsForResourceOutput) GoString() string

GoString returns the string representation

func (*ListTagsForResourceOutput) SetTags added in v1.35.2

SetTags sets the Tags field's value.

func (ListTagsForResourceOutput) String added in v1.35.2

func (s ListTagsForResourceOutput) String() string

String returns the string representation

type LogConfiguration added in v1.34.32

type LogConfiguration struct {

	// The log driver to use for the container. The valid values listed for this
	// parameter are log drivers that the Amazon ECS container agent can communicate
	// with by default.
	//
	// The supported log drivers are awslogs, fluentd, gelf, json-file, journald,
	// logentries, syslog, and splunk.
	//
	// Jobs running on Fargate resources are restricted to the awslogs and splunk
	// log drivers.
	//
	// awslogs
	//
	// Specifies the Amazon CloudWatch Logs logging driver. For more information,
	// see Using the awslogs Log Driver (https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html)
	// in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver (https://docs.docker.com/config/containers/logging/awslogs/)
	// in the Docker documentation.
	//
	// fluentd
	//
	// Specifies the Fluentd logging driver. For more information, including usage
	// and options, see Fluentd logging driver (https://docs.docker.com/config/containers/logging/fluentd/)
	// in the Docker documentation.
	//
	// gelf
	//
	// Specifies the Graylog Extended Format (GELF) logging driver. For more information,
	// including usage and options, see Graylog Extended Format logging driver (https://docs.docker.com/config/containers/logging/gelf/)
	// in the Docker documentation.
	//
	// journald
	//
	// Specifies the journald logging driver. For more information, including usage
	// and options, see Journald logging driver (https://docs.docker.com/config/containers/logging/journald/)
	// in the Docker documentation.
	//
	// json-file
	//
	// Specifies the JSON file logging driver. For more information, including usage
	// and options, see JSON File logging driver (https://docs.docker.com/config/containers/logging/json-file/)
	// in the Docker documentation.
	//
	// splunk
	//
	// Specifies the Splunk logging driver. For more information, including usage
	// and options, see Splunk logging driver (https://docs.docker.com/config/containers/logging/splunk/)
	// in the Docker documentation.
	//
	// syslog
	//
	// Specifies the syslog logging driver. For more information, including usage
	// and options, see Syslog logging driver (https://docs.docker.com/config/containers/logging/syslog/)
	// in the Docker documentation.
	//
	// If you have a custom driver that's not listed earlier that you want to work
	// with the Amazon ECS container agent, you can fork the Amazon ECS container
	// agent project that's available on GitHub (https://github.com/aws/amazon-ecs-agent)
	// and customize it to work with that driver. We encourage you to submit pull
	// requests for changes that you want to have included. However, Amazon Web
	// Services doesn't currently support running modified copies of this software.
	//
	// This parameter requires version 1.18 of the Docker Remote API or greater
	// on your container instance. To check the Docker Remote API version on your
	// container instance, log into your container instance and run the following
	// command: sudo docker version | grep "Server API version"
	//
	// LogDriver is a required field
	LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"`

	// The configuration options to send to the log driver. This parameter requires
	// version 1.19 of the Docker Remote API or greater on your container instance.
	// To check the Docker Remote API version on your container instance, log into
	// your container instance and run the following command: sudo docker version
	// | grep "Server API version"
	Options map[string]*string `locationName:"options" type:"map"`

	// The secrets to pass to the log configuration. For more information, see Specifying
	// Sensitive Data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html)
	// in the AWS Batch User Guide.
	SecretOptions []*Secret `locationName:"secretOptions" type:"list"`
	// contains filtered or unexported fields
}

Log configuration options to send to a custom log driver for the container.

func (LogConfiguration) GoString added in v1.34.32

func (s LogConfiguration) GoString() string

GoString returns the string representation

func (*LogConfiguration) SetLogDriver added in v1.34.32

func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration

SetLogDriver sets the LogDriver field's value.

func (*LogConfiguration) SetOptions added in v1.34.32

func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration

SetOptions sets the Options field's value.

func (*LogConfiguration) SetSecretOptions added in v1.34.32

func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration

SetSecretOptions sets the SecretOptions field's value.

func (LogConfiguration) String added in v1.34.32

func (s LogConfiguration) String() string

String returns the string representation

func (*LogConfiguration) Validate added in v1.34.32

func (s *LogConfiguration) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type MountPoint

type MountPoint struct {

	// The path on the container where the host volume is mounted.
	ContainerPath *string `locationName:"containerPath" type:"string"`

	// If this value is true, the container has read-only access to the volume.
	// Otherwise, the container can write to the volume. The default value is false.
	ReadOnly *bool `locationName:"readOnly" type:"boolean"`

	// The name of the volume to mount.
	SourceVolume *string `locationName:"sourceVolume" type:"string"`
	// contains filtered or unexported fields
}

Details on a Docker volume mount point that's used in a job's container properties. This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.19/#create-a-container) section of the Docker Remote API and the --volume option to docker run.

func (MountPoint) GoString

func (s MountPoint) GoString() string

GoString returns the string representation

func (*MountPoint) SetContainerPath

func (s *MountPoint) SetContainerPath(v string) *MountPoint

SetContainerPath sets the ContainerPath field's value.

func (*MountPoint) SetReadOnly

func (s *MountPoint) SetReadOnly(v bool) *MountPoint

SetReadOnly sets the ReadOnly field's value.

func (*MountPoint) SetSourceVolume

func (s *MountPoint) SetSourceVolume(v string) *MountPoint

SetSourceVolume sets the SourceVolume field's value.

func (MountPoint) String

func (s MountPoint) String() string

String returns the string representation

type NetworkConfiguration added in v1.36.1

type NetworkConfiguration struct {

	// Indicates whether the job should have a public IP address. For a job running
	// on Fargate resources in a private subnet to send outbound traffic to the
	// internet (for example, in order to pull container images), the private subnet
	// requires a NAT gateway be attached to route requests to the internet. For
	// more information, see Amazon ECS task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html).
	// The default value is "DISABLED".
	AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"`
	// contains filtered or unexported fields
}

The network configuration for jobs running on Fargate resources. Jobs running on EC2 resources must not specify this parameter.

func (NetworkConfiguration) GoString added in v1.36.1

func (s NetworkConfiguration) GoString() string

GoString returns the string representation

func (*NetworkConfiguration) SetAssignPublicIp added in v1.36.1

func (s *NetworkConfiguration) SetAssignPublicIp(v string) *NetworkConfiguration

SetAssignPublicIp sets the AssignPublicIp field's value.

func (NetworkConfiguration) String added in v1.36.1

func (s NetworkConfiguration) String() string

String returns the string representation

type NetworkInterface added in v1.15.79

type NetworkInterface struct {

	// The attachment ID for the network interface.
	AttachmentId *string `locationName:"attachmentId" type:"string"`

	// The private IPv6 address for the network interface.
	Ipv6Address *string `locationName:"ipv6Address" type:"string"`

	// The private IPv4 address for the network interface.
	PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"`
	// contains filtered or unexported fields
}

An object representing the elastic network interface for a multi-node parallel job node.

func (NetworkInterface) GoString added in v1.15.79

func (s NetworkInterface) GoString() string

GoString returns the string representation

func (*NetworkInterface) SetAttachmentId added in v1.15.79

func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface

SetAttachmentId sets the AttachmentId field's value.

func (*NetworkInterface) SetIpv6Address added in v1.15.79

func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface

SetIpv6Address sets the Ipv6Address field's value.

func (*NetworkInterface) SetPrivateIpv4Address added in v1.15.79

func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface

SetPrivateIpv4Address sets the PrivateIpv4Address field's value.

func (NetworkInterface) String added in v1.15.79

func (s NetworkInterface) String() string

String returns the string representation

type NodeDetails added in v1.15.79

type NodeDetails struct {

	// Specifies whether the current node is the main node for a multi-node parallel
	// job.
	IsMainNode *bool `locationName:"isMainNode" type:"boolean"`

	// The node index for the node. Node index numbering begins at zero. This index
	// is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment
	// variable.
	NodeIndex *int64 `locationName:"nodeIndex" type:"integer"`
	// contains filtered or unexported fields
}

An object representing the details of a multi-node parallel job node.

func (NodeDetails) GoString added in v1.15.79

func (s NodeDetails) GoString() string

GoString returns the string representation

func (*NodeDetails) SetIsMainNode added in v1.15.79

func (s *NodeDetails) SetIsMainNode(v bool) *NodeDetails

SetIsMainNode sets the IsMainNode field's value.

func (*NodeDetails) SetNodeIndex added in v1.15.79

func (s *NodeDetails) SetNodeIndex(v int64) *NodeDetails

SetNodeIndex sets the NodeIndex field's value.

func (NodeDetails) String added in v1.15.79

func (s NodeDetails) String() string

String returns the string representation

type NodeOverrides added in v1.15.79

type NodeOverrides struct {

	// The node property overrides for the job.
	NodePropertyOverrides []*NodePropertyOverride `locationName:"nodePropertyOverrides" type:"list"`

	// The number of nodes to use with a multi-node parallel job. This value overrides
	// the number of nodes that are specified in the job definition. To use this
	// override:
	//
	//    * There must be at least one node range in your job definition that has
	//    an open upper boundary (such as : or n:).
	//
	//    * The lower boundary of the node range specified in the job definition
	//    must be fewer than the number of nodes specified in the override.
	//
	//    * The main node index specified in the job definition must be fewer than
	//    the number of nodes specified in the override.
	NumNodes *int64 `locationName:"numNodes" type:"integer"`
	// contains filtered or unexported fields
}

Object representing any node overrides to a job definition that's used in a SubmitJob API operation.

This isn't applicable to jobs running on Fargate resources and shouldn't be provided; use containerOverrides instead.

func (NodeOverrides) GoString added in v1.15.79

func (s NodeOverrides) GoString() string

GoString returns the string representation

func (*NodeOverrides) SetNodePropertyOverrides added in v1.15.79

func (s *NodeOverrides) SetNodePropertyOverrides(v []*NodePropertyOverride) *NodeOverrides

SetNodePropertyOverrides sets the NodePropertyOverrides field's value.

func (*NodeOverrides) SetNumNodes added in v1.19.9

func (s *NodeOverrides) SetNumNodes(v int64) *NodeOverrides

SetNumNodes sets the NumNodes field's value.

func (NodeOverrides) String added in v1.15.79

func (s NodeOverrides) String() string

String returns the string representation

func (*NodeOverrides) Validate added in v1.15.79

func (s *NodeOverrides) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type NodeProperties added in v1.15.79

type NodeProperties struct {

	// Specifies the node index for the main node of a multi-node parallel job.
	// This node index value must be fewer than the number of nodes.
	//
	// MainNode is a required field
	MainNode *int64 `locationName:"mainNode" type:"integer" required:"true"`

	// A list of node ranges and their properties associated with a multi-node parallel
	// job.
	//
	// NodeRangeProperties is a required field
	NodeRangeProperties []*NodeRangeProperty `locationName:"nodeRangeProperties" type:"list" required:"true"`

	// The number of nodes associated with a multi-node parallel job.
	//
	// NumNodes is a required field
	NumNodes *int64 `locationName:"numNodes" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

An object representing the node properties of a multi-node parallel job.

func (NodeProperties) GoString added in v1.15.79

func (s NodeProperties) GoString() string

GoString returns the string representation

func (*NodeProperties) SetMainNode added in v1.15.79

func (s *NodeProperties) SetMainNode(v int64) *NodeProperties

SetMainNode sets the MainNode field's value.

func (*NodeProperties) SetNodeRangeProperties added in v1.15.79

func (s *NodeProperties) SetNodeRangeProperties(v []*NodeRangeProperty) *NodeProperties

SetNodeRangeProperties sets the NodeRangeProperties field's value.

func (*NodeProperties) SetNumNodes added in v1.15.79

func (s *NodeProperties) SetNumNodes(v int64) *NodeProperties

SetNumNodes sets the NumNodes field's value.

func (NodeProperties) String added in v1.15.79

func (s NodeProperties) String() string

String returns the string representation

func (*NodeProperties) Validate added in v1.15.79

func (s *NodeProperties) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type NodePropertiesSummary added in v1.15.79

type NodePropertiesSummary struct {

	// Specifies whether the current node is the main node for a multi-node parallel
	// job.
	IsMainNode *bool `locationName:"isMainNode" type:"boolean"`

	// The node index for the node. Node index numbering begins at zero. This index
	// is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment
	// variable.
	NodeIndex *int64 `locationName:"nodeIndex" type:"integer"`

	// The number of nodes associated with a multi-node parallel job.
	NumNodes *int64 `locationName:"numNodes" type:"integer"`
	// contains filtered or unexported fields
}

An object representing the properties of a node that's associated with a multi-node parallel job.

func (NodePropertiesSummary) GoString added in v1.15.79

func (s NodePropertiesSummary) GoString() string

GoString returns the string representation

func (*NodePropertiesSummary) SetIsMainNode added in v1.15.79

func (s *NodePropertiesSummary) SetIsMainNode(v bool) *NodePropertiesSummary

SetIsMainNode sets the IsMainNode field's value.

func (*NodePropertiesSummary) SetNodeIndex added in v1.15.79

SetNodeIndex sets the NodeIndex field's value.

func (*NodePropertiesSummary) SetNumNodes added in v1.15.79

SetNumNodes sets the NumNodes field's value.

func (NodePropertiesSummary) String added in v1.15.79

func (s NodePropertiesSummary) String() string

String returns the string representation

type NodePropertyOverride added in v1.15.79

type NodePropertyOverride struct {

	// The overrides that should be sent to a node range.
	ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"`

	// The range of nodes, using node index values, that's used to override. A range
	// of 0:3 indicates nodes with index values of 0 through 3. If the starting
	// range value is omitted (:n), then 0 is used to start the range. If the ending
	// range value is omitted (n:), then the highest possible node index is used
	// to end the range.
	//
	// TargetNodes is a required field
	TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Object representing any node overrides to a job definition that's used in a SubmitJob API operation.

func (NodePropertyOverride) GoString added in v1.15.79

func (s NodePropertyOverride) GoString() string

GoString returns the string representation

func (*NodePropertyOverride) SetContainerOverrides added in v1.15.79

func (s *NodePropertyOverride) SetContainerOverrides(v *ContainerOverrides) *NodePropertyOverride

SetContainerOverrides sets the ContainerOverrides field's value.

func (*NodePropertyOverride) SetTargetNodes added in v1.15.79

func (s *NodePropertyOverride) SetTargetNodes(v string) *NodePropertyOverride

SetTargetNodes sets the TargetNodes field's value.

func (NodePropertyOverride) String added in v1.15.79

func (s NodePropertyOverride) String() string

String returns the string representation

func (*NodePropertyOverride) Validate added in v1.15.79

func (s *NodePropertyOverride) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type NodeRangeProperty added in v1.15.79

type NodeRangeProperty struct {

	// The container details for the node range.
	Container *ContainerProperties `locationName:"container" type:"structure"`

	// The range of nodes, using node index values. A range of 0:3 indicates nodes
	// with index values of 0 through 3. If the starting range value is omitted
	// (:n), then 0 is used to start the range. If the ending range value is omitted
	// (n:), then the highest possible node index is used to end the range. Your
	// accumulative node ranges must account for all nodes (0:n). You can nest node
	// ranges, for example 0:10 and 4:5, in which case the 4:5 range properties
	// override the 0:10 properties.
	//
	// TargetNodes is a required field
	TargetNodes *string `locationName:"targetNodes" type:"string" required:"true"`
	// contains filtered or unexported fields
}

An object representing the properties of the node range for a multi-node parallel job.

func (NodeRangeProperty) GoString added in v1.15.79

func (s NodeRangeProperty) GoString() string

GoString returns the string representation

func (*NodeRangeProperty) SetContainer added in v1.15.79

SetContainer sets the Container field's value.

func (*NodeRangeProperty) SetTargetNodes added in v1.15.79

func (s *NodeRangeProperty) SetTargetNodes(v string) *NodeRangeProperty

SetTargetNodes sets the TargetNodes field's value.

func (NodeRangeProperty) String added in v1.15.79

func (s NodeRangeProperty) String() string

String returns the string representation

func (*NodeRangeProperty) Validate added in v1.15.79

func (s *NodeRangeProperty) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RegisterJobDefinitionInput

type RegisterJobDefinitionInput struct {

	// An object with various properties specific to single-node container-based
	// jobs. If the job definition's type parameter is container, then you must
	// specify either containerProperties or nodeProperties.
	//
	// If the job runs on Fargate resources, then you must not specify nodeProperties;
	// use only containerProperties.
	ContainerProperties *ContainerProperties `locationName:"containerProperties" type:"structure"`

	// The name of the job definition to register. Up to 128 letters (uppercase
	// and lowercase), numbers, hyphens, and underscores are allowed.
	//
	// JobDefinitionName is a required field
	JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"`

	// An object with various properties specific to multi-node parallel jobs. If
	// you specify node properties for a job, it becomes a multi-node parallel job.
	// For more information, see Multi-node Parallel Jobs (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html)
	// in the AWS Batch User Guide. If the job definition's type parameter is container,
	// then you must specify either containerProperties or nodeProperties.
	//
	// If the job runs on Fargate resources, then you must not specify nodeProperties;
	// use containerProperties instead.
	NodeProperties *NodeProperties `locationName:"nodeProperties" type:"structure"`

	// Default parameter substitution placeholders to set in the job definition.
	// Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob
	// request override any corresponding parameter defaults from the job definition.
	Parameters map[string]*string `locationName:"parameters" type:"map"`

	// The platform capabilities required by the job definition. If no value is
	// specified, it defaults to EC2. To run the job on Fargate resources, specify
	// FARGATE.
	PlatformCapabilities []*string `locationName:"platformCapabilities" type:"list"`

	// Specifies whether to propagate the tags from the job or job definition to
	// the corresponding Amazon ECS task. If no value is specified, the tags are
	// not propagated. Tags can only be propagated to the tasks during task creation.
	// For tags with the same name, job tags are given priority over job definitions
	// tags. If the total number of combined tags from the job and job definition
	// is over 50, the job is moved to the FAILED state.
	PropagateTags *bool `locationName:"propagateTags" type:"boolean"`

	// The retry strategy to use for failed jobs that are submitted with this job
	// definition. Any retry strategy that's specified during a SubmitJob operation
	// overrides the retry strategy defined here. If a job is terminated due to
	// a timeout, it isn't retried.
	RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"`

	// The tags that you apply to the job definition to help you categorize and
	// organize your resources. Each tag consists of a key and an optional value.
	// For more information, see Tagging AWS Resources (https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html)
	// in AWS Batch User Guide.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The timeout configuration for jobs that are submitted with this job definition,
	// after which AWS Batch terminates your jobs if they have not finished. If
	// a job is terminated due to a timeout, it isn't retried. The minimum value
	// for the timeout is 60 seconds. Any timeout configuration that's specified
	// during a SubmitJob operation overrides the timeout configuration defined
	// here. For more information, see Job Timeouts (https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html)
	// in the AWS Batch User Guide.
	Timeout *JobTimeout `locationName:"timeout" type:"structure"`

	// The type of job definition. For more information about multi-node parallel
	// jobs, see Creating a multi-node parallel job definition (https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html)
	// in the AWS Batch User Guide.
	//
	// If the job is run on Fargate resources, then multinode isn't supported.
	//
	// Type is a required field
	Type *string `locationName:"type" type:"string" required:"true" enum:"JobDefinitionType"`
	// contains filtered or unexported fields
}

Contains the parameters for RegisterJobDefinition.

func (RegisterJobDefinitionInput) GoString

func (s RegisterJobDefinitionInput) GoString() string

GoString returns the string representation

func (*RegisterJobDefinitionInput) SetContainerProperties

SetContainerProperties sets the ContainerProperties field's value.

func (*RegisterJobDefinitionInput) SetJobDefinitionName

func (s *RegisterJobDefinitionInput) SetJobDefinitionName(v string) *RegisterJobDefinitionInput

SetJobDefinitionName sets the JobDefinitionName field's value.

func (*RegisterJobDefinitionInput) SetNodeProperties added in v1.15.79

SetNodeProperties sets the NodeProperties field's value.

func (*RegisterJobDefinitionInput) SetParameters

SetParameters sets the Parameters field's value.

func (*RegisterJobDefinitionInput) SetPlatformCapabilities added in v1.36.1

func (s *RegisterJobDefinitionInput) SetPlatformCapabilities(v []*string) *RegisterJobDefinitionInput

SetPlatformCapabilities sets the PlatformCapabilities field's value.

func (*RegisterJobDefinitionInput) SetPropagateTags added in v1.36.1

SetPropagateTags sets the PropagateTags field's value.

func (*RegisterJobDefinitionInput) SetRetryStrategy added in v1.8.4

SetRetryStrategy sets the RetryStrategy field's value.

func (*RegisterJobDefinitionInput) SetTags added in v1.35.2

SetTags sets the Tags field's value.

func (*RegisterJobDefinitionInput) SetTimeout added in v1.13.30

SetTimeout sets the Timeout field's value.

func (*RegisterJobDefinitionInput) SetType

SetType sets the Type field's value.

func (RegisterJobDefinitionInput) String

String returns the string representation

func (*RegisterJobDefinitionInput) Validate

func (s *RegisterJobDefinitionInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RegisterJobDefinitionOutput

type RegisterJobDefinitionOutput struct {

	// The Amazon Resource Name (ARN) of the job definition.
	//
	// JobDefinitionArn is a required field
	JobDefinitionArn *string `locationName:"jobDefinitionArn" type:"string" required:"true"`

	// The name of the job definition.
	//
	// JobDefinitionName is a required field
	JobDefinitionName *string `locationName:"jobDefinitionName" type:"string" required:"true"`

	// The revision of the job definition.
	//
	// Revision is a required field
	Revision *int64 `locationName:"revision" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

func (RegisterJobDefinitionOutput) GoString

func (s RegisterJobDefinitionOutput) GoString() string

GoString returns the string representation

func (*RegisterJobDefinitionOutput) SetJobDefinitionArn

SetJobDefinitionArn sets the JobDefinitionArn field's value.

func (*RegisterJobDefinitionOutput) SetJobDefinitionName

SetJobDefinitionName sets the JobDefinitionName field's value.

func (*RegisterJobDefinitionOutput) SetRevision

SetRevision sets the Revision field's value.

func (RegisterJobDefinitionOutput) String

String returns the string representation

type ResourceRequirement added in v1.19.9

type ResourceRequirement struct {

	// The type of resource to assign to a container. The supported resources include
	// GPU, MEMORY, and VCPU.
	//
	// Type is a required field
	Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"`

	// The quantity of the specified resource to reserve for the container. The
	// values vary based on the type specified.
	//
	// type="GPU"
	//
	// The number of physical GPUs to reserve for the container. The number of GPUs
	// reserved for all containers in a job shouldn't exceed the number of available
	// GPUs on the compute resource that the job is launched on.
	//
	// GPUs are not available for jobs running on Fargate resources.
	//
	// type="MEMORY"
	//
	// The memory hard limit (in MiB) present to the container. This parameter is
	// supported for jobs running on EC2 resources. If your container attempts to
	// exceed the memory specified, the container is terminated. This parameter
	// maps to Memory in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --memory option to docker run (https://docs.docker.com/engine/reference/run/).
	// You must specify at least 4 MiB of memory for a job. This is required but
	// can be specified in several places for multi-node parallel (MNP) jobs. It
	// must be specified for each node at least once. This parameter maps to Memory
	// in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --memory option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// If you're trying to maximize your resource utilization by providing your
	// jobs as much memory as possible for a particular instance type, see Memory
	// Management (https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html)
	// in the AWS Batch User Guide.
	//
	// For jobs running on Fargate resources, then value is the hard limit (in MiB),
	// and must match one of the supported values and the VCPU values must be one
	// of the values supported for that memory value.
	//
	// value = 512
	//
	// VCPU = 0.25
	//
	// value = 1024
	//
	// VCPU = 0.25 or 0.5
	//
	// value = 2048
	//
	// VCPU = 0.25, 0.5, or 1
	//
	// value = 3072
	//
	// VCPU = 0.5, or 1
	//
	// value = 4096
	//
	// VCPU = 0.5, 1, or 2
	//
	// value = 5120, 6144, or 7168
	//
	// VCPU = 1 or 2
	//
	// value = 8192
	//
	// VCPU = 1, 2, or 4
	//
	// value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
	//
	// VCPU = 2 or 4
	//
	// value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624,
	// 27648, 28672, 29696, or 30720
	//
	// VCPU = 4
	//
	// type="VCPU"
	//
	// The number of vCPUs reserved for the container. This parameter maps to CpuShares
	// in the Create a container (https://docs.docker.com/engine/api/v1.23/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.23/)
	// and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
	// Each vCPU is equivalent to 1,024 CPU shares. For EC2 resources, you must
	// specify at least one vCPU. This is required but can be specified in several
	// places; it must be specified for each node at least once.
	//
	// For jobs running on Fargate resources, then value must match one of the supported
	// values and the MEMORY values must be one of the values supported for that
	// VCPU value. The supported values are 0.25, 0.5, 1, 2, and 4
	//
	// value = 0.25
	//
	// MEMORY = 512, 1024, or 2048
	//
	// value = 0.5
	//
	// MEMORY = 1024, 2048, 3072, or 4096
	//
	// value = 1
	//
	// MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
	//
	// value = 2
	//
	// MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312,
	// 14336, 15360, or 16384
	//
	// value = 4
	//
	// MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408,
	// 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672,
	// 29696, or 30720
	//
	// Value is a required field
	Value *string `locationName:"value" type:"string" required:"true"`
	// contains filtered or unexported fields
}

The type and amount of a resource to assign to a container. The supported resources include GPU, MEMORY, and VCPU.

func (ResourceRequirement) GoString added in v1.19.9

func (s ResourceRequirement) GoString() string

GoString returns the string representation

func (*ResourceRequirement) SetType added in v1.19.9

SetType sets the Type field's value.

func (*ResourceRequirement) SetValue added in v1.19.9

SetValue sets the Value field's value.

func (ResourceRequirement) String added in v1.19.9

func (s ResourceRequirement) String() string

String returns the string representation

func (*ResourceRequirement) Validate added in v1.19.9

func (s *ResourceRequirement) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RetryStrategy added in v1.8.4

type RetryStrategy struct {

	// The number of times to move a job to the RUNNABLE status. You can specify
	// between 1 and 10 attempts. If the value of attempts is greater than one,
	// the job is retried on failure the same number of attempts as the value.
	Attempts *int64 `locationName:"attempts" type:"integer"`

	// Array of up to 5 objects that specify conditions under which the job should
	// be retried or failed. If this parameter is specified, then the attempts parameter
	// must also be specified.
	EvaluateOnExit []*EvaluateOnExit `locationName:"evaluateOnExit" type:"list"`
	// contains filtered or unexported fields
}

The retry strategy associated with a job. For more information, see Automated job retries (https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html) in the AWS Batch User Guide.

func (RetryStrategy) GoString added in v1.8.4

func (s RetryStrategy) GoString() string

GoString returns the string representation

func (*RetryStrategy) SetAttempts added in v1.8.4

func (s *RetryStrategy) SetAttempts(v int64) *RetryStrategy

SetAttempts sets the Attempts field's value.

func (*RetryStrategy) SetEvaluateOnExit added in v1.35.11

func (s *RetryStrategy) SetEvaluateOnExit(v []*EvaluateOnExit) *RetryStrategy

SetEvaluateOnExit sets the EvaluateOnExit field's value.

func (RetryStrategy) String added in v1.8.4

func (s RetryStrategy) String() string

String returns the string representation

func (*RetryStrategy) Validate added in v1.35.11

func (s *RetryStrategy) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Secret added in v1.34.32

type Secret struct {

	// The name of the secret.
	//
	// Name is a required field
	Name *string `locationName:"name" type:"string" required:"true"`

	// The secret to expose to the container. The supported values are either the
	// full ARN of the AWS Secrets Manager secret or the full ARN of the parameter
	// in the AWS Systems Manager Parameter Store.
	//
	// If the AWS Systems Manager Parameter Store parameter exists in the same Region
	// as the job you're launching, then you can use either the full ARN or name
	// of the parameter. If the parameter exists in a different Region, then the
	// full ARN must be specified.
	//
	// ValueFrom is a required field
	ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"`
	// contains filtered or unexported fields
}

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

  • To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.

  • To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.

For more information, see Specifying sensitive data (https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html) in the AWS Batch User Guide.

func (Secret) GoString added in v1.34.32

func (s Secret) GoString() string

GoString returns the string representation

func (*Secret) SetName added in v1.34.32

func (s *Secret) SetName(v string) *Secret

SetName sets the Name field's value.

func (*Secret) SetValueFrom added in v1.34.32

func (s *Secret) SetValueFrom(v string) *Secret

SetValueFrom sets the ValueFrom field's value.

func (Secret) String added in v1.34.32

func (s Secret) String() string

String returns the string representation

func (*Secret) Validate added in v1.34.32

func (s *Secret) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ServerException added in v1.28.0

type ServerException struct {
	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`

	Message_ *string `locationName:"message" type:"string"`
	// contains filtered or unexported fields
}

These errors are usually caused by a server issue.

func (*ServerException) Code added in v1.28.0

func (s *ServerException) Code() string

Code returns the exception type name.

func (*ServerException) Error added in v1.28.0

func (s *ServerException) Error() string

func (ServerException) GoString added in v1.28.0

func (s ServerException) GoString() string

GoString returns the string representation

func (*ServerException) Message added in v1.28.0

func (s *ServerException) Message() string

Message returns the exception's message.

func (*ServerException) OrigErr added in v1.28.0

func (s *ServerException) OrigErr() error

OrigErr always returns nil, satisfies awserr.Error interface.

func (*ServerException) RequestID added in v1.28.0

func (s *ServerException) RequestID() string

RequestID returns the service's response RequestID for request.

func (*ServerException) StatusCode added in v1.28.0

func (s *ServerException) StatusCode() int

Status code returns the HTTP status code for the request's response error.

func (ServerException) String added in v1.28.0

func (s ServerException) String() string

String returns the string representation

type SubmitJobInput

type SubmitJobInput struct {

	// The array properties for the submitted job, such as the size of the array.
	// The array size can be between 2 and 10,000. If you specify array properties
	// for a job, it becomes an array job. For more information, see Array Jobs
	// (https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html) in the
	// AWS Batch User Guide.
	ArrayProperties *ArrayProperties `locationName:"arrayProperties" type:"structure"`

	// A list of container overrides in the JSON format that specify the name of
	// a container in the specified job definition and the overrides it should receive.
	// You can override the default command for a container, which is specified
	// in the job definition or the Docker image, with a command override. You can
	// also override existing environment variables on a container or add new environment
	// variables to it with an environment override.
	ContainerOverrides *ContainerOverrides `locationName:"containerOverrides" type:"structure"`

	// A list of dependencies for the job. A job can depend upon a maximum of 20
	// jobs. You can specify a SEQUENTIAL type dependency without specifying a job
	// ID for array jobs so that each child array job completes sequentially, starting
	// at index 0. You can also specify an N_TO_N type dependency with a job ID
	// for array jobs. In that case, each index child of this job must wait for
	// the corresponding index child of each dependency to complete before it can
	// begin.
	DependsOn []*JobDependency `locationName:"dependsOn" type:"list"`

	// The job definition used by this job. This value can be one of name, name:revision,
	// or the Amazon Resource Name (ARN) for the job definition. If name is specified
	// without a revision then the latest active revision is used.
	//
	// JobDefinition is a required field
	JobDefinition *string `locationName:"jobDefinition" type:"string" required:"true"`

	// The name of the job. The first character must be alphanumeric, and up to
	// 128 letters (uppercase and lowercase), numbers, hyphens, and underscores
	// are allowed.
	//
	// JobName is a required field
	JobName *string `locationName:"jobName" type:"string" required:"true"`

	// The job queue where the job is submitted. You can specify either the name
	// or the Amazon Resource Name (ARN) of the queue.
	//
	// JobQueue is a required field
	JobQueue *string `locationName:"jobQueue" type:"string" required:"true"`

	// A list of node overrides in JSON format that specify the node range to target
	// and the container overrides for that node range.
	//
	// This parameter isn't applicable to jobs running on Fargate resources; use
	// containerOverrides instead.
	NodeOverrides *NodeOverrides `locationName:"nodeOverrides" type:"structure"`

	// Additional parameters passed to the job that replace parameter substitution
	// placeholders that are set in the job definition. Parameters are specified
	// as a key and value pair mapping. Parameters in a SubmitJob request override
	// any corresponding parameter defaults from the job definition.
	Parameters map[string]*string `locationName:"parameters" type:"map"`

	// Specifies whether to propagate the tags from the job or job definition to
	// the corresponding Amazon ECS task. If no value is specified, the tags aren't
	// propagated. Tags can only be propagated to the tasks during task creation.
	// For tags with the same name, job tags are given priority over job definitions
	// tags. If the total number of combined tags from the job and job definition
	// is over 50, the job is moved to the FAILED state. When specified, this overrides
	// the tag propagation setting in the job definition.
	PropagateTags *bool `locationName:"propagateTags" type:"boolean"`

	// The retry strategy to use for failed jobs from this SubmitJob operation.
	// When a retry strategy is specified here, it overrides the retry strategy
	// defined in the job definition.
	RetryStrategy *RetryStrategy `locationName:"retryStrategy" type:"structure"`

	// The tags that you apply to the job request to help you categorize and organize
	// your resources. Each tag consists of a key and an optional value. For more
	// information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
	// in AWS General Reference.
	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`

	// The timeout configuration for this SubmitJob operation. You can specify a
	// timeout duration after which AWS Batch terminates your jobs if they haven't
	// finished. If a job is terminated due to a timeout, it isn't retried. The
	// minimum value for the timeout is 60 seconds. This configuration overrides
	// any timeout configuration specified in the job definition. For array jobs,
	// child jobs have the same timeout configuration as the parent job. For more
	// information, see Job Timeouts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html)
	// in the Amazon Elastic Container Service Developer Guide.
	Timeout *JobTimeout `locationName:"timeout" type:"structure"`
	// contains filtered or unexported fields
}

Contains the parameters for SubmitJob.

func (SubmitJobInput) GoString

func (s SubmitJobInput) GoString() string

GoString returns the string representation

func (*SubmitJobInput) SetArrayProperties added in v1.12.35

func (s *SubmitJobInput) SetArrayProperties(v *ArrayProperties) *SubmitJobInput

SetArrayProperties sets the ArrayProperties field's value.

func (*SubmitJobInput) SetContainerOverrides

func (s *SubmitJobInput) SetContainerOverrides(v *ContainerOverrides) *SubmitJobInput

SetContainerOverrides sets the ContainerOverrides field's value.

func (*SubmitJobInput) SetDependsOn

func (s *SubmitJobInput) SetDependsOn(v []*JobDependency) *SubmitJobInput

SetDependsOn sets the DependsOn field's value.

func (*SubmitJobInput) SetJobDefinition

func (s *SubmitJobInput) SetJobDefinition(v string) *SubmitJobInput

SetJobDefinition sets the JobDefinition field's value.

func (*SubmitJobInput) SetJobName

func (s *SubmitJobInput) SetJobName(v string) *SubmitJobInput

SetJobName sets the JobName field's value.

func (*SubmitJobInput) SetJobQueue

func (s *SubmitJobInput) SetJobQueue(v string) *SubmitJobInput

SetJobQueue sets the JobQueue field's value.

func (*SubmitJobInput) SetNodeOverrides added in v1.15.79

func (s *SubmitJobInput) SetNodeOverrides(v *NodeOverrides) *SubmitJobInput

SetNodeOverrides sets the NodeOverrides field's value.

func (*SubmitJobInput) SetParameters

func (s *SubmitJobInput) SetParameters(v map[string]*string) *SubmitJobInput

SetParameters sets the Parameters field's value.

func (*SubmitJobInput) SetPropagateTags added in v1.36.1

func (s *SubmitJobInput) SetPropagateTags(v bool) *SubmitJobInput

SetPropagateTags sets the PropagateTags field's value.

func (*SubmitJobInput) SetRetryStrategy added in v1.8.4

func (s *SubmitJobInput) SetRetryStrategy(v *RetryStrategy) *SubmitJobInput

SetRetryStrategy sets the RetryStrategy field's value.

func (*SubmitJobInput) SetTags added in v1.35.2

func (s *SubmitJobInput) SetTags(v map[string]*string) *SubmitJobInput

SetTags sets the Tags field's value.

func (*SubmitJobInput) SetTimeout added in v1.13.30

func (s *SubmitJobInput) SetTimeout(v *JobTimeout) *SubmitJobInput

SetTimeout sets the Timeout field's value.

func (SubmitJobInput) String

func (s SubmitJobInput) String() string

String returns the string representation

func (*SubmitJobInput) Validate

func (s *SubmitJobInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type SubmitJobOutput

type SubmitJobOutput struct {

	// The Amazon Resource Name (ARN) for the job.
	JobArn *string `locationName:"jobArn" type:"string"`

	// The unique identifier for the job.
	//
	// JobId is a required field
	JobId *string `locationName:"jobId" type:"string" required:"true"`

	// The name of the job.
	//
	// JobName is a required field
	JobName *string `locationName:"jobName" type:"string" required:"true"`
	// contains filtered or unexported fields
}

func (SubmitJobOutput) GoString

func (s SubmitJobOutput) GoString() string

GoString returns the string representation

func (*SubmitJobOutput) SetJobArn added in v1.35.2

func (s *SubmitJobOutput) SetJobArn(v string) *SubmitJobOutput

SetJobArn sets the JobArn field's value.

func (*SubmitJobOutput) SetJobId

func (s *SubmitJobOutput) SetJobId(v string) *SubmitJobOutput

SetJobId sets the JobId field's value.

func (*SubmitJobOutput) SetJobName

func (s *SubmitJobOutput) SetJobName(v string) *SubmitJobOutput

SetJobName sets the JobName field's value.

func (SubmitJobOutput) String

func (s SubmitJobOutput) String() string

String returns the string representation

type TagResourceInput added in v1.35.2

type TagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource that tags are added to. AWS
	// Batch resources that support tags are compute environments, jobs, job definitions,
	// and job queues. ARNs for child jobs of array and multi-node parallel (MNP)
	// jobs are not supported.
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`

	// The tags that you apply to the resource to help you categorize and organize
	// your resources. Each tag consists of a key and an optional value. For more
	// information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
	// in AWS General Reference.
	//
	// Tags is a required field
	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
	// contains filtered or unexported fields
}

func (TagResourceInput) GoString added in v1.35.2

func (s TagResourceInput) GoString() string

GoString returns the string representation

func (*TagResourceInput) SetResourceArn added in v1.35.2

func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput

SetResourceArn sets the ResourceArn field's value.

func (*TagResourceInput) SetTags added in v1.35.2

func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput

SetTags sets the Tags field's value.

func (TagResourceInput) String added in v1.35.2

func (s TagResourceInput) String() string

String returns the string representation

func (*TagResourceInput) Validate added in v1.35.2

func (s *TagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TagResourceOutput added in v1.35.2

type TagResourceOutput struct {
	// contains filtered or unexported fields
}

func (TagResourceOutput) GoString added in v1.35.2

func (s TagResourceOutput) GoString() string

GoString returns the string representation

func (TagResourceOutput) String added in v1.35.2

func (s TagResourceOutput) String() string

String returns the string representation

type TerminateJobInput

type TerminateJobInput struct {

	// The AWS Batch job ID of the job to terminate.
	//
	// JobId is a required field
	JobId *string `locationName:"jobId" type:"string" required:"true"`

	// A message to attach to the job that explains the reason for canceling it.
	// This message is returned by future DescribeJobs operations on the job. This
	// message is also recorded in the AWS Batch activity logs.
	//
	// Reason is a required field
	Reason *string `locationName:"reason" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Contains the parameters for TerminateJob.

func (TerminateJobInput) GoString

func (s TerminateJobInput) GoString() string

GoString returns the string representation

func (*TerminateJobInput) SetJobId

func (s *TerminateJobInput) SetJobId(v string) *TerminateJobInput

SetJobId sets the JobId field's value.

func (*TerminateJobInput) SetReason

func (s *TerminateJobInput) SetReason(v string) *TerminateJobInput

SetReason sets the Reason field's value.

func (TerminateJobInput) String

func (s TerminateJobInput) String() string

String returns the string representation

func (*TerminateJobInput) Validate

func (s *TerminateJobInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type TerminateJobOutput

type TerminateJobOutput struct {
	// contains filtered or unexported fields
}

func (TerminateJobOutput) GoString

func (s TerminateJobOutput) GoString() string

GoString returns the string representation

func (TerminateJobOutput) String

func (s TerminateJobOutput) String() string

String returns the string representation

type Tmpfs added in v1.34.32

type Tmpfs struct {

	// The absolute file path in the container where the tmpfs volume is mounted.
	//
	// ContainerPath is a required field
	ContainerPath *string `locationName:"containerPath" type:"string" required:"true"`

	// The list of tmpfs volume mount options.
	//
	// Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev"
	// | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" |
	// "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind"
	// | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared"
	// | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime"
	// | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"
	MountOptions []*string `locationName:"mountOptions" type:"list"`

	// The size (in MiB) of the tmpfs volume.
	//
	// Size is a required field
	Size *int64 `locationName:"size" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

The container path, mount options, and size of the tmpfs mount.

This object isn't applicable to jobs running on Fargate resources.

func (Tmpfs) GoString added in v1.34.32

func (s Tmpfs) GoString() string

GoString returns the string representation

func (*Tmpfs) SetContainerPath added in v1.34.32

func (s *Tmpfs) SetContainerPath(v string) *Tmpfs

SetContainerPath sets the ContainerPath field's value.

func (*Tmpfs) SetMountOptions added in v1.34.32

func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs

SetMountOptions sets the MountOptions field's value.

func (*Tmpfs) SetSize added in v1.34.32

func (s *Tmpfs) SetSize(v int64) *Tmpfs

SetSize sets the Size field's value.

func (Tmpfs) String added in v1.34.32

func (s Tmpfs) String() string

String returns the string representation

func (*Tmpfs) Validate added in v1.34.32

func (s *Tmpfs) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type Ulimit

type Ulimit struct {

	// The hard limit for the ulimit type.
	//
	// HardLimit is a required field
	HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"`

	// The type of the ulimit.
	//
	// Name is a required field
	Name *string `locationName:"name" type:"string" required:"true"`

	// The soft limit for the ulimit type.
	//
	// SoftLimit is a required field
	SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"`
	// contains filtered or unexported fields
}

The ulimit settings to pass to the container.

This object isn't applicable to jobs running on Fargate resources.

func (Ulimit) GoString

func (s Ulimit) GoString() string

GoString returns the string representation

func (*Ulimit) SetHardLimit

func (s *Ulimit) SetHardLimit(v int64) *Ulimit

SetHardLimit sets the HardLimit field's value.

func (*Ulimit) SetName

func (s *Ulimit) SetName(v string) *Ulimit

SetName sets the Name field's value.

func (*Ulimit) SetSoftLimit

func (s *Ulimit) SetSoftLimit(v int64) *Ulimit

SetSoftLimit sets the SoftLimit field's value.

func (Ulimit) String

func (s Ulimit) String() string

String returns the string representation

func (*Ulimit) Validate

func (s *Ulimit) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UntagResourceInput added in v1.35.2

type UntagResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource from which to delete tags.
	// AWS Batch resources that support tags are compute environments, jobs, job
	// definitions, and job queues. ARNs for child jobs of array and multi-node
	// parallel (MNP) jobs are not supported.
	//
	// ResourceArn is a required field
	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`

	// The keys of the tags to be removed.
	//
	// TagKeys is a required field
	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
	// contains filtered or unexported fields
}

func (UntagResourceInput) GoString added in v1.35.2

func (s UntagResourceInput) GoString() string

GoString returns the string representation

func (*UntagResourceInput) SetResourceArn added in v1.35.2

func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput

SetResourceArn sets the ResourceArn field's value.

func (*UntagResourceInput) SetTagKeys added in v1.35.2

func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput

SetTagKeys sets the TagKeys field's value.

func (UntagResourceInput) String added in v1.35.2

func (s UntagResourceInput) String() string

String returns the string representation

func (*UntagResourceInput) Validate added in v1.35.2

func (s *UntagResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UntagResourceOutput added in v1.35.2

type UntagResourceOutput struct {
	// contains filtered or unexported fields
}

func (UntagResourceOutput) GoString added in v1.35.2

func (s UntagResourceOutput) GoString() string

GoString returns the string representation

func (UntagResourceOutput) String added in v1.35.2

func (s UntagResourceOutput) String() string

String returns the string representation

type UpdateComputeEnvironmentInput

type UpdateComputeEnvironmentInput struct {

	// The name or full Amazon Resource Name (ARN) of the compute environment to
	// update.
	//
	// ComputeEnvironment is a required field
	ComputeEnvironment *string `locationName:"computeEnvironment" type:"string" required:"true"`

	// Details of the compute resources managed by the compute environment. Required
	// for a managed compute environment. For more information, see Compute Environments
	// (https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html)
	// in the AWS Batch User Guide.
	ComputeResources *ComputeResourceUpdate `locationName:"computeResources" type:"structure"`

	// The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch
	// to make calls to other AWS services on your behalf. For more information,
	// see AWS Batch service IAM role (https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html)
	// in the AWS Batch User Guide.
	//
	// If the compute environment has a service-linked role, it cannot be changed
	// to use a regular IAM role. If the compute environment has a regular IAM role,
	// it cannot be changed to use a service-linked role.
	//
	// If your specified role has a path other than /, then you must either specify
	// the full role ARN (this is recommended) or prefix the role name with the
	// path.
	//
	// Depending on how you created your AWS Batch service role, its ARN might contain
	// the service-role path prefix. When you only specify the name of the service
	// role, AWS Batch assumes that your ARN doesn't use the service-role path prefix.
	// Because of this, we recommend that you specify the full ARN of your service
	// role when you create compute environments.
	ServiceRole *string `locationName:"serviceRole" type:"string"`

	// The state of the compute environment. Compute environments in the ENABLED
	// state can accept jobs from a queue and scale in or out automatically based
	// on the workload demand of its associated queues.
	//
	// If the state is ENABLED, then the AWS Batch scheduler can attempt to place
	// jobs from an associated job queue on the compute resources within the environment.
	// If the compute environment is managed, then it can scale its instances out
	// or in automatically, based on the job queue demand.
	//
	// If the state is DISABLED, then the AWS Batch scheduler doesn't attempt to
	// place jobs within the environment. Jobs in a STARTING or RUNNING state continue
	// to progress normally. Managed compute environments in the DISABLED state
	// don't scale out. However, they scale in to minvCpus value after instances
	// become idle.
	State *string `locationName:"state" type:"string" enum:"CEState"`
	// contains filtered or unexported fields
}

Contains the parameters for UpdateComputeEnvironment.

func (UpdateComputeEnvironmentInput) GoString

GoString returns the string representation

func (*UpdateComputeEnvironmentInput) SetComputeEnvironment

SetComputeEnvironment sets the ComputeEnvironment field's value.

func (*UpdateComputeEnvironmentInput) SetComputeResources

SetComputeResources sets the ComputeResources field's value.

func (*UpdateComputeEnvironmentInput) SetServiceRole

SetServiceRole sets the ServiceRole field's value.

func (*UpdateComputeEnvironmentInput) SetState

SetState sets the State field's value.

func (UpdateComputeEnvironmentInput) String

String returns the string representation

func (*UpdateComputeEnvironmentInput) Validate

func (s *UpdateComputeEnvironmentInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateComputeEnvironmentOutput

type UpdateComputeEnvironmentOutput struct {

	// The Amazon Resource Name (ARN) of the compute environment.
	ComputeEnvironmentArn *string `locationName:"computeEnvironmentArn" type:"string"`

	// The name of the compute environment. Up to 128 letters (uppercase and lowercase),
	// numbers, hyphens, and underscores are allowed.
	ComputeEnvironmentName *string `locationName:"computeEnvironmentName" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateComputeEnvironmentOutput) GoString

GoString returns the string representation

func (*UpdateComputeEnvironmentOutput) SetComputeEnvironmentArn

SetComputeEnvironmentArn sets the ComputeEnvironmentArn field's value.

func (*UpdateComputeEnvironmentOutput) SetComputeEnvironmentName

func (s *UpdateComputeEnvironmentOutput) SetComputeEnvironmentName(v string) *UpdateComputeEnvironmentOutput

SetComputeEnvironmentName sets the ComputeEnvironmentName field's value.

func (UpdateComputeEnvironmentOutput) String

String returns the string representation

type UpdateJobQueueInput

type UpdateJobQueueInput struct {

	// Details the set of compute environments mapped to a job queue and their order
	// relative to each other. This is one of the parameters used by the job scheduler
	// to determine which compute environment should run a given job. Compute environments
	// must be in the VALID state before you can associate them with a job queue.
	// All of the compute environments must be either EC2 (EC2 or SPOT) or Fargate
	// (FARGATE or FARGATE_SPOT). EC2 and Fargate compute environments can't be
	// mixed.
	//
	// All compute environments that are associated with a job queue must share
	// the same architecture. AWS Batch doesn't support mixing compute environment
	// architecture types in a single job queue.
	ComputeEnvironmentOrder []*ComputeEnvironmentOrder `locationName:"computeEnvironmentOrder" type:"list"`

	// The name or the Amazon Resource Name (ARN) of the job queue.
	//
	// JobQueue is a required field
	JobQueue *string `locationName:"jobQueue" type:"string" required:"true"`

	// The priority of the job queue. Job queues with a higher priority (or a higher
	// integer value for the priority parameter) are evaluated first when associated
	// with the same compute environment. Priority is determined in descending order,
	// for example, a job queue with a priority value of 10 is given scheduling
	// preference over a job queue with a priority value of 1. All of the compute
	// environments must be either EC2 (EC2 or SPOT) or Fargate (FARGATE or FARGATE_SPOT).
	// EC2 and Fargate compute environments can't be mixed.
	Priority *int64 `locationName:"priority" type:"integer"`

	// Describes the queue's ability to accept new jobs. If the job queue state
	// is ENABLED, it can accept jobs. If the job queue state is DISABLED, new jobs
	// can't be added to the queue, but jobs already in the queue can finish.
	State *string `locationName:"state" type:"string" enum:"JQState"`
	// contains filtered or unexported fields
}

Contains the parameters for UpdateJobQueue.

func (UpdateJobQueueInput) GoString

func (s UpdateJobQueueInput) GoString() string

GoString returns the string representation

func (*UpdateJobQueueInput) SetComputeEnvironmentOrder

func (s *UpdateJobQueueInput) SetComputeEnvironmentOrder(v []*ComputeEnvironmentOrder) *UpdateJobQueueInput

SetComputeEnvironmentOrder sets the ComputeEnvironmentOrder field's value.

func (*UpdateJobQueueInput) SetJobQueue

func (s *UpdateJobQueueInput) SetJobQueue(v string) *UpdateJobQueueInput

SetJobQueue sets the JobQueue field's value.

func (*UpdateJobQueueInput) SetPriority

func (s *UpdateJobQueueInput) SetPriority(v int64) *UpdateJobQueueInput

SetPriority sets the Priority field's value.

func (*UpdateJobQueueInput) SetState

SetState sets the State field's value.

func (UpdateJobQueueInput) String

func (s UpdateJobQueueInput) String() string

String returns the string representation

func (*UpdateJobQueueInput) Validate

func (s *UpdateJobQueueInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type UpdateJobQueueOutput

type UpdateJobQueueOutput struct {

	// The Amazon Resource Name (ARN) of the job queue.
	JobQueueArn *string `locationName:"jobQueueArn" type:"string"`

	// The name of the job queue.
	JobQueueName *string `locationName:"jobQueueName" type:"string"`
	// contains filtered or unexported fields
}

func (UpdateJobQueueOutput) GoString

func (s UpdateJobQueueOutput) GoString() string

GoString returns the string representation

func (*UpdateJobQueueOutput) SetJobQueueArn

func (s *UpdateJobQueueOutput) SetJobQueueArn(v string) *UpdateJobQueueOutput

SetJobQueueArn sets the JobQueueArn field's value.

func (*UpdateJobQueueOutput) SetJobQueueName

func (s *UpdateJobQueueOutput) SetJobQueueName(v string) *UpdateJobQueueOutput

SetJobQueueName sets the JobQueueName field's value.

func (UpdateJobQueueOutput) String

func (s UpdateJobQueueOutput) String() string

String returns the string representation

type Volume

type Volume struct {

	// This parameter is specified when you are using an Amazon Elastic File System
	// file system for job storage. Jobs running on Fargate resources must specify
	// a platformVersion of at least 1.4.0.
	EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"`

	// The contents of the host parameter determine whether your data volume persists
	// on the host container instance and where it is stored. If the host parameter
	// is empty, then the Docker daemon assigns a host path for your data volume.
	// However, the data isn't guaranteed to persist after the containers associated
	// with it stop running.
	//
	// This parameter isn't applicable to jobs running on Fargate resources and
	// shouldn't be provided.
	Host *Host `locationName:"host" type:"structure"`

	// The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,
	// hyphens, and underscores are allowed. This name is referenced in the sourceVolume
	// parameter of container definition mountPoints.
	Name *string `locationName:"name" type:"string"`
	// contains filtered or unexported fields
}

A data volume used in a job's container properties.

func (Volume) GoString

func (s Volume) GoString() string

GoString returns the string representation

func (*Volume) SetEfsVolumeConfiguration added in v1.38.10

func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume

SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.

func (*Volume) SetHost

func (s *Volume) SetHost(v *Host) *Volume

SetHost sets the Host field's value.

func (*Volume) SetName

func (s *Volume) SetName(v string) *Volume

SetName sets the Name field's value.

func (Volume) String

func (s Volume) String() string

String returns the string representation

func (*Volume) Validate added in v1.38.10

func (s *Volume) Validate() error

Validate inspects the fields of the type to determine if they are valid.

Directories

Path Synopsis
Package batchiface provides an interface to enable mocking the AWS Batch service client for testing your code.
Package batchiface provides an interface to enable mocking the AWS Batch service client for testing your code.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL