elasticluster.repository

class elasticluster.repository.AbstractClusterRepository[source]

Defines the contract for a cluster repository to store clusters in a persistent state.

delete(cluster)[source]

Deletes the cluster from persistent state.

Parameters:cluster (elasticluster.cluster.Cluster) – cluster to delete from persistent state
get(name)[source]

Retrieves the cluster by the given name.

Parameters:name (str) – name of the cluster (identifier)
Returns:instance of elasticluster.cluster.Cluster that matches the given name
get_all()[source]

Retrieves all stored clusters from the persistent state.

Returns:list of elasticluster.cluster.Cluster
save_or_update(cluster)[source]

Save or update the cluster in a persistent state. Elasticluster will call this method multiple times, so the implementation should handle save and update seamlessly

Parameters:cluster (elasticluster.cluster.Cluster) – cluster object to store
class elasticluster.repository.ClusterRepository(storage_path)[source]

This implementation of AbstractClusterRepository stores the cluster on the local disc using pickle. Therefore the cluster object and all its dependencies will be saved in a pickle (binary) file.

Parameters:storage_path (str) – path to the folder to store the cluster information
delete(cluster)[source]

Deletes the cluster from persistent state.

Parameters:cluster (elasticluster.cluster.Cluster) – cluster to delete from persistent state
get(name)[source]

Retrieves the cluster with the given name.

Parameters:name (str) – name of the cluster (identifier)
Returns:elasticluster.cluster.Cluster
get_all()[source]

Retrieves all clusters from the persistent state.

Returns:list of elasticluster.cluster.Cluster
save_or_update(cluster)[source]

Save or update the cluster to persistent state.

Parameters:cluster (elasticluster.cluster.Cluster) – cluster to save or update
class elasticluster.repository.MemRepository[source]

This implementation of AbstractClusterRepository stores the clusters in memory, without actually saving the data on disk.

delete(cluster)[source]

Deletes the cluster from memory.

Parameters:cluster (elasticluster.cluster.Cluster) – cluster to delete
get(name)[source]

Retrieves the cluster by the given name.

Parameters:name (str) – name of the cluster (identifier)
Returns:instance of elasticluster.cluster.Cluster that matches the given name
get_all()[source]

Retrieves all stored clusters from the memory.

Returns:list of elasticluster.cluster.Cluster
save_or_update(cluster)[source]

Save or update the cluster in a memory.

Parameters:cluster (elasticluster.cluster.Cluster) – cluster object to store