ecs

package
v1.13.23 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package ecs provides the client and types for making API requests to Amazon EC2 Container Service.

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html).

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

See https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13 for more information on this service.

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

Using the Client

To contact Amazon EC2 Container Service 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 Amazon EC2 Container Service client ECS for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/ecs/#New

Index

Examples

Constants

View Source
const (
	// AgentUpdateStatusPending is a AgentUpdateStatus enum value
	AgentUpdateStatusPending = "PENDING"

	// AgentUpdateStatusStaging is a AgentUpdateStatus enum value
	AgentUpdateStatusStaging = "STAGING"

	// AgentUpdateStatusStaged is a AgentUpdateStatus enum value
	AgentUpdateStatusStaged = "STAGED"

	// AgentUpdateStatusUpdating is a AgentUpdateStatus enum value
	AgentUpdateStatusUpdating = "UPDATING"

	// AgentUpdateStatusUpdated is a AgentUpdateStatus enum value
	AgentUpdateStatusUpdated = "UPDATED"

	// AgentUpdateStatusFailed is a AgentUpdateStatus enum value
	AgentUpdateStatusFailed = "FAILED"
)
View Source
const (
	// AssignPublicIpEnabled is a AssignPublicIp enum value
	AssignPublicIpEnabled = "ENABLED"

	// AssignPublicIpDisabled is a AssignPublicIp enum value
	AssignPublicIpDisabled = "DISABLED"
)
View Source
const (
	// CompatibilityEc2 is a Compatibility enum value
	CompatibilityEc2 = "EC2"

	// CompatibilityFargate is a Compatibility enum value
	CompatibilityFargate = "FARGATE"
)
View Source
const (
	// ConnectivityConnected is a Connectivity enum value
	ConnectivityConnected = "CONNECTED"

	// ConnectivityDisconnected is a Connectivity enum value
	ConnectivityDisconnected = "DISCONNECTED"
)
View Source
const (
	// ContainerInstanceStatusActive is a ContainerInstanceStatus enum value
	ContainerInstanceStatusActive = "ACTIVE"

	// ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value
	ContainerInstanceStatusDraining = "DRAINING"
)
View Source
const (
	// DesiredStatusRunning is a DesiredStatus enum value
	DesiredStatusRunning = "RUNNING"

	// DesiredStatusPending is a DesiredStatus enum value
	DesiredStatusPending = "PENDING"

	// DesiredStatusStopped is a DesiredStatus enum value
	DesiredStatusStopped = "STOPPED"
)
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 (
	// HealthStatusHealthy is a HealthStatus enum value
	HealthStatusHealthy = "HEALTHY"

	// HealthStatusUnhealthy is a HealthStatus enum value
	HealthStatusUnhealthy = "UNHEALTHY"

	// HealthStatusUnknown is a HealthStatus enum value
	HealthStatusUnknown = "UNKNOWN"
)
View Source
const (
	// LaunchTypeEc2 is a LaunchType enum value
	LaunchTypeEc2 = "EC2"

	// LaunchTypeFargate is a LaunchType enum value
	LaunchTypeFargate = "FARGATE"
)
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 (
	// NetworkModeBridge is a NetworkMode enum value
	NetworkModeBridge = "bridge"

	// NetworkModeHost is a NetworkMode enum value
	NetworkModeHost = "host"

	// NetworkModeAwsvpc is a NetworkMode enum value
	NetworkModeAwsvpc = "awsvpc"

	// NetworkModeNone is a NetworkMode enum value
	NetworkModeNone = "none"
)
View Source
const (
	// PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value
	PlacementConstraintTypeDistinctInstance = "distinctInstance"

	// PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value
	PlacementConstraintTypeMemberOf = "memberOf"
)
View Source
const (
	// PlacementStrategyTypeRandom is a PlacementStrategyType enum value
	PlacementStrategyTypeRandom = "random"

	// PlacementStrategyTypeSpread is a PlacementStrategyType enum value
	PlacementStrategyTypeSpread = "spread"

	// PlacementStrategyTypeBinpack is a PlacementStrategyType enum value
	PlacementStrategyTypeBinpack = "binpack"
)
View Source
const (
	// SortOrderAsc is a SortOrder enum value
	SortOrderAsc = "ASC"

	// SortOrderDesc is a SortOrder enum value
	SortOrderDesc = "DESC"
)
View Source
const (
	// TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value
	TaskDefinitionFamilyStatusActive = "ACTIVE"

	// TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value
	TaskDefinitionFamilyStatusInactive = "INACTIVE"

	// TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value
	TaskDefinitionFamilyStatusAll = "ALL"
)
View Source
const (
	// TaskDefinitionStatusActive is a TaskDefinitionStatus enum value
	TaskDefinitionStatusActive = "ACTIVE"

	// TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value
	TaskDefinitionStatusInactive = "INACTIVE"
)
View Source
const (
	// TransportProtocolTcp is a TransportProtocol enum value
	TransportProtocolTcp = "tcp"

	// TransportProtocolUdp is a TransportProtocol enum value
	TransportProtocolUdp = "udp"
)
View Source
const (
	// UlimitNameCore is a UlimitName enum value
	UlimitNameCore = "core"

	// UlimitNameCpu is a UlimitName enum value
	UlimitNameCpu = "cpu"

	// UlimitNameData is a UlimitName enum value
	UlimitNameData = "data"

	// UlimitNameFsize is a UlimitName enum value
	UlimitNameFsize = "fsize"

	// UlimitNameLocks is a UlimitName enum value
	UlimitNameLocks = "locks"

	// UlimitNameMemlock is a UlimitName enum value
	UlimitNameMemlock = "memlock"

	// UlimitNameMsgqueue is a UlimitName enum value
	UlimitNameMsgqueue = "msgqueue"

	// UlimitNameNice is a UlimitName enum value
	UlimitNameNice = "nice"

	// UlimitNameNofile is a UlimitName enum value
	UlimitNameNofile = "nofile"

	// UlimitNameNproc is a UlimitName enum value
	UlimitNameNproc = "nproc"

	// UlimitNameRss is a UlimitName enum value
	UlimitNameRss = "rss"

	// UlimitNameRtprio is a UlimitName enum value
	UlimitNameRtprio = "rtprio"

	// UlimitNameRttime is a UlimitName enum value
	UlimitNameRttime = "rttime"

	// UlimitNameSigpending is a UlimitName enum value
	UlimitNameSigpending = "sigpending"

	// UlimitNameStack is a UlimitName enum value
	UlimitNameStack = "stack"
)
View Source
const (

	// ErrCodeAccessDeniedException for service response error code
	// "AccessDeniedException".
	//
	// You do not have authorization to perform the requested action.
	ErrCodeAccessDeniedException = "AccessDeniedException"

	// ErrCodeAttributeLimitExceededException for service response error code
	// "AttributeLimitExceededException".
	//
	// You can apply up to 10 custom attributes per resource. You can view the attributes
	// of a resource with ListAttributes. You can remove existing attributes on
	// a resource with DeleteAttributes.
	ErrCodeAttributeLimitExceededException = "AttributeLimitExceededException"

	// ErrCodeBlockedException for service response error code
	// "BlockedException".
	//
	// Your AWS account has been blocked. Contact AWS Support (http://aws.amazon.com/contact-us/)
	// for more information.
	ErrCodeBlockedException = "BlockedException"

	// 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 is not valid.
	ErrCodeClientException = "ClientException"

	// ErrCodeClusterContainsContainerInstancesException for service response error code
	// "ClusterContainsContainerInstancesException".
	//
	// You cannot delete a cluster that has registered container instances. You
	// must first deregister the container instances before you can delete the cluster.
	// For more information, see DeregisterContainerInstance.
	ErrCodeClusterContainsContainerInstancesException = "ClusterContainsContainerInstancesException"

	// ErrCodeClusterContainsServicesException for service response error code
	// "ClusterContainsServicesException".
	//
	// You cannot delete a cluster that contains services. You must first update
	// the service to reduce its desired task count to 0 and then delete the service.
	// For more information, see UpdateService and DeleteService.
	ErrCodeClusterContainsServicesException = "ClusterContainsServicesException"

	// ErrCodeClusterContainsTasksException for service response error code
	// "ClusterContainsTasksException".
	//
	// You cannot delete a cluster that has active tasks.
	ErrCodeClusterContainsTasksException = "ClusterContainsTasksException"

	// ErrCodeClusterNotFoundException for service response error code
	// "ClusterNotFoundException".
	//
	// The specified cluster could not be found. You can view your available clusters
	// with ListClusters. Amazon ECS clusters are region-specific.
	ErrCodeClusterNotFoundException = "ClusterNotFoundException"

	// ErrCodeInvalidParameterException for service response error code
	// "InvalidParameterException".
	//
	// The specified parameter is invalid. Review the available parameters for the
	// API request.
	ErrCodeInvalidParameterException = "InvalidParameterException"

	// ErrCodeMissingVersionException for service response error code
	// "MissingVersionException".
	//
	// Amazon ECS is unable to determine the current version of the Amazon ECS container
	// agent on the container instance and does not have enough information to proceed
	// with an update. This could be because the agent running on the container
	// instance is an older or custom version that does not use our version information.
	ErrCodeMissingVersionException = "MissingVersionException"

	// ErrCodeNoUpdateAvailableException for service response error code
	// "NoUpdateAvailableException".
	//
	// There is no update available for this Amazon ECS container agent. This could
	// be because the agent is already running the latest version, or it is so old
	// that there is no update path to the current version.
	ErrCodeNoUpdateAvailableException = "NoUpdateAvailableException"

	// ErrCodePlatformTaskDefinitionIncompatibilityException for service response error code
	// "PlatformTaskDefinitionIncompatibilityException".
	//
	// The specified platform version does not satisfy the task definition’s required
	// capabilities.
	ErrCodePlatformTaskDefinitionIncompatibilityException = "PlatformTaskDefinitionIncompatibilityException"

	// ErrCodePlatformUnknownException for service response error code
	// "PlatformUnknownException".
	//
	// The specified platform version does not exist.
	ErrCodePlatformUnknownException = "PlatformUnknownException"

	// ErrCodeServerException for service response error code
	// "ServerException".
	//
	// These errors are usually caused by a server issue.
	ErrCodeServerException = "ServerException"

	// ErrCodeServiceNotActiveException for service response error code
	// "ServiceNotActiveException".
	//
	// The specified service is not active. You can't update a service that is inactive.
	// If you have previously deleted a service, you can re-create it with CreateService.
	ErrCodeServiceNotActiveException = "ServiceNotActiveException"

	// ErrCodeServiceNotFoundException for service response error code
	// "ServiceNotFoundException".
	//
	// The specified service could not be found. You can view your available services
	// with ListServices. Amazon ECS services are cluster-specific and region-specific.
	ErrCodeServiceNotFoundException = "ServiceNotFoundException"

	// ErrCodeTargetNotFoundException for service response error code
	// "TargetNotFoundException".
	//
	// The specified target could not be found. You can view your available container
	// instances with ListContainerInstances. Amazon ECS container instances are
	// cluster-specific and region-specific.
	ErrCodeTargetNotFoundException = "TargetNotFoundException"

	// ErrCodeUnsupportedFeatureException for service response error code
	// "UnsupportedFeatureException".
	//
	// The specified task is not supported in this region.
	ErrCodeUnsupportedFeatureException = "UnsupportedFeatureException"

	// ErrCodeUpdateInProgressException for service response error code
	// "UpdateInProgressException".
	//
	// There is already a current Amazon ECS container agent update in progress
	// on the specified container instance. If the container agent becomes disconnected
	// while it is in a transitional stage, such as PENDING or STAGING, the update
	// process can get stuck in that state. However, when the agent reconnects,
	// it resumes where it stopped previously.
	ErrCodeUpdateInProgressException = "UpdateInProgressException"
)
View Source
const (
	ServiceName = "ecs"       // Service endpoint prefix API calls made to.
	EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
)

