func()

in internal/meta/meta_query.go [108:140]


func (meta MetaQuery) queryResourceSet(ctx context.Context, predicate string, recursive bool) (*resourceset.AzureResourceSet, error) {
	opt := azlist.Option{
		Logger:                      meta.logger.WithGroup("azlist"),
		SubscriptionId:              meta.subscriptionId,
		Cred:                        meta.azureSDKCred,
		ClientOpt:                   meta.azureSDKClientOpt,
		Parallelism:                 meta.parallelism,
		Recursive:                   recursive,
		IncludeResourceGroup:        meta.includeResourceGroup,
		ExtensionResourceTypes:      extBuilder{includeRoleAssignment: meta.includeRoleAssignment}.Build(),
		ARGTable:                    meta.argTable,
		ARGAuthorizationScopeFilter: meta.argAuthenticationScopeFilter,
	}
	lister, err := azlist.NewLister(opt)
	if err != nil {
		return nil, fmt.Errorf("building azlister: %v", err)
	}
	result, err := lister.List(ctx, predicate)
	if err != nil {
		return nil, fmt.Errorf("listing resource set: %w", err)
	}

	var rl []resourceset.AzureResource
	for _, res := range result.Resources {
		res := resourceset.AzureResource{
			Id:         res.Id,
			Properties: res.Properties,
		}
		rl = append(rl, res)
	}

	return &resourceset.AzureResourceSet{Resources: rl}, nil
}