Documentation ¶
Index ¶
- Constants
- type Cluster
- type ClusterClient
- func (v *ClusterClient) CreateCluster(provider string, p Cluster, q ClusterContent) (Cluster, error)
- func (v *ClusterClient) CreateClusterKvPairs(provider string, cluster string, p ClusterKvPairs, exists bool) (ClusterKvPairs, error)
- func (v *ClusterClient) CreateClusterLabel(provider string, cluster string, p ClusterLabel, exists bool) (ClusterLabel, error)
- func (v *ClusterClient) CreateClusterProvider(p ClusterProvider, exists bool) (ClusterProvider, error)
- func (v *ClusterClient) DeleteCluster(provider, name string) error
- func (v *ClusterClient) DeleteClusterKvPairs(provider, cluster, kvpair string) error
- func (v *ClusterClient) DeleteClusterLabel(provider, cluster, label string) error
- func (v *ClusterClient) DeleteClusterProvider(name string) error
- func (v *ClusterClient) GetAllClusterKvPairs(provider, cluster string) ([]ClusterKvPairs, error)
- func (v *ClusterClient) GetAllClustersAndLabels(provider string) ([]ClusterWithLabels, error)
- func (v *ClusterClient) GetCluster(provider, name string) (Cluster, error)
- func (v *ClusterClient) GetClusterContent(provider, name string) (ClusterContent, error)
- func (v *ClusterClient) GetClusterKvPairs(provider, cluster, kvpair string) (ClusterKvPairs, error)
- func (v *ClusterClient) GetClusterKvPairsValue(provider, cluster, kvpair, kvkey string) (interface{}, error)
- func (v *ClusterClient) GetClusterLabel(provider, cluster, label string) (ClusterLabel, error)
- func (v *ClusterClient) GetClusterLabels(provider, cluster string) ([]ClusterLabel, error)
- func (v *ClusterClient) GetClusterProvider(name string) (ClusterProvider, error)
- func (v *ClusterClient) GetClusterProviders() ([]ClusterProvider, error)
- func (v *ClusterClient) GetClusterState(provider, name string) (state.StateInfo, error)
- func (v *ClusterClient) GetClusters(provider string) ([]Cluster, error)
- func (v *ClusterClient) GetClustersWithLabel(provider, label string) ([]string, error)
- type ClusterContent
- type ClusterKey
- type ClusterKvPairs
- type ClusterKvPairsKey
- type ClusterKvSpec
- type ClusterLabel
- type ClusterLabelKey
- type ClusterManager
- type ClusterProvider
- type ClusterProviderKey
- type ClusterWithLabels
- type LabelKey
Constants ¶
const CONTEXT_CLUSTER_APP = "network-intents"
const CONTEXT_CLUSTER_RESOURCE = "network-intents"
const SEPARATOR = "+"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClusterClient ¶
type ClusterClient struct {
// contains filtered or unexported fields
}
ClusterClient implements the Manager It will also be used to maintain some localized state
func NewClusterClient ¶
func NewClusterClient() *ClusterClient
NewClusterClient returns an instance of the ClusterClient which implements the Manager
func (*ClusterClient) CreateCluster ¶
func (v *ClusterClient) CreateCluster(provider string, p Cluster, q ClusterContent) (Cluster, error)
CreateCluster - create a new Cluster for a cluster-provider
func (*ClusterClient) CreateClusterKvPairs ¶
func (v *ClusterClient) CreateClusterKvPairs(provider string, cluster string, p ClusterKvPairs, exists bool) (ClusterKvPairs, error)
CreateClusterKvPairs - Create a New Cluster KV pairs document
func (*ClusterClient) CreateClusterLabel ¶
func (v *ClusterClient) CreateClusterLabel(provider string, cluster string, p ClusterLabel, exists bool) (ClusterLabel, error)
CreateClusterLabel - create a new Cluster Label mongo document for a cluster-provider/cluster
func (*ClusterClient) CreateClusterProvider ¶
func (v *ClusterClient) CreateClusterProvider(p ClusterProvider, exists bool) (ClusterProvider, error)
CreateClusterProvider - create a new Cluster Provider
func (*ClusterClient) DeleteCluster ¶
func (v *ClusterClient) DeleteCluster(provider, name string) error
DeleteCluster the Cluster from database
func (*ClusterClient) DeleteClusterKvPairs ¶
func (v *ClusterClient) DeleteClusterKvPairs(provider, cluster, kvpair string) error
DeleteClusterKvPairs the ClusterKvPairs from database
func (*ClusterClient) DeleteClusterLabel ¶
func (v *ClusterClient) DeleteClusterLabel(provider, cluster, label string) error
DeleteClusterLabel ... Delete the Cluster Label from database
func (*ClusterClient) DeleteClusterProvider ¶
func (v *ClusterClient) DeleteClusterProvider(name string) error
DeleteClusterProvider the ClusterProvider from database
func (*ClusterClient) GetAllClusterKvPairs ¶
func (v *ClusterClient) GetAllClusterKvPairs(provider, cluster string) ([]ClusterKvPairs, error)
GetAllClusterKvPairs returns the Cluster Kv Pairs for corresponding provider and cluster
func (*ClusterClient) GetAllClustersAndLabels ¶
func (v *ClusterClient) GetAllClustersAndLabels(provider string) ([]ClusterWithLabels, error)
GetAllClustersAndLabels returns all the the clusters and their labels
func (*ClusterClient) GetCluster ¶
func (v *ClusterClient) GetCluster(provider, name string) (Cluster, error)
GetCluster returns the Cluster for corresponding provider and name
func (*ClusterClient) GetClusterContent ¶
func (v *ClusterClient) GetClusterContent(provider, name string) (ClusterContent, error)
GetClusterContent returns the ClusterContent for corresponding provider and name
func (*ClusterClient) GetClusterKvPairs ¶
func (v *ClusterClient) GetClusterKvPairs(provider, cluster, kvpair string) (ClusterKvPairs, error)
GetClusterKvPairs returns the Cluster KeyValue pair for corresponding provider, cluster and KV pair name
func (*ClusterClient) GetClusterKvPairsValue ¶
func (v *ClusterClient) GetClusterKvPairsValue(provider, cluster, kvpair, kvkey string) (interface{}, error)
GetClusterKvPairsValue returns the value of the key from the corresponding provider, cluster and KV pair name
func (*ClusterClient) GetClusterLabel ¶
func (v *ClusterClient) GetClusterLabel(provider, cluster, label string) (ClusterLabel, error)
GetClusterLabel returns the Cluster for corresponding provider, cluster and label
func (*ClusterClient) GetClusterLabels ¶
func (v *ClusterClient) GetClusterLabels(provider, cluster string) ([]ClusterLabel, error)
GetClusterLabels returns the Cluster Labels for corresponding provider and cluster
func (*ClusterClient) GetClusterProvider ¶
func (v *ClusterClient) GetClusterProvider(name string) (ClusterProvider, error)
GetClusterProvider returns the ClusterProvider for corresponding name
func (*ClusterClient) GetClusterProviders ¶
func (v *ClusterClient) GetClusterProviders() ([]ClusterProvider, error)
GetClusterProviderList returns all of the ClusterProvider for corresponding name
func (*ClusterClient) GetClusterState ¶
func (v *ClusterClient) GetClusterState(provider, name string) (state.StateInfo, error)
GetClusterState returns the StateInfo structure for corresponding cluster provider and cluster
func (*ClusterClient) GetClusters ¶
func (v *ClusterClient) GetClusters(provider string) ([]Cluster, error)
GetClusters returns all the Clusters for corresponding provider
func (*ClusterClient) GetClustersWithLabel ¶
func (v *ClusterClient) GetClustersWithLabel(provider, label string) ([]string, error)
GetClustersWithLabel returns all the Clusters with Labels for provider Support Query like /cluster-providers/{Provider}/clusters?label={label}
type ClusterContent ¶
type ClusterContent struct {
Kubeconfig string `json:"kubeconfig"`
}
type ClusterKey ¶
type ClusterKey struct { ClusterProviderName string `json:"provider"` ClusterName string `json:"cluster"` }
ClusterKey is the key structure that is used in the database
type ClusterKvPairs ¶
type ClusterKvPairs struct { Metadata mtypes.Metadata `json:"metadata"` Spec ClusterKvSpec `json:"spec"` }
type ClusterKvPairsKey ¶
type ClusterKvPairsKey struct { ClusterProviderName string `json:"provider"` ClusterName string `json:"cluster"` ClusterKvPairsName string `json:"kvname"` }
ClusterKvPairsKey is the key structure that is used in the database
type ClusterKvSpec ¶
type ClusterKvSpec struct {
Kv []map[string]interface{} `json:"kv"`
}
type ClusterLabel ¶
type ClusterLabel struct {
LabelName string `json:"label-name"`
}
type ClusterLabelKey ¶
type ClusterLabelKey struct { ClusterProviderName string `json:"provider"` ClusterName string `json:"cluster"` ClusterLabelName string `json:"label"` }
ClusterLabelKey is the key structure that is used in the database
type ClusterManager ¶
type ClusterManager interface { CreateClusterProvider(pr ClusterProvider, exists bool) (ClusterProvider, error) GetClusterProvider(name string) (ClusterProvider, error) GetClusterProviders() ([]ClusterProvider, error) DeleteClusterProvider(name string) error CreateCluster(provider string, pr Cluster, qr ClusterContent) (Cluster, error) GetCluster(provider, name string) (Cluster, error) GetClusterContent(provider, name string) (ClusterContent, error) GetClusterState(provider, name string) (state.StateInfo, error) GetClusters(provider string) ([]Cluster, error) GetClustersWithLabel(provider, label string) ([]string, error) GetAllClustersAndLabels(provider string) ([]ClusterWithLabels, error) DeleteCluster(provider, name string) error CreateClusterLabel(provider, cluster string, pr ClusterLabel, exists bool) (ClusterLabel, error) GetClusterLabel(provider, cluster, label string) (ClusterLabel, error) GetClusterLabels(provider, cluster string) ([]ClusterLabel, error) DeleteClusterLabel(provider, cluster, label string) error CreateClusterKvPairs(provider, cluster string, pr ClusterKvPairs, exists bool) (ClusterKvPairs, error) GetClusterKvPairs(provider, cluster, kvpair string) (ClusterKvPairs, error) GetClusterKvPairsValue(provider, cluster, kvpair, kvkey string) (interface{}, error) GetAllClusterKvPairs(provider, cluster string) ([]ClusterKvPairs, error) DeleteClusterKvPairs(provider, cluster, kvpair string) error }
ClusterManager is an interface exposes the Cluster functionality
type ClusterProvider ¶
ClusterProvider contains the parameters needed for ClusterProviders
type ClusterProviderKey ¶
type ClusterProviderKey struct {
ClusterProviderName string `json:"provider"`
}
ClusterProviderKey is the key structure that is used in the database
type ClusterWithLabels ¶
type ClusterWithLabels struct { Metadata mtypes.Metadata `json:"metadata"` Labels []ClusterLabel `json:"labels"` }