package flocker
import "github.com/clusterhq/flocker-go"
flocker package allows you to easily interact with a Flocker Control Service.
Index ¶
- type Client
- func NewClient(host string, port int, clientIP string, caCertPath, keyPath, certPath string) (*Client, error)
- 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
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.
type CreateDatasetOptions ¶
type CreateDatasetOptions struct { Primary string `json:"primary"` DatasetID string `json:"dataset_id,omitempty"` MaximumSize int64 `json:"maximum_size,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` }
type DatasetState ¶
type DatasetState struct { Path string `json:"path"` DatasetID string `json:"dataset_id"` Primary string `json:"primary,omitempty"` MaximumSize json.Number `json:"maximum_size,omitempty"` }
type NodeState ¶
Source Files ¶
- Version
- v0.0.0-20160920122132-2b8b7259d313 (latest)
- Published
- Sep 20, 2016
- Platform
- js/wasm
- Imports
- 10 packages
- Last checked
- 1 month ago –
Tools for package owners.