Service information constants

View Source
const (
	// ClusterFieldStatistics is a ClusterField enum value
	ClusterFieldStatistics = "STATISTICS"
)
View Source
const (
	// TargetTypeContainerInstance is a TargetType enum value
	TargetTypeContainerInstance = "container-instance"
)
View Source
const (
	// TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value
	TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Attachment added in v1.12.27

type Attachment struct {

	// Details of the attachment. For Elastic Network Interfaces, this includes
	// the network interface ID, the MAC address, the subnet ID, and the private
	// IPv4 address.
	Details []*KeyValuePair `locationName:"details" type:"list"`

	// The unique identifier for the attachment.
	Id *string `locationName:"id" type:"string"`

	// The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING,
	// ATTACHED, DETACHING, DETACHED, and DELETED.
	Status *string `locationName:"status" type:"string"`

	// The type of the attachment, such as ElasticNetworkInterface.
	Type *string `locationName:"type" type:"string"`
	// contains filtered or unexported fields
}

An object representing a container instance or task attachment.

func (Attachment) GoString added in v1.12.27

func (s Attachment) GoString() string

GoString returns the string representation

func (*Attachment) SetDetails added in v1.12.27

func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment

SetDetails sets the Details field's value.

func (*Attachment) SetId added in v1.12.27

func (s *Attachment) SetId(v string) *Attachment

SetId sets the Id field's value.

func (*Attachment) SetStatus added in v1.12.27

func (s *Attachment) SetStatus(v string) *Attachment

SetStatus sets the Status field's value.

func (*Attachment) SetType added in v1.12.27

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

SetType sets the Type field's value.

func (Attachment) String added in v1.12.27

func (s Attachment) String() string

String returns the string representation

type AttachmentStateChange added in v1.12.27

type AttachmentStateChange struct {

	// The Amazon Resource Name (ARN) of the attachment.
	//
	// AttachmentArn is a required field
	AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"`

	// The status of the attachment.
	//
	// Status is a required field
	Status *string `locationName:"status" type:"string" required:"true"`
	// contains filtered or unexported fields
}

An object representing a change in state for a task attachment.

func (AttachmentStateChange) GoString added in v1.12.27

func (s AttachmentStateChange) GoString() string

GoString returns the string representation

func (*AttachmentStateChange) SetAttachmentArn added in v1.12.27

func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange

SetAttachmentArn sets the AttachmentArn field's value.

func (*AttachmentStateChange) SetStatus added in v1.12.27

SetStatus sets the Status field's value.

func (AttachmentStateChange) String added in v1.12.27

func (s AttachmentStateChange) String() string

String returns the string representation

func (*AttachmentStateChange) Validate added in v1.12.27

func (s *AttachmentStateChange) Validate() error

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

type Attribute added in v0.9.14

type Attribute struct {

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

	// The ID of the target. You can specify the short form ID for a resource or
	// the full Amazon Resource Name (ARN).
	TargetId *string `locationName:"targetId" type:"string"`

	// The type of the target with which to attach the attribute. This parameter
	// is required if you use the short form ID for a resource instead of the full
	// ARN.
	TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"`

	// The value of the attribute. Up to 128 letters (uppercase and lowercase),
	// numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons,
	// and spaces are allowed.
	Value *string `locationName:"value" type:"string"`
	// contains filtered or unexported fields
}

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) in the Amazon Elastic Container Service Developer Guide.

