Documentation ¶
Index ¶
Constants ¶
const ( // TaskMetadataPath specifies the relative URI path for serving task metadata. TaskMetadataPath = "/v4/metadata" // TaskWithTagsMetadataPath specifies the relative URI path for serving task metadata with Container Instance and Task Tags. TaskWithTagsMetadataPath = "/v4/metadataWithTags" // TaskMetadataPathWithSlash specifies the relative URI path for serving task metadata. TaskMetadataPathWithSlash = TaskMetadataPath + "/" // TaskWithTagsMetadataPathWithSlash specifies the relative URI path for serving task metadata with Container Instance and Task Tags. TaskWithTagsMetadataPathWithSlash = TaskWithTagsMetadataPath + "/" )
Variables ¶
var ContainerMetadataPath = TaskMetadataPathWithSlash + utils.ConstructMuxVar(metadataContainerIDMuxName, utils.AnythingButEmptyRegEx)
ContainerMetadataPath specifies the relative URI path for serving container metadata.
Functions ¶
This section is empty.
Types ¶
type ContainerResponse ¶
type ContainerResponse struct { *v2.ContainerResponse Networks []Network `json:"Networks,omitempty"` }
ContainerResponse is the v4 Container response. It augments the v4 Network response with the v2 container response object.
func NewContainerResponse ¶
func NewContainerResponse( containerID string, state dockerstate.TaskEngineState, ) (*ContainerResponse, error)
NewContainerResponse creates a new v4 container response based on container id. It augments v4 container response with additional network interface fields.
type Network ¶
type Network struct { containermetadata.Network // NetworkInterfaceProperties specifies additional properties of the network // of the network interface that are exposed via the metadata server. // We currently populate this only for the `awsvpc` networking mode. NetworkInterfaceProperties }
Network is the v4 Network response. It adds a bunch of information about network interface(s) on top of what is supported by v4. See `NetworkInterfaceProperties` for more details.
type NetworkInterfaceProperties ¶
type NetworkInterfaceProperties struct { // AttachmentIndex reflects the `index` specified by the customer (if any) // while creating the task with `awsvpc` mode. AttachmentIndex int `json:"AttachmentIndex"` // IPV4SubnetCIDRBlock is the subnet CIDR netmask associated with network interface. IPV4SubnetCIDRBlock string `json:"IPv4SubnetCIDRBlock,ommitempty"` // MACAddress is the mac address of the network interface. MACAddress string `json:"MACAddress,ommitempty"` // DomainNameServers specifies the nameserver IP addresses for the network interface. DomainNameServers []string `json:"DomainNameServers,omitempty"` // DomainNameSearchList specifies the search list for the domain name lookup for // the network interface. DomainNameSearchList []string `json:"DomainNameSearchList,omitempty"` // PrivateDNSName is the dns name assigned to this network interface. PrivateDNSName string `json:"PrivateDNSName,omitempty"` // SubnetGatewayIPV4Address is the gateway address for the network interface. SubnetGatewayIPV4Address string `json:"SubnetGatewayIpv4Address,ommitempty"` }
NetworkInterfaceProperties represents additional properties we may want to expose via task metadata about the network interface that's attached to the container/task. We mostly use this to populate data about ENIs for tasks launched with `awsvpc` mode.
type TaskResponse ¶
type TaskResponse struct { *v2.TaskResponse Containers []ContainerResponse `json:"Containers,omitempty"` }
TaskResponse is the v4 Task response. It augments the v4 Container response with the v2 task response object.
func NewTaskResponse ¶
func NewTaskResponse( taskARN string, state dockerstate.TaskEngineState, ecsClient api.ECSClient, cluster string, az string, containerInstanceARN string, propagateTags bool, ) (*TaskResponse, error)
NewTaskResponse creates a new v4 response object for the task. It augments v2 task response with additional network interface fields.