func NewAzClient()

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
}