blob: 29b554d2137c8851aec30d6439702f87272128be [file] [log] [blame]
Ildar Svetlovb35f3612020-01-27 13:51:00 +04001/*
2Package availabilityzones provides the ability to get lists and detailed
3availability zone information and to extend a server result with
4availability zone information.
5
6Example of Extend server result with Availability Zone Information:
7
8 type ServerWithAZ struct {
9 servers.Server
10 availabilityzones.ServerAvailabilityZoneExt
11 }
12
13 var allServers []ServerWithAZ
14
15 allPages, err := servers.List(client, nil).AllPages()
16 if err != nil {
17 panic("Unable to retrieve servers: %s", err)
18 }
19
20 err = servers.ExtractServersInto(allPages, &allServers)
21 if err != nil {
22 panic("Unable to extract servers: %s", err)
23 }
24
25 for _, server := range allServers {
26 fmt.Println(server.AvailabilityZone)
27 }
28
29Example of Get Availability Zone Information
30
31 allPages, err := availabilityzones.List(computeClient).AllPages()
32 if err != nil {
33 panic(err)
34 }
35
36 availabilityZoneInfo, err := availabilityzones.ExtractAvailabilityZones(allPages)
37 if err != nil {
38 panic(err)
39 }
40
41 for _, zoneInfo := range availabilityZoneInfo {
42 fmt.Printf("%+v\n", zoneInfo)
43 }
44
45Example of Get Detailed Availability Zone Information
46
47 allPages, err := availabilityzones.ListDetail(computeClient).AllPages()
48 if err != nil {
49 panic(err)
50 }
51
52 availabilityZoneInfo, err := availabilityzones.ExtractAvailabilityZones(allPages)
53 if err != nil {
54 panic(err)
55 }
56
57 for _, zoneInfo := range availabilityZoneInfo {
58 fmt.Printf("%+v\n", zoneInfo)
59 }
60*/
61package availabilityzones