v3

package
v0.0.0-...-d72c4e7 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2025 License: Apache-2.0 Imports: 12 Imported by: 7

Documentation

Index

Constants

View Source
const V3EndpointIDMuxName = "v3EndpointIDMuxName"

v3EndpointIDMuxName is the key that's used in gorilla/mux to get the v3 endpoint ID.

Variables

View Source
var (
	// Container associations endpoint: /v3/<v3 endpoint id>/<association type>
	ContainerAssociationsPath = fmt.Sprintf("/v3/%s/associations/%s",
		utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx),
		utils.ConstructMuxVar(associationTypeMuxName, utils.AnythingButSlashRegEx))
	// Container association endpoint: /v3/<v3 endpoint id>/<association type>/<association name>
	ContainerAssociationPath = fmt.Sprintf("/v3/%s/associations/%s/%s",
		utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx),
		utils.ConstructMuxVar(associationTypeMuxName, utils.AnythingButSlashRegEx),
		utils.ConstructMuxVar(associationNameMuxName, utils.AnythingButEmptyRegEx))
	// Treat "/v3/<v3 endpoint id>/<association type>/" as a container association endpoint with empty association name (therefore invalid), to be consistent with similar situation in credentials endpoint and v3 metadata endpoint
	ContainerAssociationPathWithSlash = ContainerAssociationsPath + "/"
)

ContainerMetadataPath specifies the relative URI path for serving container metadata.

View Source
var ContainerStatsPath = "/v3/" + utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx) + "/stats"

ContainerStatsPath specifies the relative URI path for serving container stats.

View Source
var TaskMetadataPath = "/v3/" + utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx) + "/task"

TaskMetadataPath specifies the relative URI path for serving task metadata.

View Source
var TaskStatsPath = "/v3/" + utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx) + "/task/stats"

TaskStatsPath specifies the relative URI path for serving task stats.

View Source
var TaskWithTagsMetadataPath = "/v3/" + utils.ConstructMuxVar(V3EndpointIDMuxName, utils.AnythingButSlashRegEx) + "/taskWithTags"

TaskWithTagsMetadataPath specifies the relative URI path for serving task metdata with Container Instance and Task Tags retrieved through the ECS API

Functions

func ContainerAssociationHandler

func ContainerAssociationHandler(state dockerstate.TaskEngineState) func(http.ResponseWriter, *http.Request)

ContainerAssociationHandler returns the handler method for handling container association requests.

func ContainerAssociationsHandler

func ContainerAssociationsHandler(state dockerstate.TaskEngineState) func(http.ResponseWriter, *http.Request)

ContainerAssociationHandler returns the handler method for handling container associations requests.

func ContainerMetadataHandler

func ContainerMetadataHandler(state dockerstate.TaskEngineState) func(http.ResponseWriter, *http.Request)

ContainerMetadataHandler returns the handler method for handling container metadata requests.

func ContainerStatsHandler

func ContainerStatsHandler(state dockerstate.TaskEngineState, statsEngine stats.Engine) func(http.ResponseWriter, *http.Request)

ContainerStatsHandler returns the handler method for handling container stats requests.

func GetAssociationNameByRequest

func GetAssociationNameByRequest(r *http.Request) (string, error)

func GetAssociationTypeByRequest

func GetAssociationTypeByRequest(r *http.Request) (string, error)

func GetContainerIDByRequest

func GetContainerIDByRequest(r *http.Request, state dockerstate.TaskEngineState) (string, error)

func GetContainerNetworkMetadata

func GetContainerNetworkMetadata(containerID string, state dockerstate.TaskEngineState) ([]tmdsresponse.Network, error)

GetContainerNetworkMetadata returns the network metadata for the container

func GetContainerResponse

func GetContainerResponse(containerID string, state dockerstate.TaskEngineState) (*tmdsv2.ContainerResponse, error)

GetContainerResponse gets container response for v3 metadata

func GetTaskARNByRequest

func GetTaskARNByRequest(r *http.Request, state dockerstate.TaskEngineState) (string, error)

func NewAssociationResponse

func NewAssociationResponse(taskARN, associationType, associationName string, state dockerstate.TaskEngineState) (string, error)

Association response is a string that's assumed to be in valid JSON format, which will be exactly the same as the value of Association.Content.Value (cp is responsible to validate it and deal with it if it's not valid). We don't do any decoding base on the encoding, because the only encoding that cp currently sends us is 'identity'; we don't explicitly model the value field as a struct because we don't want to let agent's implementation depends on the payload format of the association (i.e. eia device for now)

func TaskMetadataHandler

func TaskMetadataHandler(state dockerstate.TaskEngineState, ecsClient ecs.ECSClient, cluster, az, containerInstanceArn string, propagateTags bool) func(http.ResponseWriter, *http.Request)

TaskMetadataHandler returns the handler method for handling task metadata requests.

func TaskStatsHandler

func TaskStatsHandler(state dockerstate.TaskEngineState, statsEngine stats.Engine) func(http.ResponseWriter, *http.Request)

TaskStatsHandler returns the handler method for handling task stats requests.

Types

type AssociationsResponse

type AssociationsResponse struct {
	Associations []string `json:"Associations"`
}

AssociationsResponse defines the schema for the associations response JSON object

func NewAssociationsResponse

func NewAssociationsResponse(containerID, taskARN, associationType string, state dockerstate.TaskEngineState) (*AssociationsResponse, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL