Documentation ¶
Overview ¶
Package servergroups provides the ability to manage server groups.
Example to List Server Groups
allpages, err := servergroups.List(computeClient).AllPages() if err != nil { panic(err) } allServerGroups, err := servergroups.ExtractServerGroups(allPages) if err != nil { panic(err) } for _, sg := range allServerGroups { fmt.Printf("%#v\n", sg) }
Example to Create a Server Group
createOpts := servergroups.CreateOpts{ Name: "my_sg", Policies: []string{"anti-affinity"}, } sg, err := servergroups.Create(computeClient, createOpts).Extract() if err != nil { panic(err) }
Example to Delete a Server Group
sgID := "7a6f29ad-e34d-4368-951a-58a08f11cfb7" err := servergroups.Delete(computeClient, sgID).ExtractErr() if err != nil { panic(err) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List returns a Pager that allows you to iterate over a collection of ServerGroups.
Types ¶
type CreateOpts ¶
type CreateOpts struct { // Name is the name of the server group Name string `json:"name" required:"true"` // Policies are the server group policies Policies []string `json:"policies" required:"true"` }
CreateOpts specifies Server Group creation parameters.
func (CreateOpts) ToServerGroupCreateMap ¶
func (opts CreateOpts) ToServerGroupCreateMap() (map[string]interface{}, error)
ToServerGroupCreateMap constructs a request body from CreateOpts.
type CreateOptsBuilder ¶
CreateOptsBuilder allows extensions to add additional parameters to the Create request.
type CreateResult ¶
type CreateResult struct {
ServerGroupResult
}
CreateResult is the response from a Create operation. Call its Extract method to interpret it as a ServerGroup.
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) (r CreateResult)
Create requests the creation of a new Server Group.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
DeleteResult is the response 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 requests the deletion of a previously allocated ServerGroup.
type GetResult ¶
type GetResult struct {
ServerGroupResult
}
GetResult is the response from a Get operation. Call its Extract method to interpret it as a ServerGroup.
func Get ¶
func Get(client *gophercloud.ServiceClient, id string) (r GetResult)
Get returns data about a previously created ServerGroup.
type ServerGroup ¶
type ServerGroup struct { // ID is the unique ID of the Server Group. ID string `json:"id"` // Name is the common name of the server group. Name string `json:"name"` // Polices are the group policies. // // Normally a single policy is applied: // // "affinity" will place all servers within the server group on the // same compute node. // // "anti-affinity" will place servers within the server group on different // compute nodes. Policies []string `json:"policies"` // Members are the members of the server group. Members []string `json:"members"` // Metadata includes a list of all user-specified key-value pairs attached // to the Server Group. Metadata map[string]interface{} }
A ServerGroup creates a policy for instance placement in the cloud.
func ExtractServerGroups ¶
func ExtractServerGroups(r pagination.Page) ([]ServerGroup, error)
ExtractServerGroups interprets a page of results as a slice of ServerGroups.
type ServerGroupPage ¶
type ServerGroupPage struct {
pagination.SinglePageBase
}
ServerGroupPage stores a single page of all ServerGroups results from a List call.
func (ServerGroupPage) IsEmpty ¶
func (page ServerGroupPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a ServerGroupsPage is empty.
type ServerGroupResult ¶
type ServerGroupResult struct {
gophercloud.Result
}
func (ServerGroupResult) Extract ¶
func (r ServerGroupResult) Extract() (*ServerGroup, error)
Extract is a method that attempts to interpret any Server Group resource response as a ServerGroup struct.