123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- // 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
- }
- // ToCapability converts the capability response into the internal ipam driver capaility structure
- func (capRes GetCapabilityResponse) ToCapability() *ipamapi.Capability {
- return &ipamapi.Capability{RequiresMACAddress: capRes.RequiresMACAddress}
- }
- // 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
- }
|