Skip to content
Merged
4 changes: 4 additions & 0 deletions plugins/source/azure/codegen0/internal/azparser/parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ var newFuncToSkipPerPackage = map[string]map[string]bool{
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql": {
"NewDeletedServersClient": true,
},
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute": {
// we migrated this to manual written client as it has childs
"NewVirtualMachinesClient": true,
},
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos": {
"NewDatabaseAccountsClient": true,
},
Expand Down
9 changes: 0 additions & 9 deletions plugins/source/azure/codegen1/recipes/compute.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions plugins/source/azure/codegen2/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,9 @@ func initTable(parent *recipes.Table, r *recipes.Table) error {
if r.Relations != nil {
for _, relation := range r.Relations {
r.Table.Relations = append(r.Table.Relations, relation.Name+"()")
initTable(r, relation)
if err := initTable(r, relation); err != nil {
return err
}
}
}
return nil
Expand All @@ -162,7 +164,8 @@ func generateTable(parent *recipes.Table, r *recipes.Table) error {
}
var buff bytes.Buffer
if err := tpl.Execute(&buff, r); err != nil {
return fmt.Errorf("failed to execute template for %s: %w", r.Table.Name, err)
return fmt.Errorf("failed to execute template for %w", err)
// return fmt.Errorf("failed to execute template for %s: %w", r.Table.Name, err)
Comment thread
yevgenypats marked this conversation as resolved.
Outdated
}

filePath := path.Join(currentDir, "../resources/services", r.PackageName)
Expand Down
12 changes: 0 additions & 12 deletions plugins/source/azure/codegen2/recipes/compute.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

42 changes: 42 additions & 0 deletions plugins/source/azure/codegen2/recipes/compute_e.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,48 @@ func init() {
},
},
},
{
Service: "armcompute",
Name: "virtual_machines",
Struct: &armcompute.VirtualMachine{},
ResponseStruct: &armcompute.VirtualMachinesClientListAllResponse{},
Client: &armcompute.VirtualMachinesClient{},
ListFunc: (&armcompute.VirtualMachinesClient{}).NewListAllPager,
NewFunc: armcompute.NewVirtualMachinesClient,
URL: "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines",
Multiplex: `client.SubscriptionMultiplexRegisteredNamespace(client.Namespacemicrosoft_compute)`,
SkipMock: true,
ExtraColumns: []codegen.ColumnDefinition{
SubscriptionIdColumn,
{
Name: "instance_view",
Type: schema.TypeJSON,
Resolver: `getInstanceView`,
},
},
// ExtraColumns: DefaultExtraColumns,
// Relations: []*Table{
// {
// Name: "virtual_machine_instance_views",
// Service: "armcompute",
// Struct: &armcompute.VirtualMachineInstanceView{},
// // ResponseStruct is just a stub for codegen not to fail
// ResponseStruct: &armcompute.VirtualMachinesClientInstanceViewResponse{},
// Client: &armcompute.VirtualMachinesClient{},
// ListFunc: (&armcompute.VirtualMachinesClient{}).InstanceView,
// NewFunc: armcompute.NewVirtualMachinesClient,
// URL: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView",
// SkipFetch: true,
// ExtraColumns: []codegen.ColumnDefinition{
// {
// Name: "id",
// Type: schema.TypeString,
// Resolver: `schema.PathResolver("ComputerName")`,
// },
// },
// },
// },
Comment thread
yevgenypats marked this conversation as resolved.
Outdated
},
}
Tables = append(Tables, tables...)
}
2 changes: 1 addition & 1 deletion plugins/source/azure/docs/tables/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
- [azure_compute_restore_point_collections](azure_compute_restore_point_collections.md)
- [azure_compute_snapshots](azure_compute_snapshots.md)
- [azure_compute_virtual_machine_scale_sets](azure_compute_virtual_machine_scale_sets.md)
- [azure_compute_virtual_machines](azure_compute_virtual_machines.md)
- [azure_compute_skus](azure_compute_skus.md)
- [azure_compute_virtual_machines](azure_compute_virtual_machines.md)
- [azure_confluent_marketplace_agreements](azure_confluent_marketplace_agreements.md)
- [azure_connectedvmware_clusters](azure_connectedvmware_clusters.md)
- [azure_connectedvmware_datastores](azure_connectedvmware_datastores.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ The primary key for this table is **id**.
|_cq_id|UUID|
|_cq_parent_id|UUID|
|subscription_id|String|
|instance_view|JSON|
|location|String|
|extended_location|JSON|
|identity|JSON|
Expand Down
2 changes: 1 addition & 1 deletion plugins/source/azure/resources/plugin/tables.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package compute

import (
"context"

"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
"github.com/cloudquery/plugin-sdk/schema"
)

func getInstanceView(ctx context.Context, meta schema.ClientMeta, resource *schema.Resource, c schema.Column) error {
cl := meta.(*client.Client)
svc, err := armcompute.NewVirtualMachinesClient(cl.SubscriptionId, cl.Creds, cl.Options)
if err != nil {
return err
}
item := resource.Item.(*armcompute.VirtualMachine)
group, err := client.ParseResourceGroup(*item.ID)
if err != nil {
return err
}
instanceView, err := svc.InstanceView(ctx, group, *item.Name, nil)
if err != nil {
return err
}
return resource.Set(c.Name, instanceView.VirtualMachineInstanceView)
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Code generated by codegen2; DO NOT EDIT.
package compute

import (
"encoding/json"
"github.com/cloudquery/cloudquery/plugins/source/azure/client"
"net/http"
"testing"

"github.com/cloudquery/cloudquery/plugins/source/azure/client"

"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute"
"github.com/cloudquery/plugin-sdk/faker"
"github.com/gorilla/mux"
Expand All @@ -32,6 +32,23 @@ func createVirtualMachines(router *mux.Router) error {
return
}
})

var instanceViewItem armcompute.VirtualMachinesClientInstanceViewResponse
if err := faker.FakeObject(&instanceViewItem); err != nil {
return err
}
// /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView
router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView", func(w http.ResponseWriter, r *http.Request) {
b, err := json.Marshal(&instanceViewItem)
if err != nil {
http.Error(w, "unable to marshal request: "+err.Error(), http.StatusBadRequest)
return
}
if _, err := w.Write(b); err != nil {
http.Error(w, "failed to write", http.StatusBadRequest)
return
}
})
return nil
}

Expand Down
2 changes: 1 addition & 1 deletion website/pages/docs/plugins/sources/azure/tables.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@
- [azure_compute_restore_point_collections](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_restore_point_collections.md)
- [azure_compute_snapshots](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_snapshots.md)
- [azure_compute_virtual_machine_scale_sets](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machine_scale_sets.md)
- [azure_compute_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machines.md)
- [azure_compute_skus](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_skus.md)
- [azure_compute_virtual_machines](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_compute_virtual_machines.md)
- [azure_confluent_marketplace_agreements](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md)
- [azure_connectedvmware_clusters](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md)
- [azure_connectedvmware_datastores](https://github.com/cloudquery/cloudquery/blob/main/plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md)
Expand Down