12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- // Package api defines the data structure to be used in the request/response
- // messages between libnetwork and the remote ipam plugin
- package api
- import "github.com/docker/libnetwork/ipamapi"
- // Response is the basic response structure used in all responses
- type Response struct {
- Error string
- }
- // IsSuccess returns wheter the plugin response is successful
- func (r *Response) IsSuccess() bool {
- return r.Error == ""
- }
- // GetError returns the error from the response, if any.
- func (r *Response) GetError() string {
- return r.Error
- }
- // GetCapabilityResponse is the response of GetCapability request
- type GetCapabilityResponse struct {
- Response
- RequiresMACAddress bool
- RequiresRequestReplay bool
- }
- // ToCapability converts the capability response into the internal ipam driver capability structure
- func (capRes GetCapabilityResponse) ToCapability() *ipamapi.Capability {
- return &ipamapi.Capability{
- RequiresMACAddress: capRes.RequiresMACAddress,
- RequiresRequestReplay: capRes.RequiresRequestReplay,
- }
- }
- // GetAddressSpacesResponse is the response to the ``get default address spaces`` request message
- type GetAddressSpacesResponse struct {
- Response
- LocalDefaultAddressSpace string
- GlobalDefaultAddressSpace string
- }
- // RequestPoolRequest represents the expected data in a ``request address pool`` request message
- type RequestPoolRequest struct {
- AddressSpace string
- Pool string
- SubPool string
- Options map[string]string
- V6 bool
- }
- // RequestPoolResponse represents the response message to a ``request address pool`` request
- type RequestPoolResponse struct {
- Response
- PoolID string
- Pool string // CIDR format
- Data map[string]string
- }
- // ReleasePoolRequest represents the expected data in a ``release address pool`` request message
- type ReleasePoolRequest struct {
- PoolID string
- }
- // ReleasePoolResponse represents the response message to a ``release address pool`` request
- type ReleasePoolResponse struct {
- Response
- }
- // RequestAddressRequest represents the expected data in a ``request address`` request message
- type RequestAddressRequest struct {
- PoolID string
- Address string
- Options map[string]string
- }
- // RequestAddressResponse represents the expected data in the response message to a ``request address`` request
- type RequestAddressResponse struct {
- Response
- Address string // in CIDR format
- Data map[string]string
- }
- // ReleaseAddressRequest represents the expected data in a ``release address`` request message
- type ReleaseAddressRequest struct {
- PoolID string
- Address string
- }
- // ReleaseAddressResponse represents the response message to a ``release address`` request
- type ReleaseAddressResponse struct {
- Response
- }
|