本文整理匯總了Golang中github.com/Juniper/contrail-go-api/types.FloatingIpPool類的典型用法代碼示例。如果您正苦於以下問題:Golang FloatingIpPool類的具體用法?Golang FloatingIpPool怎麽用?Golang FloatingIpPool使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了FloatingIpPool類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: floatingIpPoolDeleteChildren
func (m *NetworkManagerImpl) floatingIpPoolDeleteChildren(pool *types.FloatingIpPool) error {
fips, err := pool.GetFloatingIps()
if err != nil {
glog.Errorf("Get floating-ip-pool %s: %v", pool.GetName(), err)
return err
}
for _, fip := range fips {
err := m.client.DeleteByUuid("floating-ip", fip.Uuid)
if err != nil {
glog.Errorf("Delete floating-ip %s: %v", fip.Uuid, err)
}
}
return nil
}
示例2: LocateFloatingIpPool
func (m *NetworkManagerImpl) LocateFloatingIpPool(network *types.VirtualNetwork) (*types.FloatingIpPool, error) {
obj, err := m.client.FindByName("floating-ip-pool", makePoolName(network))
if err == nil {
return obj.(*types.FloatingIpPool), nil
}
pool := new(types.FloatingIpPool)
pool.SetName(network.GetName())
pool.SetParent(network)
err = m.client.Create(pool)
if err != nil {
glog.Errorf("Create floating-ip-pool %s: %v", network.GetName(), err)
return nil, err
}
return pool, nil
}
示例3: LocateFloatingIpPool
func (m *NetworkManagerImpl) LocateFloatingIpPool(
network *types.VirtualNetwork, subnet string) (*types.FloatingIpPool, error) {
obj, err := m.client.FindByName(
"floating-ip-pool", makePoolName(network))
if err == nil {
return obj.(*types.FloatingIpPool), nil
}
address, prefixlen := PrefixToAddressLen(subnet)
pool := new(types.FloatingIpPool)
pool.SetName(network.GetName())
pool.SetParent(network)
pool.SetFloatingIpPoolPrefixes(
&types.FloatingIpPoolType{
Subnet: []types.SubnetType{types.SubnetType{address, prefixlen}}})
err = m.client.Create(pool)
if err != nil {
glog.Errorf("Create floating-ip-pool %s: %v", network.GetName(), err)
return nil, err
}
return pool, nil
}