github.com/gophercloud/gophercloud@v1.11.0/openstack/networking/v2/extensions/lbaas_v2/pools/doc.go (about) 1 /* 2 Package pools provides information and interaction with Pools and 3 Members of the LBaaS v2 extension for the OpenStack Networking service. 4 5 Example to List Pools 6 7 listOpts := pools.ListOpts{ 8 LoadbalancerID: "c79a4468-d788-410c-bf79-9a8ef6354852", 9 } 10 11 allPages, err := pools.List(networkClient, listOpts).AllPages() 12 if err != nil { 13 panic(err) 14 } 15 16 allPools, err := pools.ExtractPools(allPages) 17 if err != nil { 18 panic(err) 19 } 20 21 for _, pools := range allPools { 22 fmt.Printf("%+v\n", pool) 23 } 24 25 Example to Create a Pool 26 27 createOpts := pools.CreateOpts{ 28 LBMethod: pools.LBMethodRoundRobin, 29 Protocol: "HTTP", 30 Name: "Example pool", 31 LoadbalancerID: "79e05663-7f03-45d2-a092-8b94062f22ab", 32 } 33 34 pool, err := pools.Create(networkClient, createOpts).Extract() 35 if err != nil { 36 panic(err) 37 } 38 39 Example to Update a Pool 40 41 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 42 43 updateOpts := pools.UpdateOpts{ 44 Name: "new-name", 45 } 46 47 pool, err := pools.Update(networkClient, poolID, updateOpts).Extract() 48 if err != nil { 49 panic(err) 50 } 51 52 Example to Delete a Pool 53 54 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 55 err := pools.Delete(networkClient, poolID).ExtractErr() 56 if err != nil { 57 panic(err) 58 } 59 60 Example to List Pool Members 61 62 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 63 64 listOpts := pools.ListMemberOpts{ 65 ProtocolPort: 80, 66 } 67 68 allPages, err := pools.ListMembers(networkClient, poolID, listOpts).AllPages() 69 if err != nil { 70 panic(err) 71 } 72 73 allMembers, err := pools.ExtractMembers(allPages) 74 if err != nil { 75 panic(err) 76 } 77 78 for _, member := allMembers { 79 fmt.Printf("%+v\n", member) 80 } 81 82 Example to Create a Member 83 84 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 85 86 weight := 10 87 createOpts := pools.CreateMemberOpts{ 88 Name: "db", 89 SubnetID: "1981f108-3c48-48d2-b908-30f7d28532c9", 90 Address: "10.0.2.11", 91 ProtocolPort: 80, 92 Weight: &weight, 93 } 94 95 member, err := pools.CreateMember(networkClient, poolID, createOpts).Extract() 96 if err != nil { 97 panic(err) 98 } 99 100 Example to Update a Member 101 102 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 103 memberID := "64dba99f-8af8-4200-8882-e32a0660f23e" 104 105 weight := 4 106 updateOpts := pools.UpdateMemberOpts{ 107 Name: "new-name", 108 Weight: &weight, 109 } 110 111 member, err := pools.UpdateMember(networkClient, poolID, memberID, updateOpts).Extract() 112 if err != nil { 113 panic(err) 114 } 115 116 Example to Delete a Member 117 118 poolID := "d67d56a6-4a86-4688-a282-f46444705c64" 119 memberID := "64dba99f-8af8-4200-8882-e32a0660f23e" 120 121 err := pools.DeleteMember(networkClient, poolID, memberID).ExtractErr() 122 if err != nil { 123 panic(err) 124 } 125 */ 126 package pools