74 lines
2.4 KiB
Go
74 lines
2.4 KiB
Go
package client
|
|
|
|
import "github.com/docker/libnetwork/types"
|
|
|
|
/***********
|
|
Resources
|
|
************/
|
|
|
|
// networkResource is the body of the "get network" http response message
|
|
type networkResource struct {
|
|
Name string `json:"name"`
|
|
ID string `json:"id"`
|
|
Type string `json:"type"`
|
|
Services []*serviceResource `json:"services"`
|
|
}
|
|
|
|
// serviceResource is the body of the "get service" http response message
|
|
type serviceResource struct {
|
|
Name string `json:"name"`
|
|
ID string `json:"id"`
|
|
Network string `json:"network"`
|
|
}
|
|
|
|
// backendResource is the body of "get service backend" response message
|
|
type backendResource struct {
|
|
ID string `json:"id"`
|
|
}
|
|
|
|
/***********
|
|
Body types
|
|
************/
|
|
|
|
// networkCreate is the expected body of the "create network" http request message
|
|
type networkCreate struct {
|
|
Name string `json:"name"`
|
|
NetworkType string `json:"network_type"`
|
|
Options map[string]interface{} `json:"options"`
|
|
}
|
|
|
|
// serviceCreate represents the body of the "publish service" http request message
|
|
type serviceCreate struct {
|
|
Name string `json:"name"`
|
|
Network string `json:"network_name"`
|
|
ExposedPorts []types.TransportPort `json:"exposed_ports"`
|
|
PortMapping []types.PortBinding `json:"port_mapping"`
|
|
}
|
|
|
|
// serviceAttach represents the expected body of the "attach/detach backend to/from service" http request messages
|
|
type serviceAttach struct {
|
|
ContainerID string `json:"container_id"`
|
|
HostName string `json:"host_name"`
|
|
DomainName string `json:"domain_name"`
|
|
HostsPath string `json:"hosts_path"`
|
|
ResolvConfPath string `json:"resolv_conf_path"`
|
|
DNS []string `json:"dns"`
|
|
ExtraHosts []serviceExtraHost `json:"extra_hosts"`
|
|
ParentUpdates []serviceParentUpdate `json:"parent_updates"`
|
|
UseDefaultSandbox bool `json:"use_default_sandbox"`
|
|
}
|
|
|
|
// serviceExtraHost represents the extra host object
|
|
type serviceExtraHost struct {
|
|
Name string `json:"name"`
|
|
Address string `json:"address"`
|
|
}
|
|
|
|
// EndpointParentUpdate is the object carrying the information about the
|
|
// endpoint parent that needs to be updated
|
|
type serviceParentUpdate struct {
|
|
EndpointID string `json:"service_id"`
|
|
Name string `json:"name"`
|
|
Address string `json:"address"`
|
|
}
|