本文整理汇总了Golang中github.com/Juniper/contrail-go-api/types.FloatingIp.GetUuid方法的典型用法代码示例。如果您正苦于以下问题:Golang FloatingIp.GetUuid方法的具体用法?Golang FloatingIp.GetUuid怎么用?Golang FloatingIp.GetUuid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Juniper/contrail-go-api/types.FloatingIp
的用法示例。
在下文中一共展示了FloatingIp.GetUuid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AttachFloatingIp
func (m *InstanceManager) AttachFloatingIp(
podName, projectName string, floatingIp *types.FloatingIp) {
fqn := []string{m.config.DefaultDomain, projectName, podName}
obj, err := m.client.FindByName(
"virtual-machine-interface", strings.Join(fqn, ":"))
if err != nil {
glog.Errorf("GET vmi %s: %v", podName, err)
return
}
vmi := obj.(*types.VirtualMachineInterface)
refs, err := floatingIp.GetVirtualMachineInterfaceRefs()
if err != nil {
glog.Errorf("GET floating-ip %s: %v", floatingIp.GetUuid(), err)
return
}
for _, ref := range refs {
if ref.Uuid == vmi.GetUuid() {
return
}
}
floatingIp.AddVirtualMachineInterface(vmi)
err = m.client.Update(floatingIp)
if err != nil {
glog.Errorf("Update floating-ip %s: %v", podName, err)
}
}
示例2: LocateFloatingIp
func (m *NetworkManagerImpl) LocateFloatingIp(network *types.VirtualNetwork, resourceName, targetAddress string) (*types.FloatingIp, error) {
obj, err := m.client.FindByName("floating-ip-pool", makePoolName(network))
if err != nil {
glog.Errorf("Get floating-ip-pool %s: %v", network.GetName(), err)
return nil, err
}
pool := obj.(*types.FloatingIpPool)
fqn := AppendConst(pool.GetFQName(), resourceName)
obj, err = m.client.FindByName("floating-ip", strings.Join(fqn, ":"))
if err == nil {
fip := obj.(*types.FloatingIp)
if targetAddress != "" && fip.GetFloatingIpAddress() != targetAddress {
fip.SetFloatingIpAddress(targetAddress)
err = m.client.Update(fip)
if err != nil {
glog.Errorf("Update floating-ip %s: %v", resourceName, err)
return nil, err
}
}
return fip, nil
}
projectFQN := network.GetFQName()[0 : len(network.GetFQName())-1]
obj, err = m.client.FindByName("project", strings.Join(projectFQN, ":"))
if err != nil {
glog.Errorf("Get project %s: %v", projectFQN[len(projectFQN)-1], err)
return nil, err
}
project := obj.(*types.Project)
fip := new(types.FloatingIp)
fip.SetParent(pool)
fip.SetName(resourceName)
if targetAddress != "" {
fip.SetFloatingIpAddress(targetAddress)
}
fip.AddProject(project)
err = m.client.Create(fip)
if err != nil {
glog.Errorf("Create floating-ip %s: %v", resourceName, err)
return nil, err
}
if targetAddress == "" {
fip, err = types.FloatingIpByUuid(m.client, fip.GetUuid())
}
return fip, err
}