Documentation ¶
Overview ¶
flocker package allows you to easily interact with a Flocker Control Service.
Index ¶
- type Client
- func (c *Client) CreateDataset(options *CreateDatasetOptions) (datasetState *DatasetState, err error)
- func (c *Client) DeleteDataset(datasetID string) error
- func (c Client) GetDatasetID(metaName string) (datasetID string, err error)
- func (c Client) GetDatasetState(datasetID string) (*DatasetState, error)
- func (c Client) GetPrimaryUUID() (uuid string, err error)
- func (c *Client) ListNodes() (nodes []NodeState, err error)
- func (c Client) UpdatePrimaryForDataset(newPrimaryUUID, datasetID string) (*DatasetState, error)
- type Clientable
- type CreateDatasetOptions
- type DatasetState
- type NodeState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client is a default Flocker Client.
func NewClient ¶
func NewClient(host string, port int, clientIP string, caCertPath, keyPath, certPath string) (*Client, error)
NewClient creates a wrapper over http.Client to communicate with the flocker control service.
func (*Client) CreateDataset ¶
func (c *Client) CreateDataset(options *CreateDatasetOptions) (datasetState *DatasetState, err error)
CreateDataset creates a volume in Flocker, waits for it to be ready and returns the dataset id.
This process is a little bit complex but follows this flow:
1. Find the Flocker Control Service UUID 2. If it already exists an error is returned 3. If it didn't previously exist, wait for it to be ready
func (*Client) DeleteDataset ¶
DeleteDataset performs a delete request to the given datasetID
func (Client) GetDatasetID ¶
GetDatasetID will return the DatasetID found for the given metadata name.
func (Client) GetDatasetState ¶
func (c Client) GetDatasetState(datasetID string) (*DatasetState, error)
GetDatasetState performs a get request to get the state of the given datasetID, if something goes wrong or the datasetID was not found it returns an error.
func (Client) GetPrimaryUUID ¶
GetPrimaryUUID returns the UUID of the primary Flocker Control Service for the given host.
func (*Client) ListNodes ¶
ListNodes returns a list of dataset agent nodes from Flocker Control Service
func (Client) UpdatePrimaryForDataset ¶
func (c Client) UpdatePrimaryForDataset(newPrimaryUUID, datasetID string) (*DatasetState, error)
UpdatePrimaryForDataset will update the Primary for the given dataset returning the current DatasetState.
type Clientable ¶
type Clientable interface { CreateDataset(options *CreateDatasetOptions) (*DatasetState, error) DeleteDataset(datasetID string) error GetDatasetState(datasetID string) (*DatasetState, error) GetDatasetID(metaName string) (datasetID string, err error) GetPrimaryUUID() (primaryUUID string, err error) ListNodes() (nodes []NodeState, err error) UpdatePrimaryForDataset(primaryUUID, datasetID string) (*DatasetState, error) }
Clientable exposes the needed methods to implement your own Flocker Client.