Documentation
¶
Overview ¶
Package availabilityzones provides the ability to get lists and detailed availability zone information and to extend a server result with availability zone information.
Example of Get Availability Zone Information
allPages, err := availabilityzones.List(computeClient).AllPages(context.TODO())
if err != nil {
panic(err)
}
availabilityZoneInfo, err := availabilityzones.ExtractAvailabilityZones(allPages)
if err != nil {
panic(err)
}
for _, zoneInfo := range availabilityZoneInfo {
fmt.Printf("%+v\n", zoneInfo)
}
Example of Get Detailed Availability Zone Information
allPages, err := availabilityzones.ListDetail(computeClient).AllPages(context.TODO())
if err != nil {
panic(err)
}
availabilityZoneInfo, err := availabilityzones.ExtractAvailabilityZones(allPages)
if err != nil {
panic(err)
}
for _, zoneInfo := range availabilityZoneInfo {
fmt.Printf("%+v\n", zoneInfo)
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func List ¶
func List(client *gophercloud.ServiceClient) pagination.Pager
List will return the existing availability zones.
func ListDetail ¶
func ListDetail(client *gophercloud.ServiceClient) pagination.Pager
ListDetail will return the existing availability zones with detailed information.
Types ¶
type AvailabilityZone ¶
type AvailabilityZone struct {
Hosts Hosts `json:"hosts"`
// The availability zone name
ZoneName string `json:"zoneName"`
ZoneState ZoneState `json:"zoneState"`
}
AvailabilityZone contains all the information associated with an OpenStack AvailabilityZone.
func ExtractAvailabilityZones ¶
func ExtractAvailabilityZones(r pagination.Page) ([]AvailabilityZone, error)
ExtractAvailabilityZones returns a slice of AvailabilityZones contained in a single page of results.
type AvailabilityZonePage ¶
type AvailabilityZonePage struct {
pagination.SinglePageBase
}
type Hosts ¶
Hosts is map of hosts/nodes contained in an AvailabilityZone. Each host can have multiple services.
type ServiceState ¶
type ServiceState struct {
Active bool `json:"active"`
Available bool `json:"available"`
UpdatedAt time.Time `json:"-"`
}
ServiceState represents the state of a service in an AvailabilityZone.
func (*ServiceState) UnmarshalJSON ¶
func (r *ServiceState) UnmarshalJSON(b []byte) error
UnmarshalJSON to override default
type Services ¶
type Services map[string]ServiceState
Services is a map of services contained in an AvailabilityZone.