func (Attribute) GoString added in v0.9.14

func (s Attribute) GoString() string

GoString returns the string representation

func (*Attribute) SetName added in v1.5.0

func (s *Attribute) SetName(v string) *Attribute

SetName sets the Name field's value.

func (*Attribute) SetTargetId added in v1.6.9

func (s *Attribute) SetTargetId(v string) *Attribute

SetTargetId sets the TargetId field's value.

func (*Attribute) SetTargetType added in v1.6.9

func (s *Attribute) SetTargetType(v string) *Attribute

SetTargetType sets the TargetType field's value.

func (*Attribute) SetValue added in v1.5.0

func (s *Attribute) SetValue(v string) *Attribute

SetValue sets the Value field's value.

func (Attribute) String added in v0.9.14

func (s Attribute) String() string

String returns the string representation

func (*Attribute) Validate added in v1.1.21

func (s *Attribute) Validate() error

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

type AwsVpcConfiguration added in v1.12.27

type AwsVpcConfiguration struct {

	// Whether the task's elastic network interface receives a public IP address.
	AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"`

	// The security groups associated with the task or service. If you do not specify
	// a security group, the default security group for the VPC is used. There is
	// a limit of 5 security groups able to be specified per AwsVpcConfiguration.
	SecurityGroups []*string `locationName:"securityGroups" type:"list"`

	// The subnets associated with the task or service. There is a limit of 10 subnets
	// able to be specified per AwsVpcConfiguration.
	//
	// Subnets is a required field
	Subnets []*string `locationName:"subnets" type:"list" required:"true"`
	// contains filtered or unexported fields
}

An object representing the networking details for a task or service.

func (AwsVpcConfiguration) GoString added in v1.12.27

func (s AwsVpcConfiguration) GoString() string

GoString returns the string representation

func (*AwsVpcConfiguration) SetAssignPublicIp added in v1.12.36

func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration

SetAssignPublicIp sets the AssignPublicIp field's value.

