本文整理匯總了Golang中launchpad/net/gwacl.ManagementAPI.AddRoleEndpoints方法的典型用法代碼示例。如果您正苦於以下問題:Golang ManagementAPI.AddRoleEndpoints方法的具體用法?Golang ManagementAPI.AddRoleEndpoints怎麽用?Golang ManagementAPI.AddRoleEndpoints使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類launchpad/net/gwacl.ManagementAPI
的用法示例。
在下文中一共展示了ManagementAPI.AddRoleEndpoints方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: openEndpoints
// openEndpoints opens the endpoints in the Azure deployment.
func (azInstance *azureInstance) openEndpoints(api *gwacl.ManagementAPI, portRanges []network.PortRange) error {
request := &gwacl.AddRoleEndpointsRequest{
ServiceName: azInstance.serviceName(),
DeploymentName: azInstance.deploymentName,
RoleName: azInstance.roleName,
}
for _, portRange := range portRanges {
name := fmt.Sprintf("%s%d-%d", portRange.Protocol, portRange.FromPort, portRange.ToPort)
for port := portRange.FromPort; port <= portRange.ToPort; port++ {
endpoint := gwacl.InputEndpoint{
LocalPort: port,
Name: fmt.Sprintf("%s_range_%d", name, port),
Port: port,
Protocol: portRange.Protocol,
}
if azInstance.supportsLoadBalancing() {
probePort := port
if strings.ToUpper(endpoint.Protocol) == "UDP" {
// Load balancing needs a TCP port to probe, or an HTTP
// server port & path to query. For UDP, we just use the
// machine's SSH agent port to test machine liveness.
//
// It probably doesn't make sense to load balance most UDP
// protocols transparently, but that's an application level
// concern.
probePort = 22
}
endpoint.LoadBalancedEndpointSetName = name
endpoint.LoadBalancerProbe = &gwacl.LoadBalancerProbe{
Port: probePort,
Protocol: "TCP",
}
}
request.InputEndpoints = append(request.InputEndpoints, endpoint)
}
}
return api.AddRoleEndpoints(request)
}