Documentation
¶
Overview ¶
Package aggregates manages information about the host aggregates in the OpenStack cloud.
Example of Create Aggregate
opts := aggregates.CreateOpts{
Name: "name",
AvailabilityZone: "london",
}
aggregate, err := aggregates.Create(computeClient, opts).Extract()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", aggregate)
Example of Show Aggregate Details
aggregateID := 42
aggregate, err := aggregates.Get(computeClient, aggregateID).Extract()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", aggregate)
Example of Delete Aggregate
aggregateID := 32
err := aggregates.Delete(computeClient, aggregateID).ExtractErr()
if err != nil {
panic(err)
}
Example of Update Aggregate
aggregateID := 42
opts := aggregates.UpdateOpts{
Name: "new_name",
AvailabilityZone: "nova2",
}
aggregate, err := aggregates.Update(computeClient, aggregateID, opts).Extract()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", aggregate)
Example of Retrieving list of all aggregates
allPages, err := aggregates.List(computeClient).AllPages()
if err != nil {
panic(err)
}
allAggregates, err := aggregates.ExtractAggregates(allPages)
if err != nil {
panic(err)
}
for _, aggregate := range allAggregates {
fmt.Printf("%+v\n", aggregate)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List makes a request against the API to list aggregates.
Types ¶
type Aggregate ¶
type Aggregate struct {
// The availability zone of the host aggregate.
AvailabilityZone string `json:"availability_zone"`
// A list of host ids in this aggregate.
Hosts []string `json:"hosts"`
// The ID of the host aggregate.
ID int `json:"id"`
// Metadata key and value pairs associate with the aggregate.
Metadata map[string]string `json:"metadata"`
// Name of the aggregate.
Name string `json:"name"`
// The date and time when the resource was created.
CreatedAt time.Time `json:"-"`
// The date and time when the resource was updated,
// if the resource has not been updated, this field will show as null.
UpdatedAt time.Time `json:"-"`
// The date and time when the resource was deleted,
// if the resource has not been deleted yet, this field will be null.
DeletedAt time.Time `json:"-"`
// A boolean indicates whether this aggregate is deleted or not,
// if it has not been deleted, false will appear.
Deleted bool `json:"deleted"`
}
Aggregate represents a host aggregate in the OpenStack cloud.
func ExtractAggregates ¶
func ExtractAggregates(p pagination.Page) ([]Aggregate, error)
ExtractAggregates interprets a page of results as a slice of Aggregates.
func (*Aggregate) UnmarshalJSON ¶
UnmarshalJSON to override default
type AggregatesPage ¶
type AggregatesPage struct {
pagination.SinglePageBase
}
AggregatesPage represents a single page of all Aggregates from a List request.
func (AggregatesPage) IsEmpty ¶
func (page AggregatesPage) IsEmpty() (bool, error)
IsEmpty determines whether or not a page of Aggregates contains any results.
type CreateOpts ¶
type CreateOpts struct {
// The name of the host aggregate.
Name string `json:"name" required:"true"`
// The availability zone of the host aggregate.
// You should use a custom availability zone rather than
// the default returned by the os-availability-zone API.
// The availability zone must not include ‘:’ in its name.
AvailabilityZone string `json:"availability_zone,omitempty"`
}
func (CreateOpts) ToAggregatesCreateMap ¶
func (opts CreateOpts) ToAggregatesCreateMap() (map[string]interface{}, error)
type CreateResult ¶
type CreateResult struct {
// contains filtered or unexported fields
}
func Create ¶
func Create(client *gophercloud.ServiceClient, opts CreateOpts) (r CreateResult)
Create makes a request against the API to create an aggregate.
type DeleteResult ¶
type DeleteResult struct {
gophercloud.ErrResult
}
func Delete ¶
func Delete(client *gophercloud.ServiceClient, aggregateID int) (r DeleteResult)
Delete makes a request against the API to delete an aggregate.
type GetResult ¶
type GetResult struct {
// contains filtered or unexported fields
}
func Get ¶
func Get(client *gophercloud.ServiceClient, aggregateID int) (r GetResult)
Get makes a request against the API to get details for an specific aggregate.
type UpdateOpts ¶
type UpdateOpts struct {
// The name of the host aggregate.
Name string `json:"name,omitempty"`
// The availability zone of the host aggregate.
// You should use a custom availability zone rather than
// the default returned by the os-availability-zone API.
// The availability zone must not include ‘:’ in its name.
AvailabilityZone string `json:"availability_zone,omitempty"`
}
func (UpdateOpts) ToAggregatesUpdateMap ¶
func (opts UpdateOpts) ToAggregatesUpdateMap() (map[string]interface{}, error)
type UpdateResult ¶
type UpdateResult struct {
// contains filtered or unexported fields
}
func Update ¶
func Update(client *gophercloud.ServiceClient, aggregateID int, opts UpdateOpts) (r UpdateResult)