mirror of https://github.com/k3s-io/k3s
Allow use resource ID to specify public IP address in azure_loadbalancer
parent
6b03a43b76
commit
540baa9796
|
@ -699,3 +699,23 @@ func (as *availabilitySet) EnsureBackendPoolDeleted(poolID, vmSetName string) er
|
|||
// Do nothing for availability set.
|
||||
return nil
|
||||
}
|
||||
|
||||
// parseResourceGroupNameFromID parses the resource group name from a resource ID
|
||||
func parseResourceGroupNameFromID(resourceID string) (resourceGroupName string, err error) {
|
||||
reg, err := regexp.Compile(`(?i)(.*?)/resourceGroups/(?P<rgname>\S+)/providers/(.*?)`)
|
||||
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
matchNames := reg.SubexpNames()
|
||||
matches := reg.FindStringSubmatch(resourceID)
|
||||
|
||||
for i := range matchNames {
|
||||
if matchNames[i] == "rgname" {
|
||||
return matches[i], nil
|
||||
}
|
||||
}
|
||||
|
||||
return "", fmt.Errorf("Invalid resource ID: %s", resourceID)
|
||||
}
|
||||
|
|
|
@ -156,10 +156,11 @@ func (az *Cloud) listLoadBalancers() (lbListResult network.LoadBalancerListResul
|
|||
func (az *Cloud) getPublicIPAddress(name string) (pip network.PublicIPAddress, exists bool, err error) {
|
||||
var realErr error
|
||||
|
||||
var realErr error
|
||||
az.operationPollRateLimiter.Accept()
|
||||
glog.V(10).Infof("PublicIPAddressesClient.Get(%s): start", name)
|
||||
pip, err = az.PublicIPAddressesClient.Get(az.ResourceGroup, name, "")
|
||||
glog.V(10).Infof("PublicIPAddressesClient.Get(%s): end", name)
|
||||
glog.V(10).Infof("PublicIPAddressesClient.Get(%s, %s): start", resourceGroup, pipName)
|
||||
pip, err = az.PublicIPAddressesClient.Get(resourceGroup, pipName, "")
|
||||
glog.V(10).Infof("PublicIPAddressesClient.Get(%s, %s): end", resourceGroup, pipName)
|
||||
|
||||
exists, realErr = checkResourceExistsFromError(err)
|
||||
if realErr != nil {
|
||||
|
|
Loading…
Reference in New Issue