func configureAlzLib()

in internal/provider/provider.go [369:389]


func configureAlzLib(token *azidentity.ChainedTokenCredential, data gen.AlzModel, userAgent string) (*alzlib.AlzLib, diag.Diagnostics) {
	var diags diag.Diagnostics
	popts := new(policy.ClientOptions)
	popts.DisableRPRegistration = data.SkipProviderRegistration.ValueBool()
	popts.PerRetryPolicies = append(popts.PerRetryPolicies, withUserAgent(userAgent))

	opts := &alzlib.AlzLibOptions{
		AllowOverwrite: data.LibraryOverwriteEnabled.ValueBool(),
		Parallelism:    10,
	}
	alz := alzlib.NewAlzLib(opts)
	cf, err := armpolicy.NewClientFactory("", token, popts)
	if err != nil {
		diags.AddError("failed to create Azure Policy client factory: %v", err.Error())
		return nil, diags
	}

	alz.AddPolicyClient(cf)

	return alz, diags
}