MCPcopy
hub / github.com/Azure/aztfexport / ListResource

Method ListResource

internal/meta/meta_query.go:57–104  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

55}
56
57func (meta *MetaQuery) ListResource(ctx context.Context) (ImportList, error) {
58 meta.Logger().Debug("Query resource set")
59 rset, err := meta.queryResourceSet(ctx, meta.argPredicate, meta.recursiveQuery)
60 if err != nil {
61 return nil, err
62 }
63 var rl []resourceset.TFResource
64 if meta.useAzAPI() {
65 meta.Logger().Debug("Azure Resource set map to TF resource set")
66 rl = rset.ToTFAzAPIResources()
67 } else {
68 meta.Logger().Debug("Reduce resource set")
69 if err := rset.ReduceResource(); err != nil {
70 return nil, fmt.Errorf("tweaking across resources in the azure resource set: %v", err)
71 }
72
73 meta.Logger().Debug("Azure Resource set map to TF resource set")
74 rl = rset.ToTFAzureRMResources(meta.Logger(), meta.parallelism, meta.azureSDKCred, meta.azureSDKClientOpt)
75 }
76
77 var l ImportList
78 for i, res := range rl {
79 item := ImportItem{
80 AzureResourceID: res.AzureId,
81 TFResourceId: res.TFId,
82 TFAddr: tfaddr.TFAddr{
83 Type: "",
84 Name: fmt.Sprintf("%s%d%s", meta.resourceNamePrefix, i, meta.resourceNameSuffix),
85 },
86 TFAddrCache: tfaddr.TFAddr{
87 Type: "",
88 Name: fmt.Sprintf("%s%d%s", meta.resourceNamePrefix, i, meta.resourceNameSuffix),
89 },
90 }
91 if res.TFType != "" {
92 item.Recommendations = []string{res.TFType}
93 item.TFAddr.Type = res.TFType
94 item.TFAddrCache.Type = res.TFType
95 item.IsRecommended = true
96 }
97
98 l = append(l, item)
99 }
100
101 l = meta.excludeImportList(l)
102
103 return l, nil
104}
105
106func (meta MetaQuery) queryResourceSet(ctx context.Context, predicate string, recursive bool) (*resourceset.AzureResourceSet, error) {
107 opt := azlist.Option{

Callers

nothing calls this directly

Calls 7

queryResourceSetMethod · 0.95
useAzAPIMethod · 0.80
ToTFAzAPIResourcesMethod · 0.80
ReduceResourceMethod · 0.80
ToTFAzureRMResourcesMethod · 0.80
excludeImportListMethod · 0.80
LoggerMethod · 0.65

Tested by

no test coverage detected