func getVnetGUID()

in pkg/operator/operator.go [192:215]


func getVnetGUID(cfg *auth.Config, subnetID string) (string, error) {
	creds, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
		return "", err
	}
	opts := armopts.DefaultArmOpts()
	vnetClient, err := armnetwork.NewVirtualNetworksClient(cfg.SubscriptionID, creds, opts)
	if err != nil {
		return "", err
	}

	subnetParts, err := utils.GetVnetSubnetIDComponents(subnetID)
	if err != nil {
		return "", err
	}
	vnet, err := vnetClient.Get(context.Background(), subnetParts.ResourceGroupName, subnetParts.VNetName, nil)
	if err != nil {
		return "", err
	}
	if vnet.Properties == nil || vnet.Properties.ResourceGUID == nil {
		return "", fmt.Errorf("vnet %s does not have a resource GUID", subnetParts.VNetName)
	}
	return *vnet.Properties.ResourceGUID, nil
}