// closeEndpoints closes the endpoints in the Azure deployment. func (azInstance *azureInstance) closeEndpoints(api *gwacl.ManagementAPI, portRanges []network.PortRange) error { request := &gwacl.RemoveRoleEndpointsRequest{ 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++ { request.InputEndpoints = append(request.InputEndpoints, gwacl.InputEndpoint{ LocalPort: port, Name: fmt.Sprintf("%s_%d", name, port), Port: port, Protocol: portRange.Protocol, LoadBalancedEndpointSetName: name, }) } } return api.RemoveRoleEndpoints(request) }