Documentation ¶
Overview ¶
Package clusters provides information and interaction with the clusters through the OpenStack Clustering service.
Example to Create a Cluster
createOpts := clusters.CreateOpts{ Name: "test-cluster", DesiredCapacity: 1, ProfileID: "b7b870ee-d3c5-4a93-b9d7-846c53b2c2da", } cluster, err := clusters.Create(serviceClient, createOpts).Extract() if err != nil { panic(err) }
Example to Get a Cluster
clusterName := "cluster123" cluster, err := clusters.Get(serviceClient, clusterName).Extract() if err != nil { panic(err) } fmt.Printf("%+v\n", cluster)
Example to List Clusters
listOpts := clusters.ListOpts{ Name: "testcluster", } allPages, err := clusters.List(serviceClient, listOpts).AllPages() if err != nil { panic(err) } allClusters, err := clusters.ExtractClusters(allPages) if err != nil { panic(err) } for _, cluster := range allClusters { fmt.Printf("%+v\n", cluster) }
Example to Update a Cluster
updateOpts := clusters.UpdateOpts{ Name: "testcluster", ProfileID: "b7b870ee-d3c5-4a93-b9d7-846c53b2c2da", } clusterID := "7d85f602-a948-4a30-afd4-e84f47471c15" cluster, err := clusters.Update(serviceClient, clusterName, opts).Extract() if err != nil { panic(err) } fmt.Printf("%+v\n", cluster)
Example to Delete a Cluster
clusterID := "dc6d336e3fc4c0a951b5698cd1236ee" err := clusters.Delete(serviceClient, clusterID).ExtractErr() if err != nil { panic(err) }
Example to Resize a Cluster
number := 1 maxSize := 5 minSize := 1 minStep := 1 strict := true resizeOpts := clusters.ResizeOpts{ AdjustmentType: clusters.ChangeInCapacityAdjustment, Number: number, MaxSize: &maxSize, MinSize: &minSize, MinStep: &minStep, Strict: &strict, } actionID, err := clusters.Resize(client, clusterName, resizeOpts).Extract() if err != nil { t.Fatalf("Unable to resize cluster: %v", err) } fmt.Println("Resize actionID", actionID)
Example to ScaleIn a Cluster
count := 2 scaleInOpts := clusters.ScaleInOpts{ Count: &count, } clusterID: "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" action, err := clusters.ScaleIn(computeClient, clusterID, scaleInOpts).Extract() if err != nil { panic(err) }
Example to ScaleOut a cluster
scaleOutOpts := clusters.ScaleOutOpts{ Count: 2, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.ScaleOut(computeClient, clusterID, scaleOutOpts).Extract() if err != nil { panic(err) }
Example to List Policies for a Cluster
clusterID := "7d85f602-a948-4a30-afd4-e84f47471c15" allPages, err := clusters.ListPolicies(serviceClient, clusterID, nil).AllPages() if err != nil { panic(err) } allClusterPolicies, err := clusters.ExtractClusterPolicies(allPages) if err != nil { panic(err) } for _, clusterPolicy := range allClusterPolicies { fmt.Printf("%+v\n", clusterPolicy) }
Example to Get a Cluster Policy
clusterID := "7d85f602-a948-4a30-afd4-e84f47471c15" profileID := "714fe676-a08f-4196-b7af-61d52eeded15" clusterPolicy, err := clusterpolicies.Get(serviceCLient, clusterID, profileID).Extract() if err != nil { panic(err) } fmt.Printf("%+v\n", clusterPolicy)
Example to Attach a Policy to a Cluster
enabled := true attachPolicyOpts := clusters.AttachPolicyOpts{ PolicyID: "policy-123", Enabled: &enabled, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.AttachPolicy(serviceClient, clusterID, attachPolicyOpts).Extract() if err != nil { panic(err) } fmt.Println("Attach Policy actionID", actionID)
Example to Detach a Policy to Cluster
detachpolicyOpts := clusters.DetachPolicyOpts{ PolicyID: "policy-123", } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.DetachPolicy(serviceClient, clusterID, detachpolicyOpts).Extract() if err != nil { panic(err) } fmt.Println("Update Policy actionID", actionID)
Example to Update a Policy to a Cluster
enabled := true updatePolicyOpts := clusters.UpdatePolicyOpts{ PolicyID: "policy-123", Enabled: &enabled, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.UpdatePolicy(serviceClient, clusterID, updatePolicyOpts).Extract() if err != nil { panic(err) } fmt.Println("Attach Policy actionID", actionID)
Example to Recover a Cluster
check := true checkCapacity := true recoverOpts := clusters.RecoverOpts{ Operation: clusters.RebuildRecovery, Check: &check, CheckCapacity: &checkCapacity, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.Recover(computeClient, clusterID, recoverOpts).Extract() if err != nil { panic(err) } fmt.Println("action=", actionID)
Example to Check a Cluster
clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" action, err := clusters.Check(computeClient, clusterID).Extract() if err != nil { panic(err) }
Example to Complete Life Cycle
clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" lifecycleOpts := clusters.CompleteLifecycleOpts{LifecycleActionTokenID: "2b827124-69e1-496e-9484-33ca769fe4df"} action, err := clusters.CompleteLifecycle(computeClient, clusterID, lifecycleOpts).Extract() if err != nil { panic(err) }
Example to add nodes to a cluster
addNodesOpts := clusters.AddNodesOpts{ Nodes: []string{"node-123"}, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.AddNodes(serviceClient, clusterID, addNodesOpts).Extract() if err != nil { panic(err) } fmt.Println("action=", actionID)
Example to remove nodes from a cluster
removeNodesOpts := clusters.RemoveNodesOpts{ Nodes: []string{"node-123"}, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" err := clusters.RemoveNodes(serviceClient, clusterID, removeNodesOpts).ExtractErr() if err != nil { panic(err) }
Example to replace nodes for a cluster
replaceNodesOpts := clusters.ReplaceNodesOpts{ Nodes: map[string]string{"node-1234": "node-5678"}, } clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" actionID, err := clusters.ReplaceNodes(serviceClient, clusterID, replaceNodesOpts).Extract() if err != nil { panic(err) }
Example to collect node attributes across a cluster
serviceClient.Microversion = "1.2" clusterID := "b7b870e3-d3c5-4a93-b9d7-846c53b2c2da" opts := clusters.CollectOpts{ Path: "status", } attrs, err := clusters.Collect(serviceClient, clusterID, opts).Extract() if err != nil { panic(err) }
Example to perform an operation on a cluster
serviceClient.Microversion = "1.4" clusterID := "cluster123" operationOpts := clusters.OperationOpts{ Operation: clusters.RebootOperation, Filters: clusters.OperationFilters{"role": "slave"}, Params: clusters.OperationParams{"type": "SOFT"}, } actionID, err := clusters.Ops(serviceClient, clusterID, operationOpts).Extract() if err != nil { panic(err) }
Index ¶
- func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
- func ListPolicies(client *gophercloud.ServiceClient, clusterID string, ...) pagination.Pager
- type Action
- type ActionResult
- func AddNodes(client *gophercloud.ServiceClient, id string, opts AddNodesOpts) (r ActionResult)
- func AttachPolicy(client *gophercloud.ServiceClient, id string, opts AttachPolicyOptsBuilder) (r ActionResult)
- func Check(client *gophercloud.ServiceClient, id string) (r ActionResult)
- func CompleteLifecycle(client *gophercloud.ServiceClient, id string, opts CompleteLifecycleOpts) (r ActionResult)
- func DetachPolicy(client *gophercloud.ServiceClient, id string, opts DetachPolicyOptsBuilder) (r ActionResult)
- func Ops(client *gophercloud.ServiceClient, id string, opts OperationOptsBuilder) (r ActionResult)
- func Recover(client *gophercloud.ServiceClient, id string, opts RecoverOptsBuilder) (r ActionResult)
- func RemoveNodes(client *gophercloud.ServiceClient, clusterID string, opts RemoveNodesOpts) (r ActionResult)
- func ReplaceNodes(client *gophercloud.ServiceClient, id string, opts ReplaceNodesOpts) (r ActionResult)
- func Resize(client *gophercloud.ServiceClient, id string, opts ResizeOptsBuilder) (r ActionResult)
- func ScaleIn(client *gophercloud.ServiceClient, id string, opts ScaleInOptsBuilder) (r ActionResult)
- func ScaleOut(client *gophercloud.ServiceClient, id string, opts ScaleOutOptsBuilder) (r ActionResult)
- func UpdatePolicy(client *gophercloud.ServiceClient, id string, opts UpdatePolicyOptsBuilder) (r ActionResult)
- type AddNodesOpts
- type AdjustmentType
- type AttachPolicyOpts
- type AttachPolicyOptsBuilder
- type Cluster
- type ClusterAttributes
- type ClusterPage
- type ClusterPolicy
- type ClusterPolicyPage
- type CollectOpts
- type CollectOptsBuilder
- type CollectResult
- type CompleteLifecycleOpts
- type CreateOpts
- type CreateOptsBuilder
- type CreateResult
- type DeleteResult
- type DetachPolicyOpts
- type DetachPolicyOptsBuilder
- type GetPolicyResult
- type GetResult
- type ListOpts
- type ListOptsBuilder
- type ListPoliciesOpts
- type ListPoliciesOptsBuilder
- type OperationFilters
- type OperationName
- type OperationOpts
- type OperationOptsBuilder
- type OperationParams
- type RecoverOpts
- type RecoverOptsBuilder
- type RecoveryAction
- type RemoveNodesOpts
- type ReplaceNodesOpts
- type ResizeOpts
- type ResizeOptsBuilder
- type ScaleInOpts
- type ScaleInOptsBuilder
- type ScaleOutOpts
- type ScaleOutOptsBuilder
- type UpdateOpts
- type UpdateOptsBuilder
- type UpdatePolicyOpts
- type UpdatePolicyOptsBuilder
- type UpdateResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient, opts ListOptsBuilder) pagination.Pager
List instructs OpenStack to provide a list of clusters.
func ListPolicies ¶
func ListPolicies(client *gophercloud.ServiceClient, clusterID string, opts ListPoliciesOptsBuilder) pagination.Pager
ListPolicies instructs OpenStack to provide a list of policies for a cluster.
Types ¶
type Action ¶
type Action struct {
Action string `json:"action"`
}
Action represents an OpenStack Clustering action.
type ActionResult ¶
type ActionResult struct {
gophercloud.Result
}
ActionResult is the response of Senlin actions. Call its Extract method to obtain the Action ID of the action.
func AddNodes ¶
func AddNodes(client *gophercloud.ServiceClient, id string, opts AddNodesOpts) (r ActionResult)
func AttachPolicy ¶
func AttachPolicy(client *gophercloud.ServiceClient, id string, opts AttachPolicyOptsBuilder) (r ActionResult)
Attach Policy will attach a policy to a cluster.
func Check ¶
func Check(client *gophercloud.ServiceClient, id string) (r ActionResult)
Check will perform a health check on a cluster.
func CompleteLifecycle ¶
func CompleteLifecycle(client *gophercloud.ServiceClient, id string, opts CompleteLifecycleOpts) (r ActionResult)
func DetachPolicy ¶
func DetachPolicy(client *gophercloud.ServiceClient, id string, opts DetachPolicyOptsBuilder) (r ActionResult)
DetachPolicy will detach a policy from a cluster.
func Ops ¶
func Ops(client *gophercloud.ServiceClient, id string, opts OperationOptsBuilder) (r ActionResult)
func Recover ¶
func Recover(client *gophercloud.ServiceClient, id string, opts RecoverOptsBuilder) (r ActionResult)
Recover implements cluster recover request.
func RemoveNodes ¶
func RemoveNodes(client *gophercloud.ServiceClient, clusterID string, opts RemoveNodesOpts) (r ActionResult)
func ReplaceNodes ¶
func ReplaceNodes(client *gophercloud.ServiceClient, id string, opts ReplaceNodesOpts) (r ActionResult)
func Resize ¶
func Resize(client *gophercloud.ServiceClient, id string, opts ResizeOptsBuilder) (r ActionResult)
func ScaleIn ¶
func ScaleIn(client *gophercloud.ServiceClient, id string, opts ScaleInOptsBuilder) (r ActionResult)
ScaleIn will reduce the capacity of a cluster.
func ScaleOut ¶
func ScaleOut(client *gophercloud.ServiceClient, id string, opts ScaleOutOptsBuilder) (r ActionResult)
ScaleOut will increase the capacity of a cluster.
func UpdatePolicy ¶
func UpdatePolicy(client *gophercloud.ServiceClient, id string, opts UpdatePolicyOptsBuilder) (r ActionResult)
UpdatePolicy will update a cluster's policy.
func (ActionResult) Extract ¶
func (r ActionResult) Extract() (string, error)
Extract interprets any Action result as an Action.
type AddNodesOpts ¶
type AddNodesOpts struct {
Nodes []string `json:"nodes" required:"true"`
}
func (AddNodesOpts) ToClusterAddNodeMap ¶
func (opts AddNodesOpts) ToClusterAddNodeMap() (map[string]interface{}, error)
type AdjustmentType ¶
type AdjustmentType string
AdjustmentType represents valid values for resizing a cluster.
const ( ExactCapacityAdjustment AdjustmentType = "EXACT_CAPACITY" ChangeInCapacityAdjustment AdjustmentType = "CHANGE_IN_CAPACITY" ChangeInPercentageAdjustment AdjustmentType = "CHANGE_IN_PERCENTAGE" )
type AttachPolicyOpts ¶
type AttachPolicyOpts struct { PolicyID string `json:"policy_id" required:"true"` Enabled *bool `json:"enabled,omitempty"` }
PolicyOpts params
func (AttachPolicyOpts) ToClusterAttachPolicyMap ¶
func (opts AttachPolicyOpts) ToClusterAttachPolicyMap() (map[string]interface{}, error)
ToClusterAttachPolicyMap constructs a request body from AttachPolicyOpts.
type AttachPolicyOptsBuilder ¶
type AttachPolicyOptsBuilder interface {
ToClusterAttachPolicyMap() (map[string]interface{}, error)
}
AttachPolicyOptsBuilder allows extensions to add additional parameters to the AttachPolicy request.
type Cluster ¶
type Cluster struct { Config map[string]interface{} `json:"config"` CreatedAt time.Time `json:"-"` Data map[string]interface{} `json:"data"` Dependents map[string]interface{} `json:"dependents"` DesiredCapacity int `json:"desired_capacity"` Domain string `json:"domain"` ID string `json:"id"` InitAt time.Time `json:"-"` MaxSize int `json:"max_size"` Metadata map[string]interface{} `json:"metadata"` MinSize int `json:"min_size"` Name string `json:"name"` Nodes []string `json:"nodes"` Policies []string `json:"policies"` ProfileID string `json:"profile_id"` ProfileName string `json:"profile_name"` Project string `json:"project"` Status string `json:"status"` StatusReason string `json:"status_reason"` Timeout int `json:"timeout"` UpdatedAt time.Time `json:"-"` User string `json:"user"` }
Cluster represents an OpenStack Clustering cluster.
func ExtractClusters ¶
func ExtractClusters(r pagination.Page) ([]Cluster, error)
ExtractClusters returns a slice of Clusters from the List operation.
func (*Cluster) UnmarshalJSON ¶
type ClusterAttributes ¶
type ClusterAttributes struct { ID string `json:"id"` Value interface{} `json:"value"` }
type ClusterPage ¶
type ClusterPage struct {
pagination.LinkedPageBase
}
ClusterPage contains a single page of all clusters from a List call.
func (ClusterPage) IsEmpty ¶
func (page ClusterPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of Clusters contains any results.
type ClusterPolicy ¶
type ClusterPolicy struct { ClusterID string `json:"cluster_id"` ClusterName string `json:"cluster_name"` Enabled bool `json:"enabled"` ID string `json:"id"` PolicyID string `json:"policy_id"` PolicyName string `json:"policy_name"` PolicyType string `json:"policy_type"` }
ClusterPolicy represents and OpenStack Clustering cluster policy.
func ExtractClusterPolicies ¶
func ExtractClusterPolicies(r pagination.Page) ([]ClusterPolicy, error)
ExtractClusterPolicies returns a slice of ClusterPolicies from the ListClusterPolicies operation.
type ClusterPolicyPage ¶
type ClusterPolicyPage struct {
pagination.SinglePageBase
}
ClusterPolicyPage contains a single page of all policies from a List call
func (ClusterPolicyPage) IsEmpty ¶
func (page ClusterPolicyPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of ClusterPolicies contains any results.
type CollectOpts ¶
type CollectOpts struct {
Path string `q:"path" required:"true"`
}
CollectOpts represents options to collect attribute values across a cluster
func (CollectOpts) ToClusterCollectMap ¶
func (opts CollectOpts) ToClusterCollectMap() (string, error)
type CollectOptsBuilder ¶
type CollectResult ¶
type CollectResult struct {
gophercloud.Result
}
func Collect ¶
func Collect(client *gophercloud.ServiceClient, id string, opts CollectOptsBuilder) (r CollectResult)
Collect instructs OpenStack to aggregate attribute values across a cluster
func (CollectResult) Extract ¶
func (r CollectResult) Extract() ([]ClusterAttributes, error)
Extract returns collected attributes across a cluster
type CompleteLifecycleOpts ¶
type CompleteLifecycleOpts struct {
LifecycleActionTokenID string `json:"lifecycle_action_token" required:"true"`
}
func (CompleteLifecycleOpts) ToClusterCompleteLifecycleMap ¶
func (opts CompleteLifecycleOpts) ToClusterCompleteLifecycleMap() (map[string]interface{}, error)
ToClusterCompleteLifecycleMap constructs a request body from CompleteLifecycleOpts.
type CreateOpts ¶
type CreateOpts struct { Name string `json:"name" required:"true"` DesiredCapacity int `json:"desired_capacity"` ProfileID string `json:"profile_id" required:"true"` MinSize *int `json:"min_size,omitempty"` Timeout int `json:"timeout,omitempty"` MaxSize int `json:"max_size,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"` Config map[string]interface{} `json:"config,omitempty"` }
CreateOpts represents options used to create a cluster.
func (CreateOpts) ToClusterCreateMap ¶
func (opts CreateOpts) ToClusterCreateMap() (map[string]interface{}, error)
ToClusterCreateMap constructs a request body from CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
CreateResult is the response of a Create operations. Call its Extract method to interpret it as a Cluster.
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create requests the creation of a new cluster.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the result from a Delete operation. Call its ExtractErr method to determine if the call succeeded or failed.
func Delete ¶
func Delete(client *gophercloud.ServiceClient, id string) (r DeleteResult)
Delete deletes the specified cluster ID.
type DetachPolicyOpts ¶
type DetachPolicyOpts struct {
PolicyID string `json:"policy_id" required:"true"`
}
DetachPolicyOpts represents options used to detach a policy from a cluster.
func (DetachPolicyOpts) ToClusterDetachPolicyMap ¶
func (opts DetachPolicyOpts) ToClusterDetachPolicyMap() (map[string]interface{}, error)
ToClusterDetachPolicyMap constructs a request body from DetachPolicyOpts.
type DetachPolicyOptsBuilder ¶
type DetachPolicyOptsBuilder interface {
ToClusterDetachPolicyMap() (map[string]interface{}, error)
}
DetachPolicyOptsBuilder allows extensions to add additional parameters to the DetachPolicy request.
type GetPolicyResult ¶
type GetPolicyResult struct {
gophercloud.Result
}
GetPolicyResult is the response of a Get operations. Call its Extract method to interpret it as a ClusterPolicy.
func GetPolicy ¶
func GetPolicy(client *gophercloud.ServiceClient, clusterID string, policyID string) (r GetPolicyResult)
GetPolicy retrieves details of a cluster policy.
func (GetPolicyResult) Extract ¶
func (r GetPolicyResult) Extract() (*ClusterPolicy, error)
Extract interprets a GetPolicyResult as a ClusterPolicy.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
GetResult is the response of a Get operations. Call its Extract method to interpret it as a Cluster.
type ListOpts ¶
type ListOpts struct { Limit int `q:"limit"` Marker string `q:"marker"` Sort string `q:"sort"` GlobalProject *bool `q:"global_project"` Name string `q:"name,omitempty"` Status string `q:"status,omitempty"` }
ListOpts represents options to list clusters.
func (ListOpts) ToClusterListQuery ¶
ToClusterListQuery formats a ListOpts into a query string.
type ListOptsBuilder ¶
ListOptsBuilder allows extensions to add additional parameters to the List request.
type ListPoliciesOpts ¶
type ListPoliciesOpts struct { Enabled *bool `q:"enabled"` Name string `q:"policy_name"` Type string `q:"policy_type"` Sort string `q:"sort"` }
ListPoliciesOpts represents options to list a cluster's policies.
func (ListPoliciesOpts) ToClusterPoliciesListQuery ¶
func (opts ListPoliciesOpts) ToClusterPoliciesListQuery() (string, error)
ToClusterPoliciesListQuery formats a ListOpts into a query string.
type ListPoliciesOptsBuilder ¶
ListPolicyOptsBuilder allows extensions to add additional parameters to the ListPolicies request.
type OperationFilters ¶
type OperationFilters map[string]interface{}
type OperationName ¶
type OperationName string
OperationName represents valid values for cluster operation
const ( // Nova Profile Op Names RebootOperation OperationName = "reboot" RebuildOperation OperationName = "rebuild" ChangePasswordOperation OperationName = "change_password" PauseOperation OperationName = "pause" UnpauseOperation OperationName = "unpause" SuspendOperation OperationName = "suspend" ResumeOperation OperationName = "resume" LockOperation OperationName = "lock" UnlockOperation OperationName = "unlock" StartOperation OperationName = "start" StopOperation OperationName = "stop" RescueOperation OperationName = "rescue" UnrescueOperation OperationName = "unrescue" EvacuateOperation OperationName = "evacuate" // Heat Pofile Op Names AbandonOperation OperationName = "abandon" )
type OperationOpts ¶
type OperationOpts struct { Operation OperationName `json:"operation" required:"true"` Filters OperationFilters `json:"filters,omitempty"` Params OperationParams `json:"params,omitempty"` }
OperationOpts represents options used to perform an operation on a cluster
func (OperationOpts) ToClusterOperationMap ¶
func (opts OperationOpts) ToClusterOperationMap() (map[string]interface{}, error)
ToClusterOperationMap constructs a request body from OperationOpts.
type OperationOptsBuilder ¶
OperationOptsBuilder allows extensions to add additional parameters to the Op request.
type OperationParams ¶
type OperationParams map[string]interface{}
type RecoverOpts ¶
type RecoverOpts struct { Operation RecoveryAction `json:"operation,omitempty"` Check *bool `json:"check,omitempty"` CheckCapacity *bool `json:"check_capacity,omitempty"` }
RecoverOpts represents options used to recover a cluster.
func (RecoverOpts) ToClusterRecoverMap ¶
func (opts RecoverOpts) ToClusterRecoverMap() (map[string]interface{}, error)
ToClusterRecovermap constructs a request body from RecoverOpts.
type RecoverOptsBuilder ¶
RecoverOptsBuilder allows extensions to add additional parameters to the Recover request.
type RecoveryAction ¶
type RecoveryAction string
RecoveryAction represents valid values for recovering a cluster.
const ( RebootRecovery RecoveryAction = "REBOOT" RebuildRecovery RecoveryAction = "REBUILD" RecreateRecovery RecoveryAction = "RECREATE" )
type RemoveNodesOpts ¶
type RemoveNodesOpts struct {
Nodes []string `json:"nodes" required:"true"`
}
func (RemoveNodesOpts) ToClusterRemoveNodeMap ¶
func (opts RemoveNodesOpts) ToClusterRemoveNodeMap() (map[string]interface{}, error)
type ReplaceNodesOpts ¶
func (ReplaceNodesOpts) ToClusterReplaceNodeMap ¶
func (opts ReplaceNodesOpts) ToClusterReplaceNodeMap() (map[string]interface{}, error)
type ResizeOpts ¶
type ResizeOpts struct { AdjustmentType AdjustmentType `json:"adjustment_type,omitempty"` Number interface{} `json:"number,omitempty"` MinSize *int `json:"min_size,omitempty"` MaxSize *int `json:"max_size,omitempty"` MinStep *int `json:"min_step,omitempty"` Strict *bool `json:"strict,omitempty"` }
ResizeOpts represents options for resizing a cluster.
func (ResizeOpts) ToClusterResizeMap ¶
func (opts ResizeOpts) ToClusterResizeMap() (map[string]interface{}, error)
ToClusterResizeMap constructs a request body from ResizeOpts.
type ResizeOptsBuilder ¶
ResizeOptsBuilder allows extensions to add additional parameters to the resize request.
type ScaleInOpts ¶
type ScaleInOpts struct {
Count *int `json:"count,omitempty"`
}
ScaleInOpts represents options used to scale-in a cluster.
func (ScaleInOpts) ToClusterScaleInMap ¶
func (opts ScaleInOpts) ToClusterScaleInMap() (map[string]interface{}, error)
ToClusterScaleInMap constructs a request body from ScaleInOpts.
type ScaleInOptsBuilder ¶
ScaleInOptsBuilder allows extensions to add additional parameters to the ScaleIn request.
type ScaleOutOpts ¶
type ScaleOutOpts struct {
Count int `json:"count,omitempty"`
}
ScaleOutOpts represents options used to scale-out a cluster.
func (ScaleOutOpts) ToClusterScaleOutMap ¶
func (opts ScaleOutOpts) ToClusterScaleOutMap() (map[string]interface{}, error)
ToClusterScaleOutMap constructs a request body from ScaleOutOpts.
type ScaleOutOptsBuilder ¶
ScaleOutOptsBuilder allows extensions to add additional parameters to the ScaleOut request.
type UpdateOpts ¶
type UpdateOpts struct { Config string `json:"config,omitempty"` Name string `json:"name,omitempty"` ProfileID string `json:"profile_id,omitempty"` Timeout *int `json:"timeout,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"` ProfileOnly *bool `json:"profile_only,omitempty"` }
UpdateOpts represents options to update a cluster.
func (UpdateOpts) ToClusterUpdateMap ¶
func (opts UpdateOpts) ToClusterUpdateMap() (map[string]interface{}, error)
ToClusterUpdateMap assembles a request body based on the contents of UpdateOpts.
type UpdateOptsBuilder ¶
UpdateOptsBuilder allows extensions to add additional parameters to the Update request.
type UpdatePolicyOpts ¶
type UpdatePolicyOpts struct { PolicyID string `json:"policy_id" required:"true"` Enabled *bool `json:"enabled,omitempty" required:"true"` }
UpdatePolicyOpts represents options used to update a cluster policy.
func (UpdatePolicyOpts) ToClusterUpdatePolicyMap ¶
func (opts UpdatePolicyOpts) ToClusterUpdatePolicyMap() (map[string]interface{}, error)
ToClusterUpdatePolicyMap constructs a request body from UpdatePolicyOpts.
type UpdatePolicyOptsBuilder ¶
type UpdatePolicyOptsBuilder interface {
ToClusterUpdatePolicyMap() (map[string]interface{}, error)
}
UpdatePolicyOptsBuilder allows extensions to add additional parameters to the UpdatePolicy request.
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
UpdateResult is the response of a Update operations. Call its Extract method to interpret it as a Cluster.
func Update ¶
func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) (r UpdateResult)
Update will update an existing cluster.