in pkg/azure/client.go [64:106]
func NewAzClient(subscriptionID string, resourceGroupName string, fwPolicyName string, fwPolicyRuleCollectionGroupName string, fwPolicyRuleCollectionGroupPriority int32, clientID string, client client.Client) AzClient {
settings, err := auth.GetSettingsFromEnvironment()
if err != nil {
return nil
}
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
klog.Error("failed to obtain a credential: %v", err)
return nil
}
ipGroupClient, err := a.NewIPGroupsClient(string(subscriptionID), cred, nil)
if err != nil {
klog.Error("failed to create IP group client: %v", err)
}
fwPolicyClient, err := a.NewFirewallPoliciesClient(string(subscriptionID), cred, nil)
if err != nil {
klog.Error("failed to create Firewall Policy client: %v", err)
}
az := &azClient{
fwPolicyClient: fwPolicyClient,
fwPolicyRuleCollectionGroupClient: n.NewFirewallPolicyRuleCollectionGroupsClientWithBaseURI(settings.Environment.ResourceManagerEndpoint, string(subscriptionID)),
ipGroupClient: ipGroupClient,
clientID: clientID,
subscriptionID: subscriptionID,
resourceGroupName: resourceGroupName,
fwPolicyName: fwPolicyName,
fwPolicyRuleCollectionGroupName: fwPolicyRuleCollectionGroupName,
fwPolicyRuleCollectionGroupPriority: fwPolicyRuleCollectionGroupPriority,
firewallPolicyLoc: "",
queue: NewQueue("policyBuilder"),
client: client,
configCache: to.ByteSlicePtr([]byte{}),
ctx: context.Background(),
}
worker := NewWorker(az.queue, az.client)
go worker.DoWork()
return az
}