Skip to content

Commit 0a76536

Browse files
authored
feat(resources): Use resourcemanager/resources/armsubscriptions for subscription resources (#10369)
Fixes #9854
1 parent f0f8638 commit 0a76536

File tree

13 files changed

+58
-29
lines changed

13 files changed

+58
-29
lines changed

plugins/source/azure/client/client.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import (
1616
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
1717
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling"
1818
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
19+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
1920
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage"
20-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
2121
"github.com/cloudquery/plugin-pb-go/specs"
2222
"github.com/cloudquery/plugin-sdk/v3/plugins/source"
2323
"github.com/cloudquery/plugin-sdk/v3/schema"
@@ -31,7 +31,7 @@ type Client struct {
3131
subscriptions []string
3232

3333
// SubscriptionsObjects is to cache full objects returned from ListSubscriptions on initialisation
34-
SubscriptionsObjects []*armsubscription.Subscription
34+
SubscriptionsObjects []*armsubscriptions.Subscription
3535

3636
// ResourceGroups is to cache full objects returned from ListResourceGroups on initialisation,
3737
// as a map from subscription ID to list of resource groups.
@@ -58,7 +58,7 @@ type Client struct {
5858

5959
func (c *Client) discoverSubscriptions(ctx context.Context) error {
6060
c.subscriptions = make([]string, 0)
61-
subscriptionClient, err := armsubscription.NewSubscriptionsClient(c.Creds, c.Options)
61+
subscriptionClient, err := armsubscriptions.NewClient(c.Creds, c.Options)
6262
if err != nil {
6363
return err
6464
}
@@ -71,7 +71,7 @@ func (c *Client) discoverSubscriptions(ctx context.Context) error {
7171
// we record all returned values, even disabled
7272
c.SubscriptionsObjects = append(c.SubscriptionsObjects, page.Value...)
7373
for _, sub := range page.Value {
74-
if *sub.State == armsubscription.SubscriptionStateEnabled {
74+
if *sub.State == armsubscriptions.SubscriptionStateEnabled {
7575
c.subscriptions = append(c.subscriptions, strings.TrimPrefix(*sub.ID, "/subscriptions/"))
7676
}
7777
}

plugins/source/azure/go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ require (
8383
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armlinks v1.0.0
8484
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy v0.6.0
8585
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0
86+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.1.1
8687
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas v0.5.0
8788
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.0.0
8889
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity v0.9.0
@@ -92,7 +93,7 @@ require (
9293
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.2.0
9394
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecache/v3 v3.0.0
9495
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/streamanalytics/armstreamanalytics v1.0.0
95-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.0.0
96+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.1.0
9697
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport v1.0.0
9798
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0
9899
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot v1.0.0

plugins/source/azure/go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy v0.6.0
197197
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy v0.6.0/go.mod h1:4I3SgVMg1Zo5TpfQGtYgBs0srBEDznSa86uu3uMVTHI=
198198
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0 h1:ECsQtyERDVz3NP3kvDOTLvbQhqWp/x9EsGKtb4ogUr8=
199199
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.0.0/go.mod h1:s1tW/At+xHqjNFvWU4G0c0Qv33KOhvbGNj0RCTQDV8s=
200+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.1.1 h1:A+a54F7ygu4ANdV9hYsLMfiHFgjuwIUCG+6opLAvxJE=
201+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions v1.1.1/go.mod h1:ThfyMjs6auYrWPnYJjI3H4H++oVPrz01pizpu8lfl3A=
200202
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas v0.5.0 h1:Ago3lJWlCMt1lIuxVaFWIl/AAGFtNECG8uZzEmTlWas=
201203
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas v0.5.0/go.mod h1:vnL/NzlNfo1wQD5OTFGXBmK+7c6AZ9sqP6R126eGMUo=
202204
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch v1.0.0 h1:21YCzWMNfJiVsnQYYhO+NEjl32kTnaN/izdHx4KMXwM=
@@ -215,8 +217,8 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecac
215217
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecache/v3 v3.0.0/go.mod h1:h8JOxgBLAzXxyBkq616ey3mxnSWz/e7Mi67R3Re85dQ=
216218
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/streamanalytics/armstreamanalytics v1.0.0 h1:IDuSHsqMhi6PysfqSycxXBz7WOYRGSvw31IK/Zio8cA=
217219
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/streamanalytics/armstreamanalytics v1.0.0/go.mod h1:44ZAL1LS24yrReci8LqmY3tY9sX0wf/wXadZNT8SQHY=
218-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.0.0 h1:vsovXlTyKHZXnqzQyt7QMVkwpJBDkHchQL53qXaGBRY=
219-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.0.0/go.mod h1:UZy1vHcRdEymNP1d6fTrvYHpSdkXoUdowfrvffcQOOU=
220+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.1.0 h1:pYhaMoTHP/zYIJGDA1sWsfyTDjdglaoYjIFMOEcL+/U=
221+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription v1.1.0/go.mod h1:iLq8GwpQhj09gpI4EdELwifR9kHrb/Q0LThq6iQq9yY=
220222
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport v1.0.0 h1:0BotkrxxvEC1SKhXuu8CK089uDzLLjLma/VGLq5TbQ0=
221223
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport v1.0.0/go.mod h1:1cSbREmeSg3E0axaZjCa6PjG5LgxP+GNrsj+6x1CShk=
222224
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse v0.5.0 h1:CMHxfGGGbg9ua3uSBNRdhKa+fciYNavayBiG0I6LA34=

plugins/source/azure/resources/services/subscription/locations.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ package subscription
33
import (
44
"context"
55

6-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
6+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
7+
"github.com/apache/arrow/go/v13/arrow"
78
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
89
"github.com/cloudquery/plugin-sdk/v3/schema"
910
"github.com/cloudquery/plugin-sdk/v3/transformers"
@@ -15,16 +16,28 @@ func locations() *schema.Table {
1516
Resolver: fetchLocations,
1617
PostResourceResolver: client.LowercaseIDResolver,
1718
Description: "https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list-locations?tabs=HTTP#location",
18-
Transform: transformers.TransformWithStruct(&armsubscription.Location{}, transformers.WithPrimaryKeys("ID")),
19-
Columns: schema.ColumnList{client.SubscriptionID},
19+
Transform: transformers.TransformWithStruct(&armsubscriptions.Location{}, transformers.WithPrimaryKeys("ID")),
20+
Columns: schema.ColumnList{
21+
client.SubscriptionID,
22+
{
23+
Name: "latitude",
24+
Type: arrow.BinaryTypes.String,
25+
Resolver: schema.PathResolver("Metadata.Latitude"),
26+
},
27+
{
28+
Name: "longitude",
29+
Type: arrow.BinaryTypes.String,
30+
Resolver: schema.PathResolver("Metadata.Longitude"),
31+
},
32+
},
2033
}
2134
}
2235

2336
func fetchLocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error {
24-
p := parent.Item.(*armsubscription.Subscription)
37+
p := parent.Item.(*armsubscriptions.Subscription)
2538
cl := meta.(*client.Client)
2639

27-
svc, err := armsubscription.NewSubscriptionsClient(cl.Creds, cl.Options)
40+
svc, err := armsubscriptions.NewClient(cl.Creds, cl.Options)
2841
if err != nil {
2942
return err
3043
}

plugins/source/azure/resources/services/subscription/locations_mock_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import (
44
"encoding/json"
55
"net/http"
66

7-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
7+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
88
"github.com/cloudquery/plugin-sdk/v3/faker"
99
"github.com/gorilla/mux"
1010
)
1111

1212
func createLocations(router *mux.Router) error {
13-
var item armsubscription.SubscriptionsClientListLocationsResponse
13+
var item armsubscriptions.ClientListLocationsResponse
1414
if err := faker.FakeObject(&item); err != nil {
1515
return err
1616
}

plugins/source/azure/resources/services/subscription/subscription_mock_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ import (
88
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
99

1010
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
11-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
11+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
1212
"github.com/cloudquery/plugin-sdk/v3/faker"
1313
"github.com/gorilla/mux"
1414
)
1515

1616
func createSubscriptions(router *mux.Router) error {
17-
var item armsubscription.SubscriptionsClientListResponse
17+
var item armsubscriptions.ClientListResponse
1818
if err := faker.FakeObject(&item); err != nil {
1919
return err
2020
}

plugins/source/azure/resources/services/subscription/subscriptions.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package subscription
22

33
import (
4-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
4+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
55
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
66
"github.com/cloudquery/plugin-sdk/v3/schema"
77
"github.com/cloudquery/plugin-sdk/v3/transformers"
@@ -13,7 +13,7 @@ func Subscriptions() *schema.Table {
1313
Resolver: fetchSubscriptions,
1414
PostResourceResolver: client.LowercaseIDResolver,
1515
Description: "https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list?tabs=HTTP#subscription",
16-
Transform: transformers.TransformWithStruct(&armsubscription.Subscription{}, transformers.WithPrimaryKeys("ID")),
16+
Transform: transformers.TransformWithStruct(&armsubscriptions.Subscription{}, transformers.WithPrimaryKeys("ID")),
1717
Columns: schema.ColumnList{},
1818
Relations: []*schema.Table{
1919
locations(),

plugins/source/azure/resources/services/subscription/subscriptions_fetch.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package subscription
33
import (
44
"context"
55

6-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
6+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
77
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
88
"github.com/cloudquery/plugin-sdk/v3/schema"
99
)
@@ -16,7 +16,7 @@ func fetchSubscriptions(ctx context.Context, meta schema.ClientMeta, parent *sch
1616
return nil
1717
}
1818

19-
svc, err := armsubscription.NewSubscriptionsClient(cl.Creds, cl.Options)
19+
svc, err := armsubscriptions.NewClient(cl.Creds, cl.Options)
2020
if err != nil {
2121
return err
2222
}

plugins/source/azure/resources/services/subscription/tenants.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package subscription
33
import (
44
"context"
55

6-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
6+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
77
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
88
"github.com/cloudquery/plugin-sdk/v3/schema"
99
"github.com/cloudquery/plugin-sdk/v3/transformers"
@@ -15,14 +15,14 @@ func Tenants() *schema.Table {
1515
Resolver: fetchTenants,
1616
PostResourceResolver: client.LowercaseIDResolver,
1717
Description: "https://learn.microsoft.com/en-us/rest/api/resources/tenants/list?tabs=HTTP#tenantiddescription",
18-
Transform: transformers.TransformWithStruct(&armsubscription.TenantIDDescription{}, transformers.WithPrimaryKeys("ID")),
18+
Transform: transformers.TransformWithStruct(&armsubscriptions.TenantIDDescription{}, transformers.WithPrimaryKeys("ID")),
1919
Columns: schema.ColumnList{},
2020
}
2121
}
2222

2323
func fetchTenants(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error {
2424
cl := meta.(*client.Client)
25-
svc, err := armsubscription.NewTenantsClient(cl.Creds, cl.Options)
25+
svc, err := armsubscriptions.NewTenantsClient(cl.Creds, cl.Options)
2626
if err != nil {
2727
return err
2828
}

plugins/source/azure/resources/services/subscription/tenants_mock_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@ import (
55
"net/http"
66
"testing"
77

8+
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions"
89
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
9-
10-
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
1110
"github.com/cloudquery/plugin-sdk/v3/faker"
1211
"github.com/gorilla/mux"
1312
)
1413

1514
func createTenants(router *mux.Router) error {
16-
var item armsubscription.TenantsClientListResponse
15+
var item armsubscriptions.TenantsClientListResponse
1716
if err := faker.FakeObject(&item); err != nil {
1817
return err
1918
}

0 commit comments

Comments
 (0)