blob: 069714868066c09e7fef9ad7f9026c786825ea85 [file] [log] [blame]
/*
Package pools provides information and interaction with Pools and
Members of the LBaaS v2 extension for the OpenStack Networking service.
Example to List Pools
listOpts := pools.ListOpts{
LoadbalancerID: "c79a4468-d788-410c-bf79-9a8ef6354852",
}
allPages, err := pools.List(networkClient, listOpts).AllPages()
if err != nil {
panic(err)
}
allPools, err := pools.ExtractPools(allPages)
if err != nil {
panic(err)
}
for _, pools := range allPools {
fmt.Printf("%+v\n", pool)
}
Example to Create a Pool
createOpts := pools.CreateOpts{
LBMethod: pools.LBMethodRoundRobin,
Protocol: "HTTP",
Name: "Example pool",
LoadbalancerID: "79e05663-7f03-45d2-a092-8b94062f22ab",
}
pool, err := pools.Create(networkClient, createOpts).Extract()
if err != nil {
panic(err)
}
Example to Update a Pool
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
updateOpts := pools.UpdateOpts{
Name: "new-name",
}
pool, err := pools.Update(networkClient, poolID, updateOpts).Extract()
if err != nil {
panic(err)
}
Example to Delete a Pool
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
err := pools.Delete(networkClient, poolID).ExtractErr()
if err != nil {
panic(err)
}
Example to List Pool Members
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
listOpts := pools.ListMemberOpts{
ProtocolPort: 80,
}
allPages, err := pools.ListMembers(networkClient, poolID, listOpts).AllPages()
if err != nil {
panic(err)
}
allMembers, err := pools.ExtractMembers(allPages)
if err != nil {
panic(err)
}
for _, member := allMembers {
fmt.Printf("%+v\n", member)
}
Example to Create a Member
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
weight := 10
createOpts := pools.CreateMemberOpts{
Name: "db",
SubnetID: "1981f108-3c48-48d2-b908-30f7d28532c9",
Address: "10.0.2.11",
ProtocolPort: 80,
Weight: &weight,
}
member, err := pools.CreateMember(networkClient, poolID, createOpts).Extract()
if err != nil {
panic(err)
}
Example to Update a Member
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
memberID := "64dba99f-8af8-4200-8882-e32a0660f23e"
weight := 4
updateOpts := pools.UpdateMemberOpts{
Name: "new-name",
Weight: &weight,
}
member, err := pools.UpdateMember(networkClient, poolID, memberID, updateOpts).Extract()
if err != nil {
panic(err)
}
Example to Delete a Member
poolID := "d67d56a6-4a86-4688-a282-f46444705c64"
memberID := "64dba99f-8af8-4200-8882-e32a0660f23e"
err := pools.DeleteMember(networkClient, poolID, memberID).ExtractErr()
if err != nil {
panic(err)
}
*/
package pools