package
1.17.0
Repository: https://github.com/ircody/amazon-ecs-agent.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
Package testutils contains files that are used in tests but not elsewhere and thus can be excluded from the final executable.

# Functions

ENIFromACS validates the information from acs message and create the ENI object.
IsInstanceTypeChangedError returns true if the error when registering the container instance is because of instance type being changed.
NewContainerStateChangeEvent creates a new container state change event.
NewContainerWithSteadyState creates a new Container object with the specified steady state.
NewNamedError creates a NamedError.
NewTaskStateChangeEvent creates a new task state change event.
NewTransportProtocol returns a TransportProtocol from a string in the task.
PortBindingFromDockerPortBinding constructs a PortBinding slice from a docker NetworkSettings.Ports map.
RemoveFromTaskArray removes the element at ndx from an array of task pointers, arr.
TaskFromACS translates ecsacs.Task to api.Task by first marshaling the received ecsacs.Task to json and unmrashaling it as api.Task.
ValidateTaskENI validates the eni informaiton sent from acs.

# Constants

ContainerCNIPause represents the internal container type for the pause container.
ContainerCreated represents a container that has been created.
ContainerEmptyHostVolume represents the internal container type for the empty volumes container.
ContainerHealthEvent represents the container health status event from docker "health_status: unhealthy" and "health_status: healthy" will have this type.
ContainerHealthUnknown is the initial status of container health.
ContainerHealthy represents the status of container health check when returned healthy.
ContainerNormal represents the container type for 'Normal' containers These are the ones specified in the task definition via container definitions.
ContainerPulled represents a container which has had the image pulled.
ContainerResourcesProvisioned represents a container that has completed provisioning all of its resources.
ContainerRunning represents a container that has started.
ContainerStatusEvent represents the container status change events from docker currently create, start, stop, die, restart and oom event will have this type.
ContainerStatusNone is the zero state of a container; this container has not completed pull.
ContainerStopped represents a container that has stopped.
ContainerUnhealthy represents the status of container health check when returned unhealthy.
ContainerZombie is an "impossible" state that is used as the maximum.
4MB.
ENIAttached represents that a eni has shown on the host.
ENIAttachmentNone is zero state of a task when received attachemessage from acs.
ENIDetached represents that a eni has been actually detached from the host.
InstanceTypeChangedErrorMessage is the error message to print for the instance type changed error when registering a container instance.
OSType is the type of operating system where agent is running.
PauseContainerName is the internal name for the pause container.
TaskCreated represents a task which has had all its containers created.
TaskPulled represents a task which has had all its container images pulled, but not all have yet progressed passed pull.
TaskRunning represents a task which has had all its containers started.
TaskStatusNone is the zero state of a task; this task has been received but no further progress has completed.
TaskStopped represents a task in which all containers are stopped.
TaskZombie is an "impossible" state that is used as the maximum.
TransportProtocolTCP represents TCP.
TransportProtocolUDP represents UDP.
UnparseablePortErrorName is an error where the port configuration is invalid.
UnrecognizedTransportProtocolErrorName is an error where the protocol of the binding is invalid.

# Structs

Container is the internal representation of a container in the ECS agent.
ContainerDependency defines the relationship between a dependent container and its dependency.
ContainerOverrides are overrides applied to the container.
ContainerStateChange represents a state change that needs to be sent to the SubmitContainerStateChange API.
DefaultNamedError is a wrapper type for 'error' which adds an optional name and provides a symmetric marshal/unmarshal.
DockerClientConfigError represents the error caused by docker client.
DockerConfig represents additional metadata about a container to run.
DockerContainer is a mapping between containers-as-docker-knows-them and containers-as-we-know-them.
ECRAuthData is the authentication details for ECR specifying the region, registryID, and possible endpoint override.
EmptyHostVolume represents a volume without a specified host path.
ENI contains information of the eni.
ENIAttachment contains the information of the eni attachment.
ENIIPV4Address is the ipv4 information of the eni.
ENIIPV6Address is the ipv6 information of the eni.
FSHostVolume is a simple type of HostVolume which references an arbitrary location on the host as the Volume.
HealthStatus contains the health check result returned by docker.
HostConfigError represents an error caused by host configuration.
MountPoint describes the in-container location of a Volume and references that Volume by name.
PortBinding represents a port binding for a container.
RegistryAuthenticationData is the authentication data sent by the ECS backend.
Task is the internal representation of a task in the ECS agent.
TaskOverrides are the overrides applied to a task.
TaskStateChange represents a state change that needs to be sent to the SubmitTaskStateChange API.
TaskVolume is a definition of all the volumes available for containers to reference within a task.
TransitionDependencySet contains dependencies that impact transitions of containers.
VolumeFrom is a volume which references another container as its source.

# Interfaces

ECSClient is an interface over the ECSSDK interface which abstracts away some details around constructing the request and reading the response down to the parts the agent cares about.
ECSSDK is an interface that specifies the subset of the AWS Go SDK's ECS client that the Agent uses.
ECSSubmitStateSDK is an interface with customized ecs client that implements the SubmitTaskStateChange and SubmitContainerStateChange.
HostVolume is an interface for something that may be used as the host half of a docker volume mount.
NamedError defines an interface that wraps error and add additional 'ErrorName' method.

# Type aliases

ContainerHealthStatus is an enumeration of container health check status.
ContainerOverridesCopy is a type alias that doesn't have a custom unmarshaller so we can unmarshal ContainerOverrides data into something without recursing.
ContainerStatus is an enumeration of valid states in the container lifecycle.
ContainerType represents the type of the internal container created.
DockerEventType represents the type of docker events.
ENIAttachmentStatus is an enumeration type for eni attachment state.
TaskStatus is an enumeration of valid states in the task lifecycle.
TransportProtocol is an enumeration of valid transport protocols.