Documentation
¶
Index ¶
- Constants
- func AgentMetadataHandler(containerInstanceArn *string, cfg *config.Config) func(http.ResponseWriter, *http.Request)
- func CredentialsHandler(credentialsManager credentials.Manager, auditLogger audit.AuditLogger) func(http.ResponseWriter, *http.Request)
- func CredentialsHandlerImpl(w http.ResponseWriter, r *http.Request, auditLogger audit.AuditLogger, ...)
- func LicenseHandler(w http.ResponseWriter, h *http.Request)
- func TaskContainerMetadataHandler(taskEngine utils.DockerStateResolver) func(http.ResponseWriter, *http.Request)
- type ContainerResponse
- type MetadataResponse
- type PortResponse
- type TaskResponse
- type TasksResponse
- type VolumeResponse
Constants ¶
const ( // ErrNoIDInRequest is the error code indicating that no ID was specified ErrNoIDInRequest = "NoIdInRequest" // ErrInvalidIDInRequest is the error code indicating that the ID was invalid ErrInvalidIDInRequest = "InvalidIdInRequest" // ErrNoCredentialsAssociated is the error code indicating no credentials are // associated with the specified ID ErrNoCredentialsAssociated = "NoCredentialsAssociated" // ErrCredentialsUninitialized is the error code indicating that credentials were // not properly initialized. This may happen immediately after the agent is // started, before it has completed state reconciliation. ErrCredentialsUninitialized = "CredentialsUninitialized" // ErrInternalServer is the error indicating something generic went wrong ErrInternalServer = "InternalServerError" // CredentialsPath specifies the relative URI path for serving task IAM credentials CredentialsPath = credentials.V1CredentialsPath )
const AgentMetadataPath = "/v1/metadata"
AgentMetadataPath is the Agent metadata path for v1 handler.
const LicensePath = "/license"
const (
// TaskContainerMetadataPath is the task/container metadata path for v1 handler.
TaskContainerMetadataPath = "/v1/tasks"
)
Variables ¶
This section is empty.
Functions ¶
func AgentMetadataHandler ¶
func AgentMetadataHandler(containerInstanceArn *string, cfg *config.Config) func(http.ResponseWriter, *http.Request)
AgentMetadataHandler creates response for 'v1/metadata' API.
func CredentialsHandler ¶
func CredentialsHandler(credentialsManager credentials.Manager, auditLogger audit.AuditLogger) func(http.ResponseWriter, *http.Request)
CredentialsHandler creates response for the 'v1/credentials' API. It returns a JSON response containing credentials when found. The HTTP status code of 400 is returned otherwise.
func CredentialsHandlerImpl ¶
func CredentialsHandlerImpl(w http.ResponseWriter, r *http.Request, auditLogger audit.AuditLogger, credentialsManager credentials.Manager, credentialsID string, errPrefix string)
CredentialsHandlerImpl is the major logic in CredentialsHandler, abstract this out because v2.CredentialsHandler also uses the same logic.
func LicenseHandler ¶
func LicenseHandler(w http.ResponseWriter, h *http.Request)
LicenseHandler creates response for '/license' API.
func TaskContainerMetadataHandler ¶
func TaskContainerMetadataHandler(taskEngine utils.DockerStateResolver) func(http.ResponseWriter, *http.Request)
TaskContainerMetadataHandler creates response for the 'v1/tasks' API. Lists all tasks if the request doesn't contain any fields. Returns a Task if either of 'dockerid' or 'taskarn' are specified in the request.
Types ¶
type ContainerResponse ¶
type ContainerResponse struct {
DockerID string `json:"DockerId"`
DockerName string `json:"DockerName"`
Name string `json:"Name"`
Ports []PortResponse `json:"Ports,omitempty"`
Networks []containermetadata.Network `json:"Networks,omitempty"`
Volumes []VolumeResponse `json:"Volumes,omitempty"`
}
ContainerResponse is the schema for the container response JSON object
func NewContainerResponse ¶
func NewContainerResponse(dockerContainer *apicontainer.DockerContainer, eni *apieni.ENI) ContainerResponse
NewContainerResponse creates ContainerResponse for a container.
type MetadataResponse ¶
type MetadataResponse struct {
Cluster string `json:"Cluster"`
ContainerInstanceArn *string `json:"ContainerInstanceArn"`
Version string `json:"Version"`
}
MetadataResponse is the schema for the metadata response JSON object
type PortResponse ¶
type PortResponse struct {
ContainerPort uint16 `json:"ContainerPort,omitempty"`
Protocol string `json:"Protocol,omitempty"`
HostPort uint16 `json:"HostPort,omitempty"`
}
PortResponse defines the schema for portmapping response JSON object.
func NewPortBindingsResponse ¶
func NewPortBindingsResponse(dockerContainer *apicontainer.DockerContainer, eni *apieni.ENI) []PortResponse
NewPortBindingsResponse creates PortResponse for a container.
type TaskResponse ¶
type TaskResponse struct {
Arn string `json:"Arn"`
DesiredStatus string `json:"DesiredStatus,omitempty"`
KnownStatus string `json:"KnownStatus"`
Family string `json:"Family"`
Version string `json:"Version"`
Containers []ContainerResponse `json:"Containers"`
}
TaskResponse is the schema for the task response JSON object
func NewTaskResponse ¶
func NewTaskResponse(task *apitask.Task, containerMap map[string]*apicontainer.DockerContainer) *TaskResponse
NewTaskResponse creates a TaskResponse for a task.
type TasksResponse ¶
type TasksResponse struct {
Tasks []*TaskResponse `json:"Tasks"`
}
TasksResponse is the schema for the tasks response JSON object
func NewTasksResponse ¶
func NewTasksResponse(state dockerstate.TaskEngineState) *TasksResponse
NewTasksResponse creates TasksResponse for all the tasks.
type VolumeResponse ¶
type VolumeResponse struct {
DockerName string `json:"DockerName,omitempty"`
Source string `json:"Source,omitempty"`
Destination string `json:"Destination,omitempty"`
}
VolumeResponse is the schema for the volume response JSON object
func NewVolumesResponse ¶
func NewVolumesResponse(dockerContainer *apicontainer.DockerContainer) []VolumeResponse
NewVolumesResponse creates VolumeResponse for a container