func (*AwsVpcConfiguration) SetSecurityGroups added in v1.12.27

func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration

SetSecurityGroups sets the SecurityGroups field's value.

func (*AwsVpcConfiguration) SetSubnets added in v1.12.27

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

SetSubnets sets the Subnets field's value.

func (AwsVpcConfiguration) String added in v1.12.27

func (s AwsVpcConfiguration) String() string

String returns the string representation

func (*AwsVpcConfiguration) Validate added in v1.12.27

func (s *AwsVpcConfiguration) Validate() error

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

type Cluster

type Cluster struct {

	// The number of services that are running on the cluster in an ACTIVE state.
	// You can view these services with ListServices.
	ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"`

	// The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains
	// the arn:aws:ecs namespace, followed by the region of the cluster, the AWS
	// account ID of the cluster owner, the cluster namespace, and then the cluster
	// name. For example, arn:aws:ecs:region:012345678910:cluster/test..
	ClusterArn *string `locationName:"clusterArn" type:"string"`

	// A user-generated string that you use to identify your cluster.
	ClusterName *string `locationName:"clusterName" type:"string"`

	// The number of tasks in the cluster that are in the PENDING state.
	PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"`

	// The number of container instances registered into the cluster.
	RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"`

	// The number of tasks in the cluster that are in the RUNNING state.
	RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"`

	// Additional information about your clusters that are separated by launch type,
	// including:
	//
	//    * runningEC2TasksCount
	//
	//    * RunningFargateTasksCount
	//
	//    * pendingEC2TasksCount
	//
	//    * pendingFargateTasksCount
	//
	//    * activeEC2ServiceCount
	//
	//    * activeFargateServiceCount
	//
	//    * drainingEC2ServiceCount
	//
	//    * drainingFargateServiceCount
	Statistics []*KeyValuePair `locationName:"statistics" type:"list"`

	// The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE
	// indicates that you can register container instances with the cluster and
	// the associated instances can accept tasks.
	Status *string `locationName:"status" type:"string"`
	// contains filtered or unexported fields
}

A regional grouping of one or more container instances on which you can run task requests. Each account receives a default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may contain more than one instance type simultaneously.

func (Cluster) GoString added in v0.6.5

func (s Cluster) GoString() string

GoString returns the string representation

func (*Cluster) SetActiveServicesCount added in v1.5.0

func (s *Cluster) SetActiveServicesCount(v int64) *Cluster

SetActiveServicesCount sets the ActiveServicesCount field's value.

func (*Cluster) SetClusterArn added in v1.5.0

func (s *Cluster) SetClusterArn(v string) *Cluster

SetClusterArn sets the ClusterArn field's value.

func (*Cluster) SetClusterName added in v1.5.0

func (s *Cluster) SetClusterName(v string) *Cluster

SetClusterName sets the ClusterName field's value.

func (*Cluster) SetPendingTasksCount added in v1.5.0

func (s *Cluster) SetPendingTasksCount(v int64) *Cluster

SetPendingTasksCount sets the PendingTasksCount field's value.

func (*Cluster) SetRegisteredContainerInstancesCount added in v1.5.0

func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster

SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value.

func (*Cluster) SetRunningTasksCount added in v1.5.0

func (s *Cluster) SetRunningTasksCount(v int64) *Cluster

SetRunningTasksCount sets the RunningTasksCount field's value.

func (*Cluster) SetStatistics added in v1.12.36

func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster

SetStatistics sets the Statistics field's value.

func (*Cluster) SetStatus added in v1.5.0

func (s *Cluster) SetStatus(v string) *Cluster

SetStatus sets the Status field's value.

func (Cluster) String added in v0.6.5

func (s Cluster) String() string

String returns the string representation

type Container

type Container struct {

	// The Amazon Resource Name (ARN) of the container.
	ContainerArn *string `locationName:"containerArn" type:"string"`

	// The exit code returned from the container.
	ExitCode *int64 `locationName:"exitCode" type:"integer"`

	// The health status of the container. If health checks are not configured for
	// this container in its task definition, then it reports health status as UNKNOWN.
	HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"`

	// The last known status of the container.
	LastStatus *string `locationName:"lastStatus" type:"string"`

	// The name of the container.
	Name *string `locationName:"name" type:"string"`

	// The network bindings associated with the container.
	NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"`

	// The network interfaces associated with the container.
	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 ARN of the task.
	TaskArn *string `locationName:"taskArn" type:"string"`
	// contains filtered or unexported fields
}

A Docker container that is part of a task.

func (Container) GoString added in v0.6.5

func (s Container) GoString() string

GoString returns the string representation

func (*Container) SetContainerArn added in v1.5.0

func (s *Container) SetContainerArn(v string) *Container

SetContainerArn sets the ContainerArn field's value.

func (*Container) SetExitCode added in v1.5.0

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

SetExitCode sets the ExitCode field's value.

func (*Container) SetHealthStatus added in v1.13.11

func (s *Container) SetHealthStatus(v string) *Container

SetHealthStatus sets the HealthStatus field's value.

func (*Container) SetLastStatus added in v1.5.0

func (s *Container) SetLastStatus(v string) *Container

SetLastStatus sets the LastStatus field's value.

func (*Container) SetName added in v1.5.0

func (s *Container) SetName(v string) *Container

SetName sets the Name field's value.

func (*Container) SetNetworkBindings added in v1.5.0

func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container

SetNetworkBindings sets the NetworkBindings field's value.

func (*Container) SetNetworkInterfaces added in v1.12.27

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

SetNetworkInterfaces sets the NetworkInterfaces field's value.

func (*Container) SetReason added in v1.5.0

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

SetReason sets the Reason field's value.

func (*Container) SetTaskArn added in v1.5.0

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

SetTaskArn sets the TaskArn field's value.

func (Container) String added in v0.6.5

func (s Container) String() string

String returns the string representation

type ContainerDefinition

type ContainerDefinition struct {

	// The command that is passed to the container. This parameter maps to Cmd in
	// the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// 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 number of cpu units reserved for the container. This parameter maps to
	// CpuShares in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This field is optional for tasks using the Fargate launch type, and the only
	// requirement is that the total amount of CPU reserved for all containers within
	// a task be lower than the task-level cpu value.
	//
	// You can determine the number of CPU units that are available per EC2 instance
	// type by multiplying the vCPUs listed for that instance type on the Amazon
	// EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by
	// 1,024.
	//
	// For example, if you run a single-container task on a single-core instance
	// type with 512 CPU units specified for that container, and that is the only
	// task running on the container instance, that container could use the full
	// 1,024 CPU unit share at any given time. However, if you launched another
	// copy of the same task on that container instance, each task would be guaranteed
	// a minimum of 512 CPU units when needed, and each container could float to
	// higher CPU usage if the other container was not using it, but if both tasks
	// were 100% active all of the time, they would be limited to 512 CPU units.
	//
	// Linux containers share unallocated CPU units with other containers on the
	// container instance with the same ratio as their allocated amount. For example,
	// if you run a single-container task on a single-core instance type with 512
	// CPU units specified for that container, and that is the only task running
	// on the container instance, that container could use the full 1,024 CPU unit
	// share at any given time. However, if you launched another copy of the same
	// task on that container instance, each task would be guaranteed a minimum
	// of 512 CPU units when needed, and each container could float to higher CPU
	// usage if the other container was not using it, but if both tasks were 100%
	// active all of the time, they would be limited to 512 CPU units.
	//
	// On Linux container instances, the Docker daemon on the container instance
	// uses the CPU value to calculate the relative CPU share ratios for running
	// containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint)
	// in the Docker documentation. The minimum valid CPU share value that the Linux
	// kernel allows is 2; however, the CPU parameter is not required, and you can
	// use CPU values below 2 in your container definitions. For CPU values below
	// 2 (including null), the behavior varies based on your Amazon ECS container
	// agent version:
	//
	//    * Agent versions less than or equal to 1.1.0: Null and zero CPU values
	//    are passed to Docker as 0, which Docker then converts to 1,024 CPU shares.
	//    CPU values of 1 are passed to Docker as 1, which the Linux kernel converts
	//    to 2 CPU shares.
	//
	//    * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values
	//    of 1 are passed to Docker as 2.
	//
	// On Windows container instances, the CPU limit is enforced as an absolute
	// limit, or a quota. Windows containers only have access to the specified amount
	// of CPU that is described in the task definition.
	Cpu *int64 `locationName:"cpu" type:"integer"`

	// When this parameter is true, networking is disabled within the container.
	// This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/).
	//
	// This parameter is not supported for Windows containers.
	DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"`

	// A list of DNS search domains that are presented to the container. This parameter
	// maps to DnsSearch in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is not supported for Windows containers.
	DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"`

	// A list of DNS servers that are presented to the container. This parameter
	// maps to Dns in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --dns option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is not supported for Windows containers.
	DnsServers []*string `locationName:"dnsServers" type:"list"`

	// A key/value map of labels to add to the container. This parameter maps to
	// Labels in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --label option to docker run (https://docs.docker.com/engine/reference/run/).
	// 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 in to your container instance and run the following
	// command: sudo docker version | grep "Server API version"
	DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"`

	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
	// security systems. This field is not valid for containers in tasks using the
	// Fargate launch type.
	//
	// This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// The Amazon ECS container agent running on a container instance must register
	// with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment
	// variables before containers placed on that instance can use these security
	// options. For more information, see Amazon ECS Container Agent Configuration
	// (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)
	// in the Amazon Elastic Container Service Developer Guide.
	//
	// This parameter is not supported for Windows containers.
	DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"`

	// Early versions of the Amazon ECS container agent do not properly handle entryPoint
	// parameters. If you have problems using entryPoint, update your container
	// agent or enter your commands and arguments as command array items instead.
	//
	// The entry point that is passed to the container. This parameter maps to Entrypoint
	// in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/).
	// For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint
	// (https://docs.docker.com/engine/reference/builder/#entrypoint).
	EntryPoint []*string `locationName:"entryPoint" 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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --env option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// We do not recommend using plaintext environment variables for sensitive information,
	// such as credential data.
	Environment []*KeyValuePair `locationName:"environment" type:"list"`

	// If the essential parameter of a container is marked as true, and that container
	// fails or stops for any reason, all other containers that are part of the
	// task are stopped. If the essential parameter of a container is marked as
	// false, then its failure does not affect the rest of the containers in a task.
	// If this parameter is omitted, a container is assumed to be essential.
	//
	// All tasks must have at least one essential container. If you have an application
	// that is composed of multiple containers, you should group containers that
	// are used for a common purpose into components, and separate the different
	// components into multiple task definitions. For more information, see Application
	// Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html)
	// in the Amazon Elastic Container Service Developer Guide.
	Essential *bool `locationName:"essential" type:"boolean"`

	// A list of hostnames and IP address mappings to append to the /etc/hosts file
	// on the container. If using the Fargate launch type, this may be used to list
	// non-Fargate hosts you want the container to talk to. This parameter maps
	// to ExtraHosts in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --add-host option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is not supported for Windows containers.
	ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"`

	// The health check command and associated configuration parameters for the
	// container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/).
	HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"`

	// The hostname to use for your container. This parameter maps to Hostname in
	// the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/).
	Hostname *string `locationName:"hostname" type:"string"`

	// 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 either repository-url/image:tag or
	// repository-url/image@digest. 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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/).
	//
	//    * When a new task starts, the Amazon ECS container agent pulls the latest
	//    version of the specified image and tag for the container to use. However,
	//    subsequent updates to a repository image are not propagated to already
	//    running tasks.
	//
	//    * Images in Amazon ECR repositories can be specified by either using the
	//    full registry/repository:tag or registry/repository@digest. For example,
	//    012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest
	//    or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.
	//
	//
	//    * 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 link parameter allows containers to communicate with each other without
	// the need for port mappings. Only supported if the network mode of a task
	// definition is set to bridge. The name:internalName construct is analogous
	// to name:alias in Docker links. Up to 255 letters (uppercase and lowercase),
	// numbers, hyphens, and underscores are allowed. For more information about
	// linking Docker containers, go to https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/
	// (https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/).
	// This parameter maps to Links in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --link option to docker run (https://docs.docker.com/engine/reference/commandline/run/).
	//
	// This parameter is not supported for Windows containers.
	//
	// Containers that are collocated on a single container instance may be able
	// to communicate with each other without requiring links or host port mappings.
	// Network isolation is achieved on the container instance using security groups
	// and VPC settings.
	Links []*string `locationName:"links" type:"list"`

	// Linux-specific modifications that are applied to the container, such as Linux
	// KernelCapabilities.
	//
	// This parameter is not supported for Windows containers.
	LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"`

	// The log configuration specification for the container.
	//
	// If using the Fargate launch type, the only supported value is awslogs.
	//
	// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// 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 may 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.
	//
	// Amazon ECS currently supports a subset of the logging drivers available to
	// the Docker daemon (shown in the LogConfiguration data type). Additional log
	// drivers may 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 in to 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 (http://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 hard limit (in MiB) of memory to present to the container. If your container
	// attempts to exceed the memory specified here, the container is killed. This
	// parameter maps to Memory in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --memory option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// If your containers are part of a task using the Fargate launch type, this
	// field is optional and the only requirement is that the total amount of memory
	// reserved for all containers within a task be lower than the task memory value.
	//
	// For containers that are part of a task using the EC2 launch type, you must
	// specify a non-zero integer for one or both of memory or memoryReservation
	// in container definitions. If you specify both, memory must be greater than
	// memoryReservation. If you specify memoryReservation, then that value is subtracted
	// from the available memory resources for the container instance on which the
	// container is placed; otherwise, the value of memory is used.
	//
	// The Docker daemon reserves a minimum of 4 MiB of memory for a container,
	// so you should not specify fewer than 4 MiB of memory for your containers.
	Memory *int64 `locationName:"memory" type:"integer"`

	// The soft limit (in MiB) of memory to reserve for the container. When system
	// memory is under heavy contention, Docker attempts to keep the container memory
	// to this soft limit; however, your container can consume more memory when
	// it needs to, up to either the hard limit specified with the memory parameter
	// (if applicable), or all of the available memory on the container instance,
	// whichever comes first. This parameter maps to MemoryReservation in the Create
	// a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// You must specify a non-zero integer for one or both of memory or memoryReservation
	// in container definitions. If you specify both, memory must be greater than
	// memoryReservation. If you specify memoryReservation, then that value is subtracted
	// from the available memory resources for the container instance on which the
	// container is placed; otherwise, the value of memory is used.
	//
	// For example, if your container normally uses 128 MiB of memory, but occasionally
	// bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation
	// of 128 MiB, and a memory hard limit of 300 MiB. This configuration would
	// allow the container to only reserve 128 MiB of memory from the remaining
	// resources on the container instance, but also allow the container to consume
	// more memory resources when needed.
	//
	// The Docker daemon reserves a minimum of 4 MiB of memory for a container,
	// so you should not specify fewer than 4 MiB of memory for your containers.
	MemoryReservation *int64 `locationName:"memoryReservation" 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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --volume option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// Windows containers can mount whole directories on the same drive as $env:ProgramData.
	// Windows containers cannot mount directories on a different drive, and mount
	// point cannot be across drives.
	MountPoints []*MountPoint `locationName:"mountPoints" type:"list"`

	// The name of a container. If you are linking multiple containers together
	// in a task definition, the name of one container can be entered in the links
	// of another container to connect the containers. Up to 255 letters (uppercase
	// and lowercase), numbers, hyphens, and underscores are allowed. This parameter
	// maps to name in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --name option to docker run (https://docs.docker.com/engine/reference/run/).
	Name *string `locationName:"name" type:"string"`

	// The list of port mappings for the container. Port mappings allow containers
	// to access ports on the host container instance to send or receive traffic.
	//
	// For task definitions that use the awsvpc network mode, you should only specify
	// the containerPort. The hostPort can be left blank or it must be the same
	// value as the containerPort.
	//
	// Port mappings on Windows use the NetNAT gateway address rather than localhost.
	// There is no loopback for port mappings on Windows, so you cannot access a
	// container's mapped port from the host itself.
	//
	// This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --publish option to docker run (https://docs.docker.com/engine/reference/run/).
	// If the network mode of a task definition is set to none, then you can't specify
	// port mappings. If the network mode of a task definition is set to host, then
	// host ports must either be undefined or they must match the container port
	// in the port mapping.
	//
	// After a task reaches the RUNNING status, manual and automatic host and container
	// port assignments are visible in the Network Bindings section of a container
	// description for a selected task in the Amazon ECS console, or the networkBindings
	// section DescribeTasks responses.
	PortMappings []*PortMapping `locationName:"portMappings" type:"list"`

	// When this parameter is true, the container is given elevated privileges 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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is not supported for Windows containers or tasks using the
	// Fargate launch type.
	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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --read-only option to docker run.
	//
	// This parameter is not supported for Windows containers.
	ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"`

	// A list of ulimits to set in the container. This parameter maps to Ulimits
	// in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/).
	// Valid naming values are displayed in the Ulimit 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 in to your container instance and run the following command: sudo docker
	// version | grep "Server API version"
	//
	// This parameter is not supported for Windows containers.
	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/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --user option to docker run (https://docs.docker.com/engine/reference/run/).
	//
	// This parameter is not supported for Windows containers.
	User *string `locationName:"user" type:"string"`

	// Data volumes to mount from another container. This parameter maps to VolumesFrom
	// in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/).
	VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"`

	// The working directory in which to run commands inside the container. This
	// parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/#create-a-container)
	// section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.27/)
	// and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/).
	WorkingDirectory *string `locationName:"workingDirectory" type:"string"`
	// contains filtered or unexported fields
}

Container definitions are used in task definitions to describe the different containers that are launched as part of a task.

func (ContainerDefinition) GoString added in v0.6.5

func (s ContainerDefinition) GoString() string

GoString returns the string representation

func (*ContainerDefinition) SetCommand added in v1.5.0

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

SetCommand sets the Command field's value.

func (*ContainerDefinition) SetCpu added in v1.5.0

SetCpu sets the Cpu field's value.

func (*ContainerDefinition) SetDisableNetworking added in v1.5.0

func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition

SetDisableNetworking sets the DisableNetworking field's value.

func (*ContainerDefinition) SetDnsSearchDomains added in v1.5.0

func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition

SetDnsSearchDomains sets the DnsSearchDomains field's value.

func (*ContainerDefinition) SetDnsServers added in v1.5.0

func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition

SetDnsServers sets the DnsServers field's value.

func (*ContainerDefinition) SetDockerLabels added in v1.5.0

func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition

SetDockerLabels sets the DockerLabels field's value.

func (*ContainerDefinition) SetDockerSecurityOptions added in v1.5.0

func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition

SetDockerSecurityOptions sets the DockerSecurityOptions field's value.

func (*ContainerDefinition) SetEntryPoint added in v1.5.0

func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition

SetEntryPoint sets the EntryPoint field's value.

func (*ContainerDefinition) SetEnvironment added in v1.5.0

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

SetEnvironment sets the Environment field's value.

func (*ContainerDefinition) SetEssential added in v1.5.0

func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition

SetEssential sets the Essential field's value.

func (*ContainerDefinition) SetExtraHosts added in v1.5.0

func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition

SetExtraHosts sets the ExtraHosts field's value.

func (*ContainerDefinition) SetHealthCheck added in v1.13.11

func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition

SetHealthCheck sets the HealthCheck field's value.

func (*ContainerDefinition) SetHostname added in v1.5.0

func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition

SetHostname sets the Hostname field's value.

func (*ContainerDefinition) SetImage added in v1.5.0

SetImage sets the Image field's value.

func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition

SetLinks sets the Links field's value.

func (*ContainerDefinition) SetLinuxParameters added in v1.10.51

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

SetLinuxParameters sets the LinuxParameters field's value.

func (*ContainerDefinition) SetLogConfiguration added in v1.5.0

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

SetLogConfiguration sets the LogConfiguration field's value.

func (*ContainerDefinition) SetMemory added in v1.5.0

SetMemory sets the Memory field's value.

func (*ContainerDefinition) SetMemoryReservation added in v1.5.0

func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition

SetMemoryReservation sets the MemoryReservation field's value.

func (*ContainerDefinition) SetMountPoints added in v1.5.0

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

SetMountPoints sets the MountPoints field's value.

func (*ContainerDefinition) SetName added in v1.5.0

SetName sets the Name field's value.

func (*ContainerDefinition) SetPortMappings added in v1.5.0

func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition

SetPortMappings sets the PortMappings field's value.

func (*ContainerDefinition) SetPrivileged added in v1.5.0

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

SetPrivileged sets the Privileged field's value.

func (*ContainerDefinition) SetReadonlyRootFilesystem added in v1.5.0

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

SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.

func (*ContainerDefinition) SetUlimits added in v1.5.0

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

SetUlimits sets the Ulimits field's value.

func (*ContainerDefinition) SetUser added in v1.5.0

SetUser sets the User field's value.

func (*ContainerDefinition) SetVolumesFrom added in v1.5.0

func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition

SetVolumesFrom sets the VolumesFrom field's value.

func (*ContainerDefinition) SetWorkingDirectory added in v1.5.0

func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition

SetWorkingDirectory sets the WorkingDirectory field's value.

func (ContainerDefinition) String added in v0.6.5

func (s ContainerDefinition) String() string

String returns the string representation

func (*ContainerDefinition) Validate added in v1.1.21

func (s *ContainerDefinition) Validate() error

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

type ContainerInstance

type ContainerInstance struct {

	// This parameter returns true if the agent is connected to Amazon ECS. Registered
	// instances with an agent that may be unhealthy or stopped return false. Instances
	// without a connected agent can't accept placement requests.
	AgentConnected *bool `locationName:"agentConnected" type:"boolean"`

	// The status of the most recent agent update. If an update has never been requested,
	// this value is NULL.
	AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"`

	// The Elastic Network Interfaces associated with the container instance.
	Attachments []*Attachment `locationName:"attachments" type:"list"`

	// The attributes set for the container instance, either by the Amazon ECS container
	// agent at instance registration or manually with the PutAttributes operation.
	Attributes []*Attribute `locationName:"attributes" type:"list"`

	// The Amazon Resource Name (ARN) of the container instance. The ARN contains
	// the arn:aws:ecs namespace, followed by the region of the container instance,
	// the AWS account ID of the container instance owner, the container-instance
	// namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.
	ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"`

	// The EC2 instance ID of the container instance.
	Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"`

	// The number of tasks on the container instance that are in the PENDING status.
	PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"`

	// The Unix time stamp for when the container instance was registered.
	RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp" timestampFormat:"unix"`

	// For CPU and memory resource types, this parameter describes the amount of
	// each resource that was available on the container instance when the container
	// agent registered it with Amazon ECS; this value represents the total amount
	// of CPU and memory that can be allocated on this container instance to tasks.
	// For port resource types, this parameter describes the ports that were reserved
	// by the Amazon ECS container agent when it registered the container instance
	// with Amazon ECS.
	RegisteredResources []*Resource `locationName:"registeredResources" type:"list"`

	// For CPU and memory resource types, this parameter describes the remaining
	// CPU and memory on the that has not already been allocated to tasks (and is
	// therefore available for new tasks). For port resource types, this parameter
	// describes the ports that were reserved by the Amazon ECS container agent
	// (at instance registration time) and any task containers that have reserved
	// port mappings on the host (with the host or bridge network mode). Any port
	// that is not specified here is available for new tasks.
	RemainingResources []*Resource `locationName:"remainingResources" type:"list"`

	// The number of tasks on the container instance that are in the RUNNING status.
	RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"`

	// The status of the container instance. The valid values are ACTIVE, INACTIVE,
	// or DRAINING. ACTIVE indicates that the container instance can accept tasks.
	// DRAINING indicates that new tasks are not placed on the container instance
	// and any service tasks running on the container instance are removed if possible.
	// For more information, see Container Instance Draining (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html)
	// in the Amazon Elastic Container Service Developer Guide.
	Status *string `locationName:"status" type:"string"`

	// The version counter for the container instance. Every time a container instance
	// experiences a change that triggers a CloudWatch event, the version counter
	// is incremented. If you are replicating your Amazon ECS container instance
	// state with CloudWatch Events, you can compare the version of a container
	// instance reported by the Amazon ECS APIs with the version reported in CloudWatch
	// Events for the container instance (inside the detail object) to verify that
	// the version in your event stream is current.
	Version *int64 `locationName:"version" type:"long"`

	// The version information for the Amazon ECS container agent and Docker daemon
	// running on the container instance.
	VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"`
	// contains filtered or unexported fields
}

An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.

func (ContainerInstance) GoString added in v0.6.5

func (s ContainerInstance) GoString() string

GoString returns the string representation

func (*ContainerInstance) SetAgentConnected added in v1.5.0

func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance

SetAgentConnected sets the AgentConnected field's value.

func (*ContainerInstance) SetAgentUpdateStatus added in v1.5.0

func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance

SetAgentUpdateStatus sets the AgentUpdateStatus field's value.

func (*ContainerInstance) SetAttachments added in v1.12.27

func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance

SetAttachments sets the Attachments field's value.

func (*ContainerInstance) SetAttributes added in v1.5.0

func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance

SetAttributes sets the Attributes field's value.

func (*ContainerInstance) SetContainerInstanceArn added in v1.5.0

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

SetContainerInstanceArn sets the ContainerInstanceArn field's value.

func (*ContainerInstance) SetEc2InstanceId added in v1.5.0

func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance

SetEc2InstanceId sets the Ec2InstanceId field's value.

func (*ContainerInstance) SetPendingTasksCount added in v1.5.0

func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance

SetPendingTasksCount sets the PendingTasksCount field's value.

func (*ContainerInstance) SetRegisteredAt added in v1.8.20

func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance

SetRegisteredAt sets the RegisteredAt field's value.

func (*ContainerInstance) SetRegisteredResources added in v1.5.0

func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance

SetRegisteredResources sets the RegisteredResources field's value.

func (*ContainerInstance) SetRemainingResources added in v1.5.0

func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance

SetRemainingResources sets the RemainingResources field's value.

func (*ContainerInstance) SetRunningTasksCount added in v1.5.0

func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance

SetRunningTasksCount sets the RunningTasksCount field's value.

func (*ContainerInstance) SetStatus added in v1.5.0

func (s *ContainerInstance) SetStatus(v string) *ContainerInstance

SetStatus sets the Status field's value.

func (*ContainerInstance) SetVersion added in v1.5.9

func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance

SetVersion sets the Version field's value.

func (*ContainerInstance) SetVersionInfo added in v1.5.0

func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance

SetVersionInfo sets the VersionInfo field's value.

func (ContainerInstance) String added in v0.6.5

func (s ContainerInstance) String() string

String returns the string representation

type ContainerOverride

type ContainerOverride struct {

	// The command to send to the container that overrides the default command from
	// the Docker image or the task definition. You must also specify a container
	// name.
	Command []*string `locationName:"command" type:"list"`

	// The number of cpu units reserved for the container, instead of the default
	// value from the task definition. You must also specify a container name.
	Cpu *int64 `locationName:"cpu" type:"integer"`

	// 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 task definition.
	// You must also specify a container name.
	Environment []*KeyValuePair `locationName:"environment" type:"list"`

	// The hard limit (in MiB) of memory to present to the container, instead of
	// the default value from the task definition. If your container attempts to
	// exceed the memory specified here, the container is killed. You must also
	// specify a container name.
	Memory *int64 `locationName:"memory" type:"integer"`

	// The soft limit (in MiB) of memory to reserve for the container, instead of
	// the default value from the task definition. You must also specify a container
	// name.
	MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"`

	// The name of the container that receives the override. This parameter is required
	// if any override is specified.
	Name *string `locationName:"name" type:"string"`
	// contains filtered or unexported fields
}

The overrides that should be sent to a container.

func (ContainerOverride) GoString added in v0.6.5

func (s ContainerOverride) GoString() string

GoString returns the string representation

func (*ContainerOverride) SetCommand added in v1.5.0

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

SetCommand sets the Command field's value.

func (*ContainerOverride) SetCpu added in v1.8.43

SetCpu sets the Cpu field's value.

func (*ContainerOverride) SetEnvironment added in v1.5.0 </