From 4ce144abe91cd82f0d75bf9b7da8b616ea4a664c Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 19:06:54 +0200 Subject: [PATCH 01/53] chore: Update CLI version to v5.8.3 (#17035) Updates the CLI latest version to v5.8.3 --- website/versions/cli.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/cli.json b/website/versions/cli.json index 0e1f94d078f2b3..45aab207ba72c1 100644 --- a/website/versions/cli.json +++ b/website/versions/cli.json @@ -1 +1 @@ -{ "latest": "cli-v5.8.2" } +{ "latest": "cli-v5.8.3" } From 8d5e7f8b10c7fe21c70a221372e7717cdfcbcee0 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 19:50:16 +0200 Subject: [PATCH 02/53] chore(deps): Update dependency cli to v5.8.3 (#17036) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [cli](https://togithub.com/cloudquery/cloudquery) | patch | `v5.8.2` -> `v5.8.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
cloudquery/cloudquery (cli) ### [`v5.8.3`](https://togithub.com/cloudquery/cloudquery/releases/tag/cli-v5.8.3) [Compare Source](https://togithub.com/cloudquery/cloudquery/compare/cli-v5.8.2...cli-v5.8.3) ##### Bug Fixes - Enable docker API negotiation ([#​17033](https://togithub.com/cloudquery/cloudquery/issues/17033)) ([6b4561b](https://togithub.com/cloudquery/cloudquery/commit/6b4561b8cb6477533628aa4a6b28dee9cfba03a3))
--- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- .github/workflows/manual_commands_triggers.yml | 2 +- .github/workflows/publish_plugin_to_hub.yml | 6 +++--- .github/workflows/publish_plugin_to_hub_duckdb.yml | 2 +- .github/workflows/publish_plugin_to_hub_motherduck.yml | 2 +- .github/workflows/publish_plugin_to_hub_snowflake.yml | 2 +- .github/workflows/publish_plugin_to_hub_sqlite.yml | 2 +- .github/workflows/source_alicloud.yml | 2 +- .github/workflows/source_aws.yml | 2 +- .github/workflows/source_awspricing.yml | 2 +- .github/workflows/source_azure.yml | 2 +- .github/workflows/source_cloudflare.yml | 2 +- .github/workflows/source_datadog.yml | 2 +- .github/workflows/source_digitalocean.yml | 2 +- .github/workflows/source_gcp.yml | 2 +- .github/workflows/source_github.yml | 2 +- .github/workflows/source_gitlab.yml | 2 +- .github/workflows/source_hackernews.yml | 2 +- .github/workflows/source_hubspot.yml | 2 +- .github/workflows/source_k8s.yml | 2 +- .github/workflows/source_notion.yml | 2 +- .github/workflows/source_okta.yml | 2 +- .github/workflows/source_oracle.yml | 2 +- .github/workflows/source_pagerduty.yml | 2 +- .github/workflows/source_test.yml | 2 +- 24 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/manual_commands_triggers.yml b/.github/workflows/manual_commands_triggers.yml index 24436aacedf407..5265c1045e363b 100644 --- a/.github/workflows/manual_commands_triggers.yml +++ b/.github/workflows/manual_commands_triggers.yml @@ -32,7 +32,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Set up Go 1.x uses: actions/setup-go@v5 diff --git a/.github/workflows/publish_plugin_to_hub.yml b/.github/workflows/publish_plugin_to_hub.yml index 2e6b740b1fdd24..d3e264a20b51a1 100644 --- a/.github/workflows/publish_plugin_to_hub.yml +++ b/.github/workflows/publish_plugin_to_hub.yml @@ -133,7 +133,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} @@ -207,7 +207,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} @@ -288,7 +288,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} diff --git a/.github/workflows/publish_plugin_to_hub_duckdb.yml b/.github/workflows/publish_plugin_to_hub_duckdb.yml index 040c42d27bfe43..ad4d46db8e91c9 100644 --- a/.github/workflows/publish_plugin_to_hub_duckdb.yml +++ b/.github/workflows/publish_plugin_to_hub_duckdb.yml @@ -106,7 +106,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} diff --git a/.github/workflows/publish_plugin_to_hub_motherduck.yml b/.github/workflows/publish_plugin_to_hub_motherduck.yml index 61b109f7f09b0e..b09377f1e216cc 100644 --- a/.github/workflows/publish_plugin_to_hub_motherduck.yml +++ b/.github/workflows/publish_plugin_to_hub_motherduck.yml @@ -106,7 +106,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} diff --git a/.github/workflows/publish_plugin_to_hub_snowflake.yml b/.github/workflows/publish_plugin_to_hub_snowflake.yml index 35ad2315c5753c..663410ed8e29a9 100644 --- a/.github/workflows/publish_plugin_to_hub_snowflake.yml +++ b/.github/workflows/publish_plugin_to_hub_snowflake.yml @@ -107,7 +107,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} diff --git a/.github/workflows/publish_plugin_to_hub_sqlite.yml b/.github/workflows/publish_plugin_to_hub_sqlite.yml index 12a82a3cd8f0a4..fa154c4d73eb36 100644 --- a/.github/workflows/publish_plugin_to_hub_sqlite.yml +++ b/.github/workflows/publish_plugin_to_hub_sqlite.yml @@ -106,7 +106,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: Publish plugin to hub working-directory: ${{ needs.prepare.outputs.plugin_dir }} diff --git a/.github/workflows/source_alicloud.yml b/.github/workflows/source_alicloud.yml index e4eafae56c572e..877ed55d6b6281 100644 --- a/.github/workflows/source_alicloud.yml +++ b/.github/workflows/source_alicloud.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_aws.yml b/.github/workflows/source_aws.yml index ce7d51af45b78d..15c3db0c6f3792 100644 --- a/.github/workflows/source_aws.yml +++ b/.github/workflows/source_aws.yml @@ -49,7 +49,7 @@ jobs: - name: Setup CloudQuery uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_awspricing.yml b/.github/workflows/source_awspricing.yml index 4445fdc867f182..e6d426a728cceb 100644 --- a/.github/workflows/source_awspricing.yml +++ b/.github/workflows/source_awspricing.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_azure.yml b/.github/workflows/source_azure.yml index aba6018053dbb5..24417ce7a1157a 100644 --- a/.github/workflows/source_azure.yml +++ b/.github/workflows/source_azure.yml @@ -47,7 +47,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_cloudflare.yml b/.github/workflows/source_cloudflare.yml index 1e032b93bf395d..efecf2153276b3 100644 --- a/.github/workflows/source_cloudflare.yml +++ b/.github/workflows/source_cloudflare.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_datadog.yml b/.github/workflows/source_datadog.yml index 5c8b6841ac3ccc..75de594de1ea91 100644 --- a/.github/workflows/source_datadog.yml +++ b/.github/workflows/source_datadog.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_digitalocean.yml b/.github/workflows/source_digitalocean.yml index 29fd55c5d45fce..b6d741a78cb191 100644 --- a/.github/workflows/source_digitalocean.yml +++ b/.github/workflows/source_digitalocean.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_gcp.yml b/.github/workflows/source_gcp.yml index f02e15612391d6..1ce3a8e1961ce6 100644 --- a/.github/workflows/source_gcp.yml +++ b/.github/workflows/source_gcp.yml @@ -47,7 +47,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_github.yml b/.github/workflows/source_github.yml index 1dfb84739249a9..d313f445428e7e 100644 --- a/.github/workflows/source_github.yml +++ b/.github/workflows/source_github.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_gitlab.yml b/.github/workflows/source_gitlab.yml index f26c3b5289e15d..026b8f0e9e0dc3 100644 --- a/.github/workflows/source_gitlab.yml +++ b/.github/workflows/source_gitlab.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_hackernews.yml b/.github/workflows/source_hackernews.yml index 38d1dec495bb47..591b28045d6f05 100644 --- a/.github/workflows/source_hackernews.yml +++ b/.github/workflows/source_hackernews.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_hubspot.yml b/.github/workflows/source_hubspot.yml index 59676b98e729a6..6899c2c0134904 100644 --- a/.github/workflows/source_hubspot.yml +++ b/.github/workflows/source_hubspot.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_k8s.yml b/.github/workflows/source_k8s.yml index 88ada94f40f55d..cd2fb8ee72d035 100644 --- a/.github/workflows/source_k8s.yml +++ b/.github/workflows/source_k8s.yml @@ -47,7 +47,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_notion.yml b/.github/workflows/source_notion.yml index dba4d56e9ec8a8..4d0be98d69cdc9 100644 --- a/.github/workflows/source_notion.yml +++ b/.github/workflows/source_notion.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_okta.yml b/.github/workflows/source_okta.yml index 44886193f5f6e8..631d2894235fce 100644 --- a/.github/workflows/source_okta.yml +++ b/.github/workflows/source_okta.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_oracle.yml b/.github/workflows/source_oracle.yml index 04933eb3a7e9fc..0273c532fa442c 100644 --- a/.github/workflows/source_oracle.yml +++ b/.github/workflows/source_oracle.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen-docs if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_pagerduty.yml b/.github/workflows/source_pagerduty.yml index fc82c066d3b2e1..1fb93e52c8cc64 100644 --- a/.github/workflows/source_pagerduty.yml +++ b/.github/workflows/source_pagerduty.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen diff --git a/.github/workflows/source_test.yml b/.github/workflows/source_test.yml index c32a10b6aa6e74..52c72575ca2f49 100644 --- a/.github/workflows/source_test.yml +++ b/.github/workflows/source_test.yml @@ -46,7 +46,7 @@ jobs: if: github.event_name == 'pull_request' uses: cloudquery/setup-cloudquery@v3 with: - version: v5.8.2 + version: v5.8.3 - name: gen if: github.event_name == 'pull_request' run: make gen From 12fdada03cc7e468e8743ff6f68af043f042d2ee Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Tue, 5 Mar 2024 18:08:05 +0000 Subject: [PATCH 03/53] fix: Fix test plugin init (#17037) Apparently the publish command passes `nil` as spec. --- .../source/test/resources/plugin/client.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/plugins/source/test/resources/plugin/client.go b/plugins/source/test/resources/plugin/client.go index f96ad639a26998..03cf05932cd263 100644 --- a/plugins/source/test/resources/plugin/client.go +++ b/plugins/source/test/resources/plugin/client.go @@ -82,6 +82,17 @@ func (*Client) Close(_ context.Context) error { } func Configure(_ context.Context, logger zerolog.Logger, spec []byte, opts plugin.NewClientOptions) (plugin.Client, error) { + if opts.NoConnection { + config := &client.Spec{} + config.SetDefaults() + + return &Client{ + logger: logger, + options: opts, + tables: getTables(*config), + }, nil + } + config := &client.Spec{} if err := json.Unmarshal(spec, config); err != nil { return nil, fmt.Errorf("failed to unmarshal spec: %w", err) @@ -91,14 +102,6 @@ func Configure(_ context.Context, logger zerolog.Logger, spec []byte, opts plugi return nil, fmt.Errorf("failed to validate spec: %w", err) } - if opts.NoConnection { - return &Client{ - logger: logger, - options: opts, - tables: getTables(*config), - }, nil - } - for _, env := range config.RequiredEnv { parts := strings.Split(env, "=") if len(parts) != 2 { From 15eb52d5099a657be9c9d5a84bb8a42e06176da8 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:13:40 +0200 Subject: [PATCH 04/53] chore(main): Release plugins-source-airtable v2.1.1 (#17032) :robot: I have created a release *beep* *boop* --- ## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-airtable-v2.1.0...plugins-source-airtable-v2.1.1) (2024-03-05) ### Bug Fixes * **deps:** Update dependency @cloudquery/plugin-sdk-javascript to v0.1.7 ([#16990](https://github.com/cloudquery/cloudquery/issues/16990)) ([73fdf0b](https://github.com/cloudquery/cloudquery/commit/73fdf0be450689917e86f2fbb1b4b2f7fe02279f)) * **deps:** Update dependency @types/uuid to v9.0.8 ([#16983](https://github.com/cloudquery/cloudquery/issues/16983)) ([cb0c9b2](https://github.com/cloudquery/cloudquery/commit/cb0c9b213936b662b385f81400fe43edd8e93fea)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/airtable/CHANGELOG.md | 8 ++++++++ plugins/source/airtable/package-lock.json | 4 ++-- plugins/source/airtable/package.json | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 937bef9c826860..1fb61ea47187d4 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -101,7 +101,7 @@ "plugins/source/jira+FILLER": "0.0.0", "plugins/source/vault": "1.0.8", "plugins/source/vault+FILLER": "0.0.0", - "plugins/source/airtable": "2.1.0", + "plugins/source/airtable": "2.1.1", "plugins/source/airtable+FILLER": "0.0.0", "plugins/source/bitbucket": "1.1.0", "plugins/source/bitbucket+FILLER": "0.0.0", diff --git a/plugins/source/airtable/CHANGELOG.md b/plugins/source/airtable/CHANGELOG.md index c3477348da554d..979b632c83bf46 100644 --- a/plugins/source/airtable/CHANGELOG.md +++ b/plugins/source/airtable/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [2.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-airtable-v2.1.0...plugins-source-airtable-v2.1.1) (2024-03-05) + + +### Bug Fixes + +* **deps:** Update dependency @cloudquery/plugin-sdk-javascript to v0.1.7 ([#16990](https://github.com/cloudquery/cloudquery/issues/16990)) ([73fdf0b](https://github.com/cloudquery/cloudquery/commit/73fdf0be450689917e86f2fbb1b4b2f7fe02279f)) +* **deps:** Update dependency @types/uuid to v9.0.8 ([#16983](https://github.com/cloudquery/cloudquery/issues/16983)) ([cb0c9b2](https://github.com/cloudquery/cloudquery/commit/cb0c9b213936b662b385f81400fe43edd8e93fea)) + ## [2.1.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-airtable-v2.0.2...plugins-source-airtable-v2.1.0) (2024-02-13) diff --git a/plugins/source/airtable/package-lock.json b/plugins/source/airtable/package-lock.json index bdc9ca8800eae5..f518e167fff805 100644 --- a/plugins/source/airtable/package-lock.json +++ b/plugins/source/airtable/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cloudquery/cq-source-airtable", - "version": "2.1.0", + "version": "2.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cloudquery/cq-source-airtable", - "version": "2.1.0", + "version": "2.1.1", "license": "MPL-2.0", "dependencies": { "@cloudquery/plugin-sdk-javascript": "^0.1.6", diff --git a/plugins/source/airtable/package.json b/plugins/source/airtable/package.json index a7a76fc4fe1171..c622285529cb5d 100644 --- a/plugins/source/airtable/package.json +++ b/plugins/source/airtable/package.json @@ -1,6 +1,6 @@ { "name": "@cloudquery/cq-source-airtable", - "version": "2.1.0", + "version": "2.1.1", "description": "A CloudQuery source plugin to sync data from Airtable", "keywords": [ "nodejs", From e3b017c9a5a8ae443972547d9dd5b3072f88746f Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:15:29 +0200 Subject: [PATCH 05/53] chore(main): Release plugins-source-test v4.2.1 (#17038) :robot: I have created a release *beep* *boop* --- ## [4.2.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.2.0...plugins-source-test-v4.2.1) (2024-03-05) ### Bug Fixes * Fix test plugin init ([#17037](https://github.com/cloudquery/cloudquery/issues/17037)) ([12fdada](https://github.com/cloudquery/cloudquery/commit/12fdada03cc7e468e8743ff6f68af043f042d2ee)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/test/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 1fb61ea47187d4..7c3ce91a872067 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -19,7 +19,7 @@ "plugins/source/okta+FILLER": "0.0.0", "plugins/source/terraform": "3.0.12", "plugins/source/terraform+FILLER": "0.0.0", - "plugins/source/test": "4.2.0", + "plugins/source/test": "4.2.1", "plugins/source/test+FILLER": "0.0.0", "plugins/destination/postgresql": "7.3.7", "plugins/destination/postgresql+FILLER": "0.0.0", diff --git a/plugins/source/test/CHANGELOG.md b/plugins/source/test/CHANGELOG.md index ffecf8205029cf..aa9413a320eb04 100644 --- a/plugins/source/test/CHANGELOG.md +++ b/plugins/source/test/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [4.2.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.2.0...plugins-source-test-v4.2.1) (2024-03-05) + + +### Bug Fixes + +* Fix test plugin init ([#17037](https://github.com/cloudquery/cloudquery/issues/17037)) ([12fdada](https://github.com/cloudquery/cloudquery/commit/12fdada03cc7e468e8743ff6f68af043f042d2ee)) + ## [4.2.0](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.1.0...plugins-source-test-v4.2.0) (2024-03-05) From 13739d3a7dbb9f71eb5e7dcd5a18916f39119f28 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:23:11 +0200 Subject: [PATCH 06/53] chore(main): Release plugins-source-typeform v1.3.2 (#17029) :robot: I have created a release *beep* *boop* --- ## [1.3.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.1...plugins-source-typeform-v1.3.2) (2024-03-05) ### Bug Fixes * **deps:** Update dependency cloudquery-plugin-sdk to v0.1.15 ([#16991](https://github.com/cloudquery/cloudquery/issues/16991)) ([9cbfb42](https://github.com/cloudquery/cloudquery/commit/9cbfb4209797a74b812fa9547e81f84076f1dc68)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/typeform/CHANGELOG.md | 7 +++++++ plugins/source/typeform/plugin/plugin.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7c3ce91a872067..2e453f15812409 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -95,7 +95,7 @@ "plugins/source/oracledb+FILLER": "0.0.0", "plugins/source/square": "1.2.1", "plugins/source/square+FILLER": "0.0.0", - "plugins/source/typeform": "1.3.1", + "plugins/source/typeform": "1.3.2", "plugins/source/typeform+FILLER": "0.0.0", "plugins/source/jira": "1.0.10", "plugins/source/jira+FILLER": "0.0.0", diff --git a/plugins/source/typeform/CHANGELOG.md b/plugins/source/typeform/CHANGELOG.md index fddc2a5e6ac6d1..bdc7d8c015225e 100644 --- a/plugins/source/typeform/CHANGELOG.md +++ b/plugins/source/typeform/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.3.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.1...plugins-source-typeform-v1.3.2) (2024-03-05) + + +### Bug Fixes + +* **deps:** Update dependency cloudquery-plugin-sdk to v0.1.15 ([#16991](https://github.com/cloudquery/cloudquery/issues/16991)) ([9cbfb42](https://github.com/cloudquery/cloudquery/commit/9cbfb4209797a74b812fa9547e81f84076f1dc68)) + ## [1.3.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.0...plugins-source-typeform-v1.3.1) (2024-02-27) diff --git a/plugins/source/typeform/plugin/plugin.py b/plugins/source/typeform/plugin/plugin.py index c8e35b69bdf584..e81123814c2b41 100644 --- a/plugins/source/typeform/plugin/plugin.py +++ b/plugins/source/typeform/plugin/plugin.py @@ -11,7 +11,7 @@ from plugin.client import Client, Spec PLUGIN_NAME = "typeform" -PLUGIN_VERSION = "1.3.1" # {x-release-please-version} +PLUGIN_VERSION = "1.3.2" # {x-release-please-version} class TypeformPlugin(plugin.Plugin): From c3fa93b4f97105c9acdba206e5dec5f78206bec9 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 5 Mar 2024 20:28:16 +0200 Subject: [PATCH 07/53] chore(main): Release plugins-source-square v1.2.2 (#17030) :robot: I have created a release *beep* *boop* --- ## [1.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-square-v1.2.1...plugins-source-square-v1.2.2) (2024-03-05) ### Bug Fixes * **deps:** Update dependency cloudquery-plugin-sdk to v0.1.15 ([#16991](https://github.com/cloudquery/cloudquery/issues/16991)) ([9cbfb42](https://github.com/cloudquery/cloudquery/commit/9cbfb4209797a74b812fa9547e81f84076f1dc68)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/square/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 2e453f15812409..22f6df93f5fc6d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -93,7 +93,7 @@ "plugins/source/firestore+FILLER": "0.0.0", "plugins/source/oracledb": "3.0.12", "plugins/source/oracledb+FILLER": "0.0.0", - "plugins/source/square": "1.2.1", + "plugins/source/square": "1.2.2", "plugins/source/square+FILLER": "0.0.0", "plugins/source/typeform": "1.3.2", "plugins/source/typeform+FILLER": "0.0.0", diff --git a/plugins/source/square/CHANGELOG.md b/plugins/source/square/CHANGELOG.md index 294bbb3a8f63cc..d7d15ad9083be5 100644 --- a/plugins/source/square/CHANGELOG.md +++ b/plugins/source/square/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-square-v1.2.1...plugins-source-square-v1.2.2) (2024-03-05) + + +### Bug Fixes + +* **deps:** Update dependency cloudquery-plugin-sdk to v0.1.15 ([#16991](https://github.com/cloudquery/cloudquery/issues/16991)) ([9cbfb42](https://github.com/cloudquery/cloudquery/commit/9cbfb4209797a74b812fa9547e81f84076f1dc68)) + ## [1.2.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-square-v1.2.0...plugins-source-square-v1.2.1) (2024-02-27) From 31575d22d0000362ac51693f6d958a7fb148b520 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Wed, 6 Mar 2024 10:31:48 +0100 Subject: [PATCH 08/53] chore: Update Postgres connection string in example (#17039) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Summary Both ways work but seems more documented https://github.com/jackc/pgx. Also in our JSON schema https://github.com/cloudquery/cloudquery/blob/c3fa93b4f97105c9acdba206e5dec5f78206bec9/plugins/destination/postgresql/client/spec/spec.go#L21 Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- plugins/destination/postgresql/docs/_configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/destination/postgresql/docs/_configuration.md b/plugins/destination/postgresql/docs/_configuration.md index 54464d37fed34b..e5d87c918acf34 100644 --- a/plugins/destination/postgresql/docs/_configuration.md +++ b/plugins/destination/postgresql/docs/_configuration.md @@ -9,7 +9,7 @@ spec: version: "VERSION_DESTINATION_POSTGRESQL" spec: - connection_string: "${POSTGRESQL_CONNECTION_STRING}" # set the environment variable in a format like postgresql://postgres:pass@localhost:5432/postgres?sslmode=disable + connection_string: "${POSTGRESQL_CONNECTION_STRING}" # set the environment variable in a format like postgres://postgres:pass@localhost:5432/postgres?sslmode=disable # you can also specify it in DSN format, which can hold special characters in the password field: # connection_string: "user=postgres password=pass+0-[word host=localhost port=5432 dbname=postgres" # Optional parameters: From 000ba33081fdf72fefb5260961d78f148ca5fccf Mon Sep 17 00:00:00 2001 From: Michal Brutvan <57617962+pilvikala@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:34:14 +0200 Subject: [PATCH 09/53] doc: Fix broken link (#17042) Fixes https://github.com/cloudquery/cloudquery/issues/17010. I looked for the old content that we could bring back but it's not relevant anymore. The new document we have is fairly similar and more relevant. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c61826f85e6f50..c3369195fee4f5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,7 +66,7 @@ CloudQuery has the ability to be run locally with a corresponding local Postgres * [Development Environment](./contributing/development_environment.md) * [Connecting to a database](https://docs.cloudquery.io/docs/getting-started#spawn-or-connect-to-a-database) -* [Debugging a plugin](https://docs.cloudquery.io/docs/developers/debugging) +* [Running plugins locally](https://docs.cloudquery.io/docs/developers/running-locally) * [Developing a new plugin](https://docs.cloudquery.io/docs/developers/developing-new-provider) #### Further guides From bed950f71d6397f131eef4fb9beba3894bd6db47 Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Wed, 6 Mar 2024 11:34:24 +0100 Subject: [PATCH 10/53] chore: Move tables from free to paid (#17022) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Summary Same as https://github.com/cloudquery/cloudquery/pull/16972 See https://www.cloudquery.io/blog/aws-azure-gcp-pricing-changes --- plugins/source/azure/docs/tables/README.md | 243 +-------------- .../azure_advisor_recommendation_metadata.md | 18 -- .../tables/azure_advisor_recommendations.md | 19 -- .../docs/tables/azure_advisor_suppressions.md | 19 -- .../tables/azure_analysisservices_servers.md | 22 -- .../tables/azure_apimanagement_service.md | 26 -- .../azure_appcomplianceautomation_reports.md | 20 -- ...e_appconfiguration_configuration_stores.md | 24 -- .../azure_applicationinsights_components.md | 23 -- .../azure_applicationinsights_web_tests.md | 22 -- ...re_authorization_classic_administrators.md | 19 -- .../azure_authorization_role_assignments.md | 19 -- .../docs/tables/azure_automation_account.md | 24 -- .../azure_azurearcdata_postgres_instances.md | 24 -- ...zure_azurearcdata_sql_managed_instances.md | 24 -- ...azure_azurearcdata_sql_server_instances.md | 22 -- .../azure/docs/tables/azure_batch_account.md | 22 -- .../docs/tables/azure_billing_accounts.md | 18 -- .../azure_billing_enrollment_accounts.md | 18 -- .../docs/tables/azure_billing_periods.md | 19 -- .../docs/tables/azure_botservice_bots.md | 25 -- .../azure/docs/tables/azure_cdn_edge_nodes.md | 19 -- .../azure/docs/tables/azure_cdn_endpoints.md | 25 -- .../tables/azure_cdn_managed_rule_sets.md | 21 -- .../azure/docs/tables/azure_cdn_profiles.md | 30 -- .../azure/docs/tables/azure_cdn_rule_sets.md | 23 -- .../tables/azure_cdn_security_policies.md | 23 -- ...e_cognitiveservices_account_deployments.md | 26 -- .../azure_cognitiveservices_account_models.md | 34 --- ...es_account_private_endpoint_connections.md | 26 -- ...services_account_private_link_resources.md | 23 -- .../azure_cognitiveservices_account_skus.md | 22 -- .../azure_cognitiveservices_account_usages.md | 27 -- .../azure_cognitiveservices_accounts.md | 36 --- ...zure_cognitiveservices_commitment_plans.md | 25 -- ...zure_cognitiveservices_deleted_accounts.md | 26 -- .../azure_cognitiveservices_resource_skus.md | 21 -- .../azure_confluent_marketplace_agreements.md | 20 -- .../tables/azure_connectedvmware_clusters.md | 24 -- .../azure_connectedvmware_datastores.md | 24 -- .../tables/azure_connectedvmware_hosts.md | 24 -- .../azure_connectedvmware_resource_pools.md | 24 -- .../tables/azure_connectedvmware_v_centers.md | 24 -- ...nnectedvmware_virtual_machine_templates.md | 24 -- .../azure_connectedvmware_virtual_machines.md | 25 -- .../azure_connectedvmware_virtual_networks.md | 24 -- ...re_consumption_billing_account_balances.md | 20 -- ...ure_consumption_billing_account_budgets.md | 19 -- ...ure_consumption_billing_account_charges.md | 20 -- ...zure_consumption_billing_account_events.md | 19 -- ...on_billing_account_legacy_usage_details.md | 21 -- .../azure_consumption_billing_account_lots.md | 19 -- ...onsumption_billing_account_marketplaces.md | 20 -- ...on_billing_account_modern_usage_details.md | 21 -- ...ing_account_reservation_recommendations.md | 22 -- .../azure_consumption_billing_account_tags.md | 19 -- ...ion_billing_profile_reservation_details.md | 20 -- ...ing_profile_reservation_recommendations.md | 23 -- ...n_billing_profile_reservation_summaries.md | 20 -- ...illing_profile_reservation_transactions.md | 19 -- .../azure_consumption_subscription_budgets.md | 19 -- ...ption_subscription_legacy_usage_details.md | 21 -- ...e_consumption_subscription_marketplaces.md | 20 -- ...e_consumption_subscription_price_sheets.md | 20 -- ...ubscription_reservation_recommendations.md | 22 -- .../azure_consumption_subscription_tags.md | 19 -- ...zure_containerinstance_container_groups.md | 23 -- .../azure_containerregistry_registries.md | 24 -- ...ervice_managed_cluster_upgrade_profiles.md | 23 -- ...azure_containerservice_managed_clusters.md | 30 -- .../azure_containerservice_snapshots.md | 22 -- .../azure_costmanagement_view_queries.md | 26 -- .../docs/tables/azure_costmanagement_views.md | 25 -- .../tables/azure_customerinsights_hubs.md | 21 -- .../docs/tables/azure_dashboard_grafana.md | 24 -- .../azure/docs/tables/azure_databox_jobs.md | 24 -- .../azure_datadog_marketplace_agreements.md | 20 -- .../docs/tables/azure_datadog_monitors.md | 24 -- .../tables/azure_datafactory_factories.md | 24 -- .../azure_datalakeanalytics_accounts.md | 21 -- .../tables/azure_datalakestore_accounts.md | 21 -- .../tables/azure_datamigration_services.md | 25 -- .../azure_desktopvirtualization_host_pools.md | 28 -- .../docs/tables/azure_devhub_workflow.md | 22 -- ...re_devops_pipeline_template_definitions.md | 18 -- .../docs/tables/azure_dns_record_sets.md | 24 -- .../azure/docs/tables/azure_dns_zones.md | 27 -- ...ure_dnsresolver_dns_forwarding_rulesets.md | 23 -- .../tables/azure_dnsresolver_dns_resolvers.md | 23 -- .../docs/tables/azure_elastic_monitors.md | 24 -- .../tables/azure_engagementfabric_accounts.md | 21 -- .../tables/azure_eventgrid_topic_types.md | 18 -- ...re_eventhub_namespace_network_rule_sets.md | 25 -- .../docs/tables/azure_eventhub_namespaces.md | 29 -- .../tables/azure_frontdoor_front_doors.md | 21 -- .../azure_frontdoor_managed_rule_sets.md | 21 -- ...e_frontdoor_network_experiment_profiles.md | 22 -- .../tables/azure_hanaonazure_sap_monitors.md | 21 -- .../docs/tables/azure_hdinsight_clusters.md | 25 -- .../azure/docs/tables/azure_healthbot_bots.md | 24 -- .../tables/azure_healthcareapis_services.md | 25 -- ...azure_hybridcompute_private_link_scopes.md | 22 -- .../azure_hybriddatamanager_data_managers.md | 22 -- .../docs/tables/azure_keyvault_keyvault.md | 28 -- .../tables/azure_keyvault_keyvault_keys.md | 24 -- .../azure_keyvault_keyvault_managed_hsms.md | 24 -- .../tables/azure_keyvault_keyvault_secrets.md | 24 -- .../azure/docs/tables/azure_kusto_clusters.md | 26 -- .../docs/tables/azure_logic_workflows.md | 22 -- .../azure_maintenance_configurations.md | 22 -- ...nance_public_maintenance_configurations.md | 22 -- .../tables/azure_managementgroups_entities.md | 18 -- ...zure_managementgroups_management_groups.md | 18 -- .../tables/azure_marketplace_private_store.md | 20 -- .../azure_monitor_activity_log_alerts.md | 21 -- .../azure_monitor_autoscale_settings.md | 22 -- .../azure_monitor_diagnostic_settings.md | 25 -- .../docs/tables/azure_monitor_log_profiles.md | 21 -- .../azure_monitor_private_link_scopes.md | 22 -- .../docs/tables/azure_monitor_resources.md | 34 --- ...onitor_subscription_diagnostic_settings.md | 20 -- ...zure_monitor_tenant_activity_log_alerts.md | 20 -- .../azure_monitor_tenant_activity_logs.md | 38 --- .../azure_network_application_gateways.md | 24 -- ...ure_network_application_security_groups.md | 22 -- .../azure_network_azure_firewall_fqdn_tags.md | 22 -- .../tables/azure_network_azure_firewalls.md | 23 -- .../tables/azure_network_bastion_hosts.md | 23 -- .../azure_network_custom_ip_prefixes.md | 24 -- .../azure_network_ddos_protection_plans.md | 22 -- .../azure_network_dscp_configuration.md | 22 -- ...rk_express_route_circuit_authorizations.md | 24 -- ..._network_express_route_circuit_peerings.md | 24 -- .../azure_network_express_route_circuits.md | 29 -- .../azure_network_express_route_gateways.md | 22 -- .../azure_network_express_route_ports.md | 23 -- ...e_network_express_route_ports_locations.md | 21 -- ...network_express_route_service_providers.md | 21 -- .../tables/azure_network_firewall_policies.md | 23 -- ...ure_network_interface_ip_configurations.md | 24 -- .../docs/tables/azure_network_interfaces.md | 28 -- .../tables/azure_network_ip_allocations.md | 22 -- .../docs/tables/azure_network_ip_groups.md | 22 -- .../tables/azure_network_load_balancers.md | 24 -- .../docs/tables/azure_network_nat_gateways.md | 24 -- .../tables/azure_network_private_endpoints.md | 23 -- .../azure_network_private_link_services.md | 23 -- .../docs/tables/azure_network_profiles.md | 22 -- .../azure_network_public_ip_addresses.md | 25 -- .../azure_network_public_ip_prefixes.md | 25 -- .../tables/azure_network_route_filters.md | 22 -- .../docs/tables/azure_network_route_tables.md | 22 -- .../tables/azure_network_security_groups.md | 22 -- ...zure_network_security_partner_providers.md | 22 -- ...azure_network_service_endpoint_policies.md | 23 -- ...ubscription_network_manager_connections.md | 21 -- .../azure_network_virtual_appliances.md | 23 -- .../docs/tables/azure_network_virtual_hubs.md | 23 -- ...ork_virtual_network_gateway_connections.md | 22 -- .../azure_network_virtual_network_gateways.md | 23 -- .../azure_network_virtual_network_subnets.md | 24 -- .../azure_network_virtual_network_taps.md | 22 -- .../tables/azure_network_virtual_networks.md | 28 -- .../tables/azure_network_virtual_routers.md | 22 -- .../docs/tables/azure_network_virtual_wans.md | 22 -- .../docs/tables/azure_network_vpn_gateways.md | 22 -- ...azure_network_vpn_server_configurations.md | 22 -- .../docs/tables/azure_network_vpn_sites.md | 22 -- .../tables/azure_network_watcher_flow_logs.md | 26 -- .../docs/tables/azure_network_watchers.md | 27 -- ...twork_web_application_firewall_policies.md | 22 -- ...zure_traffic_collectors_by_subscription.md | 23 -- .../docs/tables/azure_nginx_deployments.md | 24 -- .../azure_notificationhubs_namespaces.md | 22 -- .../azure_operationalinsights_clusters.md | 23 -- .../azure_operationalinsights_workspaces.md | 22 -- .../tables/azure_peering_service_countries.md | 18 -- .../tables/azure_peering_service_providers.md | 19 -- .../docs/tables/azure_policy_assignments.md | 22 -- .../azure_policy_data_policy_manifests.md | 18 -- .../docs/tables/azure_policy_exemptions.md | 20 -- .../tables/azure_policy_set_definitions.md | 20 -- ...al_list_tenant_configuration_violations.md | 18 -- .../azure_portal_tenant_configurations.md | 19 -- .../azure_powerbidedicated_capacities.md | 23 -- ...ure_privatedns_private_zone_record_sets.md | 24 -- ...edns_private_zone_virtual_network_links.md | 26 -- .../tables/azure_privatedns_private_zones.md | 28 -- ...zure_providerhub_provider_registrations.md | 19 -- ...ure_redhatopenshift_open_shift_clusters.md | 22 -- .../azure/docs/tables/azure_redis_caches.md | 23 -- .../docs/tables/azure_relay_namespaces.md | 23 -- .../tables/azure_reservations_reservation.md | 23 -- .../azure_reservations_reservation_order.md | 21 -- .../docs/tables/azure_resources_links.md | 18 -- .../docs/tables/azure_resources_providers.md | 21 -- .../tables/azure_resources_resource_groups.md | 22 -- .../docs/tables/azure_resources_resources.md | 29 -- ...zure_role_management_policy_assignments.md | 19 -- .../azure/docs/tables/azure_saas_resources.md | 20 -- .../docs/tables/azure_search_services.md | 23 -- ..._security_adaptive_application_controls.md | 20 -- .../docs/tables/azure_security_alerts.md | 19 -- ...azure_security_alerts_suppression_rules.md | 19 -- .../azure_security_allowed_connections.md | 20 -- .../tables/azure_security_applications.md | 19 -- .../docs/tables/azure_security_assessments.md | 19 -- ...ure_security_auto_provisioning_settings.md | 19 -- .../docs/tables/azure_security_automations.md | 23 -- .../docs/tables/azure_security_connectors.md | 24 -- .../docs/tables/azure_security_contacts.md | 19 -- ..._security_discovered_security_solutions.md | 20 -- ...re_security_external_security_solutions.md | 20 -- .../tables/azure_security_governance_rule.md | 19 -- ...re_security_jit_network_access_policies.md | 21 -- .../docs/tables/azure_security_locations.md | 18 -- .../docs/tables/azure_security_pricings.md | 19 -- ...ecurity_regulatory_compliance_standards.md | 19 -- ...curity_secure_score_control_definitions.md | 19 -- .../azure_security_secure_score_controls.md | 19 -- .../tables/azure_security_secure_scores.md | 19 -- .../docs/tables/azure_security_settings.md | 19 -- .../docs/tables/azure_security_solutions.md | 20 -- .../tables/azure_security_sub_assessments.md | 19 -- .../azure/docs/tables/azure_security_tasks.md | 19 -- .../docs/tables/azure_security_topology.md | 20 -- .../azure_security_workspace_settings.md | 19 -- ...bus_namespace_topic_authorization_rules.md | 28 -- ...icebus_namespace_topic_rule_access_keys.md | 27 -- .../azure_servicebus_namespace_topics.md | 28 -- .../tables/azure_servicebus_namespaces.md | 29 -- .../azure_streamanalytics_streaming_jobs.md | 22 -- ...ure_subscription_subscription_locations.md | 28 -- .../azure_subscription_subscriptions.md | 28 -- .../docs/tables/azure_subscription_tenants.md | 24 -- .../docs/tables/azure_support_services.md | 18 -- .../docs/tables/azure_support_tickets.md | 19 -- .../tables/azure_synapse_private_link_hubs.md | 21 -- .../docs/tables/azure_synapse_workspaces.md | 22 -- .../tables/azure_trafficmanager_profiles.md | 21 -- .../docs/tables/azure_windowsiot_services.md | 22 -- .../docs/tables/azure_workloads_monitors.md | 23 -- .../source/azure/resources/plugin/tables.go | 288 ------------------ .../advisor/recommendation_metadata.go | 37 --- .../recommendation_metadata_mock_test.go | 42 --- .../services/advisor/recommendations.go | 39 --- .../advisor/recommendations_mock_test.go | 42 --- .../services/advisor/suppressions.go | 39 --- .../advisor/suppressions_mock_test.go | 42 --- .../services/analysisservices/servers.go | 39 --- .../analysisservices/servers_mock_test.go | 39 --- .../services/apimanagement/service.go | 39 --- .../apimanagement/service_mock_test.go | 42 --- .../appcomplianceautomation/reports.go | 39 --- .../reports_mock_test.go | 42 --- .../appconfiguration/configuration_stores.go | 39 --- .../configuration_stores_mock_test.go | 42 --- .../applicationinsights/components.go | 39 --- .../components_mock_test.go | 42 --- .../services/applicationinsights/web_tests.go | 39 --- .../web_tests_mock_test.go | 42 --- .../authorization/classic_administrators.go | 39 --- .../classic_administrators_mock_test.go | 42 --- .../authorization/role_assignments.go | 39 --- .../role_assignments_mock_test.go | 42 --- .../role_management_policy_assignments.go | 40 --- ...role_management_policy_assignments_test.go | 39 --- .../resources/services/automation/account.go | 39 --- .../services/automation/account_mock_test.go | 42 --- .../azurearcdata/postgres_instances.go | 39 --- .../postgres_instances_mock_test.go | 42 --- .../azurearcdata/sql_managed_instances.go | 39 --- .../sql_managed_instances_mock_test.go | 42 --- .../azurearcdata/sql_server_instances.go | 39 --- .../sql_server_instances_mock_test.go | 42 --- .../azure/resources/services/batch/account.go | 39 --- .../services/batch/account_mock_test.go | 42 --- .../resources/services/billing/accounts.go | 26 -- .../services/billing/accounts_mock_test.go | 18 -- .../services/billing/enrollment_accounts.go | 37 --- .../billing/enrollment_accounts_mock_test.go | 42 --- .../resources/services/billing/periods.go | 29 -- .../services/billing/periods_mock_test.go | 18 -- .../resources/services/botservice/bots.go | 39 --- .../services/botservice/bots_mock_test.go | 42 --- .../resources/services/cdn/edge_nodes.go | 37 --- .../services/cdn/edge_nodes_mock_test.go | 42 --- .../azure/resources/services/cdn/endpoints.go | 19 -- .../resources/services/cdn/endpoints_fetch.go | 31 -- .../services/cdn/endpoints_mock_test.go | 33 -- .../services/cdn/managed_rule_sets.go | 39 --- .../cdn/managed_rule_sets_mock_test.go | 42 --- .../azure/resources/services/cdn/profiles.go | 45 --- .../services/cdn/profiles_mock_test.go | 46 --- .../azure/resources/services/cdn/rule_sets.go | 19 -- .../resources/services/cdn/rule_sets_fetch.go | 31 -- .../resources/services/cdn/rule_sets_mock.go | 33 -- .../services/cdn/security_policies.go | 19 -- .../services/cdn/security_policies_fetch.go | 31 -- .../cdn/security_policies_mock_test.go | 33 -- .../cognitiveservices/account_deployments.go | 44 --- .../account_deployments_test.go | 34 --- .../account_private_endpoint_connections.go | 41 --- ...count_private_endpoint_connections_test.go | 31 -- .../account_private_link_resources.go | 41 --- .../account_private_link_resources_test.go | 31 -- .../cognitiveservices/account_skus.go | 49 --- .../cognitiveservices/account_skus_models.go | 52 ---- .../account_skus_models_test.go | 34 --- .../cognitiveservices/account_skus_test.go | 31 -- .../cognitiveservices/account_usages.go | 49 --- .../cognitiveservices/account_usages_test.go | 31 -- .../services/cognitiveservices/accounts.go | 47 --- .../cognitiveservices/accounts_mock_test.go | 62 ---- .../cognitiveservices/commitment_plans.go | 39 --- .../commitment_plans_test.go | 42 --- .../cognitiveservices/deleted_accounts.go | 39 --- .../deleted_accounts_mock_test.go | 42 --- .../confluent/marketplace_agreements.go | 39 --- .../marketplace_agreements_mock_test.go | 42 --- .../services/connectedvmware/clusters.go | 39 --- .../connectedvmware/clusters_mock_test.go | 42 --- .../services/connectedvmware/datastores.go | 39 --- .../connectedvmware/datastores_mock_test.go | 42 --- .../services/connectedvmware/hosts.go | 39 --- .../connectedvmware/hosts_mock_test.go | 42 --- .../connectedvmware/resource_pools.go | 39 --- .../resource_pools_mock_test.go | 42 --- .../services/connectedvmware/v_centers.go | 39 --- .../connectedvmware/v_centers_mock_test.go | 42 --- .../virtual_machine_templates.go | 39 --- .../virtual_machine_templates_mock_test.go | 42 --- .../connectedvmware/virtual_machines.go | 39 --- .../virtual_machines_mock_test.go | 42 --- .../connectedvmware/virtual_networks.go | 39 --- .../virtual_networks_mock_test.go | 42 --- .../consumption/billing_account_balances.go | 43 --- .../billing_account_balances_test.go | 38 --- .../consumption/billing_account_budgets.go | 38 --- .../billing_account_budgets_test.go | 40 --- .../consumption/billing_account_charges.go | 37 --- .../billing_account_charges_test.go | 47 --- .../consumption/billing_account_events.go | 46 --- .../billing_account_events_test.go | 40 --- .../billing_account_legacy_usage_details.go | 40 --- ...lling_account_legacy_usage_details_test.go | 48 --- .../consumption/billing_account_lots.go | 46 --- .../consumption/billing_account_lots_test.go | 40 --- .../billing_account_marketplaces.go | 38 --- .../billing_account_marketplaces_test.go | 40 --- .../billing_account_modern_usage_details.go | 40 --- ...lling_account_modern_usage_details_test.go | 48 --- ...ing_account_reservation_recommendations.go | 48 --- ...ccount_reservation_recommendations_test.go | 46 --- .../consumption/billing_account_tags.go | 35 --- .../consumption/billing_account_tags_test.go | 38 --- .../billing_profile_reservation_details.go | 41 --- ...illing_profile_reservation_details_test.go | 39 --- ...ing_profile_reservation_recommendations.go | 48 --- ...rofile_reservation_recommendations_test.go | 46 --- .../billing_profile_reservation_summaries.go | 41 --- ...ling_profile_reservation_summaries_test.go | 40 --- ...illing_profile_reservation_transactions.go | 45 --- ...g_profile_reservation_transactions_test.go | 40 --- .../consumption/subscription_budgets.go | 39 --- .../consumption/subscription_budgets_test.go | 40 --- .../subscription_legacy_usage_details.go | 44 --- .../subscription_legacy_usage_details_test.go | 55 ---- .../consumption/subscription_marketplaces.go | 39 --- .../subscription_marketplaces_test.go | 40 --- .../consumption/subscription_price_sheets.go | 65 ---- .../subscription_price_sheets_test.go | 39 --- ...ubscription_reservation_recommendations.go | 49 --- ...iption_reservation_recommendations_test.go | 46 --- .../services/consumption/subscription_tags.go | 36 --- .../consumption/subscription_tags_test.go | 38 --- .../containerinstance/container_groups.go | 39 --- .../container_groups_mock_test.go | 42 --- .../services/containerregistry/registries.go | 39 --- .../containerregistry/registries_mock_test.go | 42 --- .../managed_cluster_upgrade_profiles.go | 66 ---- .../containerservice/managed_clusters.go | 40 --- .../managed_clusters_mock_test.go | 42 --- .../services/containerservice/snapshots.go | 39 --- .../containerservice/snapshots_mock_test.go | 42 --- .../services/costmanagement/daterange.go | 93 ------ .../services/costmanagement/daterange_test.go | 140 --------- .../services/costmanagement/view_queries.go | 21 -- .../costmanagement/view_queries_fetch.go | 53 ---- .../costmanagement/view_queries_mock_test.go | 30 -- .../services/costmanagement/views.go | 45 --- .../costmanagement/views_mock_test.go | 40 --- .../services/customerinsights/hubs.go | 39 --- .../customerinsights/hubs_mock_test.go | 42 --- .../resources/services/dashboard/grafana.go | 39 --- .../services/dashboard/grafana_mock_test.go | 42 --- .../azure/resources/services/databox/jobs.go | 39 --- .../services/databox/jobs_mock_test.go | 42 --- .../datadog/marketplace_agreements.go | 39 --- .../marketplace_agreements_mock_test.go | 42 --- .../resources/services/datadog/monitors.go | 39 --- .../services/datadog/monitors_mock_test.go | 42 --- .../services/datafactory/factories.go | 42 --- .../datafactory/factories_mock_test.go | 42 --- .../services/datalakeanalytics/accounts.go | 39 --- .../datalakeanalytics/accounts_mock_test.go | 42 --- .../services/datalakestore/accounts.go | 39 --- .../datalakestore/accounts_mock_test.go | 42 --- .../services/datamigration/services.go | 39 --- .../datamigration/services_mock_test.go | 42 --- .../desktopvirtualization/host_pools.go | 39 --- .../host_pools_mock_test.go | 42 --- .../resources/services/devhub/workflow.go | 39 --- .../services/devhub/workflow_mock_test.go | 42 --- .../devops/pipeline_template_definitions.go | 39 --- ...pipeline_template_definitions_mock_test.go | 42 --- .../resources/services/dns/record_sets.go | 72 ----- .../azure/resources/services/dns/zones.go | 42 --- .../resources/services/dns/zones_mock_test.go | 42 --- .../dnsresolver/dns_forwarding_rulesets.go | 39 --- .../dns_forwarding_rulesets_mock_test.go | 42 --- .../services/dnsresolver/dns_resolvers.go | 39 --- .../dnsresolver/dns_resolvers_mock_test.go | 42 --- .../resources/services/elastic/monitors.go | 39 --- .../services/elastic/monitors_mock_test.go | 42 --- .../services/engagementfabric/accounts.go | 39 --- .../engagementfabric/accounts_mock_test.go | 39 --- .../services/eventgrid/topic_types.go | 37 --- .../eventgrid/topic_types_mock_test.go | 39 --- .../resources/services/eventhub/namespaces.go | 42 --- .../services/eventhub/namespaces_mock_test.go | 42 --- .../services/eventhub/network_rule_sets.go | 43 --- .../eventhub/network_rule_sets_mock_test.go | 34 --- .../services/frontdoor/front_doors.go | 39 --- .../frontdoor/front_doors_mock_test.go | 42 --- .../services/frontdoor/managed_rule_sets.go | 39 --- .../frontdoor/managed_rule_sets_mock_test.go | 42 --- .../frontdoor/network_experiment_profiles.go | 39 --- .../network_experiment_profiles_mock_test.go | 42 --- .../services/hanaonazure/sap_monitors.go | 39 --- .../hanaonazure/sap_monitors_mock_test.go | 42 --- .../resources/services/hdinsight/clusters.go | 39 --- .../services/hdinsight/clusters_mock_test.go | 42 --- .../resources/services/healthbot/bots.go | 20 -- .../services/healthbot/bots_fetch.go | 26 -- .../services/healthbot/bots_mock_test.go | 42 --- .../services/healthcareapis/services.go | 39 --- .../healthcareapis/services_mock_test.go | 42 --- .../hybridcompute/private_link_scopes.go | 39 --- .../private_link_scopes_mock_test.go | 42 --- .../hybriddatamanager/data_managers.go | 39 --- .../data_managers_mock_test.go | 42 --- .../resources/services/keyvault/keyvault.go | 70 ----- .../services/keyvault/keyvault_keys.go | 19 -- .../services/keyvault/keyvault_keys_fetch.go | 31 -- .../keyvault/keyvault_keys_mock_test.go | 33 -- .../keyvault/keyvault_managed_hsms.go | 39 --- .../keyvault_managed_hsms_mock_test.go | 40 --- .../services/keyvault/keyvault_mock_test.go | 60 ---- .../services/keyvault/keyvault_secrets.go | 19 -- .../keyvault/keyvault_secrets_fetch.go | 31 -- .../keyvault/keyvault_secrets_mock_test.go | 33 -- .../resources/services/kusto/clusters.go | 39 --- .../services/kusto/clusters_mock_test.go | 39 --- .../resources/services/logic/workflows.go | 39 --- .../services/logic/workflows_mock_test.go | 40 --- .../services/maintenance/configurations.go | 39 --- .../maintenance/configurations_mock_test.go | 39 --- .../public_maintenance_configurations.go | 39 --- ...ic_maintenance_configurations_mock_test.go | 39 --- .../services/managementgroups/entities.go | 37 --- .../managementgroups/entities_mock_test.go | 39 --- .../managementgroups/managment_groups.go | 37 --- .../managment_groups_mock_test.go | 39 --- .../services/marketplace/private_store.go | 39 --- .../marketplace/private_store_mock_test.go | 42 --- .../services/monitor/activity_log_alerts.go | 39 --- .../monitor/activity_log_alerts_mock_test.go | 41 --- .../services/monitor/autoscale_settings.go | 39 --- .../monitor/autoscale_settings_test.go | 41 --- .../services/monitor/diagnostic_settings.go | 64 ---- .../services/monitor/log_profiles.go | 39 --- .../monitor/log_profiles_mock_test.go | 39 --- .../services/monitor/private_link_scopes.go | 39 --- .../monitor/private_link_scopes_mock_test.go | 42 --- .../resources/services/monitor/resources.go | 40 --- .../services/monitor/resources_mock_test.go | 63 ---- .../subscription_diagnostic_settings.go | 41 --- .../subscription_diagnostic_settings_test.go | 38 --- .../monitor/tenant_activity_log_alerts.go | 39 --- .../tenant_activity_log_alerts_mock_test.go | 40 --- .../services/monitor/tenant_activity_logs.go | 39 --- .../monitor/tenant_activity_logs_mock_test.go | 42 --- .../services/network/application_gateways.go | 39 --- .../network/application_gateways_mock_test.go | 42 --- .../network/application_security_groups.go | 39 --- .../application_security_groups_mock_test.go | 42 --- .../network/azure_firewall_fqdn_tags.go | 39 --- .../azure_firewall_fqdn_tags_mock_test.go | 42 --- .../services/network/azure_firewalls.go | 39 --- .../network/azure_firewalls_mock_test.go | 42 --- .../services/network/bastion_hosts.go | 39 --- .../network/bastion_hosts_mock_test.go | 42 --- .../services/network/custom_ip_prefixes.go | 39 --- .../network/custom_ip_prefixes_mock_test.go | 42 --- .../services/network/ddos_protection_plans.go | 39 --- .../ddos_protection_plans_mock_test.go | 42 --- .../services/network/dscp_configuration.go | 39 --- .../network/dscp_configuration_mock_test.go | 42 --- .../express_route_circuit_authorizations.go | 43 --- ..._route_circuit_authorizations_mock_test.go | 34 --- .../network/express_route_circuit_peerings.go | 43 --- ...xpress_route_circuit_peerings_mock_test.go | 34 --- .../network/express_route_circuits.go | 43 --- .../express_route_circuits_mock_test.go | 44 --- .../network/express_route_gateways.go | 20 -- .../network/express_route_gateways_fetch.go | 23 -- .../express_route_gateways_mock_test.go | 40 --- .../services/network/express_route_ports.go | 39 --- .../network/express_route_ports_locations.go | 39 --- ...express_route_ports_locations_mock_test.go | 42 --- .../network/express_route_ports_mock_test.go | 42 --- .../express_route_service_providers.go | 39 --- ...press_route_service_providers_mock_test.go | 42 --- .../services/network/firewall_policies.go | 39 --- .../network/firewall_policies_mock_test.go | 42 --- .../network/interface_ip_configurations.go | 43 --- .../interface_ip_configurations_mock_test.go | 34 --- .../resources/services/network/interfaces.go | 42 --- .../services/network/interfaces_mock_test.go | 41 --- .../services/network/ip_allocations.go | 39 --- .../network/ip_allocations_mock_test.go | 42 --- .../resources/services/network/ip_groups.go | 39 --- .../services/network/ip_groups_mock_test.go | 42 --- .../services/network/load_balancers.go | 39 --- .../network/load_balancers_mock_test.go | 42 --- .../services/network/nat_gateways.go | 39 --- .../network/nat_gateways_mock_test.go | 42 --- .../services/network/private_endpoints.go | 39 --- .../network/private_endpoints_test.go | 42 --- .../services/network/private_link_services.go | 39 --- .../network/private_link_services_test.go | 42 --- .../resources/services/network/profiles.go | 39 --- .../services/network/profiles_mock_test.go | 42 --- .../services/network/public_ip_addresses.go | 39 --- .../network/public_ip_addresses_mock_test.go | 42 --- .../services/network/public_ip_prefixes.go | 39 --- .../network/public_ip_prefixes_mock_test.go | 42 --- .../services/network/route_filters.go | 39 --- .../network/route_filters_mock_test.go | 42 --- .../services/network/route_tables.go | 39 --- .../network/route_tables_mock_test.go | 42 --- .../services/network/security_groups.go | 39 --- .../network/security_groups_mock_test.go | 42 --- .../network/security_partner_providers.go | 39 --- .../security_partner_providers_mock_test.go | 42 --- .../network/service_endpoint_policies.go | 39 --- .../service_endpoint_policies_mock_test.go | 42 --- ...ubscription_network_manager_connections.go | 39 --- ...n_network_manager_connections_mock_test.go | 42 --- .../services/network/virtual_appliances.go | 39 --- .../network/virtual_appliances_mock_test.go | 42 --- .../services/network/virtual_hubs.go | 39 --- .../network/virtual_hubs_mock_test.go | 42 --- .../virtual_network_gateway_connections.go | 40 --- ...irtual_network_gateway_connections_test.go | 42 --- .../network/virtual_network_gateways.go | 40 --- .../network/virtual_network_gateways_test.go | 42 --- .../network/virtual_network_subnets.go | 43 --- .../virtual_network_subnets_mock_test.go | 34 --- .../services/network/virtual_network_taps.go | 39 --- .../network/virtual_network_taps_mock_test.go | 42 --- .../services/network/virtual_networks.go | 42 --- .../network/virtual_networks_mock_test.go | 41 --- .../services/network/virtual_routers.go | 39 --- .../network/virtual_routers_mock_test.go | 42 --- .../services/network/virtual_wans.go | 39 --- .../network/virtual_wans_mock_test.go | 42 --- .../services/network/vpn_gateways.go | 39 --- .../network/vpn_gateways_mock_test.go | 42 --- .../network/vpn_server_configurations.go | 39 --- .../vpn_server_configurations_mock_test.go | 42 --- .../resources/services/network/vpn_sites.go | 39 --- .../services/network/vpn_sites_mock_test.go | 42 --- .../services/network/watcher_flow_logs.go | 43 --- .../network/watcher_flow_logs_mock_test.go | 35 --- .../resources/services/network/watchers.go | 42 --- .../services/network/watchers_mock_test.go | 39 --- .../web_application_firewall_policies.go | 39 --- ...application_firewall_policies_mock_test.go | 42 --- ...zure_traffic_collectors_by_subscription.go | 39 --- ...ic_collectors_by_subscription_mock_test.go | 42 --- .../resources/services/nginx/deployments.go | 20 -- .../services/nginx/deployments_fetch.go | 26 -- .../services/nginx/deployments_mock_test.go | 42 --- .../services/notificationhubs/namespaces.go | 39 --- .../notificationhubs/namespaces_mock_test.go | 42 --- .../services/operationalinsights/clusters.go | 39 --- .../operationalinsights/clusters_mock_test.go | 42 --- .../operationalinsights/workspaces.go | 39 --- .../workspaces_mock_test.go | 39 --- .../services/peering/service_countries.go | 39 --- .../peering/service_countries_mock_test.go | 42 --- .../services/peering/service_providers.go | 20 -- .../peering/service_providers_fetch.go | 26 -- .../peering/service_providers_mock_test.go | 42 --- .../resources/services/policy/assignments.go | 39 --- .../services/policy/assignments_mock_test.go | 42 --- .../services/policy/data_policy_manifests.go | 37 --- .../policy/data_policy_manifests_mock_test.go | 42 --- .../resources/services/policy/exemptions.go | 39 --- .../services/policy/exemptions_mock_test.go | 42 --- .../services/policy/set_definitions.go | 39 --- .../policy/set_definitions_mock_test.go | 42 --- .../list_tenant_configuration_violations.go | 39 --- ...nant_configuration_violations_mock_test.go | 42 --- .../services/portal/tenant_configurations.go | 39 --- .../portal/tenant_configurations_mock_test.go | 42 --- .../services/powerbidedicated/capacities.go | 39 --- .../powerbidedicated/capacities_mock_test.go | 39 --- .../services/privatedns/private_zones.go | 43 --- .../privatedns/private_zones_mock_test.go | 46 --- .../services/privatedns/record_sets.go | 72 ----- .../privatedns/virtual_network_links.go | 72 ----- .../providerhub/provider_registrations.go | 39 --- .../provider_registrations_mock_test.go | 42 --- .../redhatopenshift/open_shift_clusters.go | 39 --- .../open_shift_clusters_mock_test.go | 42 --- .../azure/resources/services/redis/caches.go | 39 --- .../services/redis/caches_mock_test.go | 40 --- .../resources/services/relay/namespaces.go | 39 --- .../services/relay/namespaces_mock_test.go | 42 --- .../services/reservations/reservation.go | 37 --- .../reservations/reservation_mock_test.go | 41 --- .../reservations/reservation_order.go | 39 --- .../reservation_order_mock_test.go | 41 --- .../resources/services/resources/links.go | 40 --- .../services/resources/links_mock_test.go | 41 --- .../resources/services/resources/providers.go | 42 --- .../services/resources/providers_mock_test.go | 39 --- .../services/resources/resource_groups.go | 30 -- .../resources/resource_groups_mock_test.go | 18 -- .../services/resources/resource_mock_test.go | 40 --- .../resources/services/resources/resources.go | 39 --- .../resources/services/saas/resources.go | 39 --- .../services/saas/resources_mock_test.go | 42 --- .../resources/services/search/services.go | 20 -- .../services/search/services_fetch.go | 26 -- .../services/search/services_mock_test.go | 40 --- .../security/adaptive_application_controls.go | 36 --- ...adaptive_application_controls_mock_test.go | 36 --- .../resources/services/security/alerts.go | 39 --- .../services/security/alerts_mock_test.go | 42 --- .../security/alerts_suppression_rules.go | 39 --- .../alerts_suppression_rules_mock_test.go | 42 --- .../services/security/allowed_connections.go | 39 --- .../security/allowed_connections_mock_test.go | 42 --- .../services/security/applications.go | 39 --- .../security/applications_mock_test.go | 42 --- .../services/security/assessments.go | 39 --- .../security/assessments_mock_test.go | 41 --- .../security/auto_provisioning_settings.go | 39 --- .../auto_provisioning_settings_mock_test.go | 42 --- .../services/security/automations.go | 39 --- .../security/automations_mock_test.go | 42 --- .../resources/services/security/connectors.go | 39 --- .../services/security/connectors_mock_test.go | 42 --- .../resources/services/security/contacts.go | 39 --- .../services/security/contacts_mock_test.go | 40 --- .../security/discovered_security_solutions.go | 39 --- ...discovered_security_solutions_mock_test.go | 42 --- .../security/external_security_solutions.go | 43 --- .../external_security_solutions_mock_test.go | 48 --- .../services/security/governance_rule.go | 39 --- .../security/governance_rule_mock_test.go | 42 --- .../security/jit_network_access_policies.go | 39 --- .../jit_network_access_policies_mock_test.go | 42 --- .../resources/services/security/locations.go | 39 --- .../services/security/locations_mock_test.go | 42 --- .../resources/services/security/pricings.go | 20 -- .../services/security/pricings_fetch.go | 23 -- .../services/security/pricings_mock_test.go | 37 --- .../regulatory_compliance_standards.go | 39 --- ...gulatory_compliance_standards_mock_test.go | 42 --- .../secure_score_control_definitions.go | 39 --- ...ure_score_control_definitions_mock_test.go | 42 --- .../security/secure_score_controls.go | 39 --- .../secure_score_controls_mock_test.go | 42 --- .../services/security/secure_scores.go | 39 --- .../security/secure_scores_mock_test.go | 42 --- .../resources/services/security/settings.go | 39 --- .../services/security/settings_mock_test.go | 48 --- .../resources/services/security/solutions.go | 39 --- .../services/security/solutions_mock_test.go | 42 --- .../services/security/sub_assessments.go | 39 --- .../security/sub_assessments_mock_test.go | 40 --- .../resources/services/security/tasks.go | 39 --- .../services/security/tasks_mock_test.go | 42 --- .../resources/services/security/topology.go | 39 --- .../services/security/topology_mock_test.go | 42 --- .../services/security/workspace_settings.go | 39 --- .../security/workspace_settings_mock_test.go | 42 --- .../services/servicebus/namespaces.go | 40 --- .../servicebus/namespaces_mock_test.go | 52 ---- .../servicebus/topic_authorization_rules.go | 74 ----- .../servicebus/topic_rules_access_keys.go | 77 ----- .../resources/services/servicebus/topics.go | 73 ----- .../streamanalytics/streaming_jobs.go | 39 --- .../streaming_jobs_mock_test.go | 42 --- .../services/subscription/locations.go | 53 ---- .../subscription/locations_mock_test.go | 30 -- .../subscription/subscription_mock_test.go | 44 --- .../services/subscription/subscriptions.go | 22 -- .../subscription/subscriptions_fetch.go | 33 -- .../services/subscription/tenants.go | 38 --- .../subscription/tenants_mock_test.go | 39 --- .../resources/services/support/services.go | 37 --- .../services/support/services_mock_test.go | 39 --- .../resources/services/support/tickets.go | 39 --- .../services/support/tickets_mock_test.go | 42 --- .../services/synapse/private_link_hubs.go | 39 --- .../synapse/private_link_hubs_mock_test.go | 42 --- .../resources/services/synapse/workspaces.go | 39 --- .../services/synapse/workspaces_mock_test.go | 42 --- .../services/trafficmanager/profiles.go | 39 --- .../trafficmanager/profiles_mock_test.go | 40 --- .../resources/services/windowsiot/services.go | 39 --- .../services/windowsiot/services_mock_test.go | 42 --- .../resources/services/workloads/monitors.go | 39 --- .../services/workloads/monitors_mock_test.go | 42 --- 730 files changed, 1 insertion(+), 25642 deletions(-) delete mode 100644 plugins/source/azure/docs/tables/azure_advisor_recommendation_metadata.md delete mode 100644 plugins/source/azure/docs/tables/azure_advisor_recommendations.md delete mode 100644 plugins/source/azure/docs/tables/azure_advisor_suppressions.md delete mode 100644 plugins/source/azure/docs/tables/azure_analysisservices_servers.md delete mode 100644 plugins/source/azure/docs/tables/azure_apimanagement_service.md delete mode 100644 plugins/source/azure/docs/tables/azure_appcomplianceautomation_reports.md delete mode 100644 plugins/source/azure/docs/tables/azure_appconfiguration_configuration_stores.md delete mode 100644 plugins/source/azure/docs/tables/azure_applicationinsights_components.md delete mode 100644 plugins/source/azure/docs/tables/azure_applicationinsights_web_tests.md delete mode 100644 plugins/source/azure/docs/tables/azure_authorization_classic_administrators.md delete mode 100644 plugins/source/azure/docs/tables/azure_authorization_role_assignments.md delete mode 100644 plugins/source/azure/docs/tables/azure_automation_account.md delete mode 100644 plugins/source/azure/docs/tables/azure_azurearcdata_postgres_instances.md delete mode 100644 plugins/source/azure/docs/tables/azure_azurearcdata_sql_managed_instances.md delete mode 100644 plugins/source/azure/docs/tables/azure_azurearcdata_sql_server_instances.md delete mode 100644 plugins/source/azure/docs/tables/azure_batch_account.md delete mode 100644 plugins/source/azure/docs/tables/azure_billing_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_billing_enrollment_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_billing_periods.md delete mode 100644 plugins/source/azure/docs/tables/azure_botservice_bots.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_edge_nodes.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_endpoints.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_managed_rule_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_rule_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_cdn_security_policies.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_deployments.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_models.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_endpoint_connections.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_link_resources.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_skus.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_account_usages.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_commitment_plans.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_deleted_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_cognitiveservices_resource_skus.md delete mode 100644 plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_hosts.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_resource_pools.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_v_centers.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machine_templates.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machines.md delete mode 100644 plugins/source/azure/docs/tables/azure_connectedvmware_virtual_networks.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_balances.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_budgets.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_charges.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_events.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_legacy_usage_details.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_lots.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_marketplaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_modern_usage_details.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_reservation_recommendations.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_account_tags.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_details.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_recommendations.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_summaries.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_transactions.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_budgets.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_legacy_usage_details.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_marketplaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_price_sheets.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_reservation_recommendations.md delete mode 100644 plugins/source/azure/docs/tables/azure_consumption_subscription_tags.md delete mode 100644 plugins/source/azure/docs/tables/azure_containerinstance_container_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_containerregistry_registries.md delete mode 100644 plugins/source/azure/docs/tables/azure_containerservice_managed_cluster_upgrade_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_containerservice_managed_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_containerservice_snapshots.md delete mode 100644 plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md delete mode 100644 plugins/source/azure/docs/tables/azure_costmanagement_views.md delete mode 100644 plugins/source/azure/docs/tables/azure_customerinsights_hubs.md delete mode 100644 plugins/source/azure/docs/tables/azure_dashboard_grafana.md delete mode 100644 plugins/source/azure/docs/tables/azure_databox_jobs.md delete mode 100644 plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md delete mode 100644 plugins/source/azure/docs/tables/azure_datadog_monitors.md delete mode 100644 plugins/source/azure/docs/tables/azure_datafactory_factories.md delete mode 100644 plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_datalakestore_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_datamigration_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_desktopvirtualization_host_pools.md delete mode 100644 plugins/source/azure/docs/tables/azure_devhub_workflow.md delete mode 100644 plugins/source/azure/docs/tables/azure_devops_pipeline_template_definitions.md delete mode 100644 plugins/source/azure/docs/tables/azure_dns_record_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_dns_zones.md delete mode 100644 plugins/source/azure/docs/tables/azure_dnsresolver_dns_forwarding_rulesets.md delete mode 100644 plugins/source/azure/docs/tables/azure_dnsresolver_dns_resolvers.md delete mode 100644 plugins/source/azure/docs/tables/azure_elastic_monitors.md delete mode 100644 plugins/source/azure/docs/tables/azure_engagementfabric_accounts.md delete mode 100644 plugins/source/azure/docs/tables/azure_eventgrid_topic_types.md delete mode 100644 plugins/source/azure/docs/tables/azure_eventhub_namespace_network_rule_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_eventhub_namespaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_frontdoor_front_doors.md delete mode 100644 plugins/source/azure/docs/tables/azure_frontdoor_managed_rule_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_frontdoor_network_experiment_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_hanaonazure_sap_monitors.md delete mode 100644 plugins/source/azure/docs/tables/azure_hdinsight_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_healthbot_bots.md delete mode 100644 plugins/source/azure/docs/tables/azure_healthcareapis_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_hybridcompute_private_link_scopes.md delete mode 100644 plugins/source/azure/docs/tables/azure_hybriddatamanager_data_managers.md delete mode 100644 plugins/source/azure/docs/tables/azure_keyvault_keyvault.md delete mode 100644 plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md delete mode 100644 plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md delete mode 100644 plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md delete mode 100644 plugins/source/azure/docs/tables/azure_kusto_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_logic_workflows.md delete mode 100644 plugins/source/azure/docs/tables/azure_maintenance_configurations.md delete mode 100644 plugins/source/azure/docs/tables/azure_maintenance_public_maintenance_configurations.md delete mode 100644 plugins/source/azure/docs/tables/azure_managementgroups_entities.md delete mode 100644 plugins/source/azure/docs/tables/azure_managementgroups_management_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_marketplace_private_store.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_activity_log_alerts.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_autoscale_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_diagnostic_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_log_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_private_link_scopes.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_resources.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_subscription_diagnostic_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md delete mode 100644 plugins/source/azure/docs/tables/azure_monitor_tenant_activity_logs.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_application_gateways.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_application_security_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_azure_firewall_fqdn_tags.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_azure_firewalls.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_bastion_hosts.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_custom_ip_prefixes.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_ddos_protection_plans.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_dscp_configuration.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_circuit_authorizations.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_circuit_peerings.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_circuits.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_gateways.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_ports.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_ports_locations.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_express_route_service_providers.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_firewall_policies.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_interface_ip_configurations.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_interfaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_ip_allocations.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_ip_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_load_balancers.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_nat_gateways.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_private_endpoints.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_private_link_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_public_ip_addresses.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_public_ip_prefixes.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_route_filters.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_route_tables.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_security_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_security_partner_providers.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_service_endpoint_policies.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_subscription_network_manager_connections.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_appliances.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_hubs.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_network_gateway_connections.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_network_gateways.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_network_subnets.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_network_taps.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_networks.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_routers.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_virtual_wans.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_vpn_gateways.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_vpn_sites.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_watcher_flow_logs.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_watchers.md delete mode 100644 plugins/source/azure/docs/tables/azure_network_web_application_firewall_policies.md delete mode 100644 plugins/source/azure/docs/tables/azure_networkfunction_azure_traffic_collectors_by_subscription.md delete mode 100644 plugins/source/azure/docs/tables/azure_nginx_deployments.md delete mode 100644 plugins/source/azure/docs/tables/azure_notificationhubs_namespaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_operationalinsights_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_operationalinsights_workspaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_peering_service_countries.md delete mode 100644 plugins/source/azure/docs/tables/azure_peering_service_providers.md delete mode 100644 plugins/source/azure/docs/tables/azure_policy_assignments.md delete mode 100644 plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md delete mode 100644 plugins/source/azure/docs/tables/azure_policy_exemptions.md delete mode 100644 plugins/source/azure/docs/tables/azure_policy_set_definitions.md delete mode 100644 plugins/source/azure/docs/tables/azure_portal_list_tenant_configuration_violations.md delete mode 100644 plugins/source/azure/docs/tables/azure_portal_tenant_configurations.md delete mode 100644 plugins/source/azure/docs/tables/azure_powerbidedicated_capacities.md delete mode 100644 plugins/source/azure/docs/tables/azure_privatedns_private_zone_record_sets.md delete mode 100644 plugins/source/azure/docs/tables/azure_privatedns_private_zone_virtual_network_links.md delete mode 100644 plugins/source/azure/docs/tables/azure_privatedns_private_zones.md delete mode 100644 plugins/source/azure/docs/tables/azure_providerhub_provider_registrations.md delete mode 100644 plugins/source/azure/docs/tables/azure_redhatopenshift_open_shift_clusters.md delete mode 100644 plugins/source/azure/docs/tables/azure_redis_caches.md delete mode 100644 plugins/source/azure/docs/tables/azure_relay_namespaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_reservations_reservation.md delete mode 100644 plugins/source/azure/docs/tables/azure_reservations_reservation_order.md delete mode 100644 plugins/source/azure/docs/tables/azure_resources_links.md delete mode 100644 plugins/source/azure/docs/tables/azure_resources_providers.md delete mode 100644 plugins/source/azure/docs/tables/azure_resources_resource_groups.md delete mode 100644 plugins/source/azure/docs/tables/azure_resources_resources.md delete mode 100644 plugins/source/azure/docs/tables/azure_role_management_policy_assignments.md delete mode 100644 plugins/source/azure/docs/tables/azure_saas_resources.md delete mode 100644 plugins/source/azure/docs/tables/azure_search_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_adaptive_application_controls.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_alerts.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_alerts_suppression_rules.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_allowed_connections.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_applications.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_assessments.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_auto_provisioning_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_automations.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_connectors.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_contacts.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_discovered_security_solutions.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_external_security_solutions.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_governance_rule.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_jit_network_access_policies.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_locations.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_pricings.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_regulatory_compliance_standards.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_secure_score_control_definitions.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_secure_score_controls.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_secure_scores.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_solutions.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_sub_assessments.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_tasks.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_topology.md delete mode 100644 plugins/source/azure/docs/tables/azure_security_workspace_settings.md delete mode 100644 plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_authorization_rules.md delete mode 100644 plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_rule_access_keys.md delete mode 100644 plugins/source/azure/docs/tables/azure_servicebus_namespace_topics.md delete mode 100644 plugins/source/azure/docs/tables/azure_servicebus_namespaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_streamanalytics_streaming_jobs.md delete mode 100644 plugins/source/azure/docs/tables/azure_subscription_subscription_locations.md delete mode 100644 plugins/source/azure/docs/tables/azure_subscription_subscriptions.md delete mode 100644 plugins/source/azure/docs/tables/azure_subscription_tenants.md delete mode 100644 plugins/source/azure/docs/tables/azure_support_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_support_tickets.md delete mode 100644 plugins/source/azure/docs/tables/azure_synapse_private_link_hubs.md delete mode 100644 plugins/source/azure/docs/tables/azure_synapse_workspaces.md delete mode 100644 plugins/source/azure/docs/tables/azure_trafficmanager_profiles.md delete mode 100644 plugins/source/azure/docs/tables/azure_windowsiot_services.md delete mode 100644 plugins/source/azure/docs/tables/azure_workloads_monitors.md delete mode 100644 plugins/source/azure/resources/services/advisor/recommendation_metadata.go delete mode 100644 plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go delete mode 100644 plugins/source/azure/resources/services/advisor/recommendations.go delete mode 100644 plugins/source/azure/resources/services/advisor/recommendations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/advisor/suppressions.go delete mode 100644 plugins/source/azure/resources/services/advisor/suppressions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/analysisservices/servers.go delete mode 100644 plugins/source/azure/resources/services/analysisservices/servers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/apimanagement/service.go delete mode 100644 plugins/source/azure/resources/services/apimanagement/service_mock_test.go delete mode 100644 plugins/source/azure/resources/services/appcomplianceautomation/reports.go delete mode 100644 plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go delete mode 100644 plugins/source/azure/resources/services/appconfiguration/configuration_stores.go delete mode 100644 plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go delete mode 100644 plugins/source/azure/resources/services/applicationinsights/components.go delete mode 100644 plugins/source/azure/resources/services/applicationinsights/components_mock_test.go delete mode 100644 plugins/source/azure/resources/services/applicationinsights/web_tests.go delete mode 100644 plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go delete mode 100644 plugins/source/azure/resources/services/authorization/classic_administrators.go delete mode 100644 plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go delete mode 100644 plugins/source/azure/resources/services/authorization/role_assignments.go delete mode 100644 plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go delete mode 100644 plugins/source/azure/resources/services/authorization/role_management_policy_assignments.go delete mode 100644 plugins/source/azure/resources/services/authorization/role_management_policy_assignments_test.go delete mode 100644 plugins/source/azure/resources/services/automation/account.go delete mode 100644 plugins/source/azure/resources/services/automation/account_mock_test.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/postgres_instances.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/sql_managed_instances_mock_test.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go delete mode 100644 plugins/source/azure/resources/services/azurearcdata/sql_server_instances_mock_test.go delete mode 100644 plugins/source/azure/resources/services/batch/account.go delete mode 100644 plugins/source/azure/resources/services/batch/account_mock_test.go delete mode 100644 plugins/source/azure/resources/services/billing/accounts.go delete mode 100644 plugins/source/azure/resources/services/billing/accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/billing/enrollment_accounts.go delete mode 100644 plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/billing/periods.go delete mode 100644 plugins/source/azure/resources/services/billing/periods_mock_test.go delete mode 100644 plugins/source/azure/resources/services/botservice/bots.go delete mode 100644 plugins/source/azure/resources/services/botservice/bots_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cdn/edge_nodes.go delete mode 100644 plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cdn/endpoints.go delete mode 100644 plugins/source/azure/resources/services/cdn/endpoints_fetch.go delete mode 100644 plugins/source/azure/resources/services/cdn/endpoints_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cdn/managed_rule_sets.go delete mode 100644 plugins/source/azure/resources/services/cdn/managed_rule_sets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cdn/profiles.go delete mode 100644 plugins/source/azure/resources/services/cdn/profiles_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cdn/rule_sets.go delete mode 100644 plugins/source/azure/resources/services/cdn/rule_sets_fetch.go delete mode 100644 plugins/source/azure/resources/services/cdn/rule_sets_mock.go delete mode 100644 plugins/source/azure/resources/services/cdn/security_policies.go delete mode 100644 plugins/source/azure/resources/services/cdn/security_policies_fetch.go delete mode 100644 plugins/source/azure/resources/services/cdn/security_policies_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_deployments.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_deployments_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_skus.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_skus_models.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_skus_models_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_skus_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_usages.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/account_usages_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/accounts.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/commitment_plans.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/commitment_plans_test.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go delete mode 100644 plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/confluent/marketplace_agreements.go delete mode 100644 plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/clusters.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/datastores.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/hosts.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/resource_pools.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/v_centers.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_machines.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_networks.go delete mode 100644 plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_balances.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_balances_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_budgets.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_budgets_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_charges.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_charges_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_events.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_events_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_lots.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_lots_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_marketplaces.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_marketplaces_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_tags.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_account_tags_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_details.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_details_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions.go delete mode 100644 plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_budgets.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_budgets_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_marketplaces.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_marketplaces_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_price_sheets.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_price_sheets_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations_test.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_tags.go delete mode 100644 plugins/source/azure/resources/services/consumption/subscription_tags_test.go delete mode 100644 plugins/source/azure/resources/services/containerinstance/container_groups.go delete mode 100644 plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/containerregistry/registries.go delete mode 100644 plugins/source/azure/resources/services/containerregistry/registries_mock_test.go delete mode 100644 plugins/source/azure/resources/services/containerservice/managed_cluster_upgrade_profiles.go delete mode 100644 plugins/source/azure/resources/services/containerservice/managed_clusters.go delete mode 100644 plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/containerservice/snapshots.go delete mode 100644 plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/daterange.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/daterange_test.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/view_queries.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/view_queries_fetch.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/view_queries_mock_test.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/views.go delete mode 100644 plugins/source/azure/resources/services/costmanagement/views_mock_test.go delete mode 100644 plugins/source/azure/resources/services/customerinsights/hubs.go delete mode 100644 plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/dashboard/grafana.go delete mode 100644 plugins/source/azure/resources/services/dashboard/grafana_mock_test.go delete mode 100644 plugins/source/azure/resources/services/databox/jobs.go delete mode 100644 plugins/source/azure/resources/services/databox/jobs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datadog/marketplace_agreements.go delete mode 100644 plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datadog/monitors.go delete mode 100644 plugins/source/azure/resources/services/datadog/monitors_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datafactory/factories.go delete mode 100644 plugins/source/azure/resources/services/datafactory/factories_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datalakeanalytics/accounts.go delete mode 100644 plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datalakestore/accounts.go delete mode 100644 plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/datamigration/services.go delete mode 100644 plugins/source/azure/resources/services/datamigration/services_mock_test.go delete mode 100644 plugins/source/azure/resources/services/desktopvirtualization/host_pools.go delete mode 100644 plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go delete mode 100644 plugins/source/azure/resources/services/devhub/workflow.go delete mode 100644 plugins/source/azure/resources/services/devhub/workflow_mock_test.go delete mode 100644 plugins/source/azure/resources/services/devops/pipeline_template_definitions.go delete mode 100644 plugins/source/azure/resources/services/devops/pipeline_template_definitions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/dns/record_sets.go delete mode 100644 plugins/source/azure/resources/services/dns/zones.go delete mode 100644 plugins/source/azure/resources/services/dns/zones_mock_test.go delete mode 100644 plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go delete mode 100644 plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go delete mode 100644 plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/elastic/monitors.go delete mode 100644 plugins/source/azure/resources/services/elastic/monitors_mock_test.go delete mode 100644 plugins/source/azure/resources/services/engagementfabric/accounts.go delete mode 100644 plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/eventgrid/topic_types.go delete mode 100644 plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go delete mode 100644 plugins/source/azure/resources/services/eventhub/namespaces.go delete mode 100644 plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/eventhub/network_rule_sets.go delete mode 100644 plugins/source/azure/resources/services/eventhub/network_rule_sets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/front_doors.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/managed_rule_sets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go delete mode 100644 plugins/source/azure/resources/services/frontdoor/network_experiment_profiles_mock_test.go delete mode 100644 plugins/source/azure/resources/services/hanaonazure/sap_monitors.go delete mode 100644 plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go delete mode 100644 plugins/source/azure/resources/services/hdinsight/clusters.go delete mode 100644 plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/healthbot/bots.go delete mode 100644 plugins/source/azure/resources/services/healthbot/bots_fetch.go delete mode 100644 plugins/source/azure/resources/services/healthbot/bots_mock_test.go delete mode 100644 plugins/source/azure/resources/services/healthcareapis/services.go delete mode 100644 plugins/source/azure/resources/services/healthcareapis/services_mock_test.go delete mode 100644 plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go delete mode 100644 plugins/source/azure/resources/services/hybridcompute/private_link_scopes_mock_test.go delete mode 100644 plugins/source/azure/resources/services/hybriddatamanager/data_managers.go delete mode 100644 plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_keys.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_keys_fetch.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_keys_mock_test.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms_mock_test.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_mock_test.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_secrets.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_secrets_fetch.go delete mode 100644 plugins/source/azure/resources/services/keyvault/keyvault_secrets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/kusto/clusters.go delete mode 100644 plugins/source/azure/resources/services/kusto/clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/logic/workflows.go delete mode 100644 plugins/source/azure/resources/services/logic/workflows_mock_test.go delete mode 100644 plugins/source/azure/resources/services/maintenance/configurations.go delete mode 100644 plugins/source/azure/resources/services/maintenance/configurations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go delete mode 100644 plugins/source/azure/resources/services/maintenance/public_maintenance_configurations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/managementgroups/entities.go delete mode 100644 plugins/source/azure/resources/services/managementgroups/entities_mock_test.go delete mode 100644 plugins/source/azure/resources/services/managementgroups/managment_groups.go delete mode 100644 plugins/source/azure/resources/services/managementgroups/managment_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/marketplace/private_store.go delete mode 100644 plugins/source/azure/resources/services/marketplace/private_store_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/activity_log_alerts.go delete mode 100644 plugins/source/azure/resources/services/monitor/activity_log_alerts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/autoscale_settings.go delete mode 100644 plugins/source/azure/resources/services/monitor/autoscale_settings_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/diagnostic_settings.go delete mode 100644 plugins/source/azure/resources/services/monitor/log_profiles.go delete mode 100644 plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/private_link_scopes.go delete mode 100644 plugins/source/azure/resources/services/monitor/private_link_scopes_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/resources.go delete mode 100644 plugins/source/azure/resources/services/monitor/resources_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings.go delete mode 100644 plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go delete mode 100644 plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/monitor/tenant_activity_logs.go delete mode 100644 plugins/source/azure/resources/services/monitor/tenant_activity_logs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/application_gateways.go delete mode 100644 plugins/source/azure/resources/services/network/application_gateways_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/application_security_groups.go delete mode 100644 plugins/source/azure/resources/services/network/application_security_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go delete mode 100644 plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/azure_firewalls.go delete mode 100644 plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/bastion_hosts.go delete mode 100644 plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/custom_ip_prefixes.go delete mode 100644 plugins/source/azure/resources/services/network/custom_ip_prefixes_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/ddos_protection_plans.go delete mode 100644 plugins/source/azure/resources/services/network/ddos_protection_plans_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/dscp_configuration.go delete mode 100644 plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuit_authorizations.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuit_authorizations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuit_peerings.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuit_peerings_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuits.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_circuits_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_gateways.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_gateways_fetch.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_gateways_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_ports.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_ports_locations.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_ports_locations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_ports_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_service_providers.go delete mode 100644 plugins/source/azure/resources/services/network/express_route_service_providers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/firewall_policies.go delete mode 100644 plugins/source/azure/resources/services/network/firewall_policies_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/interface_ip_configurations.go delete mode 100644 plugins/source/azure/resources/services/network/interface_ip_configurations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/interfaces.go delete mode 100644 plugins/source/azure/resources/services/network/interfaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/ip_allocations.go delete mode 100644 plugins/source/azure/resources/services/network/ip_allocations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/ip_groups.go delete mode 100644 plugins/source/azure/resources/services/network/ip_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/load_balancers.go delete mode 100644 plugins/source/azure/resources/services/network/load_balancers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/nat_gateways.go delete mode 100644 plugins/source/azure/resources/services/network/nat_gateways_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/private_endpoints.go delete mode 100644 plugins/source/azure/resources/services/network/private_endpoints_test.go delete mode 100644 plugins/source/azure/resources/services/network/private_link_services.go delete mode 100644 plugins/source/azure/resources/services/network/private_link_services_test.go delete mode 100644 plugins/source/azure/resources/services/network/profiles.go delete mode 100644 plugins/source/azure/resources/services/network/profiles_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/public_ip_addresses.go delete mode 100644 plugins/source/azure/resources/services/network/public_ip_addresses_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/public_ip_prefixes.go delete mode 100644 plugins/source/azure/resources/services/network/public_ip_prefixes_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/route_filters.go delete mode 100644 plugins/source/azure/resources/services/network/route_filters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/route_tables.go delete mode 100644 plugins/source/azure/resources/services/network/route_tables_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/security_groups.go delete mode 100644 plugins/source/azure/resources/services/network/security_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/security_partner_providers.go delete mode 100644 plugins/source/azure/resources/services/network/security_partner_providers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/service_endpoint_policies.go delete mode 100644 plugins/source/azure/resources/services/network/service_endpoint_policies_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/subscription_network_manager_connections.go delete mode 100644 plugins/source/azure/resources/services/network/subscription_network_manager_connections_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_appliances.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_hubs.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_gateway_connections.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_gateway_connections_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_gateways.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_gateways_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_subnets.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_subnets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_taps.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_network_taps_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_networks.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_networks_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_routers.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_routers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_wans.go delete mode 100644 plugins/source/azure/resources/services/network/virtual_wans_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_gateways.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_server_configurations.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_server_configurations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_sites.go delete mode 100644 plugins/source/azure/resources/services/network/vpn_sites_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/watcher_flow_logs.go delete mode 100644 plugins/source/azure/resources/services/network/watcher_flow_logs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/watchers.go delete mode 100644 plugins/source/azure/resources/services/network/watchers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/network/web_application_firewall_policies.go delete mode 100644 plugins/source/azure/resources/services/network/web_application_firewall_policies_mock_test.go delete mode 100644 plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription.go delete mode 100644 plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription_mock_test.go delete mode 100644 plugins/source/azure/resources/services/nginx/deployments.go delete mode 100644 plugins/source/azure/resources/services/nginx/deployments_fetch.go delete mode 100644 plugins/source/azure/resources/services/nginx/deployments_mock_test.go delete mode 100644 plugins/source/azure/resources/services/notificationhubs/namespaces.go delete mode 100644 plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/operationalinsights/clusters.go delete mode 100644 plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/operationalinsights/workspaces.go delete mode 100644 plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/peering/service_countries.go delete mode 100644 plugins/source/azure/resources/services/peering/service_countries_mock_test.go delete mode 100644 plugins/source/azure/resources/services/peering/service_providers.go delete mode 100644 plugins/source/azure/resources/services/peering/service_providers_fetch.go delete mode 100644 plugins/source/azure/resources/services/peering/service_providers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/policy/assignments.go delete mode 100644 plugins/source/azure/resources/services/policy/assignments_mock_test.go delete mode 100644 plugins/source/azure/resources/services/policy/data_policy_manifests.go delete mode 100644 plugins/source/azure/resources/services/policy/data_policy_manifests_mock_test.go delete mode 100644 plugins/source/azure/resources/services/policy/exemptions.go delete mode 100644 plugins/source/azure/resources/services/policy/exemptions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/policy/set_definitions.go delete mode 100644 plugins/source/azure/resources/services/policy/set_definitions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go delete mode 100644 plugins/source/azure/resources/services/portal/list_tenant_configuration_violations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/portal/tenant_configurations.go delete mode 100644 plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/powerbidedicated/capacities.go delete mode 100644 plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go delete mode 100644 plugins/source/azure/resources/services/privatedns/private_zones.go delete mode 100644 plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go delete mode 100644 plugins/source/azure/resources/services/privatedns/record_sets.go delete mode 100644 plugins/source/azure/resources/services/privatedns/virtual_network_links.go delete mode 100644 plugins/source/azure/resources/services/providerhub/provider_registrations.go delete mode 100644 plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go delete mode 100644 plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters_mock_test.go delete mode 100644 plugins/source/azure/resources/services/redis/caches.go delete mode 100644 plugins/source/azure/resources/services/redis/caches_mock_test.go delete mode 100644 plugins/source/azure/resources/services/relay/namespaces.go delete mode 100644 plugins/source/azure/resources/services/relay/namespaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/reservations/reservation.go delete mode 100644 plugins/source/azure/resources/services/reservations/reservation_mock_test.go delete mode 100644 plugins/source/azure/resources/services/reservations/reservation_order.go delete mode 100644 plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go delete mode 100644 plugins/source/azure/resources/services/resources/links.go delete mode 100644 plugins/source/azure/resources/services/resources/links_mock_test.go delete mode 100644 plugins/source/azure/resources/services/resources/providers.go delete mode 100644 plugins/source/azure/resources/services/resources/providers_mock_test.go delete mode 100644 plugins/source/azure/resources/services/resources/resource_groups.go delete mode 100644 plugins/source/azure/resources/services/resources/resource_groups_mock_test.go delete mode 100644 plugins/source/azure/resources/services/resources/resource_mock_test.go delete mode 100644 plugins/source/azure/resources/services/resources/resources.go delete mode 100644 plugins/source/azure/resources/services/saas/resources.go delete mode 100644 plugins/source/azure/resources/services/saas/resources_mock_test.go delete mode 100644 plugins/source/azure/resources/services/search/services.go delete mode 100644 plugins/source/azure/resources/services/search/services_fetch.go delete mode 100644 plugins/source/azure/resources/services/search/services_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/adaptive_application_controls.go delete mode 100644 plugins/source/azure/resources/services/security/adaptive_application_controls_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/alerts.go delete mode 100644 plugins/source/azure/resources/services/security/alerts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/alerts_suppression_rules.go delete mode 100644 plugins/source/azure/resources/services/security/alerts_suppression_rules_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/allowed_connections.go delete mode 100644 plugins/source/azure/resources/services/security/allowed_connections_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/applications.go delete mode 100644 plugins/source/azure/resources/services/security/applications_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/assessments.go delete mode 100644 plugins/source/azure/resources/services/security/assessments_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/auto_provisioning_settings.go delete mode 100644 plugins/source/azure/resources/services/security/auto_provisioning_settings_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/automations.go delete mode 100644 plugins/source/azure/resources/services/security/automations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/connectors.go delete mode 100644 plugins/source/azure/resources/services/security/connectors_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/contacts.go delete mode 100644 plugins/source/azure/resources/services/security/contacts_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/discovered_security_solutions.go delete mode 100644 plugins/source/azure/resources/services/security/discovered_security_solutions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/external_security_solutions.go delete mode 100644 plugins/source/azure/resources/services/security/external_security_solutions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/governance_rule.go delete mode 100644 plugins/source/azure/resources/services/security/governance_rule_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/jit_network_access_policies.go delete mode 100644 plugins/source/azure/resources/services/security/jit_network_access_policies_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/locations.go delete mode 100644 plugins/source/azure/resources/services/security/locations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/pricings.go delete mode 100644 plugins/source/azure/resources/services/security/pricings_fetch.go delete mode 100644 plugins/source/azure/resources/services/security/pricings_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/regulatory_compliance_standards.go delete mode 100644 plugins/source/azure/resources/services/security/regulatory_compliance_standards_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/secure_score_control_definitions.go delete mode 100644 plugins/source/azure/resources/services/security/secure_score_control_definitions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/secure_score_controls.go delete mode 100644 plugins/source/azure/resources/services/security/secure_score_controls_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/secure_scores.go delete mode 100644 plugins/source/azure/resources/services/security/secure_scores_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/settings.go delete mode 100644 plugins/source/azure/resources/services/security/settings_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/solutions.go delete mode 100644 plugins/source/azure/resources/services/security/solutions_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/sub_assessments.go delete mode 100644 plugins/source/azure/resources/services/security/sub_assessments_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/tasks.go delete mode 100644 plugins/source/azure/resources/services/security/tasks_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/topology.go delete mode 100644 plugins/source/azure/resources/services/security/topology_mock_test.go delete mode 100644 plugins/source/azure/resources/services/security/workspace_settings.go delete mode 100644 plugins/source/azure/resources/services/security/workspace_settings_mock_test.go delete mode 100644 plugins/source/azure/resources/services/servicebus/namespaces.go delete mode 100644 plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/servicebus/topic_authorization_rules.go delete mode 100644 plugins/source/azure/resources/services/servicebus/topic_rules_access_keys.go delete mode 100644 plugins/source/azure/resources/services/servicebus/topics.go delete mode 100644 plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go delete mode 100644 plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/subscription/locations.go delete mode 100644 plugins/source/azure/resources/services/subscription/locations_mock_test.go delete mode 100644 plugins/source/azure/resources/services/subscription/subscription_mock_test.go delete mode 100644 plugins/source/azure/resources/services/subscription/subscriptions.go delete mode 100644 plugins/source/azure/resources/services/subscription/subscriptions_fetch.go delete mode 100644 plugins/source/azure/resources/services/subscription/tenants.go delete mode 100644 plugins/source/azure/resources/services/subscription/tenants_mock_test.go delete mode 100644 plugins/source/azure/resources/services/support/services.go delete mode 100644 plugins/source/azure/resources/services/support/services_mock_test.go delete mode 100644 plugins/source/azure/resources/services/support/tickets.go delete mode 100644 plugins/source/azure/resources/services/support/tickets_mock_test.go delete mode 100644 plugins/source/azure/resources/services/synapse/private_link_hubs.go delete mode 100644 plugins/source/azure/resources/services/synapse/private_link_hubs_mock_test.go delete mode 100644 plugins/source/azure/resources/services/synapse/workspaces.go delete mode 100644 plugins/source/azure/resources/services/synapse/workspaces_mock_test.go delete mode 100644 plugins/source/azure/resources/services/trafficmanager/profiles.go delete mode 100644 plugins/source/azure/resources/services/trafficmanager/profiles_mock_test.go delete mode 100644 plugins/source/azure/resources/services/windowsiot/services.go delete mode 100644 plugins/source/azure/resources/services/windowsiot/services_mock_test.go delete mode 100644 plugins/source/azure/resources/services/workloads/monitors.go delete mode 100644 plugins/source/azure/resources/services/workloads/monitors_mock_test.go diff --git a/plugins/source/azure/docs/tables/README.md b/plugins/source/azure/docs/tables/README.md index 583c6a17f539a9..62e3117bb66124 100644 --- a/plugins/source/azure/docs/tables/README.md +++ b/plugins/source/azure/docs/tables/README.md @@ -2,15 +2,6 @@ ## Tables -- [azure_advisor_recommendation_metadata](azure_advisor_recommendation_metadata.md) -- [azure_advisor_recommendations](azure_advisor_recommendations.md) -- [azure_advisor_suppressions](azure_advisor_suppressions.md) -- [azure_analysisservices_servers](azure_analysisservices_servers.md) -- [azure_apimanagement_service](azure_apimanagement_service.md) -- [azure_appcomplianceautomation_reports](azure_appcomplianceautomation_reports.md) -- [azure_appconfiguration_configuration_stores](azure_appconfiguration_configuration_stores.md) -- [azure_applicationinsights_components](azure_applicationinsights_components.md) -- [azure_applicationinsights_web_tests](azure_applicationinsights_web_tests.md) - [azure_appservice_certificate_orders](azure_appservice_certificate_orders.md) - [azure_appservice_certificates](azure_appservice_certificates.md) - [azure_appservice_deleted_web_apps](azure_appservice_deleted_web_apps.md) @@ -25,35 +16,8 @@ - [azure_appservice_web_app_auth_settings](azure_appservice_web_app_auth_settings.md) - [azure_appservice_web_app_configurations](azure_appservice_web_app_configurations.md) - [azure_appservice_web_app_vnet_connections](azure_appservice_web_app_vnet_connections.md) -- [azure_authorization_classic_administrators](azure_authorization_classic_administrators.md) - [azure_authorization_provider_operations_metadata](azure_authorization_provider_operations_metadata.md) -- [azure_authorization_role_assignments](azure_authorization_role_assignments.md) - [azure_authorization_role_definitions](azure_authorization_role_definitions.md) -- [azure_automation_account](azure_automation_account.md) -- [azure_azurearcdata_postgres_instances](azure_azurearcdata_postgres_instances.md) -- [azure_azurearcdata_sql_managed_instances](azure_azurearcdata_sql_managed_instances.md) -- [azure_azurearcdata_sql_server_instances](azure_azurearcdata_sql_server_instances.md) -- [azure_batch_account](azure_batch_account.md) -- [azure_billing_accounts](azure_billing_accounts.md) -- [azure_billing_enrollment_accounts](azure_billing_enrollment_accounts.md) -- [azure_billing_periods](azure_billing_periods.md) -- [azure_botservice_bots](azure_botservice_bots.md) -- [azure_cdn_edge_nodes](azure_cdn_edge_nodes.md) -- [azure_cdn_managed_rule_sets](azure_cdn_managed_rule_sets.md) -- [azure_cdn_profiles](azure_cdn_profiles.md) - - [azure_cdn_endpoints](azure_cdn_endpoints.md) - - [azure_cdn_rule_sets](azure_cdn_rule_sets.md) - - [azure_cdn_security_policies](azure_cdn_security_policies.md) -- [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md) - - [azure_cognitiveservices_account_deployments](azure_cognitiveservices_account_deployments.md) - - [azure_cognitiveservices_account_models](azure_cognitiveservices_account_models.md) - - [azure_cognitiveservices_account_private_endpoint_connections](azure_cognitiveservices_account_private_endpoint_connections.md) - - [azure_cognitiveservices_account_private_link_resources](azure_cognitiveservices_account_private_link_resources.md) - - [azure_cognitiveservices_account_skus](azure_cognitiveservices_account_skus.md) - - [azure_cognitiveservices_account_usages](azure_cognitiveservices_account_usages.md) -- [azure_cognitiveservices_commitment_plans](azure_cognitiveservices_commitment_plans.md) -- [azure_cognitiveservices_deleted_accounts](azure_cognitiveservices_deleted_accounts.md) -- [azure_cognitiveservices_resource_skus](azure_cognitiveservices_resource_skus.md) - [azure_compute_availability_sets](azure_compute_availability_sets.md) - [azure_compute_capacity_reservation_groups](azure_compute_capacity_reservation_groups.md) - [azure_compute_capacity_reservations](azure_compute_capacity_reservations.md) @@ -75,169 +39,22 @@ - [azure_compute_virtual_machines](azure_compute_virtual_machines.md) - [azure_compute_virtual_machine_extensions](azure_compute_virtual_machine_extensions.md) - [azure_compute_virtual_machine_patch_assessments](azure_compute_virtual_machine_patch_assessments.md) -- [azure_confluent_marketplace_agreements](azure_confluent_marketplace_agreements.md) -- [azure_connectedvmware_clusters](azure_connectedvmware_clusters.md) -- [azure_connectedvmware_datastores](azure_connectedvmware_datastores.md) -- [azure_connectedvmware_hosts](azure_connectedvmware_hosts.md) -- [azure_connectedvmware_resource_pools](azure_connectedvmware_resource_pools.md) -- [azure_connectedvmware_v_centers](azure_connectedvmware_v_centers.md) -- [azure_connectedvmware_virtual_machine_templates](azure_connectedvmware_virtual_machine_templates.md) -- [azure_connectedvmware_virtual_machines](azure_connectedvmware_virtual_machines.md) -- [azure_connectedvmware_virtual_networks](azure_connectedvmware_virtual_networks.md) -- [azure_consumption_billing_account_balances](azure_consumption_billing_account_balances.md) -- [azure_consumption_billing_account_budgets](azure_consumption_billing_account_budgets.md) -- [azure_consumption_billing_account_charges](azure_consumption_billing_account_charges.md) -- [azure_consumption_billing_account_events](azure_consumption_billing_account_events.md) -- [azure_consumption_billing_account_legacy_usage_details](azure_consumption_billing_account_legacy_usage_details.md) -- [azure_consumption_billing_account_lots](azure_consumption_billing_account_lots.md) -- [azure_consumption_billing_account_marketplaces](azure_consumption_billing_account_marketplaces.md) -- [azure_consumption_billing_account_modern_usage_details](azure_consumption_billing_account_modern_usage_details.md) -- [azure_consumption_billing_account_reservation_recommendations](azure_consumption_billing_account_reservation_recommendations.md) -- [azure_consumption_billing_account_tags](azure_consumption_billing_account_tags.md) -- [azure_consumption_billing_profile_reservation_details](azure_consumption_billing_profile_reservation_details.md) -- [azure_consumption_billing_profile_reservation_recommendations](azure_consumption_billing_profile_reservation_recommendations.md) -- [azure_consumption_billing_profile_reservation_summaries](azure_consumption_billing_profile_reservation_summaries.md) -- [azure_consumption_billing_profile_reservation_transactions](azure_consumption_billing_profile_reservation_transactions.md) -- [azure_consumption_subscription_budgets](azure_consumption_subscription_budgets.md) -- [azure_consumption_subscription_legacy_usage_details](azure_consumption_subscription_legacy_usage_details.md) -- [azure_consumption_subscription_marketplaces](azure_consumption_subscription_marketplaces.md) -- [azure_consumption_subscription_price_sheets](azure_consumption_subscription_price_sheets.md) -- [azure_consumption_subscription_reservation_recommendations](azure_consumption_subscription_reservation_recommendations.md) -- [azure_consumption_subscription_tags](azure_consumption_subscription_tags.md) -- [azure_containerinstance_container_groups](azure_containerinstance_container_groups.md) -- [azure_containerregistry_registries](azure_containerregistry_registries.md) -- [azure_containerservice_managed_clusters](azure_containerservice_managed_clusters.md) - - [azure_containerservice_managed_cluster_upgrade_profiles](azure_containerservice_managed_cluster_upgrade_profiles.md) -- [azure_containerservice_snapshots](azure_containerservice_snapshots.md) - [azure_cosmos_database_accounts](azure_cosmos_database_accounts.md) - [azure_cosmos_mongo_db_databases](azure_cosmos_mongo_db_databases.md) - [azure_cosmos_sql_databases](azure_cosmos_sql_databases.md) - [azure_cosmos_locations](azure_cosmos_locations.md) - [azure_cosmos_restorable_database_accounts](azure_cosmos_restorable_database_accounts.md) -- [azure_costmanagement_views](azure_costmanagement_views.md) - - [azure_costmanagement_view_queries](azure_costmanagement_view_queries.md) -- [azure_customerinsights_hubs](azure_customerinsights_hubs.md) -- [azure_dashboard_grafana](azure_dashboard_grafana.md) -- [azure_databox_jobs](azure_databox_jobs.md) -- [azure_datadog_marketplace_agreements](azure_datadog_marketplace_agreements.md) -- [azure_datadog_monitors](azure_datadog_monitors.md) -- [azure_datafactory_factories](azure_datafactory_factories.md) -- [azure_datalakeanalytics_accounts](azure_datalakeanalytics_accounts.md) -- [azure_datalakestore_accounts](azure_datalakestore_accounts.md) -- [azure_datamigration_services](azure_datamigration_services.md) -- [azure_desktopvirtualization_host_pools](azure_desktopvirtualization_host_pools.md) -- [azure_devhub_workflow](azure_devhub_workflow.md) -- [azure_devops_pipeline_template_definitions](azure_devops_pipeline_template_definitions.md) -- [azure_dns_zones](azure_dns_zones.md) - - [azure_dns_record_sets](azure_dns_record_sets.md) -- [azure_dnsresolver_dns_forwarding_rulesets](azure_dnsresolver_dns_forwarding_rulesets.md) -- [azure_dnsresolver_dns_resolvers](azure_dnsresolver_dns_resolvers.md) -- [azure_elastic_monitors](azure_elastic_monitors.md) -- [azure_engagementfabric_accounts](azure_engagementfabric_accounts.md) -- [azure_eventgrid_topic_types](azure_eventgrid_topic_types.md) -- [azure_eventhub_namespaces](azure_eventhub_namespaces.md) - - [azure_eventhub_namespace_network_rule_sets](azure_eventhub_namespace_network_rule_sets.md) -- [azure_frontdoor_front_doors](azure_frontdoor_front_doors.md) -- [azure_frontdoor_managed_rule_sets](azure_frontdoor_managed_rule_sets.md) -- [azure_frontdoor_network_experiment_profiles](azure_frontdoor_network_experiment_profiles.md) -- [azure_hanaonazure_sap_monitors](azure_hanaonazure_sap_monitors.md) -- [azure_hdinsight_clusters](azure_hdinsight_clusters.md) -- [azure_healthbot_bots](azure_healthbot_bots.md) -- [azure_healthcareapis_services](azure_healthcareapis_services.md) -- [azure_hybridcompute_private_link_scopes](azure_hybridcompute_private_link_scopes.md) -- [azure_hybriddatamanager_data_managers](azure_hybriddatamanager_data_managers.md) -- [azure_keyvault_keyvault](azure_keyvault_keyvault.md) - - [azure_keyvault_keyvault_keys](azure_keyvault_keyvault_keys.md) - - [azure_keyvault_keyvault_secrets](azure_keyvault_keyvault_secrets.md) -- [azure_keyvault_keyvault_managed_hsms](azure_keyvault_keyvault_managed_hsms.md) -- [azure_kusto_clusters](azure_kusto_clusters.md) -- [azure_logic_workflows](azure_logic_workflows.md) -- [azure_maintenance_configurations](azure_maintenance_configurations.md) -- [azure_maintenance_public_maintenance_configurations](azure_maintenance_public_maintenance_configurations.md) -- [azure_managementgroups_entities](azure_managementgroups_entities.md) -- [azure_managementgroups_management_groups](azure_managementgroups_management_groups.md) - [azure_mariadb_servers](azure_mariadb_servers.md) - [azure_mariadb_server_configurations](azure_mariadb_server_configurations.md) -- [azure_marketplace_private_store](azure_marketplace_private_store.md) -- [azure_monitor_activity_log_alerts](azure_monitor_activity_log_alerts.md) -- [azure_monitor_autoscale_settings](azure_monitor_autoscale_settings.md) -- [azure_monitor_log_profiles](azure_monitor_log_profiles.md) -- [azure_monitor_private_link_scopes](azure_monitor_private_link_scopes.md) -- [azure_monitor_resources](azure_monitor_resources.md) - - [azure_monitor_diagnostic_settings](azure_monitor_diagnostic_settings.md) -- [azure_monitor_subscription_diagnostic_settings](azure_monitor_subscription_diagnostic_settings.md) -- [azure_monitor_tenant_activity_log_alerts](azure_monitor_tenant_activity_log_alerts.md) -- [azure_monitor_tenant_activity_logs](azure_monitor_tenant_activity_logs.md) - [azure_mysql_servers](azure_mysql_servers.md) - [azure_mysql_server_configurations](azure_mysql_server_configurations.md) - [azure_mysql_server_databases](azure_mysql_server_databases.md) - [azure_mysqlflexibleservers_servers](azure_mysqlflexibleservers_servers.md) - [azure_mysqlflexibleservers_server_configurations](azure_mysqlflexibleservers_server_configurations.md) - [azure_mysqlflexibleservers_server_firewall_rules](azure_mysqlflexibleservers_server_firewall_rules.md) -- [azure_network_application_gateways](azure_network_application_gateways.md) -- [azure_network_application_security_groups](azure_network_application_security_groups.md) -- [azure_network_azure_firewall_fqdn_tags](azure_network_azure_firewall_fqdn_tags.md) -- [azure_network_azure_firewalls](azure_network_azure_firewalls.md) -- [azure_network_bastion_hosts](azure_network_bastion_hosts.md) - [azure_network_bgp_service_communities](azure_network_bgp_service_communities.md) -- [azure_network_custom_ip_prefixes](azure_network_custom_ip_prefixes.md) -- [azure_network_ddos_protection_plans](azure_network_ddos_protection_plans.md) -- [azure_network_dscp_configuration](azure_network_dscp_configuration.md) -- [azure_network_express_route_circuits](azure_network_express_route_circuits.md) - - [azure_network_express_route_circuit_authorizations](azure_network_express_route_circuit_authorizations.md) - - [azure_network_express_route_circuit_peerings](azure_network_express_route_circuit_peerings.md) -- [azure_network_express_route_gateways](azure_network_express_route_gateways.md) -- [azure_network_express_route_ports](azure_network_express_route_ports.md) -- [azure_network_express_route_ports_locations](azure_network_express_route_ports_locations.md) -- [azure_network_express_route_service_providers](azure_network_express_route_service_providers.md) -- [azure_network_firewall_policies](azure_network_firewall_policies.md) -- [azure_network_interfaces](azure_network_interfaces.md) - - [azure_network_interface_ip_configurations](azure_network_interface_ip_configurations.md) -- [azure_network_ip_allocations](azure_network_ip_allocations.md) -- [azure_network_ip_groups](azure_network_ip_groups.md) -- [azure_network_load_balancers](azure_network_load_balancers.md) -- [azure_network_nat_gateways](azure_network_nat_gateways.md) -- [azure_network_private_endpoints](azure_network_private_endpoints.md) -- [azure_network_private_link_services](azure_network_private_link_services.md) -- [azure_network_profiles](azure_network_profiles.md) -- [azure_network_public_ip_addresses](azure_network_public_ip_addresses.md) -- [azure_network_public_ip_prefixes](azure_network_public_ip_prefixes.md) -- [azure_network_route_filters](azure_network_route_filters.md) -- [azure_network_route_tables](azure_network_route_tables.md) -- [azure_network_security_groups](azure_network_security_groups.md) -- [azure_network_security_partner_providers](azure_network_security_partner_providers.md) -- [azure_network_service_endpoint_policies](azure_network_service_endpoint_policies.md) -- [azure_network_subscription_network_manager_connections](azure_network_subscription_network_manager_connections.md) -- [azure_network_virtual_appliances](azure_network_virtual_appliances.md) -- [azure_network_virtual_hubs](azure_network_virtual_hubs.md) -- [azure_network_virtual_network_gateway_connections](azure_network_virtual_network_gateway_connections.md) -- [azure_network_virtual_network_gateways](azure_network_virtual_network_gateways.md) -- [azure_network_virtual_network_taps](azure_network_virtual_network_taps.md) -- [azure_network_virtual_networks](azure_network_virtual_networks.md) - - [azure_network_virtual_network_subnets](azure_network_virtual_network_subnets.md) -- [azure_network_virtual_routers](azure_network_virtual_routers.md) -- [azure_network_virtual_wans](azure_network_virtual_wans.md) -- [azure_network_vpn_gateways](azure_network_vpn_gateways.md) -- [azure_network_vpn_server_configurations](azure_network_vpn_server_configurations.md) -- [azure_network_vpn_sites](azure_network_vpn_sites.md) -- [azure_network_watchers](azure_network_watchers.md) - - [azure_network_watcher_flow_logs](azure_network_watcher_flow_logs.md) -- [azure_network_web_application_firewall_policies](azure_network_web_application_firewall_policies.md) -- [azure_networkfunction_azure_traffic_collectors_by_subscription](azure_networkfunction_azure_traffic_collectors_by_subscription.md) -- [azure_nginx_deployments](azure_nginx_deployments.md) -- [azure_notificationhubs_namespaces](azure_notificationhubs_namespaces.md) -- [azure_operationalinsights_clusters](azure_operationalinsights_clusters.md) -- [azure_operationalinsights_workspaces](azure_operationalinsights_workspaces.md) -- [azure_peering_service_countries](azure_peering_service_countries.md) - [azure_peering_service_locations](azure_peering_service_locations.md) -- [azure_peering_service_providers](azure_peering_service_providers.md) -- [azure_policy_assignments](azure_policy_assignments.md) -- [azure_policy_data_policy_manifests](azure_policy_data_policy_manifests.md) - [azure_policy_definitions](azure_policy_definitions.md) -- [azure_policy_exemptions](azure_policy_exemptions.md) -- [azure_policy_set_definitions](azure_policy_set_definitions.md) -- [azure_portal_list_tenant_configuration_violations](azure_portal_list_tenant_configuration_violations.md) -- [azure_portal_tenant_configurations](azure_portal_tenant_configurations.md) - [azure_postgresql_servers](azure_postgresql_servers.md) - [azure_postgresql_databases](azure_postgresql_databases.md) - [azure_postgresql_server_configurations](azure_postgresql_server_configurations.md) @@ -246,54 +63,7 @@ - [azure_postgresqlflexibleservers_server_configurations](azure_postgresqlflexibleservers_server_configurations.md) - [azure_postgresqlflexibleservers_server_firewall_rules](azure_postgresqlflexibleservers_server_firewall_rules.md) - [azure_postgresqlhsc_server_groups](azure_postgresqlhsc_server_groups.md) -- [azure_powerbidedicated_capacities](azure_powerbidedicated_capacities.md) -- [azure_privatedns_private_zones](azure_privatedns_private_zones.md) - - [azure_privatedns_private_zone_record_sets](azure_privatedns_private_zone_record_sets.md) - - [azure_privatedns_private_zone_virtual_network_links](azure_privatedns_private_zone_virtual_network_links.md) -- [azure_providerhub_provider_registrations](azure_providerhub_provider_registrations.md) -- [azure_redhatopenshift_open_shift_clusters](azure_redhatopenshift_open_shift_clusters.md) -- [azure_redis_caches](azure_redis_caches.md) -- [azure_relay_namespaces](azure_relay_namespaces.md) -- [azure_reservations_reservation](azure_reservations_reservation.md) -- [azure_reservations_reservation_order](azure_reservations_reservation_order.md) -- [azure_resources_links](azure_resources_links.md) -- [azure_resources_providers](azure_resources_providers.md) -- [azure_resources_resource_groups](azure_resources_resource_groups.md) -- [azure_resources_resources](azure_resources_resources.md) -- [azure_role_management_policy_assignments](azure_role_management_policy_assignments.md) -- [azure_saas_resources](azure_saas_resources.md) -- [azure_search_services](azure_search_services.md) -- [azure_security_adaptive_application_controls](azure_security_adaptive_application_controls.md) -- [azure_security_alerts](azure_security_alerts.md) -- [azure_security_alerts_suppression_rules](azure_security_alerts_suppression_rules.md) -- [azure_security_allowed_connections](azure_security_allowed_connections.md) -- [azure_security_applications](azure_security_applications.md) -- [azure_security_assessments](azure_security_assessments.md) - [azure_security_assessments_metadata](azure_security_assessments_metadata.md) -- [azure_security_auto_provisioning_settings](azure_security_auto_provisioning_settings.md) -- [azure_security_automations](azure_security_automations.md) -- [azure_security_connectors](azure_security_connectors.md) -- [azure_security_contacts](azure_security_contacts.md) -- [azure_security_discovered_security_solutions](azure_security_discovered_security_solutions.md) -- [azure_security_external_security_solutions](azure_security_external_security_solutions.md) -- [azure_security_governance_rule](azure_security_governance_rule.md) -- [azure_security_jit_network_access_policies](azure_security_jit_network_access_policies.md) -- [azure_security_locations](azure_security_locations.md) -- [azure_security_pricings](azure_security_pricings.md) -- [azure_security_regulatory_compliance_standards](azure_security_regulatory_compliance_standards.md) -- [azure_security_secure_score_control_definitions](azure_security_secure_score_control_definitions.md) -- [azure_security_secure_score_controls](azure_security_secure_score_controls.md) -- [azure_security_secure_scores](azure_security_secure_scores.md) -- [azure_security_settings](azure_security_settings.md) -- [azure_security_solutions](azure_security_solutions.md) -- [azure_security_sub_assessments](azure_security_sub_assessments.md) -- [azure_security_tasks](azure_security_tasks.md) -- [azure_security_topology](azure_security_topology.md) -- [azure_security_workspace_settings](azure_security_workspace_settings.md) -- [azure_servicebus_namespaces](azure_servicebus_namespaces.md) - - [azure_servicebus_namespace_topics](azure_servicebus_namespace_topics.md) - - [azure_servicebus_namespace_topic_authorization_rules](azure_servicebus_namespace_topic_authorization_rules.md) - - [azure_servicebus_namespace_topic_rule_access_keys](azure_servicebus_namespace_topic_rule_access_keys.md) - [azure_sql_instance_pools](azure_sql_instance_pools.md) - [azure_sql_managed_instances](azure_sql_managed_instances.md) - [azure_sql_managed_instance_encryption_protectors](azure_sql_managed_instance_encryption_protectors.md) @@ -325,15 +95,4 @@ - [azure_storage_queues](azure_storage_queues.md) - [azure_storage_queue_acl](azure_storage_queue_acl.md) - [azure_storage_tables](azure_storage_tables.md) -- [azure_storagecache_caches](azure_storagecache_caches.md) -- [azure_streamanalytics_streaming_jobs](azure_streamanalytics_streaming_jobs.md) -- [azure_subscription_subscriptions](azure_subscription_subscriptions.md) - - [azure_subscription_subscription_locations](azure_subscription_subscription_locations.md) -- [azure_subscription_tenants](azure_subscription_tenants.md) -- [azure_support_services](azure_support_services.md) -- [azure_support_tickets](azure_support_tickets.md) -- [azure_synapse_private_link_hubs](azure_synapse_private_link_hubs.md) -- [azure_synapse_workspaces](azure_synapse_workspaces.md) -- [azure_trafficmanager_profiles](azure_trafficmanager_profiles.md) -- [azure_windowsiot_services](azure_windowsiot_services.md) -- [azure_workloads_monitors](azure_workloads_monitors.md) \ No newline at end of file +- [azure_storagecache_caches](azure_storagecache_caches.md) \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_advisor_recommendation_metadata.md b/plugins/source/azure/docs/tables/azure_advisor_recommendation_metadata.md deleted file mode 100644 index 75c69f1245ff84..00000000000000 --- a/plugins/source/azure/docs/tables/azure_advisor_recommendation_metadata.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_advisor_recommendation_metadata - -This table shows data for Azure Advisor Recommendation Metadata. - -https://learn.microsoft.com/en-us/rest/api/advisor/recommendation-metadata/list?tabs=HTTP#metadataentity - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_advisor_recommendations.md b/plugins/source/azure/docs/tables/azure_advisor_recommendations.md deleted file mode 100644 index 4d328d5c602b84..00000000000000 --- a/plugins/source/azure/docs/tables/azure_advisor_recommendations.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_advisor_recommendations - -This table shows data for Azure Advisor Recommendations. - -https://learn.microsoft.com/en-us/rest/api/advisor/recommendations/list?tabs=HTTP#resourcerecommendationbase - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_advisor_suppressions.md b/plugins/source/azure/docs/tables/azure_advisor_suppressions.md deleted file mode 100644 index d35880c055a57c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_advisor_suppressions.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_advisor_suppressions - -This table shows data for Azure Advisor Suppressions. - -https://learn.microsoft.com/en-us/rest/api/advisor/suppressions/list?tabs=HTTP#suppressioncontractlistresult - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_analysisservices_servers.md b/plugins/source/azure/docs/tables/azure_analysisservices_servers.md deleted file mode 100644 index 56cf113385efed..00000000000000 --- a/plugins/source/azure/docs/tables/azure_analysisservices_servers.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_analysisservices_servers - -This table shows data for Azure Analysis Services Servers. - -https://learn.microsoft.com/en-us/rest/api/analysisservices/servers/list?tabs=HTTP#analysisservicesserver - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_apimanagement_service.md b/plugins/source/azure/docs/tables/azure_apimanagement_service.md deleted file mode 100644 index b9b9212b611857..00000000000000 --- a/plugins/source/azure/docs/tables/azure_apimanagement_service.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_apimanagement_service - -This table shows data for Azure API Management Service. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement#ServiceResource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|identity|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_appcomplianceautomation_reports.md b/plugins/source/azure/docs/tables/azure_appcomplianceautomation_reports.md deleted file mode 100644 index fa921fd9dd6bf1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_appcomplianceautomation_reports.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_appcomplianceautomation_reports - -This table shows data for Azure App Compliance Automation Reports. - -https://learn.microsoft.com/en-us/rest/api/appcompliance/reports/list?tabs=HTTP#reportresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_appconfiguration_configuration_stores.md b/plugins/source/azure/docs/tables/azure_appconfiguration_configuration_stores.md deleted file mode 100644 index a5aee2d7d3f28d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_appconfiguration_configuration_stores.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_appconfiguration_configuration_stores - -This table shows data for Azure Appconfiguration Configuration Stores. - -https://learn.microsoft.com/en-us/rest/api/appconfiguration/stable/configuration-stores/list?tabs=HTTP#configurationstore - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_applicationinsights_components.md b/plugins/source/azure/docs/tables/azure_applicationinsights_components.md deleted file mode 100644 index d30424c24c4f4c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_applicationinsights_components.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_applicationinsights_components - -This table shows data for Azure Application Insights Components. - -https://learn.microsoft.com/en-us/rest/api/application-insights/components/list?tabs=HTTP#applicationinsightscomponent - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_applicationinsights_web_tests.md b/plugins/source/azure/docs/tables/azure_applicationinsights_web_tests.md deleted file mode 100644 index d69e647c3094f5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_applicationinsights_web_tests.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_applicationinsights_web_tests - -This table shows data for Azure Application Insights Web Tests. - -https://learn.microsoft.com/en-us/rest/api/application-insights/web-tests/list?tabs=HTTP#webtest - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|kind|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_authorization_classic_administrators.md b/plugins/source/azure/docs/tables/azure_authorization_classic_administrators.md deleted file mode 100644 index cc8f8537385988..00000000000000 --- a/plugins/source/azure/docs/tables/azure_authorization_classic_administrators.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_authorization_classic_administrators - -This table shows data for Azure Authorization Classic Administrators. - -https://learn.microsoft.com/en-us/rest/api/authorization/classic-administrators/list?tabs=HTTP#classicadministrator - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_authorization_role_assignments.md b/plugins/source/azure/docs/tables/azure_authorization_role_assignments.md deleted file mode 100644 index 7b61598edee039..00000000000000 --- a/plugins/source/azure/docs/tables/azure_authorization_role_assignments.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_authorization_role_assignments - -This table shows data for Azure Authorization Role Assignments. - -https://learn.microsoft.com/en-us/rest/api/authorization/role-assignments/get?tabs=HTTP#roleassignment - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_automation_account.md b/plugins/source/azure/docs/tables/azure_automation_account.md deleted file mode 100644 index c9dd7b02e68dd6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_automation_account.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_automation_account - -This table shows data for Azure Automation Account. - -https://learn.microsoft.com/en-us/rest/api/automation/automation-account/list?tabs=HTTP#automationaccount - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_azurearcdata_postgres_instances.md b/plugins/source/azure/docs/tables/azure_azurearcdata_postgres_instances.md deleted file mode 100644 index 6b627b980e0a33..00000000000000 --- a/plugins/source/azure/docs/tables/azure_azurearcdata_postgres_instances.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_azurearcdata_postgres_instances - -This table shows data for Azure Azure Arc Data Postgres Instances. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#PostgresInstance - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_azurearcdata_sql_managed_instances.md b/plugins/source/azure/docs/tables/azure_azurearcdata_sql_managed_instances.md deleted file mode 100644 index 51afd8fdc39831..00000000000000 --- a/plugins/source/azure/docs/tables/azure_azurearcdata_sql_managed_instances.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_azurearcdata_sql_managed_instances - -This table shows data for Azure Azure Arc Data SQL Managed Instances. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#SQLManagedInstance - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_azurearcdata_sql_server_instances.md b/plugins/source/azure/docs/tables/azure_azurearcdata_sql_server_instances.md deleted file mode 100644 index 53badc186ff1bc..00000000000000 --- a/plugins/source/azure/docs/tables/azure_azurearcdata_sql_server_instances.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_azurearcdata_sql_server_instances - -This table shows data for Azure Azure Arc Data SQL Server Instances. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#SQLServerInstance - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_batch_account.md b/plugins/source/azure/docs/tables/azure_batch_account.md deleted file mode 100644 index 3eb772707f701a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_batch_account.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_batch_account - -This table shows data for Azure Batch Account. - -https://learn.microsoft.com/en-us/rest/api/batchmanagement/batch-account/list?tabs=HTTP#batchaccount - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_billing_accounts.md b/plugins/source/azure/docs/tables/azure_billing_accounts.md deleted file mode 100644 index fcaa9db2c2dfc7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_billing_accounts.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_billing_accounts - -This table shows data for Azure Billing Accounts. - -https://learn.microsoft.com/en-us/rest/api/billing/2020-05-01/billing-accounts/list?tabs=HTTP#billingaccount - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_billing_enrollment_accounts.md b/plugins/source/azure/docs/tables/azure_billing_enrollment_accounts.md deleted file mode 100644 index 113d608bf53961..00000000000000 --- a/plugins/source/azure/docs/tables/azure_billing_enrollment_accounts.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_billing_enrollment_accounts - -This table shows data for Azure Billing Enrollment Accounts. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling@v0.5.0#EnrollmentAccountSummary - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_billing_periods.md b/plugins/source/azure/docs/tables/azure_billing_periods.md deleted file mode 100644 index 28a19f45a5bbc3..00000000000000 --- a/plugins/source/azure/docs/tables/azure_billing_periods.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_billing_periods - -This table shows data for Azure Billing Periods. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling@v0.5.0#Period - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_botservice_bots.md b/plugins/source/azure/docs/tables/azure_botservice_bots.md deleted file mode 100644 index 20cffe0816b5aa..00000000000000 --- a/plugins/source/azure/docs/tables/azure_botservice_bots.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_botservice_bots - -This table shows data for Azure Botservice Bots. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/botservice/armbotservice@v0.5.0#Bot - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| -|zones|`list`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_edge_nodes.md b/plugins/source/azure/docs/tables/azure_cdn_edge_nodes.md deleted file mode 100644 index ed4879b201f03b..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_edge_nodes.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_cdn_edge_nodes - -This table shows data for Azure Content Delivery Network (CDN) Edge Nodes. - -https://learn.microsoft.com/en-us/rest/api/cdn/edge-nodes/list?tabs=HTTP#edgenode - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_endpoints.md b/plugins/source/azure/docs/tables/azure_cdn_endpoints.md deleted file mode 100644 index cf29e9333f8b3d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_endpoints.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_cdn_endpoints - -This table shows data for Azure Content Delivery Network (CDN) Endpoints. - -https://learn.microsoft.com/en-us/rest/api/cdn/endpoints/list-by-profile?tabs=HTTP#endpoint - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cdn_profiles](azure_cdn_profiles.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_managed_rule_sets.md b/plugins/source/azure/docs/tables/azure_cdn_managed_rule_sets.md deleted file mode 100644 index 06d2306c9a4541..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_managed_rule_sets.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_cdn_managed_rule_sets - -This table shows data for Azure Content Delivery Network (CDN) Managed Rule Sets. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#ManagedRuleSetDefinition - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|properties|`json`| -|sku|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_profiles.md b/plugins/source/azure/docs/tables/azure_cdn_profiles.md deleted file mode 100644 index a156ce9aaf54d1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_profiles.md +++ /dev/null @@ -1,30 +0,0 @@ -# Table: azure_cdn_profiles - -This table shows data for Azure Content Delivery Network (CDN) Profiles. - -https://learn.microsoft.com/en-us/rest/api/cdn/profiles/list?tabs=HTTP#profile - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_cdn_profiles: - - [azure_cdn_endpoints](azure_cdn_endpoints.md) - - [azure_cdn_rule_sets](azure_cdn_rule_sets.md) - - [azure_cdn_security_policies](azure_cdn_security_policies.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|location|`utf8`| -|sku|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|kind|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_rule_sets.md b/plugins/source/azure/docs/tables/azure_cdn_rule_sets.md deleted file mode 100644 index 4fc59d08e4ec2d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_rule_sets.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_cdn_rule_sets - -This table shows data for Azure Content Delivery Network (CDN) Rule Sets. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#RuleSet - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cdn_profiles](azure_cdn_profiles.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cdn_security_policies.md b/plugins/source/azure/docs/tables/azure_cdn_security_policies.md deleted file mode 100644 index 68a394c1c2d839..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cdn_security_policies.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_cdn_security_policies - -This table shows data for Azure Content Delivery Network (CDN) Security Policies. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#SecurityPolicy - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cdn_profiles](azure_cdn_profiles.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_deployments.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_deployments.md deleted file mode 100644 index d81c8e05b0fade..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_deployments.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_cognitiveservices_account_deployments - -This table shows data for Azure Cognitive Services Account Deployments. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/deployments/list?tabs=HTTP#deployment - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|sku|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_models.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_models.md deleted file mode 100644 index e13597778c5e85..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_models.md +++ /dev/null @@ -1,34 +0,0 @@ -# Table: azure_cognitiveservices_account_models - -This table shows data for Azure Cognitive Services Account Models. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices@v1.3.0#AccountModel - -The primary key for this table is **_cq_id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id (PK)|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|account_id|`utf8`| -|base_model|`json`| -|capabilities|`json`| -|deprecation|`json`| -|finetune_capabilities|`json`| -|format|`utf8`| -|is_default_version|`bool`| -|lifecycle_status|`utf8`| -|max_capacity|`int64`| -|name|`utf8`| -|sk_us|`json`| -|source|`utf8`| -|version|`utf8`| -|call_rate_limit|`json`| -|system_data|`json`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_endpoint_connections.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_endpoint_connections.md deleted file mode 100644 index 0f505c5fe17b62..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_endpoint_connections.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_cognitiveservices_account_private_endpoint_connections - -This table shows data for Azure Cognitive Services Account Private Endpoint Connections. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/private-endpoint-connections/list?tabs=HTTP#privateendpointconnection - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_link_resources.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_link_resources.md deleted file mode 100644 index 602bc91dda3016..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_private_link_resources.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_cognitiveservices_account_private_link_resources - -This table shows data for Azure Cognitive Services Account Private Link Resources. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/private-link-resources/list?tabs=HTTP#privatelinkresource - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_skus.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_skus.md deleted file mode 100644 index 7ddc26688f5f29..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_skus.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_cognitiveservices_account_skus - -This table shows data for Azure Cognitive Services Account Skus. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list-skus?tabs=HTTP#accountsku - -The primary key for this table is **_cq_id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id (PK)|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|account_id|`utf8`| -|resource_type|`utf8`| -|sku|`json`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_usages.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_account_usages.md deleted file mode 100644 index 9f584a9162912b..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_account_usages.md +++ /dev/null @@ -1,27 +0,0 @@ -# Table: azure_cognitiveservices_account_usages - -This table shows data for Azure Cognitive Services Account Usages. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list-usages?tabs=HTTP#usage - -The primary key for this table is **_cq_id**. - -## Relations - -This table depends on [azure_cognitiveservices_accounts](azure_cognitiveservices_accounts.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id (PK)|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|account_id|`utf8`| -|current_value|`float64`| -|limit|`float64`| -|name|`json`| -|next_reset_time|`utf8`| -|quota_period|`utf8`| -|status|`utf8`| -|unit|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_accounts.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_accounts.md deleted file mode 100644 index 37d24732784743..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_accounts.md +++ /dev/null @@ -1,36 +0,0 @@ -# Table: azure_cognitiveservices_accounts - -This table shows data for Azure Cognitive Services Accounts. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list?tabs=HTTP#account - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_cognitiveservices_accounts: - - [azure_cognitiveservices_account_deployments](azure_cognitiveservices_account_deployments.md) - - [azure_cognitiveservices_account_models](azure_cognitiveservices_account_models.md) - - [azure_cognitiveservices_account_private_endpoint_connections](azure_cognitiveservices_account_private_endpoint_connections.md) - - [azure_cognitiveservices_account_private_link_resources](azure_cognitiveservices_account_private_link_resources.md) - - [azure_cognitiveservices_account_skus](azure_cognitiveservices_account_skus.md) - - [azure_cognitiveservices_account_usages](azure_cognitiveservices_account_usages.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_commitment_plans.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_commitment_plans.md deleted file mode 100644 index a6fc1f53fa88c0..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_commitment_plans.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_cognitiveservices_commitment_plans - -This table shows data for Azure Cognitive Services Commitment Plans. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/commitment-plans/list?tabs=HTTP#commitmentplan - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_deleted_accounts.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_deleted_accounts.md deleted file mode 100644 index d30f6c9657f4a6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_deleted_accounts.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_cognitiveservices_deleted_accounts - -This table shows data for Azure Cognitive Services Deleted Accounts. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/deleted-accounts/list?tabs=HTTP#account - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_cognitiveservices_resource_skus.md b/plugins/source/azure/docs/tables/azure_cognitiveservices_resource_skus.md deleted file mode 100644 index bec68fc8a9c6d4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_cognitiveservices_resource_skus.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_cognitiveservices_resource_skus - -This table shows data for Azure Cognitive Services Resource Skus. - -https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/resource-skus/list?tabs=HTTP#resourcesku - -The primary key for this table is **_cq_id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id (PK)|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|locations|`list`| -|name|`utf8`| -|resource_type|`utf8`| -|restrictions|`json`| -|tier|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md b/plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md deleted file mode 100644 index fa9c71a618a5b0..00000000000000 --- a/plugins/source/azure/docs/tables/azure_confluent_marketplace_agreements.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_confluent_marketplace_agreements - -This table shows data for Azure Confluent Marketplace Agreements. - -https://learn.microsoft.com/en-us/rest/api/confluent/marketplace-agreements/list?tabs=HTTP#confluentagreementresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md b/plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md deleted file mode 100644 index 954a013c9229cd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_clusters.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_clusters - -This table shows data for Azure Connected VMware Clusters. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Cluster - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md b/plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md deleted file mode 100644 index ed4f79b6db00a8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_datastores.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_datastores - -This table shows data for Azure Connected VMware Datastores. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Datastore - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_hosts.md b/plugins/source/azure/docs/tables/azure_connectedvmware_hosts.md deleted file mode 100644 index 0df3c42d95795d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_hosts.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_hosts - -This table shows data for Azure Connected VMware Hosts. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Host - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_resource_pools.md b/plugins/source/azure/docs/tables/azure_connectedvmware_resource_pools.md deleted file mode 100644 index 8a200b9595eeb1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_resource_pools.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_resource_pools - -This table shows data for Azure Connected VMware Resource Pools. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#ResourcePool - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_v_centers.md b/plugins/source/azure/docs/tables/azure_connectedvmware_v_centers.md deleted file mode 100644 index 1425c163c22269..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_v_centers.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_v_centers - -This table shows data for Azure Connected VMware V Centers. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VCenter - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machine_templates.md b/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machine_templates.md deleted file mode 100644 index f3a75a4c539595..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machine_templates.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_virtual_machine_templates - -This table shows data for Azure Connected VMware Virtual Machine Templates. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualMachineTemplate - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machines.md b/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machines.md deleted file mode 100644 index d842ed211a32bb..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_machines.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_connectedvmware_virtual_machines - -This table shows data for Azure Connected VMware Virtual Machines. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualMachine - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|identity|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_networks.md b/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_networks.md deleted file mode 100644 index 47780667767552..00000000000000 --- a/plugins/source/azure/docs/tables/azure_connectedvmware_virtual_networks.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_connectedvmware_virtual_networks - -This table shows data for Azure Connected VMware Virtual Networks. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualNetwork - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|extended_location|`json`| -|kind|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_balances.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_balances.md deleted file mode 100644 index 25537c745cc78d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_balances.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_billing_account_balances - -This table shows data for Azure Consumption Billing Account Balances. - -https://learn.microsoft.com/en-us/rest/api/consumption/balances/get-by-billing-account?tabs=HTTP#balance - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_budgets.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_budgets.md deleted file mode 100644 index 5aa8cfe533f3fb..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_budgets.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_billing_account_budgets - -This table shows data for Azure Consumption Billing Account Budgets. - -https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_charges.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_charges.md deleted file mode 100644 index dc7a7cd7810b50..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_charges.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_billing_account_charges - -This table shows data for Azure Consumption Billing Account Charges. - -https://learn.microsoft.com/en-us/rest/api/consumption/charges/list?tabs=HTTP#modernchargesummary - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|properties|`json`| -|e_tag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_events.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_events.md deleted file mode 100644 index 1f935bc0566af9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_events.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_billing_account_events - -This table shows data for Azure Consumption Billing Account Events. - -https://learn.microsoft.com/en-us/rest/api/consumption/events/list-by-billing-account?tabs=HTTP#eventsummary - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_legacy_usage_details.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_legacy_usage_details.md deleted file mode 100644 index ffbea6aef1f384..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_legacy_usage_details.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_consumption_billing_account_legacy_usage_details - -This table shows data for Azure Consumption Billing Account Legacy Usage Details. - -https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#legacyusagedetail - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_lots.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_lots.md deleted file mode 100644 index 1c5514a9d10ad7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_lots.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_billing_account_lots - -This table shows data for Azure Consumption Billing Account Lots. - -https://learn.microsoft.com/en-us/rest/api/consumption/lots/list-by-billing-account?tabs=HTTP#lotsummary - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_marketplaces.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_marketplaces.md deleted file mode 100644 index 84df0e6a69417c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_marketplaces.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_billing_account_marketplaces - -This table shows data for Azure Consumption Billing Account Marketplaces. - -https://learn.microsoft.com/en-us/rest/api/consumption/marketplaces/list?tabs=HTTP#marketplace - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_modern_usage_details.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_modern_usage_details.md deleted file mode 100644 index 82ceaa0a4b9623..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_modern_usage_details.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_consumption_billing_account_modern_usage_details - -This table shows data for Azure Consumption Billing Account Modern Usage Details. - -https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#modernusagedetail - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_reservation_recommendations.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_reservation_recommendations.md deleted file mode 100644 index 37187f3f382ace..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_reservation_recommendations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_consumption_billing_account_reservation_recommendations - -This table shows data for Azure Consumption Billing Account Reservation Recommendations. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#legacyreservationrecommendation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|etag|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|sku|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_account_tags.md b/plugins/source/azure/docs/tables/azure_consumption_billing_account_tags.md deleted file mode 100644 index 66f8a31bc7bbf6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_account_tags.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_billing_account_tags - -This table shows data for Azure Consumption Billing Account Tags. - -https://learn.microsoft.com/en-us/rest/api/consumption/tags/get?tabs=HTTP#tagsresult - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_details.md b/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_details.md deleted file mode 100644 index a231e3b82b8d6d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_details.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_billing_profile_reservation_details - -This table shows data for Azure Consumption Billing Profile Reservation Details. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservations-details/list?tabs=HTTP#reservationdetail - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_recommendations.md b/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_recommendations.md deleted file mode 100644 index 2fb45698e918b9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_recommendations.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_consumption_billing_profile_reservation_recommendations - -This table shows data for Azure Consumption Billing Profile Reservation Recommendations. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#modernreservationrecommendation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|sku|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_summaries.md b/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_summaries.md deleted file mode 100644 index aeebea4f07b269..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_summaries.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_billing_profile_reservation_summaries - -This table shows data for Azure Consumption Billing Profile Reservation Summaries. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservations-summaries/list?tabs=HTTP#reservationsummary - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_transactions.md b/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_transactions.md deleted file mode 100644 index 29280d81c00e71..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_billing_profile_reservation_transactions.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_billing_profile_reservation_transactions - -This table shows data for Azure Consumption Billing Profile Reservation Transactions. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservation-transactions/list?tabs=HTTP#reservationtransaction - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`list`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_budgets.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_budgets.md deleted file mode 100644 index adfe16b4dda606..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_budgets.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_subscription_budgets - -This table shows data for Azure Consumption Subscription Budgets. - -https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_legacy_usage_details.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_legacy_usage_details.md deleted file mode 100644 index 6bc7eebd54287a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_legacy_usage_details.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_consumption_subscription_legacy_usage_details - -This table shows data for Azure Consumption Subscription Legacy Usage Details. - -https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#legacyusagedetail - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_marketplaces.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_marketplaces.md deleted file mode 100644 index 88453d7a81cef9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_marketplaces.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_subscription_marketplaces - -This table shows data for Azure Consumption Subscription Marketplaces. - -https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_price_sheets.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_price_sheets.md deleted file mode 100644 index f7697705d08f2c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_price_sheets.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_consumption_subscription_price_sheets - -This table shows data for Azure Consumption Subscription Price Sheets. - -https://learn.microsoft.com/en-us/rest/api/consumption/price-sheet/get?tabs=HTTP#pricesheetresult - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_reservation_recommendations.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_reservation_recommendations.md deleted file mode 100644 index c6735efebf84d6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_reservation_recommendations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_consumption_subscription_reservation_recommendations - -This table shows data for Azure Consumption Subscription Reservation Recommendations. - -https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#legacyreservationrecommendation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|kind|`utf8`| -|etag|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|sku|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_consumption_subscription_tags.md b/plugins/source/azure/docs/tables/azure_consumption_subscription_tags.md deleted file mode 100644 index 1a22cebf229cb9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_consumption_subscription_tags.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_consumption_subscription_tags - -This table shows data for Azure Consumption Subscription Tags. - -https://learn.microsoft.com/en-us/rest/api/consumption/tags/get?tabs=HTTP#tagsresult - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|e_tag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_containerinstance_container_groups.md b/plugins/source/azure/docs/tables/azure_containerinstance_container_groups.md deleted file mode 100644 index a3a1c4274ad927..00000000000000 --- a/plugins/source/azure/docs/tables/azure_containerinstance_container_groups.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_containerinstance_container_groups - -This table shows data for Azure Container Instance Container Groups. - -https://learn.microsoft.com/en-us/rest/api/container-instances/container-groups/list?tabs=HTTP#containergroup - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|identity|`json`| -|location|`utf8`| -|tags|`json`| -|zones|`list`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_containerregistry_registries.md b/plugins/source/azure/docs/tables/azure_containerregistry_registries.md deleted file mode 100644 index b91aecc9ad1fa6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_containerregistry_registries.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_containerregistry_registries - -This table shows data for Azure Container Registry Registries. - -https://learn.microsoft.com/en-us/rest/api/containerregistry/registries/list?tabs=HTTP#registry - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_containerservice_managed_cluster_upgrade_profiles.md b/plugins/source/azure/docs/tables/azure_containerservice_managed_cluster_upgrade_profiles.md deleted file mode 100644 index 9989823d6bf0ec..00000000000000 --- a/plugins/source/azure/docs/tables/azure_containerservice_managed_cluster_upgrade_profiles.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_containerservice_managed_cluster_upgrade_profiles - -This table shows data for Azure Container Service Managed Cluster Upgrade Profiles. - -https://learn.microsoft.com/en-us/rest/api/aks/managed-clusters/get-upgrade-profile?tabs=HTTP#managedclusterupgradeprofile - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_containerservice_managed_clusters](azure_containerservice_managed_clusters.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_containerservice_managed_clusters.md b/plugins/source/azure/docs/tables/azure_containerservice_managed_clusters.md deleted file mode 100644 index 4fc35fdd2a3d46..00000000000000 --- a/plugins/source/azure/docs/tables/azure_containerservice_managed_clusters.md +++ /dev/null @@ -1,30 +0,0 @@ -# Table: azure_containerservice_managed_clusters - -This table shows data for Azure Container Service Managed Clusters. - -https://learn.microsoft.com/en-us/rest/api/aks/managed-clusters/list?tabs=HTTP#managedcluster - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_containerservice_managed_clusters: - - [azure_containerservice_managed_cluster_upgrade_profiles](azure_containerservice_managed_cluster_upgrade_profiles.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|extended_location|`json`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_containerservice_snapshots.md b/plugins/source/azure/docs/tables/azure_containerservice_snapshots.md deleted file mode 100644 index 38bbc8b8826dc5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_containerservice_snapshots.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_containerservice_snapshots - -This table shows data for Azure Container Service Snapshots. - -https://learn.microsoft.com/en-us/rest/api/aks/snapshots/list?tabs=HTTP#snapshot - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md b/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md deleted file mode 100644 index 117c54e898b29e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_costmanagement_view_queries.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_costmanagement_view_queries - -This table shows data for Azure Cost Management View Queries. - -https://learn.microsoft.com/en-us/rest/api/cost-management/query/usage?tabs=HTTP#queryresult - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_costmanagement_views](azure_costmanagement_views.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|sku|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_costmanagement_views.md b/plugins/source/azure/docs/tables/azure_costmanagement_views.md deleted file mode 100644 index cb61fff8356859..00000000000000 --- a/plugins/source/azure/docs/tables/azure_costmanagement_views.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_costmanagement_views - -This table shows data for Azure Cost Management Views. - -https://learn.microsoft.com/en-us/rest/api/cost-management/views/list?tabs=HTTP#view - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_costmanagement_views: - - [azure_costmanagement_view_queries](azure_costmanagement_view_queries.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_customerinsights_hubs.md b/plugins/source/azure/docs/tables/azure_customerinsights_hubs.md deleted file mode 100644 index 24ba0bfca45857..00000000000000 --- a/plugins/source/azure/docs/tables/azure_customerinsights_hubs.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_customerinsights_hubs - -This table shows data for Azure Customer Insights Hubs. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/customerinsights/armcustomerinsights@v1.0.0#Hub - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_dashboard_grafana.md b/plugins/source/azure/docs/tables/azure_dashboard_grafana.md deleted file mode 100644 index 42bf5c12201b9d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_dashboard_grafana.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_dashboard_grafana - -This table shows data for Azure Dashboard Grafana. - -https://learn.microsoft.com/en-us/rest/api/managed-grafana/grafana/list-by-resource-group?tabs=HTTP#managedgrafana - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_databox_jobs.md b/plugins/source/azure/docs/tables/azure_databox_jobs.md deleted file mode 100644 index 359c1f6ae4ad73..00000000000000 --- a/plugins/source/azure/docs/tables/azure_databox_jobs.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_databox_jobs - -This table shows data for Azure Data Box Jobs. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox@v1.0.0#JobResource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|identity|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md b/plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md deleted file mode 100644 index 4b1cddfabc7629..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datadog_marketplace_agreements.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_datadog_marketplace_agreements - -This table shows data for Azure Datadog Marketplace Agreements. - -https://learn.microsoft.com/en-us/rest/api/datadog/marketplace-agreements/list?tabs=HTTP#datadogagreementresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datadog_monitors.md b/plugins/source/azure/docs/tables/azure_datadog_monitors.md deleted file mode 100644 index edf1ee03b2d2f1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datadog_monitors.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_datadog_monitors - -This table shows data for Azure Datadog Monitors. - -https://learn.microsoft.com/en-us/rest/api/datadog/monitors/list?tabs=HTTP#datadogmonitorresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datafactory_factories.md b/plugins/source/azure/docs/tables/azure_datafactory_factories.md deleted file mode 100644 index e8d7a9a77a2f5d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datafactory_factories.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_datafactory_factories - -This table shows data for Azure Data Factory Factories. - -https://learn.microsoft.com/en-us/rest/api/datafactory/factories/list?tabs=HTTP#factory - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|additional_properties|`json`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md b/plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md deleted file mode 100644 index d468f0cc8402de..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datalakeanalytics_accounts.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_datalakeanalytics_accounts - -This table shows data for Azure Data Lake Analytics Accounts. - -https://learn.microsoft.com/en-us/rest/api/datalakeanalytics/accounts/list?tabs=HTTP#datalakeanalyticsaccountbasic - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|properties|`json`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datalakestore_accounts.md b/plugins/source/azure/docs/tables/azure_datalakestore_accounts.md deleted file mode 100644 index 00673d133bc7c8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datalakestore_accounts.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_datalakestore_accounts - -This table shows data for Azure Data Lake Store Accounts. - -https://learn.microsoft.com/en-us/rest/api/datalakestore/accounts/list?tabs=HTTP#datalakestoreaccountbasic - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|properties|`json`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_datamigration_services.md b/plugins/source/azure/docs/tables/azure_datamigration_services.md deleted file mode 100644 index e371cdd6e6b17d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_datamigration_services.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_datamigration_services - -This table shows data for Azure Datamigration Services. - -https://learn.microsoft.com/en-us/rest/api/datamigration/services/list?tabs=HTTP#datamigrationservice - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|kind|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_desktopvirtualization_host_pools.md b/plugins/source/azure/docs/tables/azure_desktopvirtualization_host_pools.md deleted file mode 100644 index 927ec0ae95c356..00000000000000 --- a/plugins/source/azure/docs/tables/azure_desktopvirtualization_host_pools.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_desktopvirtualization_host_pools - -This table shows data for Azure Desktop Virtualization Host Pools. - -https://learn.microsoft.com/en-us/rest/api/desktopvirtualization/host-pools/list?tabs=HTTP#hostpool - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|identity|`json`| -|kind|`utf8`| -|location|`utf8`| -|managed_by|`utf8`| -|plan|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_devhub_workflow.md b/plugins/source/azure/docs/tables/azure_devhub_workflow.md deleted file mode 100644 index 9ac0d2b3b32e0d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_devhub_workflow.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_devhub_workflow - -This table shows data for Azure Devhub Workflow. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devhub/armdevhub@v0.2.0#Workflow - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_devops_pipeline_template_definitions.md b/plugins/source/azure/docs/tables/azure_devops_pipeline_template_definitions.md deleted file mode 100644 index d1916a1497f39c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_devops_pipeline_template_definitions.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_devops_pipeline_template_definitions - -This table shows data for Azure DevOps Pipeline Template Definitions. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devops/armdevops@v0.5.0#PipelineTemplateDefinition - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|description|`utf8`| -|inputs|`json`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_dns_record_sets.md b/plugins/source/azure/docs/tables/azure_dns_record_sets.md deleted file mode 100644 index 70cdf9256481de..00000000000000 --- a/plugins/source/azure/docs/tables/azure_dns_record_sets.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_dns_record_sets - -This table shows data for Azure DNS Record Sets. - -https://learn.microsoft.com/en-us/rest/api/dns/record-sets/list-by-dns-zone?tabs=HTTP#recordset - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_dns_zones](azure_dns_zones.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_dns_zones.md b/plugins/source/azure/docs/tables/azure_dns_zones.md deleted file mode 100644 index 469f74b13114b6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_dns_zones.md +++ /dev/null @@ -1,27 +0,0 @@ -# Table: azure_dns_zones - -This table shows data for Azure DNS Zones. - -https://learn.microsoft.com/en-us/rest/api/dns/zones/list?tabs=HTTP#zone - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_dns_zones: - - [azure_dns_record_sets](azure_dns_record_sets.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_dnsresolver_dns_forwarding_rulesets.md b/plugins/source/azure/docs/tables/azure_dnsresolver_dns_forwarding_rulesets.md deleted file mode 100644 index 149d294d3e013f..00000000000000 --- a/plugins/source/azure/docs/tables/azure_dnsresolver_dns_forwarding_rulesets.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_dnsresolver_dns_forwarding_rulesets - -This table shows data for Azure DNS Resolver DNS Forwarding Rulesets. - -https://learn.microsoft.com/en-us/rest/api/dns/dnsresolver/dns-forwarding-rulesets/list?tabs=HTTP#dnsforwardingruleset - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_dnsresolver_dns_resolvers.md b/plugins/source/azure/docs/tables/azure_dnsresolver_dns_resolvers.md deleted file mode 100644 index 7137228e0daac2..00000000000000 --- a/plugins/source/azure/docs/tables/azure_dnsresolver_dns_resolvers.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_dnsresolver_dns_resolvers - -This table shows data for Azure DNS Resolver DNS Resolvers. - -https://learn.microsoft.com/en-us/rest/api/dns/dnsresolver/dns-resolvers/list?tabs=HTTP#dnsresolver - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_elastic_monitors.md b/plugins/source/azure/docs/tables/azure_elastic_monitors.md deleted file mode 100644 index 5ff77311c6bcb5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_elastic_monitors.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_elastic_monitors - -This table shows data for Azure Elastic Monitors. - -https://learn.microsoft.com/en-us/rest/api/elastic/monitors/list?tabs=HTTP#elasticmonitorresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_engagementfabric_accounts.md b/plugins/source/azure/docs/tables/azure_engagementfabric_accounts.md deleted file mode 100644 index a71714c193be80..00000000000000 --- a/plugins/source/azure/docs/tables/azure_engagementfabric_accounts.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_engagementfabric_accounts - -This table shows data for Azure Engagement Fabric Accounts. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/engagementfabric/armengagementfabric@v0.1.0#Account - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_eventgrid_topic_types.md b/plugins/source/azure/docs/tables/azure_eventgrid_topic_types.md deleted file mode 100644 index 9bf542f11d8c61..00000000000000 --- a/plugins/source/azure/docs/tables/azure_eventgrid_topic_types.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_eventgrid_topic_types - -This table shows data for Azure Eventgrid Topic Types. - -https://learn.microsoft.com/en-us/rest/api/eventgrid/controlplane-version2022-06-15/topic-types/list?tabs=HTTP#topictypeinfo - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_eventhub_namespace_network_rule_sets.md b/plugins/source/azure/docs/tables/azure_eventhub_namespace_network_rule_sets.md deleted file mode 100644 index e7c1fcd7dada73..00000000000000 --- a/plugins/source/azure/docs/tables/azure_eventhub_namespace_network_rule_sets.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_eventhub_namespace_network_rule_sets - -This table shows data for Azure Event Hub Namespace Network Rule Sets. - -https://learn.microsoft.com/en-us/rest/api/eventhub/stable/network-rule-sets/list-network-rule-set?tabs=HTTP#networkruleset - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_eventhub_namespaces](azure_eventhub_namespaces.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_eventhub_namespaces.md b/plugins/source/azure/docs/tables/azure_eventhub_namespaces.md deleted file mode 100644 index 220ba071696781..00000000000000 --- a/plugins/source/azure/docs/tables/azure_eventhub_namespaces.md +++ /dev/null @@ -1,29 +0,0 @@ -# Table: azure_eventhub_namespaces - -This table shows data for Azure Event Hub Namespaces. - -https://learn.microsoft.com/en-us/rest/api/eventhub/stable/namespaces/list?tabs=HTTP#ehnamespace - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_eventhub_namespaces: - - [azure_eventhub_namespace_network_rule_sets](azure_eventhub_namespace_network_rule_sets.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_frontdoor_front_doors.md b/plugins/source/azure/docs/tables/azure_frontdoor_front_doors.md deleted file mode 100644 index 4694a39f50ca5a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_frontdoor_front_doors.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_frontdoor_front_doors - -This table shows data for Azure Frontdoor Front Doors. - -https://learn.microsoft.com/en-us/rest/api/frontdoorservice/frontdoor/front-doors/list?tabs=HTTP#frontdoor - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_frontdoor_managed_rule_sets.md b/plugins/source/azure/docs/tables/azure_frontdoor_managed_rule_sets.md deleted file mode 100644 index 7d858b9290aae0..00000000000000 --- a/plugins/source/azure/docs/tables/azure_frontdoor_managed_rule_sets.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_frontdoor_managed_rule_sets - -This table shows data for Azure Frontdoor Managed Rule Sets. - -https://learn.microsoft.com/en-us/rest/api/frontdoor/webapplicationfirewall/managed-rule-sets/list#managedrulesetdefinition - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_frontdoor_network_experiment_profiles.md b/plugins/source/azure/docs/tables/azure_frontdoor_network_experiment_profiles.md deleted file mode 100644 index a7d5cc038d1d74..00000000000000 --- a/plugins/source/azure/docs/tables/azure_frontdoor_network_experiment_profiles.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_frontdoor_network_experiment_profiles - -This table shows data for Azure Frontdoor Network Experiment Profiles. - -https://learn.microsoft.com/en-us/rest/api/internetanalyzer/network-experiment-profiles/list?tabs=HTTP#profile - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_hanaonazure_sap_monitors.md b/plugins/source/azure/docs/tables/azure_hanaonazure_sap_monitors.md deleted file mode 100644 index 0b593495fdee1d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_hanaonazure_sap_monitors.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_hanaonazure_sap_monitors - -This table shows data for Azure HANA on Azure SAP Monitors. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hanaonazure/armhanaonazure@v0.5.0#SapMonitor - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_hdinsight_clusters.md b/plugins/source/azure/docs/tables/azure_hdinsight_clusters.md deleted file mode 100644 index 2377627e9e5583..00000000000000 --- a/plugins/source/azure/docs/tables/azure_hdinsight_clusters.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_hdinsight_clusters - -This table shows data for Azure HDInsight Clusters. - -https://learn.microsoft.com/en-us/rest/api/hdinsight/2021-06-01/clusters/list?tabs=HTTP#cluster - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|zones|`list`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_healthbot_bots.md b/plugins/source/azure/docs/tables/azure_healthbot_bots.md deleted file mode 100644 index 91aaa913b4a2b9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_healthbot_bots.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_healthbot_bots - -This table shows data for Azure Healthbot Bots. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot@v1.0.0#HealthBot - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_healthcareapis_services.md b/plugins/source/azure/docs/tables/azure_healthcareapis_services.md deleted file mode 100644 index ce8ca71ebeb83a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_healthcareapis_services.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_healthcareapis_services - -This table shows data for Azure Healthcare APIs Services. - -https://learn.microsoft.com/en-us/rest/api/healthcareapis/services/list?tabs=HTTP#servicesdescription - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_hybridcompute_private_link_scopes.md b/plugins/source/azure/docs/tables/azure_hybridcompute_private_link_scopes.md deleted file mode 100644 index c6ec3f2f3b234a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_hybridcompute_private_link_scopes.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_hybridcompute_private_link_scopes - -This table shows data for Azure Hybrid Compute Private Link Scopes. - -https://learn.microsoft.com/en-us/rest/api/hybridcompute/private-link-scopes/list?tabs=HTTP#hybridcomputeprivatelinkscope - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_hybriddatamanager_data_managers.md b/plugins/source/azure/docs/tables/azure_hybriddatamanager_data_managers.md deleted file mode 100644 index 12b75a18974633..00000000000000 --- a/plugins/source/azure/docs/tables/azure_hybriddatamanager_data_managers.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_hybriddatamanager_data_managers - -This table shows data for Azure Hybrid Data Manager Data Managers. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybriddatamanager/armhybriddatamanager@v1.0.0#DataManager - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md b/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md deleted file mode 100644 index 8e3c314836443d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_keyvault_keyvault.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_keyvault_keyvault - -This table shows data for Azure Key Vault Key Vault. - -https://learn.microsoft.com/en-us/rest/api/keyvault/keyvault/vaults/get?tabs=HTTP#vault - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_keyvault_keyvault: - - [azure_keyvault_keyvault_keys](azure_keyvault_keyvault_keys.md) - - [azure_keyvault_keyvault_secrets](azure_keyvault_keyvault_secrets.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|location|`utf8`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md b/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md deleted file mode 100644 index 4ca97a740c71d4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_keys.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_keyvault_keyvault_keys - -This table shows data for Azure Key Vault Key Vault Keys. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault@v1.0.0#Key - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_keyvault_keyvault](azure_keyvault_keyvault.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md b/plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md deleted file mode 100644 index 2890958768dd08..00000000000000 --- a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_managed_hsms.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_keyvault_keyvault_managed_hsms - -This table shows data for Azure Key Vault Key Vault Managed Hsms. - -https://learn.microsoft.com/en-us/rest/api/keyvault/managedhsm/managed-hsms/list-by-subscription?tabs=HTTP#managedhsm - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md b/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md deleted file mode 100644 index 632c8bdfd2b216..00000000000000 --- a/plugins/source/azure/docs/tables/azure_keyvault_keyvault_secrets.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_keyvault_keyvault_secrets - -This table shows data for Azure Key Vault Key Vault Secrets. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault@v1.0.0#Secret - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_keyvault_keyvault](azure_keyvault_keyvault.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_kusto_clusters.md b/plugins/source/azure/docs/tables/azure_kusto_clusters.md deleted file mode 100644 index eb3fdb20c1464f..00000000000000 --- a/plugins/source/azure/docs/tables/azure_kusto_clusters.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_kusto_clusters - -This table shows data for Azure Kusto Clusters. - -https://learn.microsoft.com/en-us/rest/api/azurerekusto/clusters/list?tabs=HTTP#cluster - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_logic_workflows.md b/plugins/source/azure/docs/tables/azure_logic_workflows.md deleted file mode 100644 index ae05e7168c0ee9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_logic_workflows.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_logic_workflows - -This table shows data for Azure Logic Workflows. - -https://learn.microsoft.com/en-us/rest/api/logic/workflows/list-by-subscription?tabs=HTTP#workflow - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_maintenance_configurations.md b/plugins/source/azure/docs/tables/azure_maintenance_configurations.md deleted file mode 100644 index ce5f6868a1b150..00000000000000 --- a/plugins/source/azure/docs/tables/azure_maintenance_configurations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_maintenance_configurations - -This table shows data for Azure Maintenance Configurations. - -https://learn.microsoft.com/en-us/rest/api/maintenance/maintenance-configurations/list?tabs=HTTP#maintenanceconfiguration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_maintenance_public_maintenance_configurations.md b/plugins/source/azure/docs/tables/azure_maintenance_public_maintenance_configurations.md deleted file mode 100644 index b60684bf0a64e8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_maintenance_public_maintenance_configurations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_maintenance_public_maintenance_configurations - -This table shows data for Azure Maintenance Public Maintenance Configurations. - -https://learn.microsoft.com/en-us/rest/api/maintenance/public-maintenance-configurations/list?tabs=HTTP#maintenanceconfiguration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_managementgroups_entities.md b/plugins/source/azure/docs/tables/azure_managementgroups_entities.md deleted file mode 100644 index 0107ed95672668..00000000000000 --- a/plugins/source/azure/docs/tables/azure_managementgroups_entities.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_managementgroups_entities - -This table shows data for Azure Managementgroups Entities. - -https://learn.microsoft.com/en-us/rest/api/managementgroups/entities/list?tabs=HTTP - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_managementgroups_management_groups.md b/plugins/source/azure/docs/tables/azure_managementgroups_management_groups.md deleted file mode 100644 index a8edba1dd79215..00000000000000 --- a/plugins/source/azure/docs/tables/azure_managementgroups_management_groups.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_managementgroups_management_groups - -This table shows data for Azure Managementgroups Management Groups. - -https://learn.microsoft.com/en-us/rest/api/managementgroups/management-groups/list?tabs=HTTP#managementgrouplistresult - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_marketplace_private_store.md b/plugins/source/azure/docs/tables/azure_marketplace_private_store.md deleted file mode 100644 index ee64e68ffcfce3..00000000000000 --- a/plugins/source/azure/docs/tables/azure_marketplace_private_store.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_marketplace_private_store - -This table shows data for Azure Marketplace Private Store. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/marketplace/armmarketplace@v1.0.0#PrivateStore - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_activity_log_alerts.md b/plugins/source/azure/docs/tables/azure_monitor_activity_log_alerts.md deleted file mode 100644 index ee4cac3d5d7187..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_activity_log_alerts.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_monitor_activity_log_alerts - -This table shows data for Azure Monitor Activity Log Alerts. - -https://learn.microsoft.com/en-us/rest/api/monitor/activity-log-alerts/list-by-subscription-id?tabs=HTTP#activitylogalertresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_autoscale_settings.md b/plugins/source/azure/docs/tables/azure_monitor_autoscale_settings.md deleted file mode 100644 index 0bfc0964be8ce4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_autoscale_settings.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_monitor_autoscale_settings - -This table shows data for Azure Monitor Autoscale Settings. - -https://learn.microsoft.com/en-us/rest/api/monitor/autoscale-settings/list-by-subscription?tabs=HTTP#autoscalesettingresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_diagnostic_settings.md b/plugins/source/azure/docs/tables/azure_monitor_diagnostic_settings.md deleted file mode 100644 index cc2a001507cea8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_diagnostic_settings.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_monitor_diagnostic_settings - -This table shows data for Azure Monitor Diagnostic Settings. - -https://learn.microsoft.com/en-us/rest/api/monitor/diagnostic-settings/list?tabs=HTTP#diagnosticsettingsresource - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_monitor_resources](azure_monitor_resources.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| -|resource_id|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_log_profiles.md b/plugins/source/azure/docs/tables/azure_monitor_log_profiles.md deleted file mode 100644 index 57aa4acbf6e98d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_log_profiles.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_monitor_log_profiles - -This table shows data for Azure Monitor Log Profiles. - -https://learn.microsoft.com/en-us/rest/api/monitor/log-profiles/list?tabs=HTTP#logprofileresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_private_link_scopes.md b/plugins/source/azure/docs/tables/azure_monitor_private_link_scopes.md deleted file mode 100644 index 0d57a52222721c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_private_link_scopes.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_monitor_private_link_scopes - -This table shows data for Azure Monitor Private Link Scopes. - -https://learn.microsoft.com/en-us/rest/api/monitor/privatelinkscopes(preview)/private%20link%20scopes%20(preview)/list?tabs=HTTP#azuremonitorprivatelinkscope - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_resources.md b/plugins/source/azure/docs/tables/azure_monitor_resources.md deleted file mode 100644 index 40c0a8c216ff82..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_resources.md +++ /dev/null @@ -1,34 +0,0 @@ -# Table: azure_monitor_resources - -This table shows data for Azure Monitor Resources. - -https://learn.microsoft.com/en-us/rest/api/resources/resources/list#genericresourceexpanded - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_monitor_resources: - - [azure_monitor_diagnostic_settings](azure_monitor_diagnostic_settings.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|identity|`json`| -|kind|`utf8`| -|location|`utf8`| -|managed_by|`utf8`| -|plan|`json`| -|sku|`json`| -|tags|`json`| -|changed_time|`timestamp[us, tz=UTC]`| -|created_time|`timestamp[us, tz=UTC]`| -|id (PK)|`utf8`| -|name|`utf8`| -|provisioning_state|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_subscription_diagnostic_settings.md b/plugins/source/azure/docs/tables/azure_monitor_subscription_diagnostic_settings.md deleted file mode 100644 index b7abd9205bc55d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_subscription_diagnostic_settings.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_monitor_subscription_diagnostic_settings - -This table shows data for Azure Monitor Subscription Diagnostic Settings. - -https://learn.microsoft.com/en-us/rest/api/monitor/subscription-diagnostic-settings/list?tabs=HTTP#subscriptiondiagnosticsettingsresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md b/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md deleted file mode 100644 index a38f61e8c2cfa7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_log_alerts.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_monitor_tenant_activity_log_alerts - -This table shows data for Azure Monitor Tenant Activity Log Alerts. - -https://learn.microsoft.com/en-us/rest/api/monitor/activity-log-alerts/list-by-subscription-id?tabs=HTTP#activitylogalertresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_logs.md b/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_logs.md deleted file mode 100644 index 21542c23f62470..00000000000000 --- a/plugins/source/azure/docs/tables/azure_monitor_tenant_activity_logs.md +++ /dev/null @@ -1,38 +0,0 @@ -# Table: azure_monitor_tenant_activity_logs - -This table shows data for Azure Monitor Tenant Activity Logs. - -https://learn.microsoft.com/en-us/rest/api/monitor/tenant-activity-logs/list?tabs=HTTP#eventdata - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|authorization|`json`| -|caller|`utf8`| -|category|`json`| -|claims|`json`| -|correlation_id|`utf8`| -|description|`utf8`| -|event_data_id|`utf8`| -|event_name|`json`| -|event_timestamp|`timestamp[us, tz=UTC]`| -|http_request|`json`| -|id (PK)|`utf8`| -|level|`utf8`| -|operation_id|`utf8`| -|operation_name|`json`| -|properties|`json`| -|resource_group_name|`utf8`| -|resource_id|`utf8`| -|resource_provider_name|`json`| -|resource_type|`json`| -|status|`json`| -|sub_status|`json`| -|submission_timestamp|`timestamp[us, tz=UTC]`| -|tenant_id|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_application_gateways.md b/plugins/source/azure/docs/tables/azure_network_application_gateways.md deleted file mode 100644 index 695c0c5acac4f3..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_application_gateways.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_application_gateways - -This table shows data for Azure Network Application Gateways. - -https://learn.microsoft.com/en-us/rest/api/application-gateway/application-gateways/list?tabs=HTTP#applicationgateway - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_application_security_groups.md b/plugins/source/azure/docs/tables/azure_network_application_security_groups.md deleted file mode 100644 index 5426a84a07975f..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_application_security_groups.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_application_security_groups - -This table shows data for Azure Network Application Security Groups. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/application-security-groups/list?tabs=HTTP#applicationsecuritygroup - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_azure_firewall_fqdn_tags.md b/plugins/source/azure/docs/tables/azure_network_azure_firewall_fqdn_tags.md deleted file mode 100644 index fff2fcffe17005..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_azure_firewall_fqdn_tags.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_azure_firewall_fqdn_tags - -This table shows data for Azure Network Azure Firewall FQDN Tags. - -https://learn.microsoft.com/en-us/rest/api/firewall/azure-firewall-fqdn-tags/list-all?tabs=HTTP#azurefirewallfqdntag - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_azure_firewalls.md b/plugins/source/azure/docs/tables/azure_network_azure_firewalls.md deleted file mode 100644 index 28c595d2d1db53..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_azure_firewalls.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_azure_firewalls - -This table shows data for Azure Network Azure Firewalls. - -https://learn.microsoft.com/en-us/rest/api/firewall/azure-firewalls/list?tabs=HTTP#azurefirewall - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_bastion_hosts.md b/plugins/source/azure/docs/tables/azure_network_bastion_hosts.md deleted file mode 100644 index b3184142c53626..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_bastion_hosts.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_bastion_hosts - -This table shows data for Azure Network Bastion Hosts. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/bastion-hosts/list?tabs=HTTP#bastionhost - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_custom_ip_prefixes.md b/plugins/source/azure/docs/tables/azure_network_custom_ip_prefixes.md deleted file mode 100644 index 306755fe5063e5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_custom_ip_prefixes.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_custom_ip_prefixes - -This table shows data for Azure Network Custom IP Prefixes. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/custom-ip-prefixes/list?tabs=HTTP#customipprefix - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_ddos_protection_plans.md b/plugins/source/azure/docs/tables/azure_network_ddos_protection_plans.md deleted file mode 100644 index 32cfa0168942d7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_ddos_protection_plans.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_ddos_protection_plans - -This table shows data for Azure Network Distributed Denial of Service (DDoS) Protection Plans. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ddos-protection-plans/list?tabs=HTTP#ddosprotectionplan - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_dscp_configuration.md b/plugins/source/azure/docs/tables/azure_network_dscp_configuration.md deleted file mode 100644 index 0a174678462090..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_dscp_configuration.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_dscp_configuration - -This table shows data for Azure Network Differentiated Services Code Point (DSCP) Configuration. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/dscp-configuration/list?tabs=HTTP#dscpconfiguration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_circuit_authorizations.md b/plugins/source/azure/docs/tables/azure_network_express_route_circuit_authorizations.md deleted file mode 100644 index ba6e558b5bd51a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_circuit_authorizations.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_express_route_circuit_authorizations - -This table shows data for Azure Network Express Route Circuit Authorizations. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuit-authorizations/list?tabs=HTTP#expressroutecircuitauthorization - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_network_express_route_circuits](azure_network_express_route_circuits.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|etag|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_circuit_peerings.md b/plugins/source/azure/docs/tables/azure_network_express_route_circuit_peerings.md deleted file mode 100644 index d2bc1058126dd2..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_circuit_peerings.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_express_route_circuit_peerings - -This table shows data for Azure Network Express Route Circuit Peerings. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuit-peerings/list?tabs=HTTP#expressroutecircuitpeering - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_network_express_route_circuits](azure_network_express_route_circuits.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|etag|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_circuits.md b/plugins/source/azure/docs/tables/azure_network_express_route_circuits.md deleted file mode 100644 index 146225f5592b80..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_circuits.md +++ /dev/null @@ -1,29 +0,0 @@ -# Table: azure_network_express_route_circuits - -This table shows data for Azure Network Express Route Circuits. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuits/list?tabs=HTTP#expressroutecircuit - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_network_express_route_circuits: - - [azure_network_express_route_circuit_authorizations](azure_network_express_route_circuit_authorizations.md) - - [azure_network_express_route_circuit_peerings](azure_network_express_route_circuit_peerings.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_gateways.md b/plugins/source/azure/docs/tables/azure_network_express_route_gateways.md deleted file mode 100644 index 7fc7eba471c8ee..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_gateways.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_express_route_gateways - -This table shows data for Azure Network Express Route Gateways. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-gateways/list-by-subscription?tabs=HTTP#expressroutegateway - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_ports.md b/plugins/source/azure/docs/tables/azure_network_express_route_ports.md deleted file mode 100644 index addd9216d7d786..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_ports.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_express_route_ports - -This table shows data for Azure Network Express Route Ports. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-ports/list?tabs=HTTP#expressrouteport - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_ports_locations.md b/plugins/source/azure/docs/tables/azure_network_express_route_ports_locations.md deleted file mode 100644 index 20805edb1369d5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_ports_locations.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_network_express_route_ports_locations - -This table shows data for Azure Network Express Route Ports Locations. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-ports-locations/list?tabs=HTTP#expressrouteportslocation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_express_route_service_providers.md b/plugins/source/azure/docs/tables/azure_network_express_route_service_providers.md deleted file mode 100644 index 0b2d5054533b01..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_express_route_service_providers.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_network_express_route_service_providers - -This table shows data for Azure Network Express Route Service Providers. - -https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-service-providers/list?tabs=HTTP#expressrouteserviceprovider - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_firewall_policies.md b/plugins/source/azure/docs/tables/azure_network_firewall_policies.md deleted file mode 100644 index 0bd4b2c4d170f0..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_firewall_policies.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_firewall_policies - -This table shows data for Azure Network Firewall Policies. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/firewall-policies/list-all?tabs=HTTP#firewallpolicy - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_interface_ip_configurations.md b/plugins/source/azure/docs/tables/azure_network_interface_ip_configurations.md deleted file mode 100644 index 82d28f046f833b..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_interface_ip_configurations.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_interface_ip_configurations - -This table shows data for Azure Network Interface IP Configurations. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-interface-ip-configurations/list?tabs=HTTP#ipconfiguration - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_network_interfaces](azure_network_interfaces.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| -|etag|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_interfaces.md b/plugins/source/azure/docs/tables/azure_network_interfaces.md deleted file mode 100644 index 9734f6c0837f54..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_interfaces.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_network_interfaces - -This table shows data for Azure Network Interfaces. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-interfaces/list?tabs=HTTP#networkinterface - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_network_interfaces: - - [azure_network_interface_ip_configurations](azure_network_interface_ip_configurations.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_ip_allocations.md b/plugins/source/azure/docs/tables/azure_network_ip_allocations.md deleted file mode 100644 index 8403bdfa4be9dd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_ip_allocations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_ip_allocations - -This table shows data for Azure Network IP Allocations. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ip-allocations/list?tabs=HTTP#ipallocation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_ip_groups.md b/plugins/source/azure/docs/tables/azure_network_ip_groups.md deleted file mode 100644 index 86fafd10dbd086..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_ip_groups.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_ip_groups - -This table shows data for Azure Network IP Groups. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ip-groups/list?tabs=HTTP#ipgroup - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_load_balancers.md b/plugins/source/azure/docs/tables/azure_network_load_balancers.md deleted file mode 100644 index 3358ee69921269..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_load_balancers.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_load_balancers - -This table shows data for Azure Network Load Balancers. - -https://learn.microsoft.com/en-us/rest/api/load-balancer/load-balancers/list?tabs=HTTP#loadbalancer - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_nat_gateways.md b/plugins/source/azure/docs/tables/azure_network_nat_gateways.md deleted file mode 100644 index a629e5d0c689a1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_nat_gateways.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_nat_gateways - -This table shows data for Azure Network Network Address Translation (NAT) Gateways. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/nat-gateways/list?tabs=HTTP#natgateway - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_private_endpoints.md b/plugins/source/azure/docs/tables/azure_network_private_endpoints.md deleted file mode 100644 index 6fceb9004d1e5a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_private_endpoints.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_private_endpoints - -This table shows data for Azure Network Private Endpoints. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/private-link-services/list-by-subscription?tabs=HTTP#privateendpoint - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_private_link_services.md b/plugins/source/azure/docs/tables/azure_network_private_link_services.md deleted file mode 100644 index 068effc6b7bbc4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_private_link_services.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_private_link_services - -This table shows data for Azure Network Private Link Services. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/private-link-services/list-by-subscription?tabs=HTTP#privatelinkservice - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_profiles.md b/plugins/source/azure/docs/tables/azure_network_profiles.md deleted file mode 100644 index 2a03c49d0dee78..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_profiles.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_profiles - -This table shows data for Azure Network Profiles. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-profiles/list?tabs=HTTP#networkprofile - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_public_ip_addresses.md b/plugins/source/azure/docs/tables/azure_network_public_ip_addresses.md deleted file mode 100644 index 3046d808a502e4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_public_ip_addresses.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_network_public_ip_addresses - -This table shows data for Azure Network Public IP Addresses. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/public-ip-addresses/list?tabs=HTTP#publicipaddress - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_public_ip_prefixes.md b/plugins/source/azure/docs/tables/azure_network_public_ip_prefixes.md deleted file mode 100644 index 8b8b2899858615..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_public_ip_prefixes.md +++ /dev/null @@ -1,25 +0,0 @@ -# Table: azure_network_public_ip_prefixes - -This table shows data for Azure Network Public IP Prefixes. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/public-ip-prefixes/list?tabs=HTTP#publicipprefix - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|zones|`list`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_route_filters.md b/plugins/source/azure/docs/tables/azure_network_route_filters.md deleted file mode 100644 index 11b0ebaef392a7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_route_filters.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_route_filters - -This table shows data for Azure Network Route Filters. - -https://learn.microsoft.com/en-us/rest/api/expressroute/route-filters/list?tabs=HTTP#routefilter - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_route_tables.md b/plugins/source/azure/docs/tables/azure_network_route_tables.md deleted file mode 100644 index 4063574c0a56be..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_route_tables.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_route_tables - -This table shows data for Azure Network Route Tables. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/route-tables/list?tabs=HTTP#routetable - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_security_groups.md b/plugins/source/azure/docs/tables/azure_network_security_groups.md deleted file mode 100644 index 903008e7d4fca8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_security_groups.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_security_groups - -This table shows data for Azure Network Security Groups. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-security-groups/list?tabs=HTTP#networksecuritygroup - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_security_partner_providers.md b/plugins/source/azure/docs/tables/azure_network_security_partner_providers.md deleted file mode 100644 index e1ebaea58a0880..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_security_partner_providers.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_security_partner_providers - -This table shows data for Azure Network Security Partner Providers. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/security-partner-providers/list?tabs=HTTP#securitypartnerprovider - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_service_endpoint_policies.md b/plugins/source/azure/docs/tables/azure_network_service_endpoint_policies.md deleted file mode 100644 index 08a5bf93ff1da4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_service_endpoint_policies.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_service_endpoint_policies - -This table shows data for Azure Network Service Endpoint Policies. - -https://learn.microsoft.com/en-us/rest/api/expressroute/service-endpoint-policies/list?tabs=HTTP#serviceendpointpolicy - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|kind|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_subscription_network_manager_connections.md b/plugins/source/azure/docs/tables/azure_network_subscription_network_manager_connections.md deleted file mode 100644 index af2f4c12c5228a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_subscription_network_manager_connections.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_network_subscription_network_manager_connections - -This table shows data for Azure Network Subscription Network Manager Connections. - -https://learn.microsoft.com/en-us/rest/api/networkmanager/management-group-network-manager-connections/list?tabs=HTTP#networkmanagerconnection - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_appliances.md b/plugins/source/azure/docs/tables/azure_network_virtual_appliances.md deleted file mode 100644 index 2886857472645e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_appliances.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_virtual_appliances - -This table shows data for Azure Network Virtual Appliances. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-virtual-appliances/list?tabs=HTTP#networkvirtualappliance - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_hubs.md b/plugins/source/azure/docs/tables/azure_network_virtual_hubs.md deleted file mode 100644 index 0ebc5050e03bcd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_hubs.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_virtual_hubs - -This table shows data for Azure Network Virtual Hubs. - -https://learn.microsoft.com/en-us/rest/api/virtualwan/virtual-hubs/list?tabs=HTTP#virtualhub - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|kind|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_network_gateway_connections.md b/plugins/source/azure/docs/tables/azure_network_virtual_network_gateway_connections.md deleted file mode 100644 index 7ca99c4369e55b..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_network_gateway_connections.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_virtual_network_gateway_connections - -This table shows data for Azure Network Virtual Network Gateway Connections. - -https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-gateway-connections/list?tabs=HTTP#virtualnetworkgatewayconnection - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_network_gateways.md b/plugins/source/azure/docs/tables/azure_network_virtual_network_gateways.md deleted file mode 100644 index 32fd9ceb8fcdcb..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_network_gateways.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_network_virtual_network_gateways - -This table shows data for Azure Network Virtual Network Gateways. - -https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-gateways/list?tabs=HTTP#virtualnetworkgateway - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_network_subnets.md b/plugins/source/azure/docs/tables/azure_network_virtual_network_subnets.md deleted file mode 100644 index 58121c7050705f..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_network_subnets.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_network_virtual_network_subnets - -This table shows data for Azure Network Virtual Network Subnets. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/subnets/list?tabs=HTTP#subnet - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_network_virtual_networks](azure_network_virtual_networks.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| -|etag|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_network_taps.md b/plugins/source/azure/docs/tables/azure_network_virtual_network_taps.md deleted file mode 100644 index 3565f58b46af7e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_network_taps.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_virtual_network_taps - -This table shows data for Azure Network Virtual Network Taps. - -https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-taps/list-all?tabs=HTTP#virtualnetworktap - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_networks.md b/plugins/source/azure/docs/tables/azure_network_virtual_networks.md deleted file mode 100644 index 119dfb7de51cc8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_networks.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_network_virtual_networks - -This table shows data for Azure Network Virtual Networks. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/virtual-networks/list-all?tabs=HTTP#virtualnetwork - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_network_virtual_networks: - - [azure_network_virtual_network_subnets](azure_network_virtual_network_subnets.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_routers.md b/plugins/source/azure/docs/tables/azure_network_virtual_routers.md deleted file mode 100644 index 5301f4ab792cd9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_routers.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_virtual_routers - -This table shows data for Azure Network Virtual Routers. - -https://learn.microsoft.com/en-us/rest/api/virtualnetwork/virtual-routers/list?tabs=HTTP#virtualrouter - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_virtual_wans.md b/plugins/source/azure/docs/tables/azure_network_virtual_wans.md deleted file mode 100644 index dd15cc44e6b387..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_virtual_wans.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_virtual_wans - -This table shows data for Azure Network Virtual Wide Area Networks (WANs). - -https://learn.microsoft.com/en-us/rest/api/virtualwan/virtual-wans/list?tabs=HTTP#virtualwan - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_vpn_gateways.md b/plugins/source/azure/docs/tables/azure_network_vpn_gateways.md deleted file mode 100644 index ea19f1836782ae..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_vpn_gateways.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_vpn_gateways - -This table shows data for Azure Network Virtual Private Network (VPN) Gateways. - -https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-gateways/list?tabs=HTTP#vpngateway - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md b/plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md deleted file mode 100644 index 3d436f7fc121a7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_vpn_server_configurations.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_vpn_server_configurations - -This table shows data for Azure Network Virtual Private Network (VPN) Server Configurations. - -https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-server-configurations/list?tabs=HTTP#vpnserverconfiguration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_vpn_sites.md b/plugins/source/azure/docs/tables/azure_network_vpn_sites.md deleted file mode 100644 index 97c93d04274d6e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_vpn_sites.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_vpn_sites - -This table shows data for Azure Network Virtual Private Network (VPN) Sites. - -https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-sites/list?tabs=HTTP#vpnsite - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_watcher_flow_logs.md b/plugins/source/azure/docs/tables/azure_network_watcher_flow_logs.md deleted file mode 100644 index e36c7493efbc26..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_watcher_flow_logs.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_network_watcher_flow_logs - -This table shows data for Azure Network Watcher Flow Logs. - -https://learn.microsoft.com/en-us/rest/api/network-watcher/flow-logs/list?tabs=HTTP#definitions - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_network_watchers](azure_network_watchers.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_watchers.md b/plugins/source/azure/docs/tables/azure_network_watchers.md deleted file mode 100644 index b328f94bfa5089..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_watchers.md +++ /dev/null @@ -1,27 +0,0 @@ -# Table: azure_network_watchers - -This table shows data for Azure Network Watchers. - -https://learn.microsoft.com/en-us/rest/api/network-watcher/network-watchers/list-all?tabs=HTTP#networkwatcher - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_network_watchers: - - [azure_network_watcher_flow_logs](azure_network_watcher_flow_logs.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_network_web_application_firewall_policies.md b/plugins/source/azure/docs/tables/azure_network_web_application_firewall_policies.md deleted file mode 100644 index 8112aabd494601..00000000000000 --- a/plugins/source/azure/docs/tables/azure_network_web_application_firewall_policies.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_network_web_application_firewall_policies - -This table shows data for Azure Network Web Application Firewall Policies. - -https://learn.microsoft.com/en-us/rest/api/application-gateway/web-application-firewall-policies/list?tabs=HTTP#webapplicationfirewallpolicy - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_networkfunction_azure_traffic_collectors_by_subscription.md b/plugins/source/azure/docs/tables/azure_networkfunction_azure_traffic_collectors_by_subscription.md deleted file mode 100644 index 5d56135c530aea..00000000000000 --- a/plugins/source/azure/docs/tables/azure_networkfunction_azure_traffic_collectors_by_subscription.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_networkfunction_azure_traffic_collectors_by_subscription - -This table shows data for Azure Network Function Azure Traffic Collectors By Subscription. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction@v1.0.0#AzureTrafficCollector - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|etag|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_nginx_deployments.md b/plugins/source/azure/docs/tables/azure_nginx_deployments.md deleted file mode 100644 index 145bb30a0ae5a0..00000000000000 --- a/plugins/source/azure/docs/tables/azure_nginx_deployments.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_nginx_deployments - -This table shows data for Azure Nginx Deployments. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2@v2.0.0#Deployment - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_notificationhubs_namespaces.md b/plugins/source/azure/docs/tables/azure_notificationhubs_namespaces.md deleted file mode 100644 index d7cd42fc51fecf..00000000000000 --- a/plugins/source/azure/docs/tables/azure_notificationhubs_namespaces.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_notificationhubs_namespaces - -This table shows data for Azure Notificationhubs Namespaces. - -https://learn.microsoft.com/en-us/rest/api/notificationhubs/namespaces/list?tabs=HTTP#namespaceresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_operationalinsights_clusters.md b/plugins/source/azure/docs/tables/azure_operationalinsights_clusters.md deleted file mode 100644 index f3aa337ff616e6..00000000000000 --- a/plugins/source/azure/docs/tables/azure_operationalinsights_clusters.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_operationalinsights_clusters - -This table shows data for Azure Operational Insights Clusters. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights@v1.0.0#Cluster - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_operationalinsights_workspaces.md b/plugins/source/azure/docs/tables/azure_operationalinsights_workspaces.md deleted file mode 100644 index 786ca8b1e99614..00000000000000 --- a/plugins/source/azure/docs/tables/azure_operationalinsights_workspaces.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_operationalinsights_workspaces - -This table shows data for Azure Operational Insights Workspaces. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights@v1.0.0#Workspace - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|etag|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_peering_service_countries.md b/plugins/source/azure/docs/tables/azure_peering_service_countries.md deleted file mode 100644 index 17f88cdbcc5740..00000000000000 --- a/plugins/source/azure/docs/tables/azure_peering_service_countries.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_peering_service_countries - -This table shows data for Azure Peering Service Countries. - -https://learn.microsoft.com/en-us/rest/api/peering/peering-service-countries/list?tabs=HTTP#peeringservicecountry - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_peering_service_providers.md b/plugins/source/azure/docs/tables/azure_peering_service_providers.md deleted file mode 100644 index 68ee305ace3fab..00000000000000 --- a/plugins/source/azure/docs/tables/azure_peering_service_providers.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_peering_service_providers - -This table shows data for Azure Peering Service Providers. - -https://learn.microsoft.com/en-us/rest/api/peering/peering-service-providers/list?tabs=HTTP#peeringserviceprovider - -The composite primary key for this table is (**subscription_id**, **name**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|properties|`json`| -|id|`utf8`| -|name (PK)|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_policy_assignments.md b/plugins/source/azure/docs/tables/azure_policy_assignments.md deleted file mode 100644 index 3eccede6023181..00000000000000 --- a/plugins/source/azure/docs/tables/azure_policy_assignments.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_policy_assignments - -This table shows data for Azure Policy Assignments. - -https://learn.microsoft.com/en-us/rest/api/policy/policy-assignments/list?tabs=HTTP#policyassignment - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md b/plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md deleted file mode 100644 index 6ac80531f82172..00000000000000 --- a/plugins/source/azure/docs/tables/azure_policy_data_policy_manifests.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_policy_data_policy_manifests - -This table shows data for Azure Policy Data Policy Manifests. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy@v0.6.0#DataPolicyManifest - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_policy_exemptions.md b/plugins/source/azure/docs/tables/azure_policy_exemptions.md deleted file mode 100644 index 6a9a27ab4d7dfd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_policy_exemptions.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_policy_exemptions - -This table shows data for Azure Policy Exemptions. - -https://learn.microsoft.com/en-us/rest/api/policy/policy-exemptions/list?tabs=HTTP#policyexemption - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_policy_set_definitions.md b/plugins/source/azure/docs/tables/azure_policy_set_definitions.md deleted file mode 100644 index 58ea5e87044dd7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_policy_set_definitions.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_policy_set_definitions - -This table shows data for Azure Policy Set Definitions. - -https://learn.microsoft.com/en-us/rest/api/policy/policy-set-definitions/list?tabs=HTTP#policysetdefinition - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_portal_list_tenant_configuration_violations.md b/plugins/source/azure/docs/tables/azure_portal_list_tenant_configuration_violations.md deleted file mode 100644 index 55db9ac9bfa604..00000000000000 --- a/plugins/source/azure/docs/tables/azure_portal_list_tenant_configuration_violations.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_portal_list_tenant_configuration_violations - -This table shows data for Azure Portal List Tenant Configuration Violations. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal@v0.5.0#Violation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|error_message|`utf8`| -|id (PK)|`utf8`| -|user_id|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_portal_tenant_configurations.md b/plugins/source/azure/docs/tables/azure_portal_tenant_configurations.md deleted file mode 100644 index 744515d1fd2117..00000000000000 --- a/plugins/source/azure/docs/tables/azure_portal_tenant_configurations.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_portal_tenant_configurations - -This table shows data for Azure Portal Tenant Configurations. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal@v0.5.0#Configuration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_powerbidedicated_capacities.md b/plugins/source/azure/docs/tables/azure_powerbidedicated_capacities.md deleted file mode 100644 index 3fdfd0336b9281..00000000000000 --- a/plugins/source/azure/docs/tables/azure_powerbidedicated_capacities.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_powerbidedicated_capacities - -This table shows data for Azure Power BI Dedicated Capacities. - -https://learn.microsoft.com/en-us/rest/api/power-bi-embedded/capacities/list?tabs=HTTP#dedicatedcapacity - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|sku|`json`| -|properties|`json`| -|system_data|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_privatedns_private_zone_record_sets.md b/plugins/source/azure/docs/tables/azure_privatedns_private_zone_record_sets.md deleted file mode 100644 index d99767b083401a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_privatedns_private_zone_record_sets.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_privatedns_private_zone_record_sets - -This table shows data for Azure Privatedns Private Zone Record Sets. - -https://learn.microsoft.com/en-us/rest/api/dns/privatedns/record-sets/list?tabs=HTTP#recordset - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_privatedns_private_zones](azure_privatedns_private_zones.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_privatedns_private_zone_virtual_network_links.md b/plugins/source/azure/docs/tables/azure_privatedns_private_zone_virtual_network_links.md deleted file mode 100644 index 405043bc364f47..00000000000000 --- a/plugins/source/azure/docs/tables/azure_privatedns_private_zone_virtual_network_links.md +++ /dev/null @@ -1,26 +0,0 @@ -# Table: azure_privatedns_private_zone_virtual_network_links - -This table shows data for Azure Privatedns Private Zone Virtual Network Links. - -https://learn.microsoft.com/en-us/rest/api/dns/privatedns/virtual-network-links/list?tabs=HTTP#virtualnetworklink - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_privatedns_private_zones](azure_privatedns_private_zones.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_privatedns_private_zones.md b/plugins/source/azure/docs/tables/azure_privatedns_private_zones.md deleted file mode 100644 index 70cd9c163aab2c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_privatedns_private_zones.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_privatedns_private_zones - -This table shows data for Azure Privatedns Private Zones. - -https://learn.microsoft.com/en-us/rest/api/dns/privatedns/private-zones/list?tabs=HTTP#privatezone - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_privatedns_private_zones: - - [azure_privatedns_private_zone_record_sets](azure_privatedns_private_zone_record_sets.md) - - [azure_privatedns_private_zone_virtual_network_links](azure_privatedns_private_zone_virtual_network_links.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_providerhub_provider_registrations.md b/plugins/source/azure/docs/tables/azure_providerhub_provider_registrations.md deleted file mode 100644 index 094ac40a97d4f5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_providerhub_provider_registrations.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_providerhub_provider_registrations - -This table shows data for Azure Providerhub Provider Registrations. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/providerhub/armproviderhub@v1.0.0#ProviderRegistration - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_redhatopenshift_open_shift_clusters.md b/plugins/source/azure/docs/tables/azure_redhatopenshift_open_shift_clusters.md deleted file mode 100644 index 0d3bcbbb9f8b49..00000000000000 --- a/plugins/source/azure/docs/tables/azure_redhatopenshift_open_shift_clusters.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_redhatopenshift_open_shift_clusters - -This table shows data for Azure Redhatopenshift Open Shift Clusters. - -https://learn.microsoft.com/en-us/rest/api/openshift/open-shift-clusters/list?tabs=HTTP#openshiftcluster - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_redis_caches.md b/plugins/source/azure/docs/tables/azure_redis_caches.md deleted file mode 100644 index 4c7f8779430509..00000000000000 --- a/plugins/source/azure/docs/tables/azure_redis_caches.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_redis_caches - -This table shows data for Azure Redis Caches. - -https://learn.microsoft.com/en-us/rest/api/redis/redis/list-by-subscription?tabs=HTTP#redisresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|identity|`json`| -|tags|`json`| -|zones|`list`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_relay_namespaces.md b/plugins/source/azure/docs/tables/azure_relay_namespaces.md deleted file mode 100644 index 5df16e0b70a675..00000000000000 --- a/plugins/source/azure/docs/tables/azure_relay_namespaces.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_relay_namespaces - -This table shows data for Azure Relay Namespaces. - -https://learn.microsoft.com/en-us/rest/api/relay/namespaces/list?tabs=HTTP#relaynamespace - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_reservations_reservation.md b/plugins/source/azure/docs/tables/azure_reservations_reservation.md deleted file mode 100644 index 659f43a9f134d5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_reservations_reservation.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_reservations_reservation - -This table shows data for Azure Reservations Reservation. - -https://learn.microsoft.com/en-us/rest/api/reserved-vm-instances/reservation/list-all?tabs=HTTP#reservationresponse - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|etag|`int64`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|sku|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_reservations_reservation_order.md b/plugins/source/azure/docs/tables/azure_reservations_reservation_order.md deleted file mode 100644 index 9c4af8397f9991..00000000000000 --- a/plugins/source/azure/docs/tables/azure_reservations_reservation_order.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_reservations_reservation_order - -This table shows data for Azure Reservations Reservation Order. - -https://learn.microsoft.com/en-us/rest/api/reserved-vm-instances/reservation-order/get?tabs=HTTP#reservationorderresponse - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`int64`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_resources_links.md b/plugins/source/azure/docs/tables/azure_resources_links.md deleted file mode 100644 index 4957866fd82d94..00000000000000 --- a/plugins/source/azure/docs/tables/azure_resources_links.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_resources_links - -This table shows data for Azure Resources Links. - -https://learn.microsoft.com/en-us/rest/api/resources/resource-links/list-at-subscription#resourcelink - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_resources_providers.md b/plugins/source/azure/docs/tables/azure_resources_providers.md deleted file mode 100644 index 0ac3b0d173086a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_resources_providers.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_resources_providers - -This table shows data for Azure Resources Providers. - -https://docs.microsoft.com/en-us/rest/api/resources/providers/list - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|namespace|`utf8`| -|provider_authorization_consent_state|`utf8`| -|id (PK)|`utf8`| -|registration_policy|`utf8`| -|registration_state|`utf8`| -|resource_types|`json`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_resources_resource_groups.md b/plugins/source/azure/docs/tables/azure_resources_resource_groups.md deleted file mode 100644 index ed1c007f06ea14..00000000000000 --- a/plugins/source/azure/docs/tables/azure_resources_resource_groups.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_resources_resource_groups - -This table shows data for Azure Resources Resource Groups. - -https://learn.microsoft.com/en-us/rest/api/resources/resource-groups/list#resourcegroup - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|managed_by|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_resources_resources.md b/plugins/source/azure/docs/tables/azure_resources_resources.md deleted file mode 100644 index 66a579e06dd9c9..00000000000000 --- a/plugins/source/azure/docs/tables/azure_resources_resources.md +++ /dev/null @@ -1,29 +0,0 @@ -# Table: azure_resources_resources - -This table shows data for Azure Resources Resources. - -https://learn.microsoft.com/en-us/rest/api/resources/resources/list#genericresourceexpanded - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|extended_location|`json`| -|identity|`json`| -|kind|`utf8`| -|location|`utf8`| -|managed_by|`utf8`| -|plan|`json`| -|sku|`json`| -|tags|`json`| -|changed_time|`timestamp[us, tz=UTC]`| -|created_time|`timestamp[us, tz=UTC]`| -|id (PK)|`utf8`| -|name|`utf8`| -|provisioning_state|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_role_management_policy_assignments.md b/plugins/source/azure/docs/tables/azure_role_management_policy_assignments.md deleted file mode 100644 index 0f07fb8a96c8de..00000000000000 --- a/plugins/source/azure/docs/tables/azure_role_management_policy_assignments.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_role_management_policy_assignments - -This table shows data for Azure Role Management Policy Assignments. - -https://learn.microsoft.com/en-us/rest/api/authorization/role-management-policy-assignments/list-for-scope?tabs=HTTP#rolemanagementpolicyassignment - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_saas_resources.md b/plugins/source/azure/docs/tables/azure_saas_resources.md deleted file mode 100644 index a9f70b9391ff47..00000000000000 --- a/plugins/source/azure/docs/tables/azure_saas_resources.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_saas_resources - -This table shows data for Azure Software as a Service (SaaS) Resources. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas@v0.5.0#Resource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_search_services.md b/plugins/source/azure/docs/tables/azure_search_services.md deleted file mode 100644 index 31aa2f13d1022a..00000000000000 --- a/plugins/source/azure/docs/tables/azure_search_services.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_search_services - -This table shows data for Azure Search Services. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch@v1.0.0#Service - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_adaptive_application_controls.md b/plugins/source/azure/docs/tables/azure_security_adaptive_application_controls.md deleted file mode 100644 index 0099372ea734e1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_adaptive_application_controls.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_adaptive_application_controls - -This table shows data for Azure Security Adaptive Application Controls. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/adaptive-application-controls/list?view=rest-defenderforcloud-2020-01-01&tabs=HTTP - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_alerts.md b/plugins/source/azure/docs/tables/azure_security_alerts.md deleted file mode 100644 index 1da2ad21b0d0d2..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_alerts.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_alerts - -This table shows data for Azure Security Alerts. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/alerts/list?tabs=HTTP#alert - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_alerts_suppression_rules.md b/plugins/source/azure/docs/tables/azure_security_alerts_suppression_rules.md deleted file mode 100644 index 99f6279fb890c2..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_alerts_suppression_rules.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_alerts_suppression_rules - -This table shows data for Azure Security Alerts Suppression Rules. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/alerts-suppression-rules/list?tabs=HTTP#alertssuppressionrule - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_allowed_connections.md b/plugins/source/azure/docs/tables/azure_security_allowed_connections.md deleted file mode 100644 index 778e6a394cfafd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_allowed_connections.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_allowed_connections - -This table shows data for Azure Security Allowed Connections. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/allowed-connections/list?tabs=HTTP#allowedconnectionsresource - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_applications.md b/plugins/source/azure/docs/tables/azure_security_applications.md deleted file mode 100644 index 281103d81c133d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_applications.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_applications - -This table shows data for Azure Security Applications. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Application - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_assessments.md b/plugins/source/azure/docs/tables/azure_security_assessments.md deleted file mode 100644 index 0e9a2c528bc079..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_assessments.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_assessments - -This table shows data for Azure Security Assessments. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/assessments/list?tabs=HTTP#securityassessment - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_auto_provisioning_settings.md b/plugins/source/azure/docs/tables/azure_security_auto_provisioning_settings.md deleted file mode 100644 index 12c7e2c44544fd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_auto_provisioning_settings.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_auto_provisioning_settings - -This table shows data for Azure Security Auto Provisioning Settings. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/auto-provisioning-settings/list?tabs=HTTP#autoprovisioningsetting - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_automations.md b/plugins/source/azure/docs/tables/azure_security_automations.md deleted file mode 100644 index eabd383d876e18..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_automations.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_security_automations - -This table shows data for Azure Security Automations. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/automations/list?tabs=HTTP#automation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_connectors.md b/plugins/source/azure/docs/tables/azure_security_connectors.md deleted file mode 100644 index 214229988b1501..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_connectors.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_security_connectors - -This table shows data for Azure Security Connectors. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#ConnectorSetting - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|kind|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_contacts.md b/plugins/source/azure/docs/tables/azure_security_contacts.md deleted file mode 100644 index d77ef247c8be10..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_contacts.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_contacts - -This table shows data for Azure Security Contacts. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Contact - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_discovered_security_solutions.md b/plugins/source/azure/docs/tables/azure_security_discovered_security_solutions.md deleted file mode 100644 index 5173f27fa5a961..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_discovered_security_solutions.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_discovered_security_solutions - -This table shows data for Azure Security Discovered Security Solutions. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/discovered-security-solutions/list?tabs=HTTP#discoveredsecuritysolution - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_external_security_solutions.md b/plugins/source/azure/docs/tables/azure_security_external_security_solutions.md deleted file mode 100644 index 3a61a82d360f23..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_external_security_solutions.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_external_security_solutions - -This table shows data for Azure Security External Security Solutions. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/external-security-solutions/list?tabs=HTTP#externalsecuritysolutionlist - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_governance_rule.md b/plugins/source/azure/docs/tables/azure_security_governance_rule.md deleted file mode 100644 index d37446ec9682e8..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_governance_rule.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_governance_rule - -This table shows data for Azure Security Governance Rule. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#GovernanceRule - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_jit_network_access_policies.md b/plugins/source/azure/docs/tables/azure_security_jit_network_access_policies.md deleted file mode 100644 index f1b4c560ffa499..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_jit_network_access_policies.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_security_jit_network_access_policies - -This table shows data for Azure Security Jit Network Access Policies. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/jit-network-access-policies/list?tabs=HTTP#jitnetworkaccesspolicy - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|kind|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_locations.md b/plugins/source/azure/docs/tables/azure_security_locations.md deleted file mode 100644 index 0e38c6e7eb9367..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_locations.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_security_locations - -This table shows data for Azure Security Locations. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/locations/get?tabs=HTTP#asclocation - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_pricings.md b/plugins/source/azure/docs/tables/azure_security_pricings.md deleted file mode 100644 index 27e48089565d8e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_pricings.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_pricings - -This table shows data for Azure Security Pricings. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/pricings/list?tabs=HTTP#pricing - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_regulatory_compliance_standards.md b/plugins/source/azure/docs/tables/azure_security_regulatory_compliance_standards.md deleted file mode 100644 index c2d9a64dad0aa7..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_regulatory_compliance_standards.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_regulatory_compliance_standards - -This table shows data for Azure Security Regulatory Compliance Standards. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/regulatory-compliance-standards/list?tabs=HTTP#regulatorycompliancestandard - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_secure_score_control_definitions.md b/plugins/source/azure/docs/tables/azure_security_secure_score_control_definitions.md deleted file mode 100644 index e4d4b0aae0cad1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_secure_score_control_definitions.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_secure_score_control_definitions - -This table shows data for Azure Security Secure Score Control Definitions. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-score-control-definitions/list?tabs=HTTP#securescorecontroldefinitionitem - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_secure_score_controls.md b/plugins/source/azure/docs/tables/azure_security_secure_score_controls.md deleted file mode 100644 index 7f1b31706d72c4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_secure_score_controls.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_secure_score_controls - -This table shows data for Azure Security Secure Score Controls. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-score-controls/list?tabs=HTTP#securescorecontroldetails - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_secure_scores.md b/plugins/source/azure/docs/tables/azure_security_secure_scores.md deleted file mode 100644 index fa33370953b914..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_secure_scores.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_secure_scores - -This table shows data for Azure Security Secure Scores. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-scores/list?tabs=HTTP#securescoreitem - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_settings.md b/plugins/source/azure/docs/tables/azure_security_settings.md deleted file mode 100644 index 94914c3990b663..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_settings.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_settings - -This table shows data for Azure Security Settings. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/settings/list?tabs=HTTP#settingslist - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|kind|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_solutions.md b/plugins/source/azure/docs/tables/azure_security_solutions.md deleted file mode 100644 index a688d0dc86ce57..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_solutions.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_solutions - -This table shows data for Azure Security Solutions. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Solution - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_sub_assessments.md b/plugins/source/azure/docs/tables/azure_security_sub_assessments.md deleted file mode 100644 index 8c8ed359cf32ef..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_sub_assessments.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_sub_assessments - -This table shows data for Azure Security Sub Assessments. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/sub-assessments/list-all?tabs=HTTP#securitysubassessment - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_tasks.md b/plugins/source/azure/docs/tables/azure_security_tasks.md deleted file mode 100644 index c550e9cc36669c..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_tasks.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_tasks - -This table shows data for Azure Security Tasks. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/tasks/list?tabs=HTTP#securitytask - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_topology.md b/plugins/source/azure/docs/tables/azure_security_topology.md deleted file mode 100644 index 830a7bffe852b4..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_topology.md +++ /dev/null @@ -1,20 +0,0 @@ -# Table: azure_security_topology - -This table shows data for Azure Security Topology. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/topology/list?tabs=HTTP#topologyresource - -The composite primary key for this table is (**subscription_id**, **id**). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id (PK)|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|properties|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_security_workspace_settings.md b/plugins/source/azure/docs/tables/azure_security_workspace_settings.md deleted file mode 100644 index 147e1629c5ab83..00000000000000 --- a/plugins/source/azure/docs/tables/azure_security_workspace_settings.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_security_workspace_settings - -This table shows data for Azure Security Workspace Settings. - -https://learn.microsoft.com/en-us/rest/api/defenderforcloud/workspace-settings/list?tabs=HTTP#workspacesetting - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_authorization_rules.md b/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_authorization_rules.md deleted file mode 100644 index 1e14ed02a36209..00000000000000 --- a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_authorization_rules.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_servicebus_namespace_topic_authorization_rules - -This table shows data for Azure Service Bus Namespace Topic Authorization Rules. - -https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics%20%E2%80%93%20authorization%20rules/list-authorization-rules?tabs=HTTP#sbauthorizationrule - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_servicebus_namespace_topics](azure_servicebus_namespace_topics.md). - -The following tables depend on azure_servicebus_namespace_topic_authorization_rules: - - [azure_servicebus_namespace_topic_rule_access_keys](azure_servicebus_namespace_topic_rule_access_keys.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_rule_access_keys.md b/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_rule_access_keys.md deleted file mode 100644 index 40ab2b7b086734..00000000000000 --- a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topic_rule_access_keys.md +++ /dev/null @@ -1,27 +0,0 @@ -# Table: azure_servicebus_namespace_topic_rule_access_keys - -This table shows data for Azure Service Bus Namespace Topic Rule Access Keys. - -https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics%20%E2%80%93%20authorization%20rules/list-keys?tabs=HTTP#accesskeys - -The composite primary key for this table is (**rule_id**, **key_name**). - -## Relations - -This table depends on [azure_servicebus_namespace_topic_authorization_rules](azure_servicebus_namespace_topic_authorization_rules.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|rule_id (PK)|`utf8`| -|alias_primary_connection_string|`utf8`| -|alias_secondary_connection_string|`utf8`| -|key_name (PK)|`utf8`| -|primary_connection_string|`utf8`| -|primary_key|`utf8`| -|secondary_connection_string|`utf8`| -|secondary_key|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topics.md b/plugins/source/azure/docs/tables/azure_servicebus_namespace_topics.md deleted file mode 100644 index 219315939eb562..00000000000000 --- a/plugins/source/azure/docs/tables/azure_servicebus_namespace_topics.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_servicebus_namespace_topics - -This table shows data for Azure Service Bus Namespace Topics. - -https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics/list-by-namespace?tabs=HTTP#sbtopic - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_servicebus_namespaces](azure_servicebus_namespaces.md). - -The following tables depend on azure_servicebus_namespace_topics: - - [azure_servicebus_namespace_topic_authorization_rules](azure_servicebus_namespace_topic_authorization_rules.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_servicebus_namespaces.md b/plugins/source/azure/docs/tables/azure_servicebus_namespaces.md deleted file mode 100644 index 8808f13572d25e..00000000000000 --- a/plugins/source/azure/docs/tables/azure_servicebus_namespaces.md +++ /dev/null @@ -1,29 +0,0 @@ -# Table: azure_servicebus_namespaces - -This table shows data for Azure Service Bus Namespaces. - -https://learn.microsoft.com/en-us/rest/api/servicebus/stable/namespaces/list?tabs=HTTP#sbnamespace - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_servicebus_namespaces: - - [azure_servicebus_namespace_topics](azure_servicebus_namespace_topics.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|sku|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_streamanalytics_streaming_jobs.md b/plugins/source/azure/docs/tables/azure_streamanalytics_streaming_jobs.md deleted file mode 100644 index f9e9cc53ec4033..00000000000000 --- a/plugins/source/azure/docs/tables/azure_streamanalytics_streaming_jobs.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_streamanalytics_streaming_jobs - -This table shows data for Azure Stream Analytics Streaming Jobs. - -https://learn.microsoft.com/en-us/rest/api/streamanalytics/2020-03-01/streaming-jobs/list?tabs=HTTP#streamingjob - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|identity|`json`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_subscription_subscription_locations.md b/plugins/source/azure/docs/tables/azure_subscription_subscription_locations.md deleted file mode 100644 index fe440e17fc22b1..00000000000000 --- a/plugins/source/azure/docs/tables/azure_subscription_subscription_locations.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_subscription_subscription_locations - -This table shows data for Azure Subscription Subscription Locations. - -https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list-locations?tabs=HTTP#location - -The primary key for this table is **id**. - -## Relations - -This table depends on [azure_subscription_subscriptions](azure_subscription_subscriptions.md). - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|latitude|`utf8`| -|longitude|`utf8`| -|availability_zone_mappings|`json`| -|metadata|`json`| -|display_name|`utf8`| -|id (PK)|`utf8`| -|name|`utf8`| -|regional_display_name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_subscription_subscriptions.md b/plugins/source/azure/docs/tables/azure_subscription_subscriptions.md deleted file mode 100644 index 803354a832add5..00000000000000 --- a/plugins/source/azure/docs/tables/azure_subscription_subscriptions.md +++ /dev/null @@ -1,28 +0,0 @@ -# Table: azure_subscription_subscriptions - -This table shows data for Azure Subscription Subscriptions. - -https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list?tabs=HTTP#subscription - -The primary key for this table is **id**. - -## Relations - -The following tables depend on azure_subscription_subscriptions: - - [azure_subscription_subscription_locations](azure_subscription_subscription_locations.md) - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|authorization_source|`utf8`| -|managed_by_tenants|`json`| -|subscription_policies|`json`| -|tags|`json`| -|display_name|`utf8`| -|id (PK)|`utf8`| -|state|`utf8`| -|subscription_id|`utf8`| -|tenant_id|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_subscription_tenants.md b/plugins/source/azure/docs/tables/azure_subscription_tenants.md deleted file mode 100644 index 08e05d12477b40..00000000000000 --- a/plugins/source/azure/docs/tables/azure_subscription_tenants.md +++ /dev/null @@ -1,24 +0,0 @@ -# Table: azure_subscription_tenants - -This table shows data for Azure Subscription Tenants. - -https://learn.microsoft.com/en-us/rest/api/resources/tenants/list?tabs=HTTP#tenantiddescription - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|country|`utf8`| -|country_code|`utf8`| -|default_domain|`utf8`| -|display_name|`utf8`| -|domains|`list`| -|id (PK)|`utf8`| -|tenant_branding_logo_url|`utf8`| -|tenant_category|`utf8`| -|tenant_id|`utf8`| -|tenant_type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_support_services.md b/plugins/source/azure/docs/tables/azure_support_services.md deleted file mode 100644 index ad947b33ae06dc..00000000000000 --- a/plugins/source/azure/docs/tables/azure_support_services.md +++ /dev/null @@ -1,18 +0,0 @@ -# Table: azure_support_services - -This table shows data for Azure Support Services. - -https://learn.microsoft.com/en-us/rest/api/support/services/list?tabs=HTTP#service - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_support_tickets.md b/plugins/source/azure/docs/tables/azure_support_tickets.md deleted file mode 100644 index d50aaeff4da175..00000000000000 --- a/plugins/source/azure/docs/tables/azure_support_tickets.md +++ /dev/null @@ -1,19 +0,0 @@ -# Table: azure_support_tickets - -This table shows data for Azure Support Tickets. - -https://learn.microsoft.com/en-us/rest/api/support/support-tickets/list?tabs=HTTP#supportticketdetails - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|properties|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_synapse_private_link_hubs.md b/plugins/source/azure/docs/tables/azure_synapse_private_link_hubs.md deleted file mode 100644 index 0268a91009702d..00000000000000 --- a/plugins/source/azure/docs/tables/azure_synapse_private_link_hubs.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_synapse_private_link_hubs - -This table shows data for Azure Synapse Private Link Hubs. - -https://learn.microsoft.com/en-us/rest/api/synapse/private-link-hubs/list?tabs=HTTP#privatelinkhub - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_synapse_workspaces.md b/plugins/source/azure/docs/tables/azure_synapse_workspaces.md deleted file mode 100644 index c03e8acda411cd..00000000000000 --- a/plugins/source/azure/docs/tables/azure_synapse_workspaces.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_synapse_workspaces - -This table shows data for Azure Synapse Workspaces. - -https://learn.microsoft.com/en-us/rest/api/synapse/workspaces/list?tabs=HTTP#workspace - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_trafficmanager_profiles.md b/plugins/source/azure/docs/tables/azure_trafficmanager_profiles.md deleted file mode 100644 index 302dca9f323809..00000000000000 --- a/plugins/source/azure/docs/tables/azure_trafficmanager_profiles.md +++ /dev/null @@ -1,21 +0,0 @@ -# Table: azure_trafficmanager_profiles - -This table shows data for Azure Trafficmanager Profiles. - -https://learn.microsoft.com/en-us/rest/api/trafficmanager/profiles/list-by-subscription?tabs=HTTP#profile - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|id (PK)|`utf8`| -|location|`utf8`| -|name|`utf8`| -|properties|`json`| -|tags|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_windowsiot_services.md b/plugins/source/azure/docs/tables/azure_windowsiot_services.md deleted file mode 100644 index 07f49cbbfb7a99..00000000000000 --- a/plugins/source/azure/docs/tables/azure_windowsiot_services.md +++ /dev/null @@ -1,22 +0,0 @@ -# Table: azure_windowsiot_services - -This table shows data for Azure Windows IoT Services. - -https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot@v1.0.0#DeviceService - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|etag|`utf8`| -|location|`utf8`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/docs/tables/azure_workloads_monitors.md b/plugins/source/azure/docs/tables/azure_workloads_monitors.md deleted file mode 100644 index 81963c03d44316..00000000000000 --- a/plugins/source/azure/docs/tables/azure_workloads_monitors.md +++ /dev/null @@ -1,23 +0,0 @@ -# Table: azure_workloads_monitors - -This table shows data for Azure Workloads Monitors. - -https://learn.microsoft.com/en-us/rest/api/workloads/sap-monitor/list?tabs=HTTP#monitor - -The primary key for this table is **id**. - -## Columns - -| Name | Type | -| ------------- | ------------- | -|_cq_id|`uuid`| -|_cq_parent_id|`uuid`| -|subscription_id|`utf8`| -|location|`utf8`| -|identity|`json`| -|properties|`json`| -|tags|`json`| -|id (PK)|`utf8`| -|name|`utf8`| -|system_data|`json`| -|type|`utf8`| \ No newline at end of file diff --git a/plugins/source/azure/resources/plugin/tables.go b/plugins/source/azure/resources/plugin/tables.go index 848444cc11a12b..bcc9f876b22e57 100644 --- a/plugins/source/azure/resources/plugin/tables.go +++ b/plugins/source/azure/resources/plugin/tables.go @@ -1,113 +1,30 @@ package plugin import ( - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/advisor" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/analysisservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/apimanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/appcomplianceautomation" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/appconfiguration" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/applicationinsights" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/appservice" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/authorization" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/automation" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/azurearcdata" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/batch" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/billing" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/botservice" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/cdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/cognitiveservices" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/compute" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/confluent" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/connectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/consumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/containerinstance" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/containerregistry" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/containerservice" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/cosmos" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/costmanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/customerinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/dashboard" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/databox" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/datadog" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/datafactory" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/datalakeanalytics" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/datalakestore" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/datamigration" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/desktopvirtualization" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/devhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/devops" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/dns" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/dnsresolver" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/elastic" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/engagementfabric" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/eventgrid" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/eventhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/frontdoor" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/hanaonazure" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/hdinsight" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/healthbot" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/healthcareapis" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/hybridcompute" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/hybriddatamanager" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/keyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/kusto" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/logic" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/maintenance" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/managementgroups" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/mariadb" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/marketplace" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/monitor" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/mysql" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/mysqlflexibleservers" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/network" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/networkfunction" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/nginx" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/notificationhubs" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/operationalinsights" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/peering" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/policy" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/portal" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/postgresql" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/postgresqlflexibleservers" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/postgresqlhsc" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/powerbidedicated" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/privatedns" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/providerhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/redhatopenshift" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/redis" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/relay" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/reservations" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/resources" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/saas" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/search" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/security" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/servicebus" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/sql" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/sqlvirtualmachine" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/storage" "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/storagecache" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/streamanalytics" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/subscription" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/support" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/synapse" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/trafficmanager" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/windowsiot" - "github.com/cloudquery/cloudquery/plugins/source/azure/resources/services/workloads" "github.com/cloudquery/plugin-sdk/v4/schema" "github.com/cloudquery/plugin-sdk/v4/transformers" ) func getTables() schema.Tables { list := []*schema.Table{ - advisor.RecommendationMetadata(), - advisor.Recommendations(), - advisor.Suppressions(), - analysisservices.Servers(), - apimanagement.Service(), - appcomplianceautomation.Reports(), - appconfiguration.ConfigurationStores(), - applicationinsights.Components(), - applicationinsights.WebTests(), appservice.CertificateOrders(), appservice.Certificates(), appservice.DeletedWebApps(), @@ -119,27 +36,8 @@ func getTables() schema.Tables { appservice.StaticSites(), appservice.TopLevelDomains(), appservice.WebApps(), - authorization.ClassicAdministrators(), authorization.ProviderOperationsMetadata(), - authorization.RoleAssignments(), authorization.RoleDefinitions(), - authorization.RoleManagementPolicyAssignments(), - automation.Account(), - azurearcdata.PostgresInstances(), - azurearcdata.SqlManagedInstances(), - azurearcdata.SqlServerInstances(), - batch.Account(), - billing.Accounts(), - billing.EnrollmentAccounts(), - billing.Periods(), - botservice.Bots(), - cdn.EdgeNodes(), - cdn.ManagedRuleSets(), - cdn.Profiles(), - cognitiveservices.Accounts(), - cognitiveservices.DeletedAccounts(), - cognitiveservices.CommitmentPlans(), - cognitiveservices.ResourceSKUs(), compute.AvailabilitySets(), compute.CapacityReservationGroups(), compute.CloudServices(), @@ -155,194 +53,18 @@ func getTables() schema.Tables { compute.VirtualMachineScaleSets(), compute.VirtualMachines(), cosmos.DatabaseAccounts(), - costmanagement.Views(), - confluent.MarketplaceAgreements(), - connectedvmware.Clusters(), - connectedvmware.Datastores(), - connectedvmware.Hosts(), - connectedvmware.ResourcePools(), - connectedvmware.VCenters(), - connectedvmware.VirtualMachineTemplates(), - connectedvmware.VirtualMachines(), - connectedvmware.VirtualNetworks(), - containerinstance.ContainerGroups(), - containerregistry.Registries(), - containerservice.ManagedClusters(), - containerservice.Snapshots(), cosmos.Locations(), cosmos.RestorableDatabaseAccounts(), - consumption.BillingAccountBalances(), - consumption.BillingAccountBudgets(), - consumption.BillingAccountCharges(), - consumption.BillingAccountEvents(), - consumption.BillingAccountReservationRecommendations(), - consumption.BillingAccountLots(), - consumption.BillingAccountMarketplaces(), - consumption.BillingProfileReservationDetails(), - consumption.BillingProfileReservationRecommendations(), - consumption.BillingProfileReservationSummaries(), - consumption.BillingProfileReservationTransactions(), - consumption.BillingAccountLegacyUsageDetails(), - consumption.BillingAccountModernUsageDetails(), - consumption.BillingAccountTags(), - consumption.SubscriptionBudgets(), - consumption.SubscriptionMarketplaces(), - consumption.SubscriptionPriceSheets(), - consumption.SubscriptionReservationRecommendations(), - consumption.SubscriptionLegacyUsageDetails(), - consumption.SubscriptionTags(), - customerinsights.Hubs(), - dashboard.Grafana(), - databox.Jobs(), - datadog.MarketplaceAgreements(), - datadog.Monitors(), - datafactory.Factories(), - datalakeanalytics.Accounts(), - datalakestore.Accounts(), - datamigration.Services(), - desktopvirtualization.HostPools(), - devhub.Workflow(), - devops.PipelineTemplateDefinitions(), - dns.Zones(), - dnsresolver.DnsForwardingRulesets(), - dnsresolver.DnsResolvers(), - elastic.Monitors(), - engagementfabric.Accounts(), - eventgrid.TopicTypes(), - eventhub.Namespaces(), - frontdoor.FrontDoors(), - frontdoor.ManagedRuleSets(), - frontdoor.NetworkExperimentProfiles(), - hanaonazure.SapMonitors(), - hdinsight.Clusters(), - healthbot.Bots(), - healthcareapis.Services(), - hybridcompute.PrivateLinkScopes(), - hybriddatamanager.DataManagers(), - keyvault.Keyvault(), - keyvault.KeyvaultManagedHsms(), - kusto.Clusters(), - logic.Workflows(), - maintenance.Configurations(), - maintenance.PublicMaintenanceConfigurations(), - managementgroups.ManagementGroups(), - managementgroups.Entities(), mariadb.Servers(), - marketplace.PrivateStore(), - monitor.LogProfiles(), - monitor.PrivateLinkScopes(), - monitor.TenantActivityLogAlerts(), - monitor.TenantActivityLogs(), - monitor.Resources(), - monitor.ActivityLogAlerts(), - monitor.SubscriptionDiagnosticSettings(), - monitor.AutoscaleSettings(), mysql.Servers(), mysqlflexibleservers.Servers(), - network.ApplicationGateways(), - network.ApplicationSecurityGroups(), - network.AzureFirewallFqdnTags(), - network.AzureFirewalls(), - network.BastionHosts(), network.BgpServiceCommunities(), - network.CustomIpPrefixes(), - network.DdosProtectionPlans(), - network.DscpConfiguration(), - network.ExpressRouteCircuits(), - network.ExpressRouteGateways(), - network.ExpressRoutePorts(), - network.ExpressRoutePortsLocations(), - network.ExpressRouteServiceProviders(), - network.FirewallPolicies(), - network.IpAllocations(), - network.IpGroups(), - network.Interfaces(), - network.LoadBalancers(), - network.NatGateways(), - network.PrivateLinkServices(), - network.PrivateEndpoints(), - network.Profiles(), - network.PublicIpAddresses(), - network.PublicIpPrefixes(), - network.RouteFilters(), - network.RouteTables(), - network.SecurityGroups(), - network.SecurityPartnerProviders(), - network.ServiceEndpointPolicies(), - network.SubscriptionNetworkManagerConnections(), - network.VpnGateways(), - network.VpnServerConfigurations(), - network.VpnSites(), - network.VirtualAppliances(), - network.VirtualHubs(), - network.VirtualNetworkTaps(), - network.VirtualNetworks(), - network.VirtualNetworkGateways(), - network.VirtualNetworkGatewayConnections(), - network.VirtualRouters(), - network.VirtualWans(), - network.Watchers(), - network.WebApplicationFirewallPolicies(), - networkfunction.AzureTrafficCollectorsBySubscription(), - nginx.Deployments(), - notificationhubs.Namespaces(), - operationalinsights.Clusters(), - operationalinsights.Workspaces(), - peering.ServiceCountries(), peering.ServiceLocations(), - peering.ServiceProviders(), - portal.ListTenantConfigurationViolations(), - portal.TenantConfigurations(), postgresql.Servers(), postgresqlflexibleservers.Servers(), postgresqlhsc.ServerGroups(), - powerbidedicated.Capacities(), - privatedns.PrivateZones(), - providerhub.ProviderRegistrations(), - redhatopenshift.OpenShiftClusters(), - redis.Caches(), - relay.Namespaces(), - reservations.Reservation(), - reservations.ReservationOrder(), - resources.Resources(), - resources.ResourceGroups(), - resources.Links(), - resources.Providers(), - policy.Assignments(), - policy.DataPolicyManifests(), policy.Definitions(), - policy.Exemptions(), - policy.SetDefinitions(), - saas.Resources(), - search.Services(), - security.AdaptiveApplicationControls(), - security.Alerts(), - security.AlertsSuppressionRules(), - security.AllowedConnections(), - security.Applications(), - security.Assessments(), - security.SubAssessments(), security.AssessmentsMetadata(), - security.AutoProvisioningSettings(), - security.Automations(), - security.Connectors(), - security.Contacts(), - security.DiscoveredSecuritySolutions(), - security.ExternalSecuritySolutions(), - security.GovernanceRule(), - security.JitNetworkAccessPolicies(), - security.Locations(), - security.Pricings(), - security.RegulatoryComplianceStandards(), - security.SecureScoreControlDefinitions(), - security.SecureScoreControls(), - security.SecureScores(), - security.Settings(), - security.Solutions(), - security.Tasks(), - security.Topology(), - security.WorkspaceSettings(), - servicebus.Namespaces(), sql.Servers(), sql.InstancePools(), sql.ManagedInstances(), @@ -351,16 +73,6 @@ func getTables() schema.Tables { sqlvirtualmachine.SqlVirtualMachines(), storage.Accounts(), storagecache.Caches(), - streamanalytics.StreamingJobs(), - subscription.Subscriptions(), - subscription.Tenants(), - support.Services(), - support.Tickets(), - synapse.PrivateLinkHubs(), - synapse.Workspaces(), - trafficmanager.Profiles(), - windowsiot.Services(), - workloads.Monitors(), } for i := range list { if list[i].PostResourceResolver == nil { diff --git a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go b/plugins/source/azure/resources/services/advisor/recommendation_metadata.go deleted file mode 100644 index cdb84f93c036c5..00000000000000 --- a/plugins/source/azure/resources/services/advisor/recommendation_metadata.go +++ /dev/null @@ -1,37 +0,0 @@ -package advisor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RecommendationMetadata() *schema.Table { - return &schema.Table{ - Name: "azure_advisor_recommendation_metadata", - Resolver: fetchRecommendationMetadata, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/advisor/recommendation-metadata/list?tabs=HTTP#metadataentity", - Transform: transformers.TransformWithStruct(&armadvisor.MetadataEntity{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchRecommendationMetadata(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armadvisor.NewRecommendationMetadataClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go b/plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go deleted file mode 100644 index bb7cd2b7af4389..00000000000000 --- a/plugins/source/azure/resources/services/advisor/recommendation_metadata_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package advisor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRecommendationMetadata(router *mux.Router) error { - var item armadvisor.RecommendationMetadataClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Advisor/metadata", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRecommendationMetadata(t *testing.T) { - client.MockTestHelper(t, RecommendationMetadata(), createRecommendationMetadata) -} diff --git a/plugins/source/azure/resources/services/advisor/recommendations.go b/plugins/source/azure/resources/services/advisor/recommendations.go deleted file mode 100644 index 25ec7580b806a9..00000000000000 --- a/plugins/source/azure/resources/services/advisor/recommendations.go +++ /dev/null @@ -1,39 +0,0 @@ -package advisor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Recommendations() *schema.Table { - return &schema.Table{ - Name: "azure_advisor_recommendations", - Description: "https://learn.microsoft.com/en-us/rest/api/advisor/recommendations/list?tabs=HTTP#resourcerecommendationbase", - Resolver: fetchRecommendations, - PostResourceResolver: client.LowercaseIDResolver, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_advisor_recommendations", client.Namespacemicrosoft_advisor), - Transform: transformers.TransformWithStruct(&armadvisor.ResourceRecommendationBase{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRecommendations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armadvisor.NewRecommendationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go b/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go deleted file mode 100644 index d895dbb1c5b97e..00000000000000 --- a/plugins/source/azure/resources/services/advisor/recommendations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package advisor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRecommendations(router *mux.Router) error { - var item armadvisor.RecommendationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRecommendations(t *testing.T) { - client.MockTestHelper(t, Recommendations(), createRecommendations) -} diff --git a/plugins/source/azure/resources/services/advisor/suppressions.go b/plugins/source/azure/resources/services/advisor/suppressions.go deleted file mode 100644 index c780c879f2daf5..00000000000000 --- a/plugins/source/azure/resources/services/advisor/suppressions.go +++ /dev/null @@ -1,39 +0,0 @@ -package advisor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Suppressions() *schema.Table { - return &schema.Table{ - Name: "azure_advisor_suppressions", - Description: "https://learn.microsoft.com/en-us/rest/api/advisor/suppressions/list?tabs=HTTP#suppressioncontractlistresult", - Resolver: fetchSuppressions, - PostResourceResolver: client.LowercaseIDResolver, - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_advisor_suppressions", client.Namespacemicrosoft_advisor), - Transform: transformers.TransformWithStruct(&armadvisor.SuppressionContract{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSuppressions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armadvisor.NewSuppressionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go b/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go deleted file mode 100644 index 8101d7ce2016fe..00000000000000 --- a/plugins/source/azure/resources/services/advisor/suppressions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package advisor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/advisor/armadvisor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSuppressions(router *mux.Router) error { - var item armadvisor.SuppressionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSuppressions(t *testing.T) { - client.MockTestHelper(t, Suppressions(), createSuppressions) -} diff --git a/plugins/source/azure/resources/services/analysisservices/servers.go b/plugins/source/azure/resources/services/analysisservices/servers.go deleted file mode 100644 index 6017b67ed121f5..00000000000000 --- a/plugins/source/azure/resources/services/analysisservices/servers.go +++ /dev/null @@ -1,39 +0,0 @@ -package analysisservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/analysisservices/armanalysisservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Servers() *schema.Table { - return &schema.Table{ - Name: "azure_analysisservices_servers", - Resolver: fetchServers, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/analysisservices/servers/list?tabs=HTTP#analysisservicesserver", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_analysisservices_servers", client.Namespacemicrosoft_analysisservices), - Transform: transformers.TransformWithStruct(&armanalysisservices.Server{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armanalysisservices.NewServersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go b/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go deleted file mode 100644 index 03caaff20f7753..00000000000000 --- a/plugins/source/azure/resources/services/analysisservices/servers_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package analysisservices - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/analysisservices/armanalysisservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServers(router *mux.Router) error { - var item armanalysisservices.ServersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServers(t *testing.T) { - client.MockTestHelper(t, Servers(), createServers) -} diff --git a/plugins/source/azure/resources/services/apimanagement/service.go b/plugins/source/azure/resources/services/apimanagement/service.go deleted file mode 100644 index abc09f1ab18d36..00000000000000 --- a/plugins/source/azure/resources/services/apimanagement/service.go +++ /dev/null @@ -1,39 +0,0 @@ -package apimanagement - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Service() *schema.Table { - return &schema.Table{ - Name: "azure_apimanagement_service", - Resolver: fetchService, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement#ServiceResource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_apimanagement_service", client.Namespacemicrosoft_apimanagement), - Transform: transformers.TransformWithStruct(&armapimanagement.ServiceResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchService(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armapimanagement.NewServiceClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/apimanagement/service_mock_test.go b/plugins/source/azure/resources/services/apimanagement/service_mock_test.go deleted file mode 100644 index 2dcf63c629f7f9..00000000000000 --- a/plugins/source/azure/resources/services/apimanagement/service_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package apimanagement - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createService(router *mux.Router) error { - var item armapimanagement.ServiceClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestService(t *testing.T) { - client.MockTestHelper(t, Service(), createService) -} diff --git a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go b/plugins/source/azure/resources/services/appcomplianceautomation/reports.go deleted file mode 100644 index bf7a7b5f573258..00000000000000 --- a/plugins/source/azure/resources/services/appcomplianceautomation/reports.go +++ /dev/null @@ -1,39 +0,0 @@ -package appcomplianceautomation - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appcomplianceautomation/armappcomplianceautomation" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Reports() *schema.Table { - return &schema.Table{ - Name: "azure_appcomplianceautomation_reports", - Resolver: fetchReports, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/appcompliance/reports/list?tabs=HTTP#reportresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appcomplianceautomation_reports", client.Namespacemicrosoft_appcomplianceautomation), - Transform: transformers.TransformWithStruct(&armappcomplianceautomation.ReportResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchReports(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armappcomplianceautomation.NewReportsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go b/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go deleted file mode 100644 index 849a341775c1e4..00000000000000 --- a/plugins/source/azure/resources/services/appcomplianceautomation/reports_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package appcomplianceautomation - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appcomplianceautomation/armappcomplianceautomation" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createReports(router *mux.Router) error { - var item armappcomplianceautomation.ReportsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.AppComplianceAutomation/reports", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestReports(t *testing.T) { - client.MockTestHelper(t, Reports(), createReports) -} diff --git a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go b/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go deleted file mode 100644 index 4e5361be90e0c5..00000000000000 --- a/plugins/source/azure/resources/services/appconfiguration/configuration_stores.go +++ /dev/null @@ -1,39 +0,0 @@ -package appconfiguration - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ConfigurationStores() *schema.Table { - return &schema.Table{ - Name: "azure_appconfiguration_configuration_stores", - Resolver: fetchConfigurationStores, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/appconfiguration/stable/configuration-stores/list?tabs=HTTP#configurationstore", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_appconfiguration_configuration_stores", client.Namespacemicrosoft_appconfiguration), - Transform: transformers.TransformWithStruct(&armappconfiguration.ConfigurationStore{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchConfigurationStores(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armappconfiguration.NewConfigurationStoresClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go b/plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go deleted file mode 100644 index 89d0393222b332..00000000000000 --- a/plugins/source/azure/resources/services/appconfiguration/configuration_stores_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package appconfiguration - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createConfigurationStores(router *mux.Router) error { - var item armappconfiguration.ConfigurationStoresClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestConfigurationStores(t *testing.T) { - client.MockTestHelper(t, ConfigurationStores(), createConfigurationStores) -} diff --git a/plugins/source/azure/resources/services/applicationinsights/components.go b/plugins/source/azure/resources/services/applicationinsights/components.go deleted file mode 100644 index 7251615dae7572..00000000000000 --- a/plugins/source/azure/resources/services/applicationinsights/components.go +++ /dev/null @@ -1,39 +0,0 @@ -package applicationinsights - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/applicationinsights/armapplicationinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Components() *schema.Table { - return &schema.Table{ - Name: "azure_applicationinsights_components", - Resolver: fetchComponents, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/application-insights/components/list?tabs=HTTP#applicationinsightscomponent", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_applicationinsights_components", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armapplicationinsights.Component{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchComponents(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armapplicationinsights.NewComponentsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go b/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go deleted file mode 100644 index 6451c033a3f7f1..00000000000000 --- a/plugins/source/azure/resources/services/applicationinsights/components_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package applicationinsights - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/applicationinsights/armapplicationinsights" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createComponents(router *mux.Router) error { - var item armapplicationinsights.ComponentsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestComponents(t *testing.T) { - client.MockTestHelper(t, Components(), createComponents) -} diff --git a/plugins/source/azure/resources/services/applicationinsights/web_tests.go b/plugins/source/azure/resources/services/applicationinsights/web_tests.go deleted file mode 100644 index a313c7ff0f114c..00000000000000 --- a/plugins/source/azure/resources/services/applicationinsights/web_tests.go +++ /dev/null @@ -1,39 +0,0 @@ -package applicationinsights - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/applicationinsights/armapplicationinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func WebTests() *schema.Table { - return &schema.Table{ - Name: "azure_applicationinsights_web_tests", - Resolver: fetchWebTests, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/application-insights/web-tests/list?tabs=HTTP#webtest", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_applicationinsights_web_tests", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armapplicationinsights.WebTest{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWebTests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armapplicationinsights.NewWebTestsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go b/plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go deleted file mode 100644 index 36c0311a6cdc94..00000000000000 --- a/plugins/source/azure/resources/services/applicationinsights/web_tests_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package applicationinsights - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/applicationinsights/armapplicationinsights" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWebTests(router *mux.Router) error { - var item armapplicationinsights.WebTestsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/webtests", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWebTests(t *testing.T) { - client.MockTestHelper(t, WebTests(), createWebTests) -} diff --git a/plugins/source/azure/resources/services/authorization/classic_administrators.go b/plugins/source/azure/resources/services/authorization/classic_administrators.go deleted file mode 100644 index 34deac8b06998e..00000000000000 --- a/plugins/source/azure/resources/services/authorization/classic_administrators.go +++ /dev/null @@ -1,39 +0,0 @@ -package authorization - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ClassicAdministrators() *schema.Table { - return &schema.Table{ - Name: "azure_authorization_classic_administrators", - Resolver: fetchClassicAdministrators, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/authorization/classic-administrators/list?tabs=HTTP#classicadministrator", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_classic_administrators", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armauthorization.ClassicAdministrator{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchClassicAdministrators(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armauthorization.NewClassicAdministratorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go b/plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go deleted file mode 100644 index 393a2e8a2f88ad..00000000000000 --- a/plugins/source/azure/resources/services/authorization/classic_administrators_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package authorization - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createClassicAdministrators(router *mux.Router) error { - var item armauthorization.ClassicAdministratorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/classicAdministrators", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestClassicAdministrators(t *testing.T) { - client.MockTestHelper(t, ClassicAdministrators(), createClassicAdministrators) -} diff --git a/plugins/source/azure/resources/services/authorization/role_assignments.go b/plugins/source/azure/resources/services/authorization/role_assignments.go deleted file mode 100644 index b1105dd1692e4f..00000000000000 --- a/plugins/source/azure/resources/services/authorization/role_assignments.go +++ /dev/null @@ -1,39 +0,0 @@ -package authorization - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RoleAssignments() *schema.Table { - return &schema.Table{ - Name: "azure_authorization_role_assignments", - Resolver: fetchRoleAssignments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/authorization/role-assignments/get?tabs=HTTP#roleassignment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_authorization_role_assignments", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armauthorization.RoleAssignment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchRoleAssignments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armauthorization.NewRoleAssignmentsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListForSubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go b/plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go deleted file mode 100644 index 34508b6d6e214c..00000000000000 --- a/plugins/source/azure/resources/services/authorization/role_assignments_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package authorization - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRoleAssignments(router *mux.Router) error { - var item armauthorization.RoleAssignmentListResult - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRoleAssignments(t *testing.T) { - client.MockTestHelper(t, RoleAssignments(), createRoleAssignments) -} diff --git a/plugins/source/azure/resources/services/authorization/role_management_policy_assignments.go b/plugins/source/azure/resources/services/authorization/role_management_policy_assignments.go deleted file mode 100644 index 5b2514f1d5a2d6..00000000000000 --- a/plugins/source/azure/resources/services/authorization/role_management_policy_assignments.go +++ /dev/null @@ -1,40 +0,0 @@ -package authorization - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RoleManagementPolicyAssignments() *schema.Table { - return &schema.Table{ - Name: "azure_role_management_policy_assignments", - Resolver: fetchRoleManagementPolicyAssignments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/authorization/role-management-policy-assignments/list-for-scope?tabs=HTTP#rolemanagementpolicyassignment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_role_management_policy_assignments", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armauthorization.RoleManagementPolicyAssignment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRoleManagementPolicyAssignments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armauthorization.NewRoleManagementPolicyAssignmentsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - scope := "/subscriptions/" + cl.SubscriptionId - pager := svc.NewListForScopePager(scope, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/authorization/role_management_policy_assignments_test.go b/plugins/source/azure/resources/services/authorization/role_management_policy_assignments_test.go deleted file mode 100644 index 1e0255bf87376f..00000000000000 --- a/plugins/source/azure/resources/services/authorization/role_management_policy_assignments_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package authorization - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRoleManagementPolicyAssignments(router *mux.Router) error { - var item armauthorization.RoleManagementPolicyAssignmentsClientListForScopeResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - router.HandleFunc("/subscriptions/"+client.TestSubscription+"/providers/Microsoft.Authorization/roleManagementPolicyAssignments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRoleManagementPolicyAssignments(t *testing.T) { - client.MockTestHelper(t, RoleManagementPolicyAssignments(), createRoleManagementPolicyAssignments) -} diff --git a/plugins/source/azure/resources/services/automation/account.go b/plugins/source/azure/resources/services/automation/account.go deleted file mode 100644 index 31ed6df143a67c..00000000000000 --- a/plugins/source/azure/resources/services/automation/account.go +++ /dev/null @@ -1,39 +0,0 @@ -package automation - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/automation/armautomation" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Account() *schema.Table { - return &schema.Table{ - Name: "azure_automation_account", - Resolver: fetchAccount, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/automation/automation-account/list?tabs=HTTP#automationaccount", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_automation_account", client.Namespacemicrosoft_automation), - Transform: transformers.TransformWithStruct(&armautomation.Account{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccount(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armautomation.NewAccountClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/automation/account_mock_test.go b/plugins/source/azure/resources/services/automation/account_mock_test.go deleted file mode 100644 index d10fbf5e850614..00000000000000 --- a/plugins/source/azure/resources/services/automation/account_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package automation - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/automation/armautomation" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccount(router *mux.Router) error { - var item armautomation.AccountClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAccount(t *testing.T) { - client.MockTestHelper(t, Account(), createAccount) -} diff --git a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go b/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go deleted file mode 100644 index ec8ac3e9cd4e24..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/postgres_instances.go +++ /dev/null @@ -1,39 +0,0 @@ -package azurearcdata - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PostgresInstances() *schema.Table { - return &schema.Table{ - Name: "azure_azurearcdata_postgres_instances", - Resolver: fetchPostgresInstances, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#PostgresInstance", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_postgres_instances", client.Namespacemicrosoft_azurearcdata), - Transform: transformers.TransformWithStruct(&armazurearcdata.PostgresInstance{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPostgresInstances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armazurearcdata.NewPostgresInstancesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go b/plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go deleted file mode 100644 index cd8fa6a9191c7e..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/postgres_instances_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package azurearcdata - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPostgresInstances(router *mux.Router) error { - var item armazurearcdata.PostgresInstancesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPostgresInstances(t *testing.T) { - client.MockTestHelper(t, PostgresInstances(), createPostgresInstances) -} diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go deleted file mode 100644 index cf0eb2e49bf055..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances.go +++ /dev/null @@ -1,39 +0,0 @@ -package azurearcdata - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SqlManagedInstances() *schema.Table { - return &schema.Table{ - Name: "azure_azurearcdata_sql_managed_instances", - Resolver: fetchSqlManagedInstances, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#SQLManagedInstance", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_sql_managed_instances", client.Namespacemicrosoft_azurearcdata), - Transform: transformers.TransformWithStruct(&armazurearcdata.SQLManagedInstance{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSqlManagedInstances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armazurearcdata.NewSQLManagedInstancesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances_mock_test.go b/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances_mock_test.go deleted file mode 100644 index 22230e2d55c31d..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/sql_managed_instances_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package azurearcdata - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSqlManagedInstances(router *mux.Router) error { - var item armazurearcdata.SQLManagedInstancesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSqlManagedInstances(t *testing.T) { - client.MockTestHelper(t, SqlManagedInstances(), createSqlManagedInstances) -} diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go deleted file mode 100644 index da3300f9ba248c..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances.go +++ /dev/null @@ -1,39 +0,0 @@ -package azurearcdata - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SqlServerInstances() *schema.Table { - return &schema.Table{ - Name: "azure_azurearcdata_sql_server_instances", - Resolver: fetchSqlServerInstances, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata@v0.5.0#SQLServerInstance", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_azurearcdata_sql_server_instances", client.Namespacemicrosoft_azurearcdata), - Transform: transformers.TransformWithStruct(&armazurearcdata.SQLServerInstance{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSqlServerInstances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armazurearcdata.NewSQLServerInstancesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances_mock_test.go b/plugins/source/azure/resources/services/azurearcdata/sql_server_instances_mock_test.go deleted file mode 100644 index 07189ed377fe72..00000000000000 --- a/plugins/source/azure/resources/services/azurearcdata/sql_server_instances_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package azurearcdata - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurearcdata/armazurearcdata" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSqlServerInstances(router *mux.Router) error { - var item armazurearcdata.SQLServerInstancesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSqlServerInstances(t *testing.T) { - client.MockTestHelper(t, SqlServerInstances(), createSqlServerInstances) -} diff --git a/plugins/source/azure/resources/services/batch/account.go b/plugins/source/azure/resources/services/batch/account.go deleted file mode 100644 index ada286dd8b73c5..00000000000000 --- a/plugins/source/azure/resources/services/batch/account.go +++ /dev/null @@ -1,39 +0,0 @@ -package batch - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Account() *schema.Table { - return &schema.Table{ - Name: "azure_batch_account", - Resolver: fetchAccount, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/batchmanagement/batch-account/list?tabs=HTTP#batchaccount", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_batch_account", client.Namespacemicrosoft_batch), - Transform: transformers.TransformWithStruct(&armbatch.Account{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccount(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armbatch.NewAccountClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/batch/account_mock_test.go b/plugins/source/azure/resources/services/batch/account_mock_test.go deleted file mode 100644 index 2e6f2ee88afefe..00000000000000 --- a/plugins/source/azure/resources/services/batch/account_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package batch - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccount(router *mux.Router) error { - var item armbatch.AccountClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAccount(t *testing.T) { - client.MockTestHelper(t, Account(), createAccount) -} diff --git a/plugins/source/azure/resources/services/billing/accounts.go b/plugins/source/azure/resources/services/billing/accounts.go deleted file mode 100644 index 90ad69d0a45570..00000000000000 --- a/plugins/source/azure/resources/services/billing/accounts.go +++ /dev/null @@ -1,26 +0,0 @@ -package billing - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Accounts() *schema.Table { - return &schema.Table{ - Name: "azure_billing_accounts", - Resolver: fetchAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/billing/2020-05-01/billing-accounts/list?tabs=HTTP#billingaccount", - Transform: transformers.TransformWithStruct(&armbilling.Account{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - // we already fetch all accounts during initialization, so no need to fetch them again - res <- meta.(*client.Client).BillingAccounts - return nil -} diff --git a/plugins/source/azure/resources/services/billing/accounts_mock_test.go b/plugins/source/azure/resources/services/billing/accounts_mock_test.go deleted file mode 100644 index ec269f79749c0d..00000000000000 --- a/plugins/source/azure/resources/services/billing/accounts_mock_test.go +++ /dev/null @@ -1,18 +0,0 @@ -package billing - -import ( - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/gorilla/mux" -) - -func createAccounts(router *mux.Router) error { - // BillingAccounts are mocked in `MockTestHelper` since those are fetched during initialization - return nil -} - -func TestAccounts(t *testing.T) { - client.MockTestHelper(t, Accounts(), createAccounts) -} diff --git a/plugins/source/azure/resources/services/billing/enrollment_accounts.go b/plugins/source/azure/resources/services/billing/enrollment_accounts.go deleted file mode 100644 index 09a386dc96219d..00000000000000 --- a/plugins/source/azure/resources/services/billing/enrollment_accounts.go +++ /dev/null @@ -1,37 +0,0 @@ -package billing - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func EnrollmentAccounts() *schema.Table { - return &schema.Table{ - Name: "azure_billing_enrollment_accounts", - Resolver: fetchEnrollmentAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling@v0.5.0#EnrollmentAccountSummary", - Transform: transformers.TransformWithStruct(&armbilling.EnrollmentAccountSummary{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchEnrollmentAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armbilling.NewEnrollmentAccountsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go b/plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go deleted file mode 100644 index 9dc4e610b0cf81..00000000000000 --- a/plugins/source/azure/resources/services/billing/enrollment_accounts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package billing - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createEnrollmentAccounts(router *mux.Router) error { - var item armbilling.EnrollmentAccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Billing/enrollmentAccounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestEnrollmentAccounts(t *testing.T) { - client.MockTestHelper(t, EnrollmentAccounts(), createEnrollmentAccounts) -} diff --git a/plugins/source/azure/resources/services/billing/periods.go b/plugins/source/azure/resources/services/billing/periods.go deleted file mode 100644 index 7c42de13e95333..00000000000000 --- a/plugins/source/azure/resources/services/billing/periods.go +++ /dev/null @@ -1,29 +0,0 @@ -package billing - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Periods() *schema.Table { - return &schema.Table{ - Name: "azure_billing_periods", - Resolver: fetchPeriods, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billing/armbilling@v0.5.0#Period", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_billing_periods", client.Namespacemicrosoft_billing), - Transform: transformers.TransformWithStruct(&armbilling.Period{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPeriods(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - // we already fetch all billing periods during initialization, so no need to fetch them again - cl := meta.(*client.Client) - res <- cl.BillingPeriods[cl.SubscriptionId] - return nil -} diff --git a/plugins/source/azure/resources/services/billing/periods_mock_test.go b/plugins/source/azure/resources/services/billing/periods_mock_test.go deleted file mode 100644 index bdcbbc47eb6d6e..00000000000000 --- a/plugins/source/azure/resources/services/billing/periods_mock_test.go +++ /dev/null @@ -1,18 +0,0 @@ -package billing - -import ( - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/gorilla/mux" -) - -func createPeriods(router *mux.Router) error { - // BillingPeriods are mocked in `MockTestHelper` since those are fetched during initialization - return nil -} - -func TestPeriods(t *testing.T) { - client.MockTestHelper(t, Periods(), createPeriods) -} diff --git a/plugins/source/azure/resources/services/botservice/bots.go b/plugins/source/azure/resources/services/botservice/bots.go deleted file mode 100644 index bd4a85a6adc8da..00000000000000 --- a/plugins/source/azure/resources/services/botservice/bots.go +++ /dev/null @@ -1,39 +0,0 @@ -package botservice - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/botservice/armbotservice" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Bots() *schema.Table { - return &schema.Table{ - Name: "azure_botservice_bots", - Resolver: fetchBots, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/botservice/armbotservice@v0.5.0#Bot", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_botservice_bots", client.Namespacemicrosoft_botservice), - Transform: transformers.TransformWithStruct(&armbotservice.Bot{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchBots(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armbotservice.NewBotsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/botservice/bots_mock_test.go b/plugins/source/azure/resources/services/botservice/bots_mock_test.go deleted file mode 100644 index 9efbb848a1b1de..00000000000000 --- a/plugins/source/azure/resources/services/botservice/bots_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package botservice - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/botservice/armbotservice" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBots(router *mux.Router) error { - var item armbotservice.BotsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBots(t *testing.T) { - client.MockTestHelper(t, Bots(), createBots) -} diff --git a/plugins/source/azure/resources/services/cdn/edge_nodes.go b/plugins/source/azure/resources/services/cdn/edge_nodes.go deleted file mode 100644 index 5298454970f9c5..00000000000000 --- a/plugins/source/azure/resources/services/cdn/edge_nodes.go +++ /dev/null @@ -1,37 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func EdgeNodes() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_edge_nodes", - Resolver: fetchEdgeNodes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cdn/edge-nodes/list?tabs=HTTP#edgenode", - Transform: transformers.TransformWithStruct(&armcdn.EdgeNode{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchEdgeNodes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcdn.NewEdgeNodesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go b/plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go deleted file mode 100644 index 0f5f5b20e3e2ea..00000000000000 --- a/plugins/source/azure/resources/services/cdn/edge_nodes_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createEdgeNodes(router *mux.Router) error { - var item armcdn.EdgeNodesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Cdn/edgenodes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestEdgeNodes(t *testing.T) { - client.MockTestHelper(t, EdgeNodes(), createEdgeNodes) -} diff --git a/plugins/source/azure/resources/services/cdn/endpoints.go b/plugins/source/azure/resources/services/cdn/endpoints.go deleted file mode 100644 index 14f96689949431..00000000000000 --- a/plugins/source/azure/resources/services/cdn/endpoints.go +++ /dev/null @@ -1,19 +0,0 @@ -package cdn - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func endpoints() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_endpoints", - Resolver: fetchEndpoints, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cdn/endpoints/list-by-profile?tabs=HTTP#endpoint", - Transform: transformers.TransformWithStruct(&armcdn.Endpoint{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} diff --git a/plugins/source/azure/resources/services/cdn/endpoints_fetch.go b/plugins/source/azure/resources/services/cdn/endpoints_fetch.go deleted file mode 100644 index 8313d220422f26..00000000000000 --- a/plugins/source/azure/resources/services/cdn/endpoints_fetch.go +++ /dev/null @@ -1,31 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchEndpoints(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - item := parent.Item.(*armcdn.Profile) - svc, err := armcdn.NewEndpointsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*item.ID) - if err != nil { - return err - } - pager := svc.NewListByProfilePager(group, *item.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/endpoints_mock_test.go b/plugins/source/azure/resources/services/cdn/endpoints_mock_test.go deleted file mode 100644 index 794a8a91e02d3b..00000000000000 --- a/plugins/source/azure/resources/services/cdn/endpoints_mock_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createEndpoints(router *mux.Router) error { - var item armcdn.EndpointsClientListByProfileResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go b/plugins/source/azure/resources/services/cdn/managed_rule_sets.go deleted file mode 100644 index f4f02304685a7d..00000000000000 --- a/plugins/source/azure/resources/services/cdn/managed_rule_sets.go +++ /dev/null @@ -1,39 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ManagedRuleSets() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_managed_rule_sets", - Resolver: fetchManagedRuleSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#ManagedRuleSetDefinition", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cdn_managed_rule_sets", client.Namespacemicrosoft_cdn), - Transform: transformers.TransformWithStruct(&armcdn.ManagedRuleSetDefinition{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchManagedRuleSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcdn.NewManagedRuleSetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/managed_rule_sets_mock_test.go b/plugins/source/azure/resources/services/cdn/managed_rule_sets_mock_test.go deleted file mode 100644 index cd5472f35d17d8..00000000000000 --- a/plugins/source/azure/resources/services/cdn/managed_rule_sets_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createManagedRuleSets(router *mux.Router) error { - var item armcdn.ManagedRuleSetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/cdnWebApplicationFirewallManagedRuleSets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestManagedRuleSets(t *testing.T) { - client.MockTestHelper(t, ManagedRuleSets(), createManagedRuleSets) -} diff --git a/plugins/source/azure/resources/services/cdn/profiles.go b/plugins/source/azure/resources/services/cdn/profiles.go deleted file mode 100644 index 309af82094fd4f..00000000000000 --- a/plugins/source/azure/resources/services/cdn/profiles.go +++ /dev/null @@ -1,45 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Profiles() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_profiles", - Resolver: fetchProfiles, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cdn/profiles/list?tabs=HTTP#profile", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cdn_profiles", client.Namespacemicrosoft_cdn), - Transform: transformers.TransformWithStruct(&armcdn.Profile{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - - Relations: []*schema.Table{ - endpoints(), - rule_sets(), - security_policies(), - }, - } -} - -func fetchProfiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcdn.NewProfilesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/profiles_mock_test.go b/plugins/source/azure/resources/services/cdn/profiles_mock_test.go deleted file mode 100644 index aaf8cdc8292c2c..00000000000000 --- a/plugins/source/azure/resources/services/cdn/profiles_mock_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createProfiles(router *mux.Router) error { - var item armcdn.ProfilesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/profiles", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - if err := createEndpoints(router); err != nil { - return err - } - if err := createRuleSets(router); err != nil { - return err - } - return createSecurityPolicies(router) -} - -func TestProfiles(t *testing.T) { - client.MockTestHelper(t, Profiles(), createProfiles) -} diff --git a/plugins/source/azure/resources/services/cdn/rule_sets.go b/plugins/source/azure/resources/services/cdn/rule_sets.go deleted file mode 100644 index f374dacef81fe2..00000000000000 --- a/plugins/source/azure/resources/services/cdn/rule_sets.go +++ /dev/null @@ -1,19 +0,0 @@ -package cdn - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func rule_sets() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_rule_sets", - Resolver: fetchRuleSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#RuleSet", - Transform: transformers.TransformWithStruct(&armcdn.RuleSet{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} diff --git a/plugins/source/azure/resources/services/cdn/rule_sets_fetch.go b/plugins/source/azure/resources/services/cdn/rule_sets_fetch.go deleted file mode 100644 index 5137e293a28025..00000000000000 --- a/plugins/source/azure/resources/services/cdn/rule_sets_fetch.go +++ /dev/null @@ -1,31 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchRuleSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - item := parent.Item.(*armcdn.Profile) - svc, err := armcdn.NewRuleSetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*item.ID) - if err != nil { - return err - } - pager := svc.NewListByProfilePager(group, *item.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/rule_sets_mock.go b/plugins/source/azure/resources/services/cdn/rule_sets_mock.go deleted file mode 100644 index 616bfb2c5d4835..00000000000000 --- a/plugins/source/azure/resources/services/cdn/rule_sets_mock.go +++ /dev/null @@ -1,33 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRuleSets(router *mux.Router) error { - var item armcdn.RuleSetsClientListByProfileResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cdn/security_policies.go b/plugins/source/azure/resources/services/cdn/security_policies.go deleted file mode 100644 index 04572992133eb1..00000000000000 --- a/plugins/source/azure/resources/services/cdn/security_policies.go +++ /dev/null @@ -1,19 +0,0 @@ -package cdn - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func security_policies() *schema.Table { - return &schema.Table{ - Name: "azure_cdn_security_policies", - Resolver: fetchSecurityPolicies, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn@v1.0.0#SecurityPolicy", - Transform: transformers.TransformWithStruct(&armcdn.SecurityPolicy{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} diff --git a/plugins/source/azure/resources/services/cdn/security_policies_fetch.go b/plugins/source/azure/resources/services/cdn/security_policies_fetch.go deleted file mode 100644 index 51a5bbf816a270..00000000000000 --- a/plugins/source/azure/resources/services/cdn/security_policies_fetch.go +++ /dev/null @@ -1,31 +0,0 @@ -package cdn - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchSecurityPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - item := parent.Item.(*armcdn.Profile) - svc, err := armcdn.NewSecurityPoliciesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*item.ID) - if err != nil { - return err - } - pager := svc.NewListByProfilePager(group, *item.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cdn/security_policies_mock_test.go b/plugins/source/azure/resources/services/cdn/security_policies_mock_test.go deleted file mode 100644 index 7cf86410fa948d..00000000000000 --- a/plugins/source/azure/resources/services/cdn/security_policies_mock_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package cdn - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecurityPolicies(router *mux.Router) error { - var item armcdn.SecurityPoliciesClientListByProfileResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_deployments.go b/plugins/source/azure/resources/services/cognitiveservices/account_deployments.go deleted file mode 100644 index 5cc5c3812ec55f..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_deployments.go +++ /dev/null @@ -1,44 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountDeployments() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_deployments", - Resolver: fetchAccountDeployments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/deployments/list?tabs=HTTP#deployment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_skus", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.Deployment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccountDeployments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewDeploymentsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_deployments_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_deployments_test.go deleted file mode 100644 index f8e9635a73c4da..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_deployments_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountDeployments(router *mux.Router) error { - var item armcognitiveservices.DeploymentsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections.go b/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections.go deleted file mode 100644 index 63abccda0cceb7..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections.go +++ /dev/null @@ -1,41 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountPrivateEndpointConnections() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_private_endpoint_connections", - Resolver: fetchAccountPrivateEndpointConnections, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/private-endpoint-connections/list?tabs=HTTP#privateendpointconnection", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_private_endpoint_connections", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.PrivateEndpointConnection{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccountPrivateEndpointConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewPrivateEndpointConnectionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - resp, err := svc.List(ctx, group, *p.Name, nil) - if err != nil { - return err - } - res <- resp.Value - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections_test.go deleted file mode 100644 index be481384e41cf9..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_private_endpoint_connections_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountPrivateEndpointConnections(router *mux.Router) error { - var item armcognitiveservices.PrivateEndpointConnectionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources.go b/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources.go deleted file mode 100644 index 97aea793c5e477..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources.go +++ /dev/null @@ -1,41 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountPrivateLinkResources() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_private_link_resources", - Resolver: fetchAccountPrivateLinkResources, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/private-link-resources/list?tabs=HTTP#privatelinkresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_private_link_resources", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.PrivateLinkResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccountPrivateLinkResources(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewPrivateLinkResourcesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - resp, err := svc.List(ctx, group, *p.Name, nil) - if err != nil { - return err - } - res <- resp.Value - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources_test.go deleted file mode 100644 index 9bc7d6486f304e..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_private_link_resources_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountPrivateLinkResources(router *mux.Router) error { - var item armcognitiveservices.PrivateLinkResourcesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateLinkResources", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_skus.go b/plugins/source/azure/resources/services/cognitiveservices/account_skus.go deleted file mode 100644 index d70108e9176396..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_skus.go +++ /dev/null @@ -1,49 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/apache/arrow/go/v15/arrow" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountSKUs() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_skus", - Resolver: fetchAccountSKUs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list-skus?tabs=HTTP#accountsku", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_skus", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.AccountSKU{}), - Columns: schema.ColumnList{ - client.SubscriptionID, - schema.Column{ - Name: "account_id", - Type: arrow.BinaryTypes.String, - Resolver: schema.ParentColumnResolver("id"), - }, - }, - } -} - -func fetchAccountSKUs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - resp, err := svc.ListSKUs(ctx, group, *p.Name, nil) - if err != nil { - return err - } - res <- resp.Value - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_skus_models.go b/plugins/source/azure/resources/services/cognitiveservices/account_skus_models.go deleted file mode 100644 index 972bb045d25085..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_skus_models.go +++ /dev/null @@ -1,52 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/apache/arrow/go/v15/arrow" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountModels() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_models", - Resolver: fetchAccountModels, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices@v1.3.0#AccountModel", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_models", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.AccountModel{}), - Columns: schema.ColumnList{ - client.SubscriptionID, - schema.Column{ - Name: "account_id", - Type: arrow.BinaryTypes.String, - Resolver: schema.ParentColumnResolver("id"), - }, - }, - } -} - -func fetchAccountModels(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListModelsPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_skus_models_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_skus_models_test.go deleted file mode 100644 index a18d6b154e7fa9..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_skus_models_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountModels(router *mux.Router) error { - var item armcognitiveservices.AccountsClientListModelsResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/models", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_skus_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_skus_test.go deleted file mode 100644 index 2ee2740635138d..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_skus_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountSKUs(router *mux.Router) error { - var item armcognitiveservices.AccountsClientListSKUsResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_usages.go b/plugins/source/azure/resources/services/cognitiveservices/account_usages.go deleted file mode 100644 index f95df6e7a6aa6f..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_usages.go +++ /dev/null @@ -1,49 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/apache/arrow/go/v15/arrow" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func accountUsages() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_account_usages", - Resolver: fetchAccountUsages, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list-usages?tabs=HTTP#usage", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_account_usages", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.Usage{}), - Columns: schema.ColumnList{ - client.SubscriptionID, - schema.Column{ - Name: "account_id", - Type: arrow.BinaryTypes.String, - Resolver: schema.ParentColumnResolver("id"), - }, - }, - } -} - -func fetchAccountUsages(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armcognitiveservices.Account) - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - resp, err := svc.ListUsages(ctx, group, *p.Name, nil) - if err != nil { - return err - } - res <- resp.Value - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/account_usages_test.go b/plugins/source/azure/resources/services/cognitiveservices/account_usages_test.go deleted file mode 100644 index f38307bc669d4e..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/account_usages_test.go +++ /dev/null @@ -1,31 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccountUsages(router *mux.Router) error { - var item armcognitiveservices.AccountsClientListUsagesResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/accounts.go b/plugins/source/azure/resources/services/cognitiveservices/accounts.go deleted file mode 100644 index 8a91f5b841fcdd..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/accounts.go +++ /dev/null @@ -1,47 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Accounts() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_accounts", - Resolver: fetchAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/accounts/list?tabs=HTTP#account", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_accounts", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.Account{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: schema.Tables{ - accountSKUs(), - accountUsages(), - accountModels(), - accountDeployments(), - accountPrivateEndpointConnections(), - accountPrivateLinkResources(), - }, - } -} - -func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go b/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go deleted file mode 100644 index 0e5073de0ca622..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/accounts_mock_test.go +++ /dev/null @@ -1,62 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccounts(router *mux.Router) error { - var item armcognitiveservices.AccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - - if err := createAccountDeployments(router); err != nil { - return err - } - - if err := createAccountPrivateEndpointConnections(router); err != nil { - return err - } - - if err := createAccountPrivateLinkResources(router); err != nil { - return err - } - - if err := createAccountModels(router); err != nil { - return err - } - - if err := createAccountUsages(router); err != nil { - return err - } - - return createAccountSKUs(router) -} - -func TestAccounts(t *testing.T) { - client.MockTestHelper(t, Accounts(), createAccounts) -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/commitment_plans.go b/plugins/source/azure/resources/services/cognitiveservices/commitment_plans.go deleted file mode 100644 index 864b91d7bd7739..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/commitment_plans.go +++ /dev/null @@ -1,39 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func CommitmentPlans() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_commitment_plans", - Resolver: fetchCommitmentPlans, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/commitment-plans/list?tabs=HTTP#commitmentplan", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_commitment_plans", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.CommitmentPlan{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchCommitmentPlans(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewCommitmentPlansClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPlansBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/commitment_plans_test.go b/plugins/source/azure/resources/services/cognitiveservices/commitment_plans_test.go deleted file mode 100644 index 1bdbffd780a3ab..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/commitment_plans_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createCommitmentPlans(router *mux.Router) error { - var item armcognitiveservices.CommitmentPlansClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/commitmentPlans", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestCommitmentPlans(t *testing.T) { - client.MockTestHelper(t, CommitmentPlans(), createCommitmentPlans) -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go deleted file mode 100644 index c40ff10658550e..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts.go +++ /dev/null @@ -1,39 +0,0 @@ -package cognitiveservices - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DeletedAccounts() *schema.Table { - return &schema.Table{ - Name: "azure_cognitiveservices_deleted_accounts", - Resolver: fetchDeletedAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cognitiveservices/accountmanagement/deleted-accounts/list?tabs=HTTP#account", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_cognitiveservices_deleted_accounts", client.Namespacemicrosoft_cognitiveservices), - Transform: transformers.TransformWithStruct(&armcognitiveservices.Account{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDeletedAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcognitiveservices.NewDeletedAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go b/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go deleted file mode 100644 index 1c6c99e95060a3..00000000000000 --- a/plugins/source/azure/resources/services/cognitiveservices/deleted_accounts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package cognitiveservices - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cognitiveservices/armcognitiveservices" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDeletedAccounts(router *mux.Router) error { - var item armcognitiveservices.DeletedAccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/deletedAccounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDeletedAccounts(t *testing.T) { - client.MockTestHelper(t, DeletedAccounts(), createDeletedAccounts) -} diff --git a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go b/plugins/source/azure/resources/services/confluent/marketplace_agreements.go deleted file mode 100644 index d0182aa8f40c13..00000000000000 --- a/plugins/source/azure/resources/services/confluent/marketplace_agreements.go +++ /dev/null @@ -1,39 +0,0 @@ -package confluent - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confluent/armconfluent" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func MarketplaceAgreements() *schema.Table { - return &schema.Table{ - Name: "azure_confluent_marketplace_agreements", - Resolver: fetchMarketplaceAgreements, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/confluent/marketplace-agreements/list?tabs=HTTP#confluentagreementresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_confluent_marketplace_agreements", client.Namespacemicrosoft_confluent), - Transform: transformers.TransformWithStruct(&armconfluent.AgreementResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchMarketplaceAgreements(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconfluent.NewMarketplaceAgreementsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go b/plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go deleted file mode 100644 index 6e38d7f9caae39..00000000000000 --- a/plugins/source/azure/resources/services/confluent/marketplace_agreements_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package confluent - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/confluent/armconfluent" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createMarketplaceAgreements(router *mux.Router) error { - var item armconfluent.MarketplaceAgreementsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestMarketplaceAgreements(t *testing.T) { - client.MockTestHelper(t, MarketplaceAgreements(), createMarketplaceAgreements) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/clusters.go b/plugins/source/azure/resources/services/connectedvmware/clusters.go deleted file mode 100644 index aaef6c8f927a1d..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/clusters.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Clusters() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_clusters", - Resolver: fetchClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Cluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_clusters", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.Cluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go deleted file mode 100644 index 6a2c72fd563669..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/clusters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createClusters(router *mux.Router) error { - var item armconnectedvmware.ClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/clusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestClusters(t *testing.T) { - client.MockTestHelper(t, Clusters(), createClusters) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/datastores.go b/plugins/source/azure/resources/services/connectedvmware/datastores.go deleted file mode 100644 index 46bd4d9f1868c7..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/datastores.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Datastores() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_datastores", - Resolver: fetchDatastores, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Datastore", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_datastores", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.Datastore{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDatastores(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewDatastoresClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go deleted file mode 100644 index e5f236dac7ce69..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/datastores_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDatastores(router *mux.Router) error { - var item armconnectedvmware.DatastoresClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/datastores", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDatastores(t *testing.T) { - client.MockTestHelper(t, Datastores(), createDatastores) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/hosts.go b/plugins/source/azure/resources/services/connectedvmware/hosts.go deleted file mode 100644 index fd7c030c9af5d1..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/hosts.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Hosts() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_hosts", - Resolver: fetchHosts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#Host", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_hosts", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.Host{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchHosts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewHostsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go deleted file mode 100644 index 3f31ad30d56e78..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/hosts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createHosts(router *mux.Router) error { - var item armconnectedvmware.HostsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/hosts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestHosts(t *testing.T) { - client.MockTestHelper(t, Hosts(), createHosts) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go b/plugins/source/azure/resources/services/connectedvmware/resource_pools.go deleted file mode 100644 index b1342af17f7dac..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/resource_pools.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ResourcePools() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_resource_pools", - Resolver: fetchResourcePools, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#ResourcePool", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_resource_pools", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.ResourcePool{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchResourcePools(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewResourcePoolsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go deleted file mode 100644 index 61e9716d4c3b15..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/resource_pools_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createResourcePools(router *mux.Router) error { - var item armconnectedvmware.ResourcePoolsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestResourcePools(t *testing.T) { - client.MockTestHelper(t, ResourcePools(), createResourcePools) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/v_centers.go b/plugins/source/azure/resources/services/connectedvmware/v_centers.go deleted file mode 100644 index 6fda9253841c87..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/v_centers.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VCenters() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_v_centers", - Resolver: fetchVCenters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VCenter", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_v_centers", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.VCenter{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVCenters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewVCentersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go deleted file mode 100644 index 2319d84b9cc5a2..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/v_centers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVCenters(router *mux.Router) error { - var item armconnectedvmware.VCentersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVCenters(t *testing.T) { - client.MockTestHelper(t, VCenters(), createVCenters) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go deleted file mode 100644 index bc6a6762e406f7..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualMachineTemplates() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_virtual_machine_templates", - Resolver: fetchVirtualMachineTemplates, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualMachineTemplate", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_machine_templates", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualMachineTemplate{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualMachineTemplates(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewVirtualMachineTemplatesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates_mock_test.go deleted file mode 100644 index ca88b85fe682ed..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machine_templates_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualMachineTemplates(router *mux.Router) error { - var item armconnectedvmware.VirtualMachineTemplatesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualMachineTemplates(t *testing.T) { - client.MockTestHelper(t, VirtualMachineTemplates(), createVirtualMachineTemplates) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go deleted file mode 100644 index ec229ecbf5571d..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machines.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualMachines() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_virtual_machines", - Resolver: fetchVirtualMachines, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualMachine", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_machines", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualMachine{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualMachines(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewVirtualMachinesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go deleted file mode 100644 index 0c0ccca16b5a39..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_machines_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualMachines(router *mux.Router) error { - var item armconnectedvmware.VirtualMachinesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualMachines(t *testing.T) { - client.MockTestHelper(t, VirtualMachines(), createVirtualMachines) -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go b/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go deleted file mode 100644 index 18c0d3f7df27ff..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_networks.go +++ /dev/null @@ -1,39 +0,0 @@ -package connectedvmware - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualNetworks() *schema.Table { - return &schema.Table{ - Name: "azure_connectedvmware_virtual_networks", - Resolver: fetchVirtualNetworks, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware@v0.1.0#VirtualNetwork", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_connectedvmware_virtual_networks", client.Namespacemicrosoft_connectedvmwarevsphere), - Transform: transformers.TransformWithStruct(&armconnectedvmware.VirtualNetwork{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconnectedvmware.NewVirtualNetworksClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go b/plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go deleted file mode 100644 index 04ac3672126937..00000000000000 --- a/plugins/source/azure/resources/services/connectedvmware/virtual_networks_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package connectedvmware - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/connectedvmware/armconnectedvmware" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworks(router *mux.Router) error { - var item armconnectedvmware.VirtualNetworksClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualNetworks(t *testing.T) { - client.MockTestHelper(t, VirtualNetworks(), createVirtualNetworks) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_balances.go b/plugins/source/azure/resources/services/consumption/billing_account_balances.go deleted file mode 100644 index 1b8c212fdb2b9d..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_balances.go +++ /dev/null @@ -1,43 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountBalances() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_balances", - Resolver: fetchBillingAccountBalances, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/balances/get-by-billing-account?tabs=HTTP#balance", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.Balance{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountBalances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewBalancesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - resp, err := svc.GetByBillingAccount(ctx, *cl.BillingAccount.Name, nil) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 404 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 404 { - cl.Logger().Debug().Msg("No data for billing account balances") - return nil - } - return err - } - res <- resp.Balance - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_balances_test.go b/plugins/source/azure/resources/services/consumption/billing_account_balances_test.go deleted file mode 100644 index fe38c6353a7141..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_balances_test.go +++ /dev/null @@ -1,38 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountBalances(router *mux.Router) error { - var item armconsumption.BalancesClientGetByBillingAccountResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingAccountBalances(t *testing.T) { - client.MockTestHelper(t, BillingAccountBalances(), createBillingAccountBalances) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_budgets.go b/plugins/source/azure/resources/services/consumption/billing_account_budgets.go deleted file mode 100644 index 34d5359d6b9eb3..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_budgets.go +++ /dev/null @@ -1,38 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountBudgets() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_budgets", - Resolver: fetchBillingAccountBudgets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.Budget{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountBudgets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewBudgetsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingAccount.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_budgets_test.go b/plugins/source/azure/resources/services/consumption/billing_account_budgets_test.go deleted file mode 100644 index cb5852f022c67d..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_budgets_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountBudgets(router *mux.Router) error { - var item armconsumption.BudgetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/budgets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingAccountBudgets(t *testing.T) { - client.MockTestHelper(t, BillingAccountBudgets(), createBillingAccountBudgets) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_charges.go b/plugins/source/azure/resources/services/consumption/billing_account_charges.go deleted file mode 100644 index 27589f18fc9b39..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_charges.go +++ /dev/null @@ -1,37 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountCharges() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_charges", - Resolver: fetchBillingAccountCharges, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/charges/list?tabs=HTTP#modernchargesummary", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ModernChargeSummary{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountCharges(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewChargesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - resp, err := svc.List(ctx, *cl.BillingAccount.ID, nil) - if err != nil { - return err - } - for _, v := range resp.Value { - res <- v.(*armconsumption.ModernChargeSummary) - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_charges_test.go b/plugins/source/azure/resources/services/consumption/billing_account_charges_test.go deleted file mode 100644 index 4a88f18bd777e0..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_charges_test.go +++ /dev/null @@ -1,47 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountCharges(router *mux.Router) error { - var item armconsumption.ModernChargeSummary - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.ChargeSummaryKindModern) - - resp := armconsumption.ChargesClientListResponse{ - ChargesListResult: armconsumption.ChargesListResult{ - // Value is an interface{} so we can't mock it directly - Value: []armconsumption.ChargeSummaryClassification{&item}, - }, - } - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/charges", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingAccountCharges(t *testing.T) { - client.MockTestHelper(t, BillingAccountCharges(), createBillingAccountCharges) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_events.go b/plugins/source/azure/resources/services/consumption/billing_account_events.go deleted file mode 100644 index ee69f9d421218e..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_events.go +++ /dev/null @@ -1,46 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountEvents() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_events", - Resolver: fetchBillingAccountEvents, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/events/list-by-billing-account?tabs=HTTP#eventsummary", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.EventSummary{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountEvents(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewEventsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListByBillingAccountPager(*cl.BillingAccount.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 404 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 404 { - cl.Logger().Debug().Msg("No data for billing account events") - return nil - } - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_events_test.go b/plugins/source/azure/resources/services/consumption/billing_account_events_test.go deleted file mode 100644 index f3850e1cbea4d9..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_events_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountEvents(router *mux.Router) error { - var item armconsumption.EventsClientListByBillingAccountResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/events", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingAccountEvents(t *testing.T) { - client.MockTestHelper(t, BillingAccountEvents(), createBillingAccountEvents) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details.go b/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details.go deleted file mode 100644 index aa62530a240c94..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountLegacyUsageDetails() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_legacy_usage_details", - Resolver: fetchBillingAccountLegacyUsageDetails, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#legacyusagedetail", - Multiplex: client.LegacyBillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.LegacyUsageDetail{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountLegacyUsageDetails(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewUsageDetailsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingAccount.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - for _, v := range p.Value { - res <- v.(*armconsumption.LegacyUsageDetail) - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details_test.go b/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details_test.go deleted file mode 100644 index 3bf1b1380afeca..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_legacy_usage_details_test.go +++ /dev/null @@ -1,48 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountLegacyUsageDetails(router *mux.Router) error { - var item armconsumption.LegacyUsageDetail - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.UsageDetailsKindLegacy) - - resp := armconsumption.UsageDetailsClientListResponse{ - UsageDetailsListResult: armconsumption.UsageDetailsListResult{ - // Value is an interface{} so we can't mock it directly - Value: []armconsumption.UsageDetailClassification{&item}, - }, - } - resp.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/"+client.LegacyAccountName+"/providers/Microsoft.Consumption/usageDetails", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingAccountLegacyUsageDetails(t *testing.T) { - client.MockTestHelper(t, BillingAccountLegacyUsageDetails(), createBillingAccountLegacyUsageDetails) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_lots.go b/plugins/source/azure/resources/services/consumption/billing_account_lots.go deleted file mode 100644 index e8a61e15111e58..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_lots.go +++ /dev/null @@ -1,46 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountLots() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_lots", - Resolver: fetchBillingAccountLots, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/lots/list-by-billing-account?tabs=HTTP#lotsummary", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.LotSummary{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountLots(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewLotsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListByBillingAccountPager(*cl.BillingAccount.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 404 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 404 { - cl.Logger().Debug().Msg("No data for billing account lots") - return nil - } - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_lots_test.go b/plugins/source/azure/resources/services/consumption/billing_account_lots_test.go deleted file mode 100644 index b63ed5543dd2ba..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_lots_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountLots(router *mux.Router) error { - var item armconsumption.LotsClientListByBillingAccountResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/lots", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingAccountLots(t *testing.T) { - client.MockTestHelper(t, BillingAccountLots(), createBillingAccountLots) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_marketplaces.go b/plugins/source/azure/resources/services/consumption/billing_account_marketplaces.go deleted file mode 100644 index cd7978484eac38..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_marketplaces.go +++ /dev/null @@ -1,38 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountMarketplaces() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_marketplaces", - Resolver: fetchBillingAccountMarketplaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/marketplaces/list?tabs=HTTP#marketplace", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.Marketplace{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountMarketplaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewMarketplacesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingAccount.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_marketplaces_test.go b/plugins/source/azure/resources/services/consumption/billing_account_marketplaces_test.go deleted file mode 100644 index 9c2d33d492770b..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_marketplaces_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountMarketplaces(router *mux.Router) error { - var item armconsumption.MarketplacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/marketplaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingAccountMarketplaces(t *testing.T) { - client.MockTestHelper(t, BillingAccountMarketplaces(), createBillingAccountMarketplaces) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details.go b/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details.go deleted file mode 100644 index b87d951e103e59..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountModernUsageDetails() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_modern_usage_details", - Resolver: fetchBillingAccountModernUsageDetails, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#modernusagedetail", - Multiplex: client.ModernBillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ModernUsageDetail{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountModernUsageDetails(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewUsageDetailsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingAccount.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - for _, v := range p.Value { - res <- v.(*armconsumption.ModernUsageDetail) - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details_test.go b/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details_test.go deleted file mode 100644 index d9d34f80b6a46d..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_modern_usage_details_test.go +++ /dev/null @@ -1,48 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountModernUsageDetails(router *mux.Router) error { - var item armconsumption.ModernUsageDetail - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.UsageDetailsKindModern) - - resp := armconsumption.UsageDetailsClientListResponse{ - UsageDetailsListResult: armconsumption.UsageDetailsListResult{ - // Value is an interface{} so we can't mock it directly - Value: []armconsumption.UsageDetailClassification{&item}, - }, - } - resp.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/"+client.ModernAccountName+"/providers/Microsoft.Consumption/usageDetails", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingAccountModernUsageDetails(t *testing.T) { - client.MockTestHelper(t, BillingAccountModernUsageDetails(), createBillingAccountModernUsageDetails) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations.go b/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations.go deleted file mode 100644 index 8614b01a663fcf..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations.go +++ /dev/null @@ -1,48 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountReservationRecommendations() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_reservation_recommendations", - Resolver: fetchBillingAccountReservationRecommendations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#legacyreservationrecommendation", - Multiplex: client.LegacyBillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.LegacyReservationRecommendation{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountReservationRecommendations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationRecommendationsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingAccount.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 204 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 204 { - cl.Logger().Debug().Msg("No data for billing profile reservation recommendations") - return nil - } - return err - } - for _, v := range p.Value { - res <- v.(*armconsumption.LegacyReservationRecommendation) - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations_test.go b/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations_test.go deleted file mode 100644 index 35ea44c4d3d168..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_reservation_recommendations_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountReservationRecommendations(router *mux.Router) error { - var item armconsumption.LegacyReservationRecommendation - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.ReservationRecommendationKindLegacy) - - resp := armconsumption.ReservationRecommendationsClientListResponse{ - ReservationRecommendationsListResult: armconsumption.ReservationRecommendationsListResult{ - Value: []armconsumption.ReservationRecommendationClassification{&item}, - }, - } - resp.NextLink = to.Ptr("") - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationRecommendations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingAccountReservationRecommendations(t *testing.T) { - client.MockTestHelper(t, BillingAccountReservationRecommendations(), createBillingAccountReservationRecommendations) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_tags.go b/plugins/source/azure/resources/services/consumption/billing_account_tags.go deleted file mode 100644 index 9e6f6febbd5e2b..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_tags.go +++ /dev/null @@ -1,35 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingAccountTags() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_account_tags", - Resolver: fetchBillingAccountTags, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/tags/get?tabs=HTTP#tagsresult", - Multiplex: client.BillingAccountMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.TagsResult{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingAccountTags(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewTagsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - resp, err := svc.Get(ctx, *cl.BillingAccount.ID, nil) - if err != nil { - return err - } - res <- resp.TagsResult - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_account_tags_test.go b/plugins/source/azure/resources/services/consumption/billing_account_tags_test.go deleted file mode 100644 index cf70ad0d679867..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_account_tags_test.go +++ /dev/null @@ -1,38 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingAccountTags(router *mux.Router) error { - var resp armconsumption.TagsClientGetResponse - if err := faker.FakeObject(&resp); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/tags", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingAccountTags(t *testing.T) { - client.MockTestHelper(t, BillingAccountTags(), createBillingAccountTags) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details.go deleted file mode 100644 index 7b4606e32ae6cc..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details.go +++ /dev/null @@ -1,41 +0,0 @@ -package consumption - -import ( - "context" - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingProfileReservationDetails() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_profile_reservation_details", - Resolver: fetchBillingProfileReservationDetails, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservations-details/list?tabs=HTTP#reservationdetail", - Multiplex: client.BillingAccountProfileMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ReservationDetail{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingProfileReservationDetails(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationsDetailsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - today := to.Ptr(time.Now().UTC().AddDate(0, 0, 1).Format("2006-01-02")) - pager := svc.NewListPager(*cl.BillingProfile.ID, &armconsumption.ReservationsDetailsClientListOptions{StartDate: to.Ptr("2000-01-01"), EndDate: today}) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details_test.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details_test.go deleted file mode 100644 index 60ed715295224b..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_details_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingProfileReservationDetails(router *mux.Router) error { - var item armconsumption.ReservationsDetailsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{profileId}/providers/Microsoft.Consumption/reservationDetails", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingProfileReservationDetails(t *testing.T) { - client.MockTestHelper(t, BillingProfileReservationDetails(), createBillingProfileReservationDetails) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations.go deleted file mode 100644 index 67c866ecc18192..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations.go +++ /dev/null @@ -1,48 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingProfileReservationRecommendations() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_profile_reservation_recommendations", - Resolver: fetchBillingProfileReservationRecommendations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#modernreservationrecommendation", - Multiplex: client.BillingAccountProfileMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ModernReservationRecommendation{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingProfileReservationRecommendations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationRecommendationsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingProfile.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 204 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 204 { - cl.Logger().Debug().Msg("No data for billing profile reservation recommendations") - return nil - } - return err - } - for _, v := range p.Value { - res <- v.(*armconsumption.ModernReservationRecommendation) - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations_test.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations_test.go deleted file mode 100644 index 5ca74522537451..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_recommendations_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingProfileReservationRecommendations(router *mux.Router) error { - var item armconsumption.ModernReservationRecommendation - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.ReservationRecommendationKindModern) - - resp := armconsumption.ReservationRecommendationsClientListResponse{ - ReservationRecommendationsListResult: armconsumption.ReservationRecommendationsListResult{ - Value: []armconsumption.ReservationRecommendationClassification{&item}, - }, - } - resp.NextLink = to.Ptr("") - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{profileId}/providers/Microsoft.Consumption/reservationRecommendations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestBillingProfileReservationRecommendations(t *testing.T) { - client.MockTestHelper(t, BillingProfileReservationRecommendations(), createBillingProfileReservationRecommendations) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries.go deleted file mode 100644 index 65fed74884c52c..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries.go +++ /dev/null @@ -1,41 +0,0 @@ -package consumption - -import ( - "context" - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingProfileReservationSummaries() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_profile_reservation_summaries", - Resolver: fetchBillingProfileReservationSummaries, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservations-summaries/list?tabs=HTTP#reservationsummary", - Multiplex: client.BillingAccountProfileMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ReservationSummary{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingProfileReservationSummaries(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationsSummariesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - today := to.Ptr(time.Now().UTC().AddDate(0, 0, 1).Format("2006-01-02")) - pager := svc.NewListPager(*cl.BillingProfile.ID, armconsumption.DatagrainDailyGrain, &armconsumption.ReservationsSummariesClientListOptions{StartDate: to.Ptr("2000-01-01"), EndDate: today}) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries_test.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries_test.go deleted file mode 100644 index 4b70be42b92ed7..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_summaries_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingProfileReservationSummaries(router *mux.Router) error { - var item armconsumption.ReservationsSummariesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{profileId}/providers/Microsoft.Consumption/reservationSummaries", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingProfileReservationSummaries(t *testing.T) { - client.MockTestHelper(t, BillingProfileReservationSummaries(), createBillingProfileReservationSummaries) -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions.go deleted file mode 100644 index 4c0b8ab1bfe434..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions.go +++ /dev/null @@ -1,45 +0,0 @@ -package consumption - -import ( - "context" - "fmt" - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BillingProfileReservationTransactions() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_billing_profile_reservation_transactions", - Resolver: fetchBillingProfileReservationTransactions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservation-transactions/list?tabs=HTTP#reservationtransaction", - Multiplex: client.BillingAccountProfileMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.ReservationTransaction{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchBillingProfileReservationTransactions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationTransactionsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - now := time.Now().UTC() - end := now.AddDate(0, 0, 1).Format("2006-01-02") - start := now.AddDate(-1, 0, 0).Format("2006-01-02") - filter := to.Ptr(fmt.Sprintf("properties/eventDate ge %s AND properties/eventDate le %s", start, end)) - pager := svc.NewListByBillingProfilePager(*cl.BillingAccount.Name, *cl.BillingProfile.Name, &armconsumption.ReservationTransactionsClientListByBillingProfileOptions{Filter: filter}) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions_test.go b/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions_test.go deleted file mode 100644 index 669665de249a55..00000000000000 --- a/plugins/source/azure/resources/services/consumption/billing_profile_reservation_transactions_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBillingProfileReservationTransactions(router *mux.Router) error { - var item armconsumption.ReservationTransactionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{profileId}/providers/Microsoft.Consumption/reservationTransactions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBillingProfileReservationTransactions(t *testing.T) { - client.MockTestHelper(t, BillingProfileReservationTransactions(), createBillingProfileReservationTransactions) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_budgets.go b/plugins/source/azure/resources/services/consumption/subscription_budgets.go deleted file mode 100644 index 1d90f958f1bc02..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_budgets.go +++ /dev/null @@ -1,39 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionBudgets() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_budgets", - Resolver: fetchSubscriptionBudgets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_consumption_billing_account_budgets", client.Namespacemicrosoft_consumption), - Transform: transformers.TransformWithStruct(&armconsumption.Budget{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionBudgets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewBudgetsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - scope := "subscriptions/" + cl.SubscriptionId - pager := svc.NewListPager(scope, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_budgets_test.go b/plugins/source/azure/resources/services/consumption/subscription_budgets_test.go deleted file mode 100644 index a2500b07da8059..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_budgets_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionBudgets(router *mux.Router) error { - var item armconsumption.BudgetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/budgets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSubscriptionBudgets(t *testing.T) { - client.MockTestHelper(t, SubscriptionBudgets(), createSubscriptionBudgets) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details.go b/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details.go deleted file mode 100644 index c104b8d474f951..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details.go +++ /dev/null @@ -1,44 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionLegacyUsageDetails() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_legacy_usage_details", - Resolver: fetchSubscriptionLegacyUsageDetails, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/usage-details/list?tabs=HTTP#legacyusagedetail", - Multiplex: client.SubscriptionBillingPeriodMultiplex, - Transform: transformers.TransformWithStruct(&armconsumption.LegacyUsageDetail{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionLegacyUsageDetails(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewUsageDetailsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*cl.BillingPeriod.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - for _, v := range p.Value { - lud, ok := v.(*armconsumption.LegacyUsageDetail) - if !ok { - continue // skip - } - res <- lud - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details_test.go b/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details_test.go deleted file mode 100644 index 878a751fafd0b8..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_legacy_usage_details_test.go +++ /dev/null @@ -1,55 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionLegacyUsageDetails(router *mux.Router) error { - var ( - item1 armconsumption.LegacyUsageDetail - item2 armconsumption.ModernUsageDetail - ) - if err := faker.FakeObject(&item1); err != nil { - return err - } - item1.Kind = to.Ptr(armconsumption.UsageDetailsKindLegacy) - - if err := faker.FakeObject(&item2); err != nil { - return err - } - item2.Kind = to.Ptr(armconsumption.UsageDetailsKindModern) // will be skipped, but API seems to return both - - resp := armconsumption.UsageDetailsClientListResponse{ - UsageDetailsListResult: armconsumption.UsageDetailsListResult{ - // Value is an interface{} so we can't mock it directly - Value: []armconsumption.UsageDetailClassification{&item1, &item2}, - }, - } - resp.NextLink = to.Ptr("") - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{periodName}/providers/Microsoft.Consumption/usageDetails", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestSubscriptionLegacyUsageDetails(t *testing.T) { - client.MockTestHelper(t, SubscriptionLegacyUsageDetails(), createSubscriptionLegacyUsageDetails) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_marketplaces.go b/plugins/source/azure/resources/services/consumption/subscription_marketplaces.go deleted file mode 100644 index 9c9112d88125dd..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_marketplaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionMarketplaces() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_marketplaces", - Resolver: fetchSubscriptionMarketplaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/budgets/list?tabs=HTTP#budget", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_consumption_subscription_marketplaces", client.Namespacemicrosoft_consumption), - Transform: transformers.TransformWithStruct(&armconsumption.Marketplace{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionMarketplaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewMarketplacesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - scope := "subscriptions/" + cl.SubscriptionId - pager := svc.NewListPager(scope, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_marketplaces_test.go b/plugins/source/azure/resources/services/consumption/subscription_marketplaces_test.go deleted file mode 100644 index d801322dca8512..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_marketplaces_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionMarketplaces(router *mux.Router) error { - var item armconsumption.MarketplacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.NextLink = to.Ptr("") - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/marketplaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSubscriptionMarketplaces(t *testing.T) { - client.MockTestHelper(t, SubscriptionMarketplaces(), createSubscriptionMarketplaces) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_price_sheets.go b/plugins/source/azure/resources/services/consumption/subscription_price_sheets.go deleted file mode 100644 index 108a4e3da54ac1..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_price_sheets.go +++ /dev/null @@ -1,65 +0,0 @@ -package consumption - -import ( - "context" - "net/url" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionPriceSheets() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_price_sheets", - Resolver: fetchSubscriptionPriceSheets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/price-sheet/get?tabs=HTTP#pricesheetresult", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_consumption_subscription_price_sheets", client.Namespacemicrosoft_consumption), - Transform: transformers.TransformWithStruct(&armconsumption.PriceSheetResult{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionPriceSheets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewPriceSheetClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - opts := &armconsumption.PriceSheetClientGetOptions{Expand: to.Ptr("properties/meterDetails")} - resp, err := svc.Get(ctx, opts) - if err != nil { - return err - } - - // This is a workaround to get all price sheets - // Somehow related to https://github.com/Azure/azure-sdk-for-go/issues/4142 - allPricesSheets := resp.PriceSheetResult.Properties.Pricesheets - nextLink := resp.PriceSheetResult.Properties.NextLink - for nextLink != nil { - parsedNextLink, err := url.Parse(*nextLink) - if err != nil { - cl.Logger().Warn().Err(err).Msgf("failed to parse next link: %q", *nextLink) - break - } - token := parsedNextLink.Query().Get("skiptoken") - if token == "" { - cl.Logger().Warn().Msgf("failed to get skiptoken from next link: %q", *nextLink) - break - } - opts.Skiptoken = to.Ptr(token) - paginatedResponse, err := svc.Get(ctx, opts) - if err != nil { - cl.Logger().Warn().Err(err).Msgf("failed to get paginated response for next link: %q", *nextLink) - break - } - allPricesSheets = append(allPricesSheets, paginatedResponse.PriceSheetResult.Properties.Pricesheets...) - nextLink = paginatedResponse.PriceSheetResult.Properties.NextLink - } - - resp.PriceSheetResult.Properties.Pricesheets = allPricesSheets - res <- resp.PriceSheetResult - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_price_sheets_test.go b/plugins/source/azure/resources/services/consumption/subscription_price_sheets_test.go deleted file mode 100644 index d548b9f5a189b9..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_price_sheets_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionPriceSheets(router *mux.Router) error { - var resp armconsumption.PriceSheetClientGetResponse - if err := faker.FakeObject(&resp); err != nil { - return err - } - resp.PriceSheetResult.Properties.NextLink = nil - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestSubscriptionPriceSheets(t *testing.T) { - client.MockTestHelper(t, SubscriptionPriceSheets(), createSubscriptionPriceSheets) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations.go b/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations.go deleted file mode 100644 index 547d559e6428a2..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations.go +++ /dev/null @@ -1,49 +0,0 @@ -package consumption - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionReservationRecommendations() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_reservation_recommendations", - Resolver: fetchSubscriptionReservationRecommendations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/reservation-recommendations/list?tabs=HTTP#legacyreservationrecommendation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_consumption_subscription_reservation_recommendations", client.Namespacemicrosoft_consumption), - Transform: transformers.TransformWithStruct(&armconsumption.LegacyReservationRecommendation{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionReservationRecommendations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewReservationRecommendationsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - scope := "subscriptions/" + cl.SubscriptionId - pager := svc.NewListPager(scope, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - var respError *azcore.ResponseError - // If there's no data a 204 error is returned so we ignore it - if errors.As(err, &respError) && respError.StatusCode == 204 { - cl.Logger().Debug().Msg("No data for billing profile reservation recommendations") - return nil - } - return err - } - for _, v := range p.Value { - res <- v.(*armconsumption.LegacyReservationRecommendation) - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations_test.go b/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations_test.go deleted file mode 100644 index 783ba2c86000a1..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_reservation_recommendations_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionReservationRecommendations(router *mux.Router) error { - var item armconsumption.LegacyReservationRecommendation - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Kind = to.Ptr(armconsumption.ReservationRecommendationKindLegacy) - - resp := armconsumption.ReservationRecommendationsClientListResponse{ - ReservationRecommendationsListResult: armconsumption.ReservationRecommendationsListResult{ - Value: []armconsumption.ReservationRecommendationClassification{&item}, - }, - } - resp.NextLink = to.Ptr("") - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/reservationRecommendations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestSubscriptionReservationRecommendations(t *testing.T) { - client.MockTestHelper(t, SubscriptionReservationRecommendations(), createSubscriptionReservationRecommendations) -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_tags.go b/plugins/source/azure/resources/services/consumption/subscription_tags.go deleted file mode 100644 index b2bf4ca2f9e96d..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_tags.go +++ /dev/null @@ -1,36 +0,0 @@ -package consumption - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionTags() *schema.Table { - return &schema.Table{ - Name: "azure_consumption_subscription_tags", - Resolver: fetchSubscriptionTags, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/consumption/tags/get?tabs=HTTP#tagsresult", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_consumption_subscription_tags", client.Namespacemicrosoft_consumption), - Transform: transformers.TransformWithStruct(&armconsumption.TagsResult{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchSubscriptionTags(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armconsumption.NewTagsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - scope := "subscriptions/" + cl.SubscriptionId - resp, err := svc.Get(ctx, scope, nil) - if err != nil { - return err - } - res <- resp.TagsResult - return nil -} diff --git a/plugins/source/azure/resources/services/consumption/subscription_tags_test.go b/plugins/source/azure/resources/services/consumption/subscription_tags_test.go deleted file mode 100644 index 9ea2c35a6ec6e0..00000000000000 --- a/plugins/source/azure/resources/services/consumption/subscription_tags_test.go +++ /dev/null @@ -1,38 +0,0 @@ -package consumption - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/consumption/armconsumption" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionTags(router *mux.Router) error { - var resp armconsumption.TagsClientGetResponse - if err := faker.FakeObject(&resp); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/tags", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&resp) - 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 -} - -func TestSubscriptionTags(t *testing.T) { - client.MockTestHelper(t, SubscriptionTags(), createSubscriptionTags) -} diff --git a/plugins/source/azure/resources/services/containerinstance/container_groups.go b/plugins/source/azure/resources/services/containerinstance/container_groups.go deleted file mode 100644 index b25459ca11dfc8..00000000000000 --- a/plugins/source/azure/resources/services/containerinstance/container_groups.go +++ /dev/null @@ -1,39 +0,0 @@ -package containerinstance - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerinstance/armcontainerinstance/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ContainerGroups() *schema.Table { - return &schema.Table{ - Name: "azure_containerinstance_container_groups", - Resolver: fetchContainerGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/container-instances/container-groups/list?tabs=HTTP#containergroup", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerinstance_container_groups", client.Namespacemicrosoft_containerinstance), - Transform: transformers.TransformWithStruct(&armcontainerinstance.ContainerGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchContainerGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcontainerinstance.NewContainerGroupsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go b/plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go deleted file mode 100644 index ae8c82ab0fd978..00000000000000 --- a/plugins/source/azure/resources/services/containerinstance/container_groups_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package containerinstance - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerinstance/armcontainerinstance/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createContainerGroups(router *mux.Router) error { - var item armcontainerinstance.ContainerGroupsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestContainerGroups(t *testing.T) { - client.MockTestHelper(t, ContainerGroups(), createContainerGroups) -} diff --git a/plugins/source/azure/resources/services/containerregistry/registries.go b/plugins/source/azure/resources/services/containerregistry/registries.go deleted file mode 100644 index 41bec7c558c90d..00000000000000 --- a/plugins/source/azure/resources/services/containerregistry/registries.go +++ /dev/null @@ -1,39 +0,0 @@ -package containerregistry - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerregistry/armcontainerregistry" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Registries() *schema.Table { - return &schema.Table{ - Name: "azure_containerregistry_registries", - Resolver: fetchRegistries, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/containerregistry/registries/list?tabs=HTTP#registry", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerregistry_registries", client.Namespacemicrosoft_containerregistry), - Transform: transformers.TransformWithStruct(&armcontainerregistry.Registry{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRegistries(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcontainerregistry.NewRegistriesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go b/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go deleted file mode 100644 index 0d82d0a2d1fc9f..00000000000000 --- a/plugins/source/azure/resources/services/containerregistry/registries_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package containerregistry - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerregistry/armcontainerregistry" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRegistries(router *mux.Router) error { - var item armcontainerregistry.RegistriesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRegistries(t *testing.T) { - client.MockTestHelper(t, Registries(), createRegistries) -} diff --git a/plugins/source/azure/resources/services/containerservice/managed_cluster_upgrade_profiles.go b/plugins/source/azure/resources/services/containerservice/managed_cluster_upgrade_profiles.go deleted file mode 100644 index 71174f3417338b..00000000000000 --- a/plugins/source/azure/resources/services/containerservice/managed_cluster_upgrade_profiles.go +++ /dev/null @@ -1,66 +0,0 @@ -package containerservice - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func clusterUpgradeProfiles() *schema.Table { - return &schema.Table{ - Name: "azure_containerservice_managed_cluster_upgrade_profiles", - Resolver: fetchManagedClusterUpgradeProfile, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/aks/managed-clusters/get-upgrade-profile?tabs=HTTP#managedclusterupgradeprofile", - Transform: transformers.TransformWithStruct(&armcontainerservice.ManagedClusterUpgradeProfile{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchManagedClusterUpgradeProfile(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - cluster := parent.Item.(*armcontainerservice.ManagedCluster) - svc, err := armcontainerservice.NewManagedClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - - group, err := client.ParseResourceGroup(*cluster.ID) - if err != nil { - return err - } - resp, err := svc.GetUpgradeProfile(ctx, group, *cluster.Name, nil) - if err != nil { - return err - } - res <- resp.ManagedClusterUpgradeProfile - return nil -} - -func createManagedClusterUpgradeProfile(router *mux.Router) error { - var item armcontainerservice.ManagedClustersClientGetUpgradeProfileResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{group}/providers/Microsoft.ContainerService/managedClusters/{cluster}/upgradeProfiles/default", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/containerservice/managed_clusters.go b/plugins/source/azure/resources/services/containerservice/managed_clusters.go deleted file mode 100644 index 8f2af1ef48821a..00000000000000 --- a/plugins/source/azure/resources/services/containerservice/managed_clusters.go +++ /dev/null @@ -1,40 +0,0 @@ -package containerservice - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ManagedClusters() *schema.Table { - return &schema.Table{ - Name: "azure_containerservice_managed_clusters", - Resolver: fetchManagedClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/aks/managed-clusters/list?tabs=HTTP#managedcluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerservice_managed_clusters", client.Namespacemicrosoft_containerservice), - Transform: transformers.TransformWithStruct(&armcontainerservice.ManagedCluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{clusterUpgradeProfiles()}, - } -} - -func fetchManagedClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcontainerservice.NewManagedClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go b/plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go deleted file mode 100644 index e30ae36f8154a2..00000000000000 --- a/plugins/source/azure/resources/services/containerservice/managed_clusters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package containerservice - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createManagedClusters(router *mux.Router) error { - var item armcontainerservice.ManagedClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createManagedClusterUpgradeProfile(router) -} - -func TestManagedClusters(t *testing.T) { - client.MockTestHelper(t, ManagedClusters(), createManagedClusters) -} diff --git a/plugins/source/azure/resources/services/containerservice/snapshots.go b/plugins/source/azure/resources/services/containerservice/snapshots.go deleted file mode 100644 index 674ebcc956c3ba..00000000000000 --- a/plugins/source/azure/resources/services/containerservice/snapshots.go +++ /dev/null @@ -1,39 +0,0 @@ -package containerservice - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Snapshots() *schema.Table { - return &schema.Table{ - Name: "azure_containerservice_snapshots", - Resolver: fetchSnapshots, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/aks/snapshots/list?tabs=HTTP#snapshot", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_containerservice_snapshots", client.Namespacemicrosoft_containerservice), - Transform: transformers.TransformWithStruct(&armcontainerservice.Snapshot{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSnapshots(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcontainerservice.NewSnapshotsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go b/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go deleted file mode 100644 index 94edc7bf98fc01..00000000000000 --- a/plugins/source/azure/resources/services/containerservice/snapshots_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package containerservice - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSnapshots(router *mux.Router) error { - var item armcontainerservice.SnapshotsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSnapshots(t *testing.T) { - client.MockTestHelper(t, Snapshots(), createSnapshots) -} diff --git a/plugins/source/azure/resources/services/costmanagement/daterange.go b/plugins/source/azure/resources/services/costmanagement/daterange.go deleted file mode 100644 index 04b7956d4c16c7..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/daterange.go +++ /dev/null @@ -1,93 +0,0 @@ -package costmanagement - -import ( - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" -) - -func timePtr(t time.Time) *time.Time { - return &t -} - -func ttPtr(v armcostmanagement.TimeframeType) *armcostmanagement.TimeframeType { - return &v -} - -func dateRangeToTimeFrame(now time.Time, dr string) (*armcostmanagement.TimeframeType, *armcostmanagement.QueryTimePeriod) { - quarterStart := func(t time.Time) time.Time { - var m time.Month - switch t.Month() { - case time.January, time.February, time.March: - m = time.January - case time.April, time.May, time.June: - m = time.April - case time.July, time.August, time.September: - m = time.July - case time.October, time.November, time.December: - m = time.October - } - return time.Date(t.Year(), m, 1, 0, 0, 0, 0, t.Location()) - } - - now = now.Truncate(24 * time.Hour) - - switch dr { - case "Last7Days": - now = now.AddDate(0, 0, -1) // ends yesterday - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: timePtr(now.AddDate(0, 0, -6)), - To: timePtr(now), - } - case "Last30Days": - now = now.AddDate(0, 0, -1) // ends yesterday - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: timePtr(now.AddDate(0, 0, -29)), - To: timePtr(now), - } - case "Last3Months", "Last6Months", "Last12Months": - e := now.AddDate(0, 0, -now.Day()+1).Add(-time.Second) // last second of last month - s := e.AddDate(0, map[string]int{ - "Last3Months": -2, - "Last6Months": -5, - "Last12Months": -11, - }[dr], 0) - s = s.AddDate(0, 0, -s.Day()+1).Truncate(24 * time.Hour) // first day - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: &s, - To: &e, - } - case "ThisMonth": - return ttPtr(armcostmanagement.TimeframeTypeMonthToDate), nil - case "LastMonth": - return ttPtr(armcostmanagement.TimeframeTypeTheLastMonth), nil - case "CurrentBillingPeriod": - return ttPtr(armcostmanagement.TimeframeTypeBillingMonthToDate), nil - case "LastBillingPeriod": - return ttPtr(armcostmanagement.TimeframeTypeTheLastBillingMonth), nil - case "ThisQuarter": - qs := quarterStart(now) - next := qs.AddDate(0, 3, 15) // 15 days into next quarter - qe := quarterStart(next).Add(-time.Second) // one second before first day of this quarter - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: &qs, - To: &qe, - } - case "LastQuarter": - qe := quarterStart(now).Add(-time.Second) // one second before first day of this quarter - qs := quarterStart(qe) - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: &qs, - To: &qe, - } - case "ThisYear": - s := time.Date(now.Year(), time.January, 1, 0, 0, 0, 0, now.Location()) - e := time.Date(now.Year(), time.December, 31, 23, 59, 59, 0, now.Location()) - return ttPtr(armcostmanagement.TimeframeTypeCustom), &armcostmanagement.QueryTimePeriod{ - From: &s, - To: &e, - } - default: - return nil, nil - } -} diff --git a/plugins/source/azure/resources/services/costmanagement/daterange_test.go b/plugins/source/azure/resources/services/costmanagement/daterange_test.go deleted file mode 100644 index 31395a1fe825cf..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/daterange_test.go +++ /dev/null @@ -1,140 +0,0 @@ -package costmanagement - -import ( - "fmt" - "testing" - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/stretchr/testify/assert" -) - -func TestDateRangeToTimeframe(t *testing.T) { - cases := []struct { - rangeType string - now time.Time - wantTT *armcostmanagement.TimeframeType - wantQP *armcostmanagement.QueryTimePeriod - }{ - { - "Last7Days", - time.Date(2023, 3, 2, 15, 59, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, 2, 23, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, 3, 1, 0, 0, 0, 0, time.UTC)), - }, - }, - { - "Last30Days", - time.Date(2023, 3, 2, 15, 59, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, 1, 31, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, 3, 1, 0, 0, 0, 0, time.UTC)), - }, - }, - { - "ThisMonth", - time.Date(2023, 1, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeMonthToDate), - nil, - }, - { - "LastMonth", - time.Date(2023, 1, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeTheLastMonth), - nil, - }, - { - "Last3Months", - time.Date(2023, 3, 2, 15, 59, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2022, 12, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, 2, 28, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "Last6Months", - time.Date(2023, 3, 2, 15, 59, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2022, 9, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, 2, 28, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "Last12Months", - time.Date(2023, 3, 2, 15, 59, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2022, 3, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, 2, 28, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "ThisQuarter", - time.Date(2023, 1, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.January, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.March, 31, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "ThisQuarter", - time.Date(2023, 5, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.April, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.June, 30, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "ThisQuarter", - time.Date(2023, 8, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.July, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.September, 30, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "ThisQuarter", - time.Date(2023, 11, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.October, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.December, 31, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "LastQuarter", - time.Date(2023, 11, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.July, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.September, 30, 23, 59, 59, 0, time.UTC)), - }, - }, - { - "ThisYear", - time.Date(2023, 11, 15, 0, 0, 0, 0, time.UTC), - ttPtr(armcostmanagement.TimeframeTypeCustom), - &armcostmanagement.QueryTimePeriod{ - From: timePtr(time.Date(2023, time.January, 1, 0, 0, 0, 0, time.UTC)), - To: timePtr(time.Date(2023, time.December, 31, 23, 59, 59, 0, time.UTC)), - }, - }, - } - - for i, tc := range cases { - tc := tc - t.Run(fmt.Sprintf("#%d: %s", i, tc.rangeType), func(t *testing.T) { - tt, qp := dateRangeToTimeFrame(tc.now, tc.rangeType) - assert.Equal(t, tc.wantTT, tt) - assert.Equal(t, tc.wantQP, qp) - }) - } -} diff --git a/plugins/source/azure/resources/services/costmanagement/view_queries.go b/plugins/source/azure/resources/services/costmanagement/view_queries.go deleted file mode 100644 index ec3e38f6fd544b..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/view_queries.go +++ /dev/null @@ -1,21 +0,0 @@ -package costmanagement - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func view_queries() *schema.Table { - return &schema.Table{ - Name: "azure_costmanagement_view_queries", - Resolver: fetchViewQueries, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cost-management/query/usage?tabs=HTTP#queryresult", - Transform: transformers.TransformWithStruct(&armcostmanagement.QueryResult{}, - transformers.WithNameTransformer(client.ETagNameTransformer), - transformers.WithPrimaryKeys("ID"), - ), - } -} diff --git a/plugins/source/azure/resources/services/costmanagement/view_queries_fetch.go b/plugins/source/azure/resources/services/costmanagement/view_queries_fetch.go deleted file mode 100644 index 45a1ba1befc60d..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/view_queries_fetch.go +++ /dev/null @@ -1,53 +0,0 @@ -package costmanagement - -import ( - "context" - "encoding/json" - "fmt" - "time" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchViewQueries(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - item := parent.Item.(*armcostmanagement.View) - if item.Properties == nil { - return nil - } - - svc, err := armcostmanagement.NewQueryClient(cl.Creds, cl.Options) - if err != nil { - return err - } - - b, err := json.Marshal(item.Properties.Query) - if err != nil { - return err - } - var qd armcostmanagement.QueryDefinition - if err := json.Unmarshal(b, &qd); err != nil { - return err - } - - if (qd.Timeframe == nil || *qd.Timeframe != armcostmanagement.TimeframeTypeCustom) && qd.TimePeriod == nil && item.Properties.DateRange != nil { - qd.Timeframe, qd.TimePeriod = dateRangeToTimeFrame(time.Now().UTC(), *item.Properties.DateRange) - if qd.Timeframe != nil { - cl.Logger().Debug().Any("report_name", item.Name).Str("date_range", *item.Properties.DateRange).Any("resulting_time_period", qd.TimePeriod).Any("resulting_timeframe", qd.Timeframe).Msg("setting time period from date range") - } - } - - if qd.Timeframe == nil && item.Properties.DateRange != nil { - return fmt.Errorf("could not convert date range %q to time period", *item.Properties.DateRange) - } - - data, err := svc.Usage(ctx, *item.Properties.Scope, qd, nil) - if err != nil { - return err - } - - res <- data - return nil -} diff --git a/plugins/source/azure/resources/services/costmanagement/view_queries_mock_test.go b/plugins/source/azure/resources/services/costmanagement/view_queries_mock_test.go deleted file mode 100644 index b8d9c1f679db7c..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/view_queries_mock_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package costmanagement - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createViewQueries(router *mux.Router) error { - var item armcostmanagement.QueryClientUsageResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/{scope}/providers/Microsoft.CostManagement/query", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/costmanagement/views.go b/plugins/source/azure/resources/services/costmanagement/views.go deleted file mode 100644 index 2829be620bb788..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/views.go +++ /dev/null @@ -1,45 +0,0 @@ -package costmanagement - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Views() *schema.Table { - return &schema.Table{ - Name: "azure_costmanagement_views", - Resolver: fetchViews, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/cost-management/views/list?tabs=HTTP#view", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_costmanagement_views", client.Namespacemicrosoft_costmanagement), - Transform: transformers.TransformWithStruct(&armcostmanagement.View{}, - transformers.WithNameTransformer(client.ETagNameTransformer), - transformers.WithPrimaryKeys("ID"), - ), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - view_queries(), - }, - } -} - -func fetchViews(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcostmanagement.NewViewsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListByScopePager("subscriptions/"+cl.SubscriptionId, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/costmanagement/views_mock_test.go b/plugins/source/azure/resources/services/costmanagement/views_mock_test.go deleted file mode 100644 index fa2ccc78d0c2f6..00000000000000 --- a/plugins/source/azure/resources/services/costmanagement/views_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package costmanagement - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createViews(router *mux.Router) error { - var item armcostmanagement.ViewsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/views", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createViewQueries(router) -} - -func TestViews(t *testing.T) { - client.MockTestHelper(t, Views(), createViews) -} diff --git a/plugins/source/azure/resources/services/customerinsights/hubs.go b/plugins/source/azure/resources/services/customerinsights/hubs.go deleted file mode 100644 index 5daf52c9ff1278..00000000000000 --- a/plugins/source/azure/resources/services/customerinsights/hubs.go +++ /dev/null @@ -1,39 +0,0 @@ -package customerinsights - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/customerinsights/armcustomerinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Hubs() *schema.Table { - return &schema.Table{ - Name: "azure_customerinsights_hubs", - Resolver: fetchHubs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/customerinsights/armcustomerinsights@v1.0.0#Hub", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_customerinsights_hubs", client.Namespacemicrosoft_customerinsights), - Transform: transformers.TransformWithStruct(&armcustomerinsights.Hub{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchHubs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armcustomerinsights.NewHubsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go b/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go deleted file mode 100644 index 689cbe3ebd9437..00000000000000 --- a/plugins/source/azure/resources/services/customerinsights/hubs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package customerinsights - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/customerinsights/armcustomerinsights" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createHubs(router *mux.Router) error { - var item armcustomerinsights.HubsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.CustomerInsights/hubs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestHubs(t *testing.T) { - client.MockTestHelper(t, Hubs(), createHubs) -} diff --git a/plugins/source/azure/resources/services/dashboard/grafana.go b/plugins/source/azure/resources/services/dashboard/grafana.go deleted file mode 100644 index b0e78ea7578e2f..00000000000000 --- a/plugins/source/azure/resources/services/dashboard/grafana.go +++ /dev/null @@ -1,39 +0,0 @@ -package dashboard - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dashboard/armdashboard" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Grafana() *schema.Table { - return &schema.Table{ - Name: "azure_dashboard_grafana", - Resolver: fetchGrafana, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/managed-grafana/grafana/list-by-resource-group?tabs=HTTP#managedgrafana", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dashboard_grafana", client.Namespacemicrosoft_dashboard), - Transform: transformers.TransformWithStruct(&armdashboard.ManagedGrafana{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchGrafana(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdashboard.NewGrafanaClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go b/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go deleted file mode 100644 index d1389a6da5c6a5..00000000000000 --- a/plugins/source/azure/resources/services/dashboard/grafana_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package dashboard - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dashboard/armdashboard" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createGrafana(router *mux.Router) error { - var item armdashboard.GrafanaClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Dashboard/grafana", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestGrafana(t *testing.T) { - client.MockTestHelper(t, Grafana(), createGrafana) -} diff --git a/plugins/source/azure/resources/services/databox/jobs.go b/plugins/source/azure/resources/services/databox/jobs.go deleted file mode 100644 index 32a6d3b5bf87f0..00000000000000 --- a/plugins/source/azure/resources/services/databox/jobs.go +++ /dev/null @@ -1,39 +0,0 @@ -package databox - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Jobs() *schema.Table { - return &schema.Table{ - Name: "azure_databox_jobs", - Resolver: fetchJobs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox@v1.0.0#JobResource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_databox_jobs", client.Namespacemicrosoft_databox), - Transform: transformers.TransformWithStruct(&armdatabox.JobResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchJobs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatabox.NewJobsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/databox/jobs_mock_test.go b/plugins/source/azure/resources/services/databox/jobs_mock_test.go deleted file mode 100644 index ff40fa9cd61d20..00000000000000 --- a/plugins/source/azure/resources/services/databox/jobs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package databox - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createJobs(router *mux.Router) error { - var item armdatabox.JobsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestJobs(t *testing.T) { - client.MockTestHelper(t, Jobs(), createJobs) -} diff --git a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go b/plugins/source/azure/resources/services/datadog/marketplace_agreements.go deleted file mode 100644 index 79b79655e3fa81..00000000000000 --- a/plugins/source/azure/resources/services/datadog/marketplace_agreements.go +++ /dev/null @@ -1,39 +0,0 @@ -package datadog - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datadog/armdatadog" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func MarketplaceAgreements() *schema.Table { - return &schema.Table{ - Name: "azure_datadog_marketplace_agreements", - Resolver: fetchMarketplaceAgreements, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datadog/marketplace-agreements/list?tabs=HTTP#datadogagreementresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datadog_marketplace_agreements", client.Namespacemicrosoft_datadog), - Transform: transformers.TransformWithStruct(&armdatadog.AgreementResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchMarketplaceAgreements(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatadog.NewMarketplaceAgreementsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go b/plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go deleted file mode 100644 index 7b225c6f97106a..00000000000000 --- a/plugins/source/azure/resources/services/datadog/marketplace_agreements_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datadog - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datadog/armdatadog" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createMarketplaceAgreements(router *mux.Router) error { - var item armdatadog.MarketplaceAgreementsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/agreements", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestMarketplaceAgreements(t *testing.T) { - client.MockTestHelper(t, MarketplaceAgreements(), createMarketplaceAgreements) -} diff --git a/plugins/source/azure/resources/services/datadog/monitors.go b/plugins/source/azure/resources/services/datadog/monitors.go deleted file mode 100644 index d686f679a86909..00000000000000 --- a/plugins/source/azure/resources/services/datadog/monitors.go +++ /dev/null @@ -1,39 +0,0 @@ -package datadog - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datadog/armdatadog" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Monitors() *schema.Table { - return &schema.Table{ - Name: "azure_datadog_monitors", - Resolver: fetchMonitors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datadog/monitors/list?tabs=HTTP#datadogmonitorresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datadog_monitors", client.Namespacemicrosoft_datadog), - Transform: transformers.TransformWithStruct(&armdatadog.MonitorResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchMonitors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatadog.NewMonitorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datadog/monitors_mock_test.go b/plugins/source/azure/resources/services/datadog/monitors_mock_test.go deleted file mode 100644 index 8fcb5b62299a64..00000000000000 --- a/plugins/source/azure/resources/services/datadog/monitors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datadog - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datadog/armdatadog" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createMonitors(router *mux.Router) error { - var item armdatadog.MonitorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Datadog/monitors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestMonitors(t *testing.T) { - client.MockTestHelper(t, Monitors(), createMonitors) -} diff --git a/plugins/source/azure/resources/services/datafactory/factories.go b/plugins/source/azure/resources/services/datafactory/factories.go deleted file mode 100644 index 47ff1407ac4ad4..00000000000000 --- a/plugins/source/azure/resources/services/datafactory/factories.go +++ /dev/null @@ -1,42 +0,0 @@ -package datafactory - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory/v3" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Factories() *schema.Table { - return &schema.Table{ - Name: "azure_datafactory_factories", - Resolver: fetchFactories, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datafactory/factories/list?tabs=HTTP#factory", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datafactory_factories", client.Namespacemicrosoft_datafactory), - Transform: transformers.TransformWithStruct(&armdatafactory.Factory{}, - transformers.WithNameTransformer(client.ETagNameTransformer), - transformers.WithPrimaryKeys("ID"), - ), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchFactories(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatafactory.NewFactoriesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datafactory/factories_mock_test.go b/plugins/source/azure/resources/services/datafactory/factories_mock_test.go deleted file mode 100644 index f8ee4382d612de..00000000000000 --- a/plugins/source/azure/resources/services/datafactory/factories_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datafactory - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory/v3" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createFactories(router *mux.Router) error { - var item armdatafactory.FactoriesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - item.Value[0].AdditionalProperties = map[string]any{"test-key": "test-value"} - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestFactories(t *testing.T) { - client.MockTestHelper(t, Factories(), createFactories) -} diff --git a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go b/plugins/source/azure/resources/services/datalakeanalytics/accounts.go deleted file mode 100644 index 1ed6c9e38ee903..00000000000000 --- a/plugins/source/azure/resources/services/datalakeanalytics/accounts.go +++ /dev/null @@ -1,39 +0,0 @@ -package datalakeanalytics - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datalake-analytics/armdatalakeanalytics" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Accounts() *schema.Table { - return &schema.Table{ - Name: "azure_datalakeanalytics_accounts", - Resolver: fetchAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datalakeanalytics/accounts/list?tabs=HTTP#datalakeanalyticsaccountbasic", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datalakeanalytics_accounts", client.Namespacemicrosoft_datalakeanalytics), - Transform: transformers.TransformWithStruct(&armdatalakeanalytics.AccountBasic{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatalakeanalytics.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go b/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go deleted file mode 100644 index e2e4e0f1156f9b..00000000000000 --- a/plugins/source/azure/resources/services/datalakeanalytics/accounts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datalakeanalytics - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datalake-analytics/armdatalakeanalytics" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccounts(router *mux.Router) error { - var item armdatalakeanalytics.AccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeAnalytics/accounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAccounts(t *testing.T) { - client.MockTestHelper(t, Accounts(), createAccounts) -} diff --git a/plugins/source/azure/resources/services/datalakestore/accounts.go b/plugins/source/azure/resources/services/datalakestore/accounts.go deleted file mode 100644 index 56a84cce2e6511..00000000000000 --- a/plugins/source/azure/resources/services/datalakestore/accounts.go +++ /dev/null @@ -1,39 +0,0 @@ -package datalakestore - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datalake-store/armdatalakestore" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Accounts() *schema.Table { - return &schema.Table{ - Name: "azure_datalakestore_accounts", - Resolver: fetchAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datalakestore/accounts/list?tabs=HTTP#datalakestoreaccountbasic", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datalakestore_accounts", client.Namespacemicrosoft_datalakestore), - Transform: transformers.TransformWithStruct(&armdatalakestore.AccountBasic{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatalakestore.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go b/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go deleted file mode 100644 index ef6022d3065a20..00000000000000 --- a/plugins/source/azure/resources/services/datalakestore/accounts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datalakestore - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datalake-store/armdatalakestore" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccounts(router *mux.Router) error { - var item armdatalakestore.AccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DataLakeStore/accounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAccounts(t *testing.T) { - client.MockTestHelper(t, Accounts(), createAccounts) -} diff --git a/plugins/source/azure/resources/services/datamigration/services.go b/plugins/source/azure/resources/services/datamigration/services.go deleted file mode 100644 index 9a9c5305424815..00000000000000 --- a/plugins/source/azure/resources/services/datamigration/services.go +++ /dev/null @@ -1,39 +0,0 @@ -package datamigration - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datamigration/armdatamigration" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Services() *schema.Table { - return &schema.Table{ - Name: "azure_datamigration_services", - Resolver: fetchServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/datamigration/services/list?tabs=HTTP#datamigrationservice", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_datamigration_services", client.Namespacemicrosoft_datamigration), - Transform: transformers.TransformWithStruct(&armdatamigration.Service{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdatamigration.NewServicesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/datamigration/services_mock_test.go b/plugins/source/azure/resources/services/datamigration/services_mock_test.go deleted file mode 100644 index b43eb6252ee8d4..00000000000000 --- a/plugins/source/azure/resources/services/datamigration/services_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package datamigration - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datamigration/armdatamigration" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServices(router *mux.Router) error { - var item armdatamigration.ServicesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServices(t *testing.T) { - client.MockTestHelper(t, Services(), createServices) -} diff --git a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go b/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go deleted file mode 100644 index 7fcaf6c411817d..00000000000000 --- a/plugins/source/azure/resources/services/desktopvirtualization/host_pools.go +++ /dev/null @@ -1,39 +0,0 @@ -package desktopvirtualization - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/desktopvirtualization/armdesktopvirtualization/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func HostPools() *schema.Table { - return &schema.Table{ - Name: "azure_desktopvirtualization_host_pools", - Resolver: fetchHostPools, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/desktopvirtualization/host-pools/list?tabs=HTTP#hostpool", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_desktopvirtualization_host_pools", client.Namespacemicrosoft_desktopvirtualization), - Transform: transformers.TransformWithStruct(&armdesktopvirtualization.HostPool{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchHostPools(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdesktopvirtualization.NewHostPoolsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go b/plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go deleted file mode 100644 index 060dd033f2812b..00000000000000 --- a/plugins/source/azure/resources/services/desktopvirtualization/host_pools_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package desktopvirtualization - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/desktopvirtualization/armdesktopvirtualization/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createHostPools(router *mux.Router) error { - var item armdesktopvirtualization.HostPoolsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestHostPools(t *testing.T) { - client.MockTestHelper(t, HostPools(), createHostPools) -} diff --git a/plugins/source/azure/resources/services/devhub/workflow.go b/plugins/source/azure/resources/services/devhub/workflow.go deleted file mode 100644 index 870afff9a132b2..00000000000000 --- a/plugins/source/azure/resources/services/devhub/workflow.go +++ /dev/null @@ -1,39 +0,0 @@ -package devhub - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devhub/armdevhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Workflow() *schema.Table { - return &schema.Table{ - Name: "azure_devhub_workflow", - Resolver: fetchWorkflow, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devhub/armdevhub@v0.2.0#Workflow", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_devhub_workflow", client.Namespacemicrosoft_devhub), - Transform: transformers.TransformWithStruct(&armdevhub.Workflow{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWorkflow(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdevhub.NewWorkflowClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/devhub/workflow_mock_test.go b/plugins/source/azure/resources/services/devhub/workflow_mock_test.go deleted file mode 100644 index 843ec4798fad25..00000000000000 --- a/plugins/source/azure/resources/services/devhub/workflow_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package devhub - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devhub/armdevhub" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWorkflow(router *mux.Router) error { - var item armdevhub.WorkflowClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.DevHub/workflows", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWorkflow(t *testing.T) { - client.MockTestHelper(t, Workflow(), createWorkflow) -} diff --git a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go b/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go deleted file mode 100644 index 8a107436bac094..00000000000000 --- a/plugins/source/azure/resources/services/devops/pipeline_template_definitions.go +++ /dev/null @@ -1,39 +0,0 @@ -package devops - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devops/armdevops" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PipelineTemplateDefinitions() *schema.Table { - return &schema.Table{ - Name: "azure_devops_pipeline_template_definitions", - Resolver: fetchPipelineTemplateDefinitions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devops/armdevops@v0.5.0#PipelineTemplateDefinition", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_devops_pipeline_template_definitions", client.Namespacemicrosoft_devops), - Transform: transformers.TransformWithStruct(&armdevops.PipelineTemplateDefinition{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPipelineTemplateDefinitions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdevops.NewPipelineTemplateDefinitionsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/devops/pipeline_template_definitions_mock_test.go b/plugins/source/azure/resources/services/devops/pipeline_template_definitions_mock_test.go deleted file mode 100644 index 8dbbc1217cfc30..00000000000000 --- a/plugins/source/azure/resources/services/devops/pipeline_template_definitions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package devops - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/devops/armdevops" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPipelineTemplateDefinitions(router *mux.Router) error { - var item armdevops.PipelineTemplateDefinitionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.DevOps/pipelineTemplateDefinitions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPipelineTemplateDefinitions(t *testing.T) { - client.MockTestHelper(t, PipelineTemplateDefinitions(), createPipelineTemplateDefinitions) -} diff --git a/plugins/source/azure/resources/services/dns/record_sets.go b/plugins/source/azure/resources/services/dns/record_sets.go deleted file mode 100644 index 97d2217b1797ef..00000000000000 --- a/plugins/source/azure/resources/services/dns/record_sets.go +++ /dev/null @@ -1,72 +0,0 @@ -package dns - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func recordSets() *schema.Table { - return &schema.Table{ - Name: "azure_dns_record_sets", - Resolver: fetchRecordSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/record-sets/list-by-dns-zone?tabs=HTTP#recordset", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dns_record_sets", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armdns.RecordSet{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRecordSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - zone := parent.Item.(*armdns.Zone) - svc, err := armdns.NewRecordSetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*zone.ID) - if err != nil { - return err - } - pager := svc.NewListByDNSZonePager(group, *zone.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} - -func createMockRecordSets(router *mux.Router) error { - var item armdns.RecordSetsClientListByDNSZoneResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsZones/{zoneName}/recordsets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/dns/zones.go b/plugins/source/azure/resources/services/dns/zones.go deleted file mode 100644 index 0bfca812bf0630..00000000000000 --- a/plugins/source/azure/resources/services/dns/zones.go +++ /dev/null @@ -1,42 +0,0 @@ -package dns - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Zones() *schema.Table { - return &schema.Table{ - Name: "azure_dns_zones", - Resolver: fetchZones, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/zones/list?tabs=HTTP#zone", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dns_zones", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armdns.Zone{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - recordSets(), - }, - } -} - -func fetchZones(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdns.NewZonesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/dns/zones_mock_test.go b/plugins/source/azure/resources/services/dns/zones_mock_test.go deleted file mode 100644 index 7234bd27bb2e8a..00000000000000 --- a/plugins/source/azure/resources/services/dns/zones_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package dns - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createZones(router *mux.Router) error { - var item armdns.ZonesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnszones", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createMockRecordSets(router) -} - -func TestZones(t *testing.T) { - client.MockTestHelper(t, Zones(), createZones) -} diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go deleted file mode 100644 index 203dcab7d0a594..00000000000000 --- a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets.go +++ /dev/null @@ -1,39 +0,0 @@ -package dnsresolver - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dnsresolver/armdnsresolver" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DnsForwardingRulesets() *schema.Table { - return &schema.Table{ - Name: "azure_dnsresolver_dns_forwarding_rulesets", - Resolver: fetchDnsForwardingRulesets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/dnsresolver/dns-forwarding-rulesets/list?tabs=HTTP#dnsforwardingruleset", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dnsresolver_dns_forwarding_rulesets", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armdnsresolver.DNSForwardingRuleset{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDnsForwardingRulesets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdnsresolver.NewDNSForwardingRulesetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets_mock_test.go b/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets_mock_test.go deleted file mode 100644 index 209a2897e5d4c5..00000000000000 --- a/plugins/source/azure/resources/services/dnsresolver/dns_forwarding_rulesets_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package dnsresolver - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dnsresolver/armdnsresolver" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDnsForwardingRulesets(router *mux.Router) error { - var item armdnsresolver.DNSForwardingRulesetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDnsForwardingRulesets(t *testing.T) { - client.MockTestHelper(t, DnsForwardingRulesets(), createDnsForwardingRulesets) -} diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go deleted file mode 100644 index 8c5d51d09dcf54..00000000000000 --- a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers.go +++ /dev/null @@ -1,39 +0,0 @@ -package dnsresolver - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dnsresolver/armdnsresolver" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DnsResolvers() *schema.Table { - return &schema.Table{ - Name: "azure_dnsresolver_dns_resolvers", - Resolver: fetchDnsResolvers, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/dnsresolver/dns-resolvers/list?tabs=HTTP#dnsresolver", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_dnsresolver_dns_resolvers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armdnsresolver.DNSResolver{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDnsResolvers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armdnsresolver.NewDNSResolversClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go b/plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go deleted file mode 100644 index 199b1682311c23..00000000000000 --- a/plugins/source/azure/resources/services/dnsresolver/dns_resolvers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package dnsresolver - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dnsresolver/armdnsresolver" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDnsResolvers(router *mux.Router) error { - var item armdnsresolver.DNSResolversClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDnsResolvers(t *testing.T) { - client.MockTestHelper(t, DnsResolvers(), createDnsResolvers) -} diff --git a/plugins/source/azure/resources/services/elastic/monitors.go b/plugins/source/azure/resources/services/elastic/monitors.go deleted file mode 100644 index 3d0005141f3a68..00000000000000 --- a/plugins/source/azure/resources/services/elastic/monitors.go +++ /dev/null @@ -1,39 +0,0 @@ -package elastic - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/elastic/armelastic" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Monitors() *schema.Table { - return &schema.Table{ - Name: "azure_elastic_monitors", - Resolver: fetchMonitors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/elastic/monitors/list?tabs=HTTP#elasticmonitorresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_elastic_monitors", client.Namespacemicrosoft_elastic), - Transform: transformers.TransformWithStruct(&armelastic.MonitorResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchMonitors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armelastic.NewMonitorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/elastic/monitors_mock_test.go b/plugins/source/azure/resources/services/elastic/monitors_mock_test.go deleted file mode 100644 index 7b60c73e2758d7..00000000000000 --- a/plugins/source/azure/resources/services/elastic/monitors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package elastic - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/elastic/armelastic" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createMonitors(router *mux.Router) error { - var item armelastic.MonitorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Elastic/monitors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestMonitors(t *testing.T) { - client.MockTestHelper(t, Monitors(), createMonitors) -} diff --git a/plugins/source/azure/resources/services/engagementfabric/accounts.go b/plugins/source/azure/resources/services/engagementfabric/accounts.go deleted file mode 100644 index 78d57f7b36eb15..00000000000000 --- a/plugins/source/azure/resources/services/engagementfabric/accounts.go +++ /dev/null @@ -1,39 +0,0 @@ -package engagementfabric - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/engagementfabric/armengagementfabric" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Accounts() *schema.Table { - return &schema.Table{ - Name: "azure_engagementfabric_accounts", - Resolver: fetchAccounts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/engagementfabric/armengagementfabric@v0.1.0#Account", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_engagementfabric_accounts", client.Namespacemicrosoft_engagementfabric), - Transform: transformers.TransformWithStruct(&armengagementfabric.Account{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAccounts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armengagementfabric.NewAccountsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go b/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go deleted file mode 100644 index 6938d705570b7b..00000000000000 --- a/plugins/source/azure/resources/services/engagementfabric/accounts_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package engagementfabric - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/engagementfabric/armengagementfabric" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAccounts(router *mux.Router) error { - var item armengagementfabric.AccountsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.EngagementFabric/Accounts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAccounts(t *testing.T) { - client.MockTestHelper(t, Accounts(), createAccounts) -} diff --git a/plugins/source/azure/resources/services/eventgrid/topic_types.go b/plugins/source/azure/resources/services/eventgrid/topic_types.go deleted file mode 100644 index 95e5a641bb6fa5..00000000000000 --- a/plugins/source/azure/resources/services/eventgrid/topic_types.go +++ /dev/null @@ -1,37 +0,0 @@ -package eventgrid - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventgrid/armeventgrid/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func TopicTypes() *schema.Table { - return &schema.Table{ - Name: "azure_eventgrid_topic_types", - Resolver: fetchTopicTypes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/eventgrid/controlplane-version2022-06-15/topic-types/list?tabs=HTTP#topictypeinfo", - Transform: transformers.TransformWithStruct(&armeventgrid.TopicTypeInfo{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchTopicTypes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armeventgrid.NewTopicTypesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go b/plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go deleted file mode 100644 index 262b19d31c05ad..00000000000000 --- a/plugins/source/azure/resources/services/eventgrid/topic_types_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package eventgrid - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventgrid/armeventgrid/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTopicTypes(router *mux.Router) error { - var item armeventgrid.TopicTypesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.EventGrid/topicTypes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTopicTypes(t *testing.T) { - client.MockTestHelper(t, TopicTypes(), createTopicTypes) -} diff --git a/plugins/source/azure/resources/services/eventhub/namespaces.go b/plugins/source/azure/resources/services/eventhub/namespaces.go deleted file mode 100644 index 8c5fc409421351..00000000000000 --- a/plugins/source/azure/resources/services/eventhub/namespaces.go +++ /dev/null @@ -1,42 +0,0 @@ -package eventhub - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Namespaces() *schema.Table { - return &schema.Table{ - Name: "azure_eventhub_namespaces", - Resolver: fetchNamespaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/eventhub/stable/namespaces/list?tabs=HTTP#ehnamespace", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_eventhub_namespaces", client.Namespacemicrosoft_eventhub), - Transform: transformers.TransformWithStruct(&armeventhub.EHNamespace{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - namespaceNetworkRuleSets(), - }, - } -} - -func fetchNamespaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armeventhub.NewNamespacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go b/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go deleted file mode 100644 index 2a6df85e704889..00000000000000 --- a/plugins/source/azure/resources/services/eventhub/namespaces_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package eventhub - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNamespaces(router *mux.Router) error { - var item armeventhub.NamespacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.EventHub/namespaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createNamespaceRuleSets(router) -} - -func TestNamespaces(t *testing.T) { - client.MockTestHelper(t, Namespaces(), createNamespaces) -} diff --git a/plugins/source/azure/resources/services/eventhub/network_rule_sets.go b/plugins/source/azure/resources/services/eventhub/network_rule_sets.go deleted file mode 100644 index 4144c0ca40c11f..00000000000000 --- a/plugins/source/azure/resources/services/eventhub/network_rule_sets.go +++ /dev/null @@ -1,43 +0,0 @@ -package eventhub - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func namespaceNetworkRuleSets() *schema.Table { - return &schema.Table{ - Name: "azure_eventhub_namespace_network_rule_sets", - Resolver: fetchNetworkRuleSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/eventhub/stable/network-rule-sets/list-network-rule-set?tabs=HTTP#networkruleset", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_eventhub_network_rule_sets", client.Namespacemicrosoft_eventhub), - Transform: transformers.TransformWithStruct(&armeventhub.NetworkRuleSet{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchNetworkRuleSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armeventhub.EHNamespace) - cl := meta.(*client.Client) - svc, err := armeventhub.NewNamespacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - - resp, err := svc.ListNetworkRuleSet(ctx, group, *p.Name, nil) - if err != nil { - return err - } - res <- resp.Value - - return nil -} diff --git a/plugins/source/azure/resources/services/eventhub/network_rule_sets_mock_test.go b/plugins/source/azure/resources/services/eventhub/network_rule_sets_mock_test.go deleted file mode 100644 index 83d9487cfd04f6..00000000000000 --- a/plugins/source/azure/resources/services/eventhub/network_rule_sets_mock_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package eventhub - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventhub/armeventhub" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNamespaceRuleSets(router *mux.Router) error { - var item armeventhub.NamespacesClientListNetworkRuleSetResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.EventHub/namespaces/test string/networkRuleSets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/frontdoor/front_doors.go b/plugins/source/azure/resources/services/frontdoor/front_doors.go deleted file mode 100644 index ee5bdc2808b358..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/front_doors.go +++ /dev/null @@ -1,39 +0,0 @@ -package frontdoor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func FrontDoors() *schema.Table { - return &schema.Table{ - Name: "azure_frontdoor_front_doors", - Resolver: fetchFrontDoors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/frontdoorservice/frontdoor/front-doors/list?tabs=HTTP#frontdoor", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_front_doors", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armfrontdoor.FrontDoor{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchFrontDoors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armfrontdoor.NewFrontDoorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go b/plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go deleted file mode 100644 index fe1ccefdc7d14f..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/front_doors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package frontdoor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createFrontDoors(router *mux.Router) error { - var item armfrontdoor.FrontDoorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestFrontDoors(t *testing.T) { - client.MockTestHelper(t, FrontDoors(), createFrontDoors) -} diff --git a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go deleted file mode 100644 index b611c9491b93be..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets.go +++ /dev/null @@ -1,39 +0,0 @@ -package frontdoor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ManagedRuleSets() *schema.Table { - return &schema.Table{ - Name: "azure_frontdoor_managed_rule_sets", - Resolver: fetchManagedRuleSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/frontdoor/webapplicationfirewall/managed-rule-sets/list#managedrulesetdefinition", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_managed_rule_sets", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armfrontdoor.ManagedRuleSetDefinition{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchManagedRuleSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armfrontdoor.NewManagedRuleSetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets_mock_test.go b/plugins/source/azure/resources/services/frontdoor/managed_rule_sets_mock_test.go deleted file mode 100644 index b450db24f835b6..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/managed_rule_sets_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package frontdoor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createManagedRuleSets(router *mux.Router) error { - var item armfrontdoor.ManagedRuleSetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestManagedRuleSets(t *testing.T) { - client.MockTestHelper(t, ManagedRuleSets(), createManagedRuleSets) -} diff --git a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go deleted file mode 100644 index 2f6751ff17f0f1..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles.go +++ /dev/null @@ -1,39 +0,0 @@ -package frontdoor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func NetworkExperimentProfiles() *schema.Table { - return &schema.Table{ - Name: "azure_frontdoor_network_experiment_profiles", - Resolver: fetchNetworkExperimentProfiles, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/internetanalyzer/network-experiment-profiles/list?tabs=HTTP#profile", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_frontdoor_network_experiment_profiles", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armfrontdoor.Profile{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchNetworkExperimentProfiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armfrontdoor.NewNetworkExperimentProfilesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles_mock_test.go b/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles_mock_test.go deleted file mode 100644 index 41f0808e76eefd..00000000000000 --- a/plugins/source/azure/resources/services/frontdoor/network_experiment_profiles_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package frontdoor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/frontdoor/armfrontdoor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNetworkExperimentProfiles(router *mux.Router) error { - var item armfrontdoor.NetworkExperimentProfilesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestNetworkExperimentProfiles(t *testing.T) { - client.MockTestHelper(t, NetworkExperimentProfiles(), createNetworkExperimentProfiles) -} diff --git a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go b/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go deleted file mode 100644 index 8ba84d53d695b2..00000000000000 --- a/plugins/source/azure/resources/services/hanaonazure/sap_monitors.go +++ /dev/null @@ -1,39 +0,0 @@ -package hanaonazure - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hanaonazure/armhanaonazure" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SapMonitors() *schema.Table { - return &schema.Table{ - Name: "azure_hanaonazure_sap_monitors", - Resolver: fetchSapMonitors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hanaonazure/armhanaonazure@v0.5.0#SapMonitor", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hanaonazure_sap_monitors", client.Namespacemicrosoft_hanaonazure), - Transform: transformers.TransformWithStruct(&armhanaonazure.SapMonitor{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSapMonitors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhanaonazure.NewSapMonitorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go b/plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go deleted file mode 100644 index ab69953d704ac9..00000000000000 --- a/plugins/source/azure/resources/services/hanaonazure/sap_monitors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package hanaonazure - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hanaonazure/armhanaonazure" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSapMonitors(router *mux.Router) error { - var item armhanaonazure.SapMonitorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HanaOnAzure/sapMonitors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSapMonitors(t *testing.T) { - client.MockTestHelper(t, SapMonitors(), createSapMonitors) -} diff --git a/plugins/source/azure/resources/services/hdinsight/clusters.go b/plugins/source/azure/resources/services/hdinsight/clusters.go deleted file mode 100644 index 20ffbfdf2e4063..00000000000000 --- a/plugins/source/azure/resources/services/hdinsight/clusters.go +++ /dev/null @@ -1,39 +0,0 @@ -package hdinsight - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsight/armhdinsight" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Clusters() *schema.Table { - return &schema.Table{ - Name: "azure_hdinsight_clusters", - Resolver: fetchClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/hdinsight/2021-06-01/clusters/list?tabs=HTTP#cluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hdinsight_clusters", client.Namespacemicrosoft_hdinsight), - Transform: transformers.TransformWithStruct(&armhdinsight.Cluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhdinsight.NewClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go b/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go deleted file mode 100644 index 2be6746920a33b..00000000000000 --- a/plugins/source/azure/resources/services/hdinsight/clusters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package hdinsight - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hdinsight/armhdinsight" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createClusters(router *mux.Router) error { - var item armhdinsight.ClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestClusters(t *testing.T) { - client.MockTestHelper(t, Clusters(), createClusters) -} diff --git a/plugins/source/azure/resources/services/healthbot/bots.go b/plugins/source/azure/resources/services/healthbot/bots.go deleted file mode 100644 index f2a9d32c6812fd..00000000000000 --- a/plugins/source/azure/resources/services/healthbot/bots.go +++ /dev/null @@ -1,20 +0,0 @@ -package healthbot - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Bots() *schema.Table { - return &schema.Table{ - Name: "azure_healthbot_bots", - Resolver: fetchBots, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot@v1.0.0#HealthBot", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_healthbot_bots", client.Namespacemicrosoft_healthbot), - Transform: transformers.TransformWithStruct(&armhealthbot.HealthBot{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} diff --git a/plugins/source/azure/resources/services/healthbot/bots_fetch.go b/plugins/source/azure/resources/services/healthbot/bots_fetch.go deleted file mode 100644 index 50b990363a05db..00000000000000 --- a/plugins/source/azure/resources/services/healthbot/bots_fetch.go +++ /dev/null @@ -1,26 +0,0 @@ -package healthbot - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchBots(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhealthbot.NewBotsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/healthbot/bots_mock_test.go b/plugins/source/azure/resources/services/healthbot/bots_mock_test.go deleted file mode 100644 index 3e7cd68f757e08..00000000000000 --- a/plugins/source/azure/resources/services/healthbot/bots_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package healthbot - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthbot/armhealthbot" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBots(router *mux.Router) error { - var item armhealthbot.BotsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HealthBot/healthBots", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBots(t *testing.T) { - client.MockTestHelper(t, Bots(), createBots) -} diff --git a/plugins/source/azure/resources/services/healthcareapis/services.go b/plugins/source/azure/resources/services/healthcareapis/services.go deleted file mode 100644 index 25904a176f24d1..00000000000000 --- a/plugins/source/azure/resources/services/healthcareapis/services.go +++ /dev/null @@ -1,39 +0,0 @@ -package healthcareapis - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthcareapis/armhealthcareapis" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Services() *schema.Table { - return &schema.Table{ - Name: "azure_healthcareapis_services", - Resolver: fetchServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/healthcareapis/services/list?tabs=HTTP#servicesdescription", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_healthcareapis_services", client.Namespacemicrosoft_healthcareapis), - Transform: transformers.TransformWithStruct(&armhealthcareapis.ServicesDescription{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhealthcareapis.NewServicesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go b/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go deleted file mode 100644 index b803ef1be217d4..00000000000000 --- a/plugins/source/azure/resources/services/healthcareapis/services_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package healthcareapis - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/healthcareapis/armhealthcareapis" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServices(router *mux.Router) error { - var item armhealthcareapis.ServicesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServices(t *testing.T) { - client.MockTestHelper(t, Services(), createServices) -} diff --git a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go deleted file mode 100644 index e9146174dfd80e..00000000000000 --- a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes.go +++ /dev/null @@ -1,39 +0,0 @@ -package hybridcompute - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridcompute/armhybridcompute" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateLinkScopes() *schema.Table { - return &schema.Table{ - Name: "azure_hybridcompute_private_link_scopes", - Resolver: fetchPrivateLinkScopes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/hybridcompute/private-link-scopes/list?tabs=HTTP#hybridcomputeprivatelinkscope", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hybridcompute_private_link_scopes", client.Namespacemicrosoft_hybridcompute), - Transform: transformers.TransformWithStruct(&armhybridcompute.PrivateLinkScope{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateLinkScopes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhybridcompute.NewPrivateLinkScopesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes_mock_test.go b/plugins/source/azure/resources/services/hybridcompute/private_link_scopes_mock_test.go deleted file mode 100644 index 76b6c944f22976..00000000000000 --- a/plugins/source/azure/resources/services/hybridcompute/private_link_scopes_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package hybridcompute - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridcompute/armhybridcompute" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateLinkScopes(router *mux.Router) error { - var item armhybridcompute.PrivateLinkScopesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/privateLinkScopes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateLinkScopes(t *testing.T) { - client.MockTestHelper(t, PrivateLinkScopes(), createPrivateLinkScopes) -} diff --git a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go b/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go deleted file mode 100644 index f65a982f45e25b..00000000000000 --- a/plugins/source/azure/resources/services/hybriddatamanager/data_managers.go +++ /dev/null @@ -1,39 +0,0 @@ -package hybriddatamanager - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybriddatamanager/armhybriddatamanager" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DataManagers() *schema.Table { - return &schema.Table{ - Name: "azure_hybriddatamanager_data_managers", - Resolver: fetchDataManagers, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybriddatamanager/armhybriddatamanager@v1.0.0#DataManager", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_hybriddatamanager_data_managers", client.Namespacemicrosoft_hybriddata), - Transform: transformers.TransformWithStruct(&armhybriddatamanager.DataManager{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDataManagers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armhybriddatamanager.NewDataManagersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go b/plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go deleted file mode 100644 index e9ecb515d1844c..00000000000000 --- a/plugins/source/azure/resources/services/hybriddatamanager/data_managers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package hybriddatamanager - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybriddatamanager/armhybriddatamanager" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDataManagers(router *mux.Router) error { - var item armhybriddatamanager.DataManagersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.HybridData/dataManagers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDataManagers(t *testing.T) { - client.MockTestHelper(t, DataManagers(), createDataManagers) -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault.go b/plugins/source/azure/resources/services/keyvault/keyvault.go deleted file mode 100644 index 42b423d1c06dd3..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault.go +++ /dev/null @@ -1,70 +0,0 @@ -package keyvault - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Keyvault() *schema.Table { - return &schema.Table{ - Name: "azure_keyvault_keyvault", - PreResourceResolver: keyvaultGet, - Resolver: fetchKeyvault, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/keyvault/keyvault/vaults/get?tabs=HTTP#vault", - Multiplex: client.SubscriptionMultiplex, - Transform: transformers.TransformWithStruct(&armkeyvault.Vault{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - - Relations: []*schema.Table{ - keyvault_keys(), - keyvault_secrets(), - }, - } -} - -func keyvaultGet(ctx context.Context, meta schema.ClientMeta, resource *schema.Resource) error { - r := resource.Item.(*armkeyvault.Vault) - cl := meta.(*client.Client) - svc, err := armkeyvault.NewVaultsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*r.ID) - if err != nil { - return err - } - resp, err := svc.Get(ctx, group, *r.Name, nil) - if err != nil { - return err - } - resource.SetItem(resp.Vault) - return nil -} - -func fetchKeyvault(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armkeyvault.NewVaultsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - - for _, r := range p.Value { - res <- &armkeyvault.Vault{ - ID: r.ID, - Name: r.Name, - } - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_keys.go b/plugins/source/azure/resources/services/keyvault/keyvault_keys.go deleted file mode 100644 index 09296873d32479..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_keys.go +++ /dev/null @@ -1,19 +0,0 @@ -package keyvault - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func keyvault_keys() *schema.Table { - return &schema.Table{ - Name: "azure_keyvault_keyvault_keys", - Resolver: fetchKeyvaultKeys, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault@v1.0.0#Key", - Transform: transformers.TransformWithStruct(&armkeyvault.Key{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_keys_fetch.go b/plugins/source/azure/resources/services/keyvault/keyvault_keys_fetch.go deleted file mode 100644 index 1e93f03c100078..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_keys_fetch.go +++ /dev/null @@ -1,31 +0,0 @@ -package keyvault - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchKeyvaultKeys(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armkeyvault.NewKeysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - item := parent.Item.(armkeyvault.Vault) - group, err := client.ParseResourceGroup(*item.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *item.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_keys_mock_test.go b/plugins/source/azure/resources/services/keyvault/keyvault_keys_mock_test.go deleted file mode 100644 index 58b4e469db869b..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_keys_mock_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package keyvault - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createKeyvaultKeys(router *mux.Router) error { - var item armkeyvault.KeysClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go b/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go deleted file mode 100644 index e81c26c46f7c44..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms.go +++ /dev/null @@ -1,39 +0,0 @@ -package keyvault - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func KeyvaultManagedHsms() *schema.Table { - return &schema.Table{ - Name: "azure_keyvault_keyvault_managed_hsms", - Resolver: fetchKeyvaultManagedHsms, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/keyvault/managedhsm/managed-hsms/list-by-subscription?tabs=HTTP#managedhsm", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_keyvault_keyvault_managed_hsms", client.Namespacemicrosoft_keyvault), - Transform: transformers.TransformWithStruct(&armkeyvault.ManagedHsm{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchKeyvaultManagedHsms(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armkeyvault.NewManagedHsmsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms_mock_test.go b/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms_mock_test.go deleted file mode 100644 index c8000689e27190..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_managed_hsms_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package keyvault - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createKeyvaultManagedHsms(router *mux.Router) error { - var item armkeyvault.ManagedHsmsClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestKeyvaultManagedHsms(t *testing.T) { - client.MockTestHelper(t, KeyvaultManagedHsms(), createKeyvaultManagedHsms) -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_mock_test.go b/plugins/source/azure/resources/services/keyvault/keyvault_mock_test.go deleted file mode 100644 index ac614f85beec72..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_mock_test.go +++ /dev/null @@ -1,60 +0,0 @@ -package keyvault - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createKeyvault(router *mux.Router) error { - var item armkeyvault.VaultsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resources", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - - var v armkeyvault.VaultsClientGetResponse - if err := faker.FakeObject(&v); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.KeyVault/vaults/test string", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&v) - 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 - } - }) - if err := createKeyvaultKeys(router); err != nil { - return err - } - return createKeyvaultSecrets(router) -} - -func TestKeyvault(t *testing.T) { - client.MockTestHelper(t, Keyvault(), createKeyvault) -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_secrets.go b/plugins/source/azure/resources/services/keyvault/keyvault_secrets.go deleted file mode 100644 index 2615e1ce27d35c..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_secrets.go +++ /dev/null @@ -1,19 +0,0 @@ -package keyvault - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func keyvault_secrets() *schema.Table { - return &schema.Table{ - Name: "azure_keyvault_keyvault_secrets", - Resolver: fetchKeyvaultSecrets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault@v1.0.0#Secret", - Transform: transformers.TransformWithStruct(&armkeyvault.Secret{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_secrets_fetch.go b/plugins/source/azure/resources/services/keyvault/keyvault_secrets_fetch.go deleted file mode 100644 index 7f6ad49bdc1454..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_secrets_fetch.go +++ /dev/null @@ -1,31 +0,0 @@ -package keyvault - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchKeyvaultSecrets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armkeyvault.NewSecretsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - item := parent.Item.(armkeyvault.Vault) - group, err := client.ParseResourceGroup(*item.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *item.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/keyvault/keyvault_secrets_mock_test.go b/plugins/source/azure/resources/services/keyvault/keyvault_secrets_mock_test.go deleted file mode 100644 index 63e83c84618b82..00000000000000 --- a/plugins/source/azure/resources/services/keyvault/keyvault_secrets_mock_test.go +++ /dev/null @@ -1,33 +0,0 @@ -package keyvault - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createKeyvaultSecrets(router *mux.Router) error { - var item armkeyvault.SecretsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/kusto/clusters.go b/plugins/source/azure/resources/services/kusto/clusters.go deleted file mode 100644 index 8ae3194b3add93..00000000000000 --- a/plugins/source/azure/resources/services/kusto/clusters.go +++ /dev/null @@ -1,39 +0,0 @@ -package kusto - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/kusto/armkusto" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Clusters() *schema.Table { - return &schema.Table{ - Name: "azure_kusto_clusters", - Resolver: fetchClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/azurerekusto/clusters/list?tabs=HTTP#cluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_kusto_clusters", client.Namespacemicrosoft_kusto), - Transform: transformers.TransformWithStruct(&armkusto.Cluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armkusto.NewClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/kusto/clusters_mock_test.go b/plugins/source/azure/resources/services/kusto/clusters_mock_test.go deleted file mode 100644 index db5c6c5043f9b4..00000000000000 --- a/plugins/source/azure/resources/services/kusto/clusters_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package kusto - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/kusto/armkusto" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createClusters(router *mux.Router) error { - var item armkusto.ClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestClusters(t *testing.T) { - client.MockTestHelper(t, Clusters(), createClusters) -} diff --git a/plugins/source/azure/resources/services/logic/workflows.go b/plugins/source/azure/resources/services/logic/workflows.go deleted file mode 100644 index 50058a0f714e1a..00000000000000 --- a/plugins/source/azure/resources/services/logic/workflows.go +++ /dev/null @@ -1,39 +0,0 @@ -package logic - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/logic/armlogic" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Workflows() *schema.Table { - return &schema.Table{ - Name: "azure_logic_workflows", - Resolver: fetchWorkflows, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/logic/workflows/list-by-subscription?tabs=HTTP#workflow", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_logic_workflows", client.Namespacemicrosoft_logic), - Transform: transformers.TransformWithStruct(&armlogic.Workflow{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWorkflows(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armlogic.NewWorkflowsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/logic/workflows_mock_test.go b/plugins/source/azure/resources/services/logic/workflows_mock_test.go deleted file mode 100644 index b780e22b93eb64..00000000000000 --- a/plugins/source/azure/resources/services/logic/workflows_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package logic - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/logic/armlogic" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWorkflows(router *mux.Router) error { - var item armlogic.WorkflowsClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWorkflows(t *testing.T) { - client.MockTestHelper(t, Workflows(), createWorkflows) -} diff --git a/plugins/source/azure/resources/services/maintenance/configurations.go b/plugins/source/azure/resources/services/maintenance/configurations.go deleted file mode 100644 index b1a71746033125..00000000000000 --- a/plugins/source/azure/resources/services/maintenance/configurations.go +++ /dev/null @@ -1,39 +0,0 @@ -package maintenance - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/maintenance/armmaintenance" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Configurations() *schema.Table { - return &schema.Table{ - Name: "azure_maintenance_configurations", - Resolver: fetchConfigurations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/maintenance/maintenance-configurations/list?tabs=HTTP#maintenanceconfiguration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_maintenance_configurations", client.Namespacemicrosoft_maintenance), - Transform: transformers.TransformWithStruct(&armmaintenance.Configuration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmaintenance.NewConfigurationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go b/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go deleted file mode 100644 index 80a723e5998cad..00000000000000 --- a/plugins/source/azure/resources/services/maintenance/configurations_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package maintenance - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/maintenance/armmaintenance" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createConfigurations(router *mux.Router) error { - var item armmaintenance.ConfigurationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestConfigurations(t *testing.T) { - client.MockTestHelper(t, Configurations(), createConfigurations) -} diff --git a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go deleted file mode 100644 index ca41327840f124..00000000000000 --- a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations.go +++ /dev/null @@ -1,39 +0,0 @@ -package maintenance - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/maintenance/armmaintenance" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PublicMaintenanceConfigurations() *schema.Table { - return &schema.Table{ - Name: "azure_maintenance_public_maintenance_configurations", - Resolver: fetchPublicMaintenanceConfigurations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/maintenance/public-maintenance-configurations/list?tabs=HTTP#maintenanceconfiguration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_maintenance_public_maintenance_configurations", client.Namespacemicrosoft_maintenance), - Transform: transformers.TransformWithStruct(&armmaintenance.Configuration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPublicMaintenanceConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmaintenance.NewPublicMaintenanceConfigurationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations_mock_test.go b/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations_mock_test.go deleted file mode 100644 index 9620a2cc1d66fd..00000000000000 --- a/plugins/source/azure/resources/services/maintenance/public_maintenance_configurations_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package maintenance - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/maintenance/armmaintenance" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPublicMaintenanceConfigurations(router *mux.Router) error { - var item armmaintenance.PublicMaintenanceConfigurationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/publicMaintenanceConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPublicMaintenanceConfigurations(t *testing.T) { - client.MockTestHelper(t, PublicMaintenanceConfigurations(), createPublicMaintenanceConfigurations) -} diff --git a/plugins/source/azure/resources/services/managementgroups/entities.go b/plugins/source/azure/resources/services/managementgroups/entities.go deleted file mode 100644 index 5afcc6ae844669..00000000000000 --- a/plugins/source/azure/resources/services/managementgroups/entities.go +++ /dev/null @@ -1,37 +0,0 @@ -package managementgroups - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Entities() *schema.Table { - return &schema.Table{ - Name: "azure_managementgroups_entities", - Resolver: fetchEntities, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/managementgroups/entities/list?tabs=HTTP", - Transform: transformers.TransformWithStruct(&armmanagementgroups.EntityInfo{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchEntities(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmanagementgroups.NewEntitiesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/managementgroups/entities_mock_test.go b/plugins/source/azure/resources/services/managementgroups/entities_mock_test.go deleted file mode 100644 index 21f0e2bd77d058..00000000000000 --- a/plugins/source/azure/resources/services/managementgroups/entities_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package managementgroups - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createEntities(router *mux.Router) error { - var entityInfo armmanagementgroups.EntitiesClientListResponse - if err := faker.FakeObject(&entityInfo); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.Management/getEntities", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&entityInfo) - 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 -} - -func TestEntities(t *testing.T) { - client.MockTestHelper(t, Entities(), createEntities) -} diff --git a/plugins/source/azure/resources/services/managementgroups/managment_groups.go b/plugins/source/azure/resources/services/managementgroups/managment_groups.go deleted file mode 100644 index 441925c3dc88e5..00000000000000 --- a/plugins/source/azure/resources/services/managementgroups/managment_groups.go +++ /dev/null @@ -1,37 +0,0 @@ -package managementgroups - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ManagementGroups() *schema.Table { - return &schema.Table{ - Name: "azure_managementgroups_management_groups", - Resolver: fetchManagementGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/managementgroups/management-groups/list?tabs=HTTP#managementgrouplistresult", - Transform: transformers.TransformWithStruct(&armmanagementgroups.ManagementGroupInfo{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchManagementGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmanagementgroups.NewClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/managementgroups/managment_groups_mock_test.go b/plugins/source/azure/resources/services/managementgroups/managment_groups_mock_test.go deleted file mode 100644 index 73826fefa698ce..00000000000000 --- a/plugins/source/azure/resources/services/managementgroups/managment_groups_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package managementgroups - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/managementgroups/armmanagementgroups" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createGroups(router *mux.Router) error { - var groupInfo armmanagementgroups.ManagementGroupListResult - if err := faker.FakeObject(&groupInfo); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.Management/managementGroups", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&groupInfo) - 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 -} - -func TestManagementGroups(t *testing.T) { - client.MockTestHelper(t, ManagementGroups(), createGroups) -} diff --git a/plugins/source/azure/resources/services/marketplace/private_store.go b/plugins/source/azure/resources/services/marketplace/private_store.go deleted file mode 100644 index 1d4a8181ac2cd3..00000000000000 --- a/plugins/source/azure/resources/services/marketplace/private_store.go +++ /dev/null @@ -1,39 +0,0 @@ -package marketplace - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/marketplace/armmarketplace" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateStore() *schema.Table { - return &schema.Table{ - Name: "azure_marketplace_private_store", - Resolver: fetchPrivateStore, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/marketplace/armmarketplace@v1.0.0#PrivateStore", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_marketplace_private_store", client.Namespacemicrosoft_marketplace), - Transform: transformers.TransformWithStruct(&armmarketplace.PrivateStore{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateStore(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmarketplace.NewPrivateStoreClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/marketplace/private_store_mock_test.go b/plugins/source/azure/resources/services/marketplace/private_store_mock_test.go deleted file mode 100644 index 4b4029e8579a2b..00000000000000 --- a/plugins/source/azure/resources/services/marketplace/private_store_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package marketplace - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/marketplace/armmarketplace" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateStore(router *mux.Router) error { - var item armmarketplace.PrivateStoreClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Marketplace/privateStores", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateStore(t *testing.T) { - client.MockTestHelper(t, PrivateStore(), createPrivateStore) -} diff --git a/plugins/source/azure/resources/services/monitor/activity_log_alerts.go b/plugins/source/azure/resources/services/monitor/activity_log_alerts.go deleted file mode 100644 index 17d735687b18b7..00000000000000 --- a/plugins/source/azure/resources/services/monitor/activity_log_alerts.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ActivityLogAlerts() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_activity_log_alerts", - Resolver: fetchActivityLogAlerts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/activity-log-alerts/list-by-subscription-id?tabs=HTTP#activitylogalertresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_activity_log_alerts", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.ActivityLogAlertResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchActivityLogAlerts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewActivityLogAlertsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionIDPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/activity_log_alerts_mock_test.go b/plugins/source/azure/resources/services/monitor/activity_log_alerts_mock_test.go deleted file mode 100644 index 8cc7a1312e91ba..00000000000000 --- a/plugins/source/azure/resources/services/monitor/activity_log_alerts_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createActivityLogAlerts(router *mux.Router) error { - var item armmonitor.ActivityLogAlertsClientListBySubscriptionIDResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyString := "" - item.NextLink = &emptyString - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/activityLogAlerts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestActivityLogAlerts(t *testing.T) { - client.MockTestHelper(t, ActivityLogAlerts(), createActivityLogAlerts) -} diff --git a/plugins/source/azure/resources/services/monitor/autoscale_settings.go b/plugins/source/azure/resources/services/monitor/autoscale_settings.go deleted file mode 100644 index 1c31517477a5c0..00000000000000 --- a/plugins/source/azure/resources/services/monitor/autoscale_settings.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AutoscaleSettings() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_autoscale_settings", - Resolver: fetchAutoscaleSetting, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/autoscale-settings/list-by-subscription?tabs=HTTP#autoscalesettingresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_autoscale_settings", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.AutoscaleSettingResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAutoscaleSetting(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewAutoscaleSettingsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/autoscale_settings_test.go b/plugins/source/azure/resources/services/monitor/autoscale_settings_test.go deleted file mode 100644 index 92ca9f60bf5c6f..00000000000000 --- a/plugins/source/azure/resources/services/monitor/autoscale_settings_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAutoscaleSettings(router *mux.Router) error { - var item armmonitor.AutoscaleSettingsClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyString := "" - item.NextLink = &emptyString - - router.HandleFunc("/subscriptions/"+client.TestSubscription+"/providers/Microsoft.Insights/autoscalesettings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAutoscaleSettings(t *testing.T) { - client.MockTestHelper(t, AutoscaleSettings(), createAutoscaleSettings) -} diff --git a/plugins/source/azure/resources/services/monitor/diagnostic_settings.go b/plugins/source/azure/resources/services/monitor/diagnostic_settings.go deleted file mode 100644 index 5d9a95b6b0f0e5..00000000000000 --- a/plugins/source/azure/resources/services/monitor/diagnostic_settings.go +++ /dev/null @@ -1,64 +0,0 @@ -package monitor - -import ( - "context" - "errors" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -type diagnosticSettingsWrapper struct { - *armmonitor.DiagnosticSettingsResource - ResourceId string -} - -func diagnosticSettings() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_diagnostic_settings", - Resolver: fetchDiagnosticSettings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/diagnostic-settings/list?tabs=HTTP#diagnosticsettingsresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_diagnostic_settings", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&diagnosticSettingsWrapper{}, transformers.WithPrimaryKeys("ID"), transformers.WithUnwrapStructFields("DiagnosticSettingsResource")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func isResourceTypeNotSupported(err error) bool { - var azureErr *azcore.ResponseError - if errors.As(err, &azureErr) { - return azureErr != nil && azureErr.ErrorCode == "ResourceTypeNotSupported" - } - return false -} - -func fetchDiagnosticSettings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - r := parent.Item.(*armresources.GenericResourceExpanded) - svc, err := armmonitor.NewDiagnosticSettingsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(*r.ID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - if isResourceTypeNotSupported(err) { - break - } - return err - } - for _, ds := range p.Value { - res <- diagnosticSettingsWrapper{ - ds, - *r.ID, - } - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/log_profiles.go b/plugins/source/azure/resources/services/monitor/log_profiles.go deleted file mode 100644 index f619d50c91b492..00000000000000 --- a/plugins/source/azure/resources/services/monitor/log_profiles.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func LogProfiles() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_log_profiles", - Resolver: fetchLogProfiles, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/log-profiles/list?tabs=HTTP#logprofileresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_log_profiles", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.LogProfileResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchLogProfiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewLogProfilesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go b/plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go deleted file mode 100644 index c7473b256277db..00000000000000 --- a/plugins/source/azure/resources/services/monitor/log_profiles_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createLogProfiles(router *mux.Router) error { - var item armmonitor.LogProfilesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/logprofiles", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestLogProfiles(t *testing.T) { - client.MockTestHelper(t, LogProfiles(), createLogProfiles) -} diff --git a/plugins/source/azure/resources/services/monitor/private_link_scopes.go b/plugins/source/azure/resources/services/monitor/private_link_scopes.go deleted file mode 100644 index 8a17a3c1f0dc82..00000000000000 --- a/plugins/source/azure/resources/services/monitor/private_link_scopes.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateLinkScopes() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_private_link_scopes", - Resolver: fetchPrivateLinkScopes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/privatelinkscopes(preview)/private%20link%20scopes%20(preview)/list?tabs=HTTP#azuremonitorprivatelinkscope", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_private_link_scopes", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.AzureMonitorPrivateLinkScope{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateLinkScopes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewPrivateLinkScopesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/private_link_scopes_mock_test.go b/plugins/source/azure/resources/services/monitor/private_link_scopes_mock_test.go deleted file mode 100644 index 173ddfb0b01ad3..00000000000000 --- a/plugins/source/azure/resources/services/monitor/private_link_scopes_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateLinkScopes(router *mux.Router) error { - var item armmonitor.PrivateLinkScopesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/microsoft.insights/privateLinkScopes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateLinkScopes(t *testing.T) { - client.MockTestHelper(t, PrivateLinkScopes(), createPrivateLinkScopes) -} diff --git a/plugins/source/azure/resources/services/monitor/resources.go b/plugins/source/azure/resources/services/monitor/resources.go deleted file mode 100644 index c35241d973bcdc..00000000000000 --- a/plugins/source/azure/resources/services/monitor/resources.go +++ /dev/null @@ -1,40 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Resources() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_resources", - Resolver: fetchResources, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/resources/list#genericresourceexpanded", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_diagnostic_settings", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armresources.GenericResourceExpanded{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{diagnosticSettings()}, - } -} - -func fetchResources(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armresources.NewClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/resources_mock_test.go b/plugins/source/azure/resources/services/monitor/resources_mock_test.go deleted file mode 100644 index d3694b3caf3399..00000000000000 --- a/plugins/source/azure/resources/services/monitor/resources_mock_test.go +++ /dev/null @@ -1,63 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createResources(router *mux.Router) error { - var item armresources.ClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resources", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func createDiagnosticSettings(router *mux.Router) error { - var item armmonitor.DiagnosticSettingsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - router.HandleFunc("/test string/providers/Microsoft.Insights/diagnosticSettings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createResources(router) -} - -func TestResources(t *testing.T) { - client.MockTestHelper(t, Resources(), createDiagnosticSettings) -} diff --git a/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings.go b/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings.go deleted file mode 100644 index aac45c9dcc6e10..00000000000000 --- a/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings.go +++ /dev/null @@ -1,41 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionDiagnosticSettings() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_subscription_diagnostic_settings", - Resolver: fetchSubscriptionDiagnosticSettings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/subscription-diagnostic-settings/list?tabs=HTTP#subscriptiondiagnosticsettingsresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_subscription_diagnostic_settings", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.DiagnosticSettingsResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSubscriptionDiagnosticSettings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewDiagnosticSettingsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager("/subscriptions/"+cl.SubscriptionId, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - for _, ds := range p.Value { - res <- ds - } - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings_test.go b/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings_test.go deleted file mode 100644 index 42a8bc91f292e6..00000000000000 --- a/plugins/source/azure/resources/services/monitor/subscription_diagnostic_settings_test.go +++ /dev/null @@ -1,38 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionDiagnosticSettings(router *mux.Router) error { - var item armmonitor.DiagnosticSettingsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - router.HandleFunc("/subscriptions/"+client.TestSubscription+"/providers/Microsoft.Insights/diagnosticSettings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSubscriptionDiagnosticSettings(t *testing.T) { - client.MockTestHelper(t, SubscriptionDiagnosticSettings(), createSubscriptionDiagnosticSettings) -} diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go b/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go deleted file mode 100644 index 0415f7cf696fc8..00000000000000 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func TenantActivityLogAlerts() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_tenant_activity_log_alerts", - Resolver: fetchTenantActivityLogAlerts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/activity-log-alerts/list-by-subscription-id?tabs=HTTP#activitylogalertresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_tenant_activity_log_alerts", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.ActivityLogAlertResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} - -func fetchTenantActivityLogAlerts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewActivityLogAlertsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionIDPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts_mock_test.go b/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts_mock_test.go deleted file mode 100644 index 4c9063e455c678..00000000000000 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_log_alerts_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTenantActivityLogAlerts(router *mux.Router) error { - var item armmonitor.ActivityLogAlertsClientListBySubscriptionIDResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Insights/activityLogAlerts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTenantActivityLogAlerts(t *testing.T) { - client.MockTestHelper(t, TenantActivityLogAlerts(), createTenantActivityLogAlerts) -} diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go b/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go deleted file mode 100644 index eb67ec6bd1f316..00000000000000 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_logs.go +++ /dev/null @@ -1,39 +0,0 @@ -package monitor - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func TenantActivityLogs() *schema.Table { - return &schema.Table{ - Name: "azure_monitor_tenant_activity_logs", - Resolver: fetchTenantActivityLogs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/monitor/tenant-activity-logs/list?tabs=HTTP#eventdata", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_monitor_tenant_activity_logs", client.Namespacemicrosoft_insights), - Transform: transformers.TransformWithStruct(&armmonitor.EventData{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchTenantActivityLogs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armmonitor.NewTenantActivityLogsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/monitor/tenant_activity_logs_mock_test.go b/plugins/source/azure/resources/services/monitor/tenant_activity_logs_mock_test.go deleted file mode 100644 index 6b0524ee22f303..00000000000000 --- a/plugins/source/azure/resources/services/monitor/tenant_activity_logs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package monitor - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/monitor/armmonitor" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTenantActivityLogs(router *mux.Router) error { - var item armmonitor.TenantActivityLogsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Insights/eventtypes/management/values", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTenantActivityLogs(t *testing.T) { - client.MockTestHelper(t, TenantActivityLogs(), createTenantActivityLogs) -} diff --git a/plugins/source/azure/resources/services/network/application_gateways.go b/plugins/source/azure/resources/services/network/application_gateways.go deleted file mode 100644 index f88c03bceefdef..00000000000000 --- a/plugins/source/azure/resources/services/network/application_gateways.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ApplicationGateways() *schema.Table { - return &schema.Table{ - Name: "azure_network_application_gateways", - Resolver: fetchApplicationGateways, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/application-gateway/application-gateways/list?tabs=HTTP#applicationgateway", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_application_gateways", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ApplicationGateway{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchApplicationGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewApplicationGatewaysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/application_gateways_mock_test.go b/plugins/source/azure/resources/services/network/application_gateways_mock_test.go deleted file mode 100644 index 1b7dec7bfce005..00000000000000 --- a/plugins/source/azure/resources/services/network/application_gateways_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createApplicationGateways(router *mux.Router) error { - var item armnetwork.ApplicationGatewaysClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestApplicationGateways(t *testing.T) { - client.MockTestHelper(t, ApplicationGateways(), createApplicationGateways) -} diff --git a/plugins/source/azure/resources/services/network/application_security_groups.go b/plugins/source/azure/resources/services/network/application_security_groups.go deleted file mode 100644 index 76879498a137cf..00000000000000 --- a/plugins/source/azure/resources/services/network/application_security_groups.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ApplicationSecurityGroups() *schema.Table { - return &schema.Table{ - Name: "azure_network_application_security_groups", - Resolver: fetchApplicationSecurityGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/application-security-groups/list?tabs=HTTP#applicationsecuritygroup", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_application_security_groups", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ApplicationSecurityGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchApplicationSecurityGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewApplicationSecurityGroupsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/application_security_groups_mock_test.go b/plugins/source/azure/resources/services/network/application_security_groups_mock_test.go deleted file mode 100644 index 4991ebfebadf07..00000000000000 --- a/plugins/source/azure/resources/services/network/application_security_groups_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createApplicationSecurityGroups(router *mux.Router) error { - var item armnetwork.ApplicationSecurityGroupsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestApplicationSecurityGroups(t *testing.T) { - client.MockTestHelper(t, ApplicationSecurityGroups(), createApplicationSecurityGroups) -} diff --git a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go b/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go deleted file mode 100644 index 70c7b5aec12b95..00000000000000 --- a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AzureFirewallFqdnTags() *schema.Table { - return &schema.Table{ - Name: "azure_network_azure_firewall_fqdn_tags", - Resolver: fetchAzureFirewallFqdnTags, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/firewall/azure-firewall-fqdn-tags/list-all?tabs=HTTP#azurefirewallfqdntag", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_azure_firewall_fqdn_tags", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.AzureFirewallFqdnTag{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchAzureFirewallFqdnTags(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewAzureFirewallFqdnTagsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags_mock_test.go b/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags_mock_test.go deleted file mode 100644 index 4ddb2019f88a4a..00000000000000 --- a/plugins/source/azure/resources/services/network/azure_firewall_fqdn_tags_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAzureFirewallFqdnTags(router *mux.Router) error { - var item armnetwork.AzureFirewallFqdnTagsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAzureFirewallFqdnTags(t *testing.T) { - client.MockTestHelper(t, AzureFirewallFqdnTags(), createAzureFirewallFqdnTags) -} diff --git a/plugins/source/azure/resources/services/network/azure_firewalls.go b/plugins/source/azure/resources/services/network/azure_firewalls.go deleted file mode 100644 index 001f2f781e1cb5..00000000000000 --- a/plugins/source/azure/resources/services/network/azure_firewalls.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AzureFirewalls() *schema.Table { - return &schema.Table{ - Name: "azure_network_azure_firewalls", - Resolver: fetchAzureFirewalls, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/firewall/azure-firewalls/list?tabs=HTTP#azurefirewall", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_azure_firewalls", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.AzureFirewall{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAzureFirewalls(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewAzureFirewallsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go b/plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go deleted file mode 100644 index b653ed3089ea20..00000000000000 --- a/plugins/source/azure/resources/services/network/azure_firewalls_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAzureFirewalls(router *mux.Router) error { - var item armnetwork.AzureFirewallsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAzureFirewalls(t *testing.T) { - client.MockTestHelper(t, AzureFirewalls(), createAzureFirewalls) -} diff --git a/plugins/source/azure/resources/services/network/bastion_hosts.go b/plugins/source/azure/resources/services/network/bastion_hosts.go deleted file mode 100644 index e3d5300a8ddc6f..00000000000000 --- a/plugins/source/azure/resources/services/network/bastion_hosts.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func BastionHosts() *schema.Table { - return &schema.Table{ - Name: "azure_network_bastion_hosts", - Resolver: fetchBastionHosts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/bastion-hosts/list?tabs=HTTP#bastionhost", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_bastion_hosts", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.BastionHost{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchBastionHosts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewBastionHostsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go b/plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go deleted file mode 100644 index 952e98dc36ec24..00000000000000 --- a/plugins/source/azure/resources/services/network/bastion_hosts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createBastionHosts(router *mux.Router) error { - var item armnetwork.BastionHostsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestBastionHosts(t *testing.T) { - client.MockTestHelper(t, BastionHosts(), createBastionHosts) -} diff --git a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go b/plugins/source/azure/resources/services/network/custom_ip_prefixes.go deleted file mode 100644 index 8ca52f6863e3e5..00000000000000 --- a/plugins/source/azure/resources/services/network/custom_ip_prefixes.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func CustomIpPrefixes() *schema.Table { - return &schema.Table{ - Name: "azure_network_custom_ip_prefixes", - Resolver: fetchCustomIpPrefixes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/custom-ip-prefixes/list?tabs=HTTP#customipprefix", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_custom_ip_prefixes", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.CustomIPPrefix{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchCustomIpPrefixes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewCustomIPPrefixesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/custom_ip_prefixes_mock_test.go b/plugins/source/azure/resources/services/network/custom_ip_prefixes_mock_test.go deleted file mode 100644 index 9e4aeb2e59692d..00000000000000 --- a/plugins/source/azure/resources/services/network/custom_ip_prefixes_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createCustomIpPrefixes(router *mux.Router) error { - var item armnetwork.CustomIPPrefixesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/customIpPrefixes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestCustomIpPrefixes(t *testing.T) { - client.MockTestHelper(t, CustomIpPrefixes(), createCustomIpPrefixes) -} diff --git a/plugins/source/azure/resources/services/network/ddos_protection_plans.go b/plugins/source/azure/resources/services/network/ddos_protection_plans.go deleted file mode 100644 index bc73fe3ba5b781..00000000000000 --- a/plugins/source/azure/resources/services/network/ddos_protection_plans.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DdosProtectionPlans() *schema.Table { - return &schema.Table{ - Name: "azure_network_ddos_protection_plans", - Resolver: fetchDdosProtectionPlans, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ddos-protection-plans/list?tabs=HTTP#ddosprotectionplan", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ddos_protection_plans", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.DdosProtectionPlan{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDdosProtectionPlans(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewDdosProtectionPlansClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/ddos_protection_plans_mock_test.go b/plugins/source/azure/resources/services/network/ddos_protection_plans_mock_test.go deleted file mode 100644 index 4437d8ac4dc762..00000000000000 --- a/plugins/source/azure/resources/services/network/ddos_protection_plans_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDdosProtectionPlans(router *mux.Router) error { - var item armnetwork.DdosProtectionPlansClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDdosProtectionPlans(t *testing.T) { - client.MockTestHelper(t, DdosProtectionPlans(), createDdosProtectionPlans) -} diff --git a/plugins/source/azure/resources/services/network/dscp_configuration.go b/plugins/source/azure/resources/services/network/dscp_configuration.go deleted file mode 100644 index e8fecf9b43e9e0..00000000000000 --- a/plugins/source/azure/resources/services/network/dscp_configuration.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DscpConfiguration() *schema.Table { - return &schema.Table{ - Name: "azure_network_dscp_configuration", - Resolver: fetchDscpConfiguration, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/dscp-configuration/list?tabs=HTTP#dscpconfiguration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_dscp_configuration", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.DscpConfiguration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDscpConfiguration(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewDscpConfigurationClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go b/plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go deleted file mode 100644 index 4624b081227059..00000000000000 --- a/plugins/source/azure/resources/services/network/dscp_configuration_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDscpConfiguration(router *mux.Router) error { - var item armnetwork.DscpConfigurationClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/dscpConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDscpConfiguration(t *testing.T) { - client.MockTestHelper(t, DscpConfiguration(), createDscpConfiguration) -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuit_authorizations.go b/plugins/source/azure/resources/services/network/express_route_circuit_authorizations.go deleted file mode 100644 index c3ad5a06cc2cab..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuit_authorizations.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func expressRouteCircuitAuthorizations() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_circuit_authorizations", - Resolver: fetchExpressRouteCircuitAuthorizations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuit-authorizations/list?tabs=HTTP#expressroutecircuitauthorization", - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteCircuitAuthorization{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExpressRouteCircuitAuthorizations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armnetwork.ExpressRouteCircuit) - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRouteCircuitAuthorizationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuit_authorizations_mock_test.go b/plugins/source/azure/resources/services/network/express_route_circuit_authorizations_mock_test.go deleted file mode 100644 index dd704d76d619ec..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuit_authorizations_mock_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRouteCircuitAuthorizations(router *mux.Router) error { - var item armnetwork.ExpressRouteCircuitAuthorizationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.Network/expressRouteCircuits/test string/authorizations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuit_peerings.go b/plugins/source/azure/resources/services/network/express_route_circuit_peerings.go deleted file mode 100644 index af13a3150f762b..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuit_peerings.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func expressRouteCircuitPeerings() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_circuit_peerings", - Resolver: fetchExpressRouteCircuitPeerings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuit-peerings/list?tabs=HTTP#expressroutecircuitpeering", - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteCircuitPeering{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExpressRouteCircuitPeerings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armnetwork.ExpressRouteCircuit) - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRouteCircuitPeeringsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuit_peerings_mock_test.go b/plugins/source/azure/resources/services/network/express_route_circuit_peerings_mock_test.go deleted file mode 100644 index 6d8ab65fa1ca8b..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuit_peerings_mock_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRouteCircuitPeerings(router *mux.Router) error { - var item armnetwork.ExpressRouteCircuitPeeringsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.Network/expressRouteCircuits/test string/peerings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuits.go b/plugins/source/azure/resources/services/network/express_route_circuits.go deleted file mode 100644 index 83911772d4658a..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuits.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExpressRouteCircuits() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_circuits", - Resolver: fetchExpressRouteCircuits, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-circuits/list?tabs=HTTP#expressroutecircuit", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_circuits", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteCircuit{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - expressRouteCircuitAuthorizations(), - expressRouteCircuitPeerings(), - }, - } -} - -func fetchExpressRouteCircuits(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRouteCircuitsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_circuits_mock_test.go b/plugins/source/azure/resources/services/network/express_route_circuits_mock_test.go deleted file mode 100644 index 3388fd83240172..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_circuits_mock_test.go +++ /dev/null @@ -1,44 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRouteCircuits(router *mux.Router) error { - var item armnetwork.ExpressRouteCircuitsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - - if err := createExpressRouteCircuitAuthorizations(router); err != nil { - return err - } - return createExpressRouteCircuitPeerings(router) -} - -func TestExpressRouteCircuits(t *testing.T) { - client.MockTestHelper(t, ExpressRouteCircuits(), createExpressRouteCircuits) -} diff --git a/plugins/source/azure/resources/services/network/express_route_gateways.go b/plugins/source/azure/resources/services/network/express_route_gateways.go deleted file mode 100644 index 859036330db2b2..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_gateways.go +++ /dev/null @@ -1,20 +0,0 @@ -package network - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExpressRouteGateways() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_gateways", - Resolver: fetchExpressRouteGateways, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-gateways/list-by-subscription?tabs=HTTP#expressroutegateway", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_gateways", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteGateway{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} diff --git a/plugins/source/azure/resources/services/network/express_route_gateways_fetch.go b/plugins/source/azure/resources/services/network/express_route_gateways_fetch.go deleted file mode 100644 index a3e1f6065a7e6d..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_gateways_fetch.go +++ /dev/null @@ -1,23 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchExpressRouteGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRouteGatewaysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager, err := svc.ListBySubscription(ctx, nil) - if err != nil { - return err - } - res <- pager.Value - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_gateways_mock_test.go b/plugins/source/azure/resources/services/network/express_route_gateways_mock_test.go deleted file mode 100644 index 559327e8b3371b..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_gateways_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRouteGateways(router *mux.Router) error { - var item armnetwork.ExpressRouteCircuitsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExpressRouteGateways(t *testing.T) { - client.MockTestHelper(t, ExpressRouteGateways(), createExpressRouteGateways) -} diff --git a/plugins/source/azure/resources/services/network/express_route_ports.go b/plugins/source/azure/resources/services/network/express_route_ports.go deleted file mode 100644 index b3ca634cf8e6be..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_ports.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExpressRoutePorts() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_ports", - Resolver: fetchExpressRoutePorts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-ports/list?tabs=HTTP#expressrouteport", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_ports", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRoutePort{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExpressRoutePorts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRoutePortsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_ports_locations.go b/plugins/source/azure/resources/services/network/express_route_ports_locations.go deleted file mode 100644 index ff91ddfdc8329c..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_ports_locations.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExpressRoutePortsLocations() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_ports_locations", - Resolver: fetchExpressRoutePortsLocations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-ports-locations/list?tabs=HTTP#expressrouteportslocation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_ports_locations", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRoutePortsLocation{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExpressRoutePortsLocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRoutePortsLocationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_ports_locations_mock_test.go b/plugins/source/azure/resources/services/network/express_route_ports_locations_mock_test.go deleted file mode 100644 index 2b24eac02cbda5..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_ports_locations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRoutePortsLocations(router *mux.Router) error { - var item armnetwork.ExpressRoutePortsLocationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExpressRoutePortsLocations(t *testing.T) { - client.MockTestHelper(t, ExpressRoutePortsLocations(), createExpressRoutePortsLocations) -} diff --git a/plugins/source/azure/resources/services/network/express_route_ports_mock_test.go b/plugins/source/azure/resources/services/network/express_route_ports_mock_test.go deleted file mode 100644 index a6d2a133fbe30a..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_ports_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRoutePorts(router *mux.Router) error { - var item armnetwork.ExpressRoutePortsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExpressRoutePorts(t *testing.T) { - client.MockTestHelper(t, ExpressRoutePorts(), createExpressRoutePorts) -} diff --git a/plugins/source/azure/resources/services/network/express_route_service_providers.go b/plugins/source/azure/resources/services/network/express_route_service_providers.go deleted file mode 100644 index de8f2db62fb630..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_service_providers.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExpressRouteServiceProviders() *schema.Table { - return &schema.Table{ - Name: "azure_network_express_route_service_providers", - Resolver: fetchExpressRouteServiceProviders, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/express-route-service-providers/list?tabs=HTTP#expressrouteserviceprovider", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_express_route_service_providers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ExpressRouteServiceProvider{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchExpressRouteServiceProviders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewExpressRouteServiceProvidersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/express_route_service_providers_mock_test.go b/plugins/source/azure/resources/services/network/express_route_service_providers_mock_test.go deleted file mode 100644 index 2cfc52fca4580f..00000000000000 --- a/plugins/source/azure/resources/services/network/express_route_service_providers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExpressRouteServiceProviders(router *mux.Router) error { - var item armnetwork.ExpressRouteServiceProvidersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExpressRouteServiceProviders(t *testing.T) { - client.MockTestHelper(t, ExpressRouteServiceProviders(), createExpressRouteServiceProviders) -} diff --git a/plugins/source/azure/resources/services/network/firewall_policies.go b/plugins/source/azure/resources/services/network/firewall_policies.go deleted file mode 100644 index 6aeb0f143f609d..00000000000000 --- a/plugins/source/azure/resources/services/network/firewall_policies.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func FirewallPolicies() *schema.Table { - return &schema.Table{ - Name: "azure_network_firewall_policies", - Resolver: fetchFirewallPolicies, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/firewall-policies/list-all?tabs=HTTP#firewallpolicy", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_firewall_policies", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.FirewallPolicy{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchFirewallPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewFirewallPoliciesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/firewall_policies_mock_test.go b/plugins/source/azure/resources/services/network/firewall_policies_mock_test.go deleted file mode 100644 index 5536a308769dd7..00000000000000 --- a/plugins/source/azure/resources/services/network/firewall_policies_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createFirewallPolicies(router *mux.Router) error { - var item armnetwork.FirewallPoliciesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestFirewallPolicies(t *testing.T) { - client.MockTestHelper(t, FirewallPolicies(), createFirewallPolicies) -} diff --git a/plugins/source/azure/resources/services/network/interface_ip_configurations.go b/plugins/source/azure/resources/services/network/interface_ip_configurations.go deleted file mode 100644 index af51efdaf1db06..00000000000000 --- a/plugins/source/azure/resources/services/network/interface_ip_configurations.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func interfaceIPConfigurations() *schema.Table { - return &schema.Table{ - Name: "azure_network_interface_ip_configurations", - Resolver: fetchInterfaceIPConfigurations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-interface-ip-configurations/list?tabs=HTTP#ipconfiguration", - Transform: transformers.TransformWithStruct(&armnetwork.InterfaceIPConfiguration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchInterfaceIPConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armnetwork.Interface) - cl := meta.(*client.Client) - svc, err := armnetwork.NewInterfaceIPConfigurationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/interface_ip_configurations_mock_test.go b/plugins/source/azure/resources/services/network/interface_ip_configurations_mock_test.go deleted file mode 100644 index 2f7dc79f42fec7..00000000000000 --- a/plugins/source/azure/resources/services/network/interface_ip_configurations_mock_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createInterfaceIPConfigurations(router *mux.Router) error { - var item armnetwork.InterfaceIPConfigurationListResult - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.Network/networkInterfaces/test string/ipConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/network/interfaces.go b/plugins/source/azure/resources/services/network/interfaces.go deleted file mode 100644 index aa67f576bafd2d..00000000000000 --- a/plugins/source/azure/resources/services/network/interfaces.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Interfaces() *schema.Table { - return &schema.Table{ - Name: "azure_network_interfaces", - Resolver: fetchInterfaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-interfaces/list?tabs=HTTP#networkinterface", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_interfaces", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.Interface{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - interfaceIPConfigurations(), - }, - } -} - -func fetchInterfaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewInterfacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/interfaces_mock_test.go b/plugins/source/azure/resources/services/network/interfaces_mock_test.go deleted file mode 100644 index 03113ce63e75ca..00000000000000 --- a/plugins/source/azure/resources/services/network/interfaces_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createInterfaces(router *mux.Router) error { - var item armnetwork.InterfacesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createInterfaceIPConfigurations(router) -} - -func TestInterfaces(t *testing.T) { - client.MockTestHelper(t, Interfaces(), createInterfaces) -} diff --git a/plugins/source/azure/resources/services/network/ip_allocations.go b/plugins/source/azure/resources/services/network/ip_allocations.go deleted file mode 100644 index 3566bc77eff568..00000000000000 --- a/plugins/source/azure/resources/services/network/ip_allocations.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func IpAllocations() *schema.Table { - return &schema.Table{ - Name: "azure_network_ip_allocations", - Resolver: fetchIpAllocations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ip-allocations/list?tabs=HTTP#ipallocation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ip_allocations", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.IPAllocation{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchIpAllocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewIPAllocationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/ip_allocations_mock_test.go b/plugins/source/azure/resources/services/network/ip_allocations_mock_test.go deleted file mode 100644 index bdc2317299cf72..00000000000000 --- a/plugins/source/azure/resources/services/network/ip_allocations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createIpAllocations(router *mux.Router) error { - var item armnetwork.IPAllocationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/IpAllocations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestIpAllocations(t *testing.T) { - client.MockTestHelper(t, IpAllocations(), createIpAllocations) -} diff --git a/plugins/source/azure/resources/services/network/ip_groups.go b/plugins/source/azure/resources/services/network/ip_groups.go deleted file mode 100644 index 1cdaebdb3d0a91..00000000000000 --- a/plugins/source/azure/resources/services/network/ip_groups.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func IpGroups() *schema.Table { - return &schema.Table{ - Name: "azure_network_ip_groups", - Resolver: fetchIpGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/ip-groups/list?tabs=HTTP#ipgroup", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_ip_groups", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.IPGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchIpGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewIPGroupsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/ip_groups_mock_test.go b/plugins/source/azure/resources/services/network/ip_groups_mock_test.go deleted file mode 100644 index a68086e814ccf0..00000000000000 --- a/plugins/source/azure/resources/services/network/ip_groups_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createIpGroups(router *mux.Router) error { - var item armnetwork.IPGroupsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ipGroups", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestIpGroups(t *testing.T) { - client.MockTestHelper(t, IpGroups(), createIpGroups) -} diff --git a/plugins/source/azure/resources/services/network/load_balancers.go b/plugins/source/azure/resources/services/network/load_balancers.go deleted file mode 100644 index bab59f4fdcb667..00000000000000 --- a/plugins/source/azure/resources/services/network/load_balancers.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func LoadBalancers() *schema.Table { - return &schema.Table{ - Name: "azure_network_load_balancers", - Resolver: fetchLoadBalancers, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/load-balancer/load-balancers/list?tabs=HTTP#loadbalancer", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_load_balancers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.LoadBalancer{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchLoadBalancers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewLoadBalancersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/load_balancers_mock_test.go b/plugins/source/azure/resources/services/network/load_balancers_mock_test.go deleted file mode 100644 index c6c2cfda005852..00000000000000 --- a/plugins/source/azure/resources/services/network/load_balancers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createLoadBalancers(router *mux.Router) error { - var item armnetwork.LoadBalancersClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestLoadBalancers(t *testing.T) { - client.MockTestHelper(t, LoadBalancers(), createLoadBalancers) -} diff --git a/plugins/source/azure/resources/services/network/nat_gateways.go b/plugins/source/azure/resources/services/network/nat_gateways.go deleted file mode 100644 index f9c65e8d9484eb..00000000000000 --- a/plugins/source/azure/resources/services/network/nat_gateways.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func NatGateways() *schema.Table { - return &schema.Table{ - Name: "azure_network_nat_gateways", - Resolver: fetchNatGateways, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/nat-gateways/list?tabs=HTTP#natgateway", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_nat_gateways", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.NatGateway{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchNatGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewNatGatewaysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/nat_gateways_mock_test.go b/plugins/source/azure/resources/services/network/nat_gateways_mock_test.go deleted file mode 100644 index 398ba4a8a5db59..00000000000000 --- a/plugins/source/azure/resources/services/network/nat_gateways_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNatGateways(router *mux.Router) error { - var item armnetwork.NatGatewaysClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestNatGateways(t *testing.T) { - client.MockTestHelper(t, NatGateways(), createNatGateways) -} diff --git a/plugins/source/azure/resources/services/network/private_endpoints.go b/plugins/source/azure/resources/services/network/private_endpoints.go deleted file mode 100644 index e08f1260f13c58..00000000000000 --- a/plugins/source/azure/resources/services/network/private_endpoints.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateEndpoints() *schema.Table { - return &schema.Table{ - Name: "azure_network_private_endpoints", - Resolver: fetchPrivateEndpoints, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/private-link-services/list-by-subscription?tabs=HTTP#privateendpoint", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_private_endpoints", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.PrivateEndpoint{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateEndpoints(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewPrivateEndpointsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/private_endpoints_test.go b/plugins/source/azure/resources/services/network/private_endpoints_test.go deleted file mode 100644 index 880effd607e42f..00000000000000 --- a/plugins/source/azure/resources/services/network/private_endpoints_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateEndpoints(router *mux.Router) error { - var item armnetwork.PrivateEndpointsClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateEndpoints(t *testing.T) { - client.MockTestHelper(t, PrivateEndpoints(), createPrivateEndpoints) -} diff --git a/plugins/source/azure/resources/services/network/private_link_services.go b/plugins/source/azure/resources/services/network/private_link_services.go deleted file mode 100644 index 24bfb5449ef109..00000000000000 --- a/plugins/source/azure/resources/services/network/private_link_services.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateLinkServices() *schema.Table { - return &schema.Table{ - Name: "azure_network_private_link_services", - Resolver: fetchPrivateLinkServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/private-link-services/list-by-subscription?tabs=HTTP#privatelinkservice", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_private_link_services", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.PrivateLinkService{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateLinkServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewPrivateLinkServicesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/private_link_services_test.go b/plugins/source/azure/resources/services/network/private_link_services_test.go deleted file mode 100644 index a1fb45312a000a..00000000000000 --- a/plugins/source/azure/resources/services/network/private_link_services_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateLinkServices(router *mux.Router) error { - var item armnetwork.PrivateLinkServicesClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateLinkServices(t *testing.T) { - client.MockTestHelper(t, PrivateLinkServices(), createPrivateLinkServices) -} diff --git a/plugins/source/azure/resources/services/network/profiles.go b/plugins/source/azure/resources/services/network/profiles.go deleted file mode 100644 index e3c72f12580ce2..00000000000000 --- a/plugins/source/azure/resources/services/network/profiles.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Profiles() *schema.Table { - return &schema.Table{ - Name: "azure_network_profiles", - Resolver: fetchProfiles, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-profiles/list?tabs=HTTP#networkprofile", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_profiles", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.Profile{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchProfiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewProfilesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/profiles_mock_test.go b/plugins/source/azure/resources/services/network/profiles_mock_test.go deleted file mode 100644 index c4aae7e7925b3d..00000000000000 --- a/plugins/source/azure/resources/services/network/profiles_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createProfiles(router *mux.Router) error { - var item armnetwork.ProfilesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestProfiles(t *testing.T) { - client.MockTestHelper(t, Profiles(), createProfiles) -} diff --git a/plugins/source/azure/resources/services/network/public_ip_addresses.go b/plugins/source/azure/resources/services/network/public_ip_addresses.go deleted file mode 100644 index 04b56cfebadf5c..00000000000000 --- a/plugins/source/azure/resources/services/network/public_ip_addresses.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PublicIpAddresses() *schema.Table { - return &schema.Table{ - Name: "azure_network_public_ip_addresses", - Resolver: fetchPublicIpAddresses, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/public-ip-addresses/list?tabs=HTTP#publicipaddress", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_public_ip_addresses", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.PublicIPAddress{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPublicIpAddresses(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewPublicIPAddressesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/public_ip_addresses_mock_test.go b/plugins/source/azure/resources/services/network/public_ip_addresses_mock_test.go deleted file mode 100644 index 1c1e93ea8d18f4..00000000000000 --- a/plugins/source/azure/resources/services/network/public_ip_addresses_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPublicIpAddresses(router *mux.Router) error { - var item armnetwork.PublicIPAddressesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPublicIpAddresses(t *testing.T) { - client.MockTestHelper(t, PublicIpAddresses(), createPublicIpAddresses) -} diff --git a/plugins/source/azure/resources/services/network/public_ip_prefixes.go b/plugins/source/azure/resources/services/network/public_ip_prefixes.go deleted file mode 100644 index c5309664424fc8..00000000000000 --- a/plugins/source/azure/resources/services/network/public_ip_prefixes.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PublicIpPrefixes() *schema.Table { - return &schema.Table{ - Name: "azure_network_public_ip_prefixes", - Resolver: fetchPublicIpPrefixes, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/public-ip-prefixes/list?tabs=HTTP#publicipprefix", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_public_ip_prefixes", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.PublicIPPrefix{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPublicIpPrefixes(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewPublicIPPrefixesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/public_ip_prefixes_mock_test.go b/plugins/source/azure/resources/services/network/public_ip_prefixes_mock_test.go deleted file mode 100644 index 70c8701dc5d1af..00000000000000 --- a/plugins/source/azure/resources/services/network/public_ip_prefixes_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPublicIpPrefixes(router *mux.Router) error { - var item armnetwork.PublicIPPrefixesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPublicIpPrefixes(t *testing.T) { - client.MockTestHelper(t, PublicIpPrefixes(), createPublicIpPrefixes) -} diff --git a/plugins/source/azure/resources/services/network/route_filters.go b/plugins/source/azure/resources/services/network/route_filters.go deleted file mode 100644 index 1b8107a9039b9e..00000000000000 --- a/plugins/source/azure/resources/services/network/route_filters.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RouteFilters() *schema.Table { - return &schema.Table{ - Name: "azure_network_route_filters", - Resolver: fetchRouteFilters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/route-filters/list?tabs=HTTP#routefilter", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_route_filters", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.RouteFilter{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRouteFilters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewRouteFiltersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/route_filters_mock_test.go b/plugins/source/azure/resources/services/network/route_filters_mock_test.go deleted file mode 100644 index d85c3f5b3008c8..00000000000000 --- a/plugins/source/azure/resources/services/network/route_filters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRouteFilters(router *mux.Router) error { - var item armnetwork.RouteFiltersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRouteFilters(t *testing.T) { - client.MockTestHelper(t, RouteFilters(), createRouteFilters) -} diff --git a/plugins/source/azure/resources/services/network/route_tables.go b/plugins/source/azure/resources/services/network/route_tables.go deleted file mode 100644 index 93e33ab4246311..00000000000000 --- a/plugins/source/azure/resources/services/network/route_tables.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RouteTables() *schema.Table { - return &schema.Table{ - Name: "azure_network_route_tables", - Resolver: fetchRouteTables, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/route-tables/list?tabs=HTTP#routetable", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_route_tables", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.RouteTable{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRouteTables(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewRouteTablesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/route_tables_mock_test.go b/plugins/source/azure/resources/services/network/route_tables_mock_test.go deleted file mode 100644 index 329a98b2454c04..00000000000000 --- a/plugins/source/azure/resources/services/network/route_tables_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRouteTables(router *mux.Router) error { - var item armnetwork.RouteTablesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRouteTables(t *testing.T) { - client.MockTestHelper(t, RouteTables(), createRouteTables) -} diff --git a/plugins/source/azure/resources/services/network/security_groups.go b/plugins/source/azure/resources/services/network/security_groups.go deleted file mode 100644 index 68b947a4be10fd..00000000000000 --- a/plugins/source/azure/resources/services/network/security_groups.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SecurityGroups() *schema.Table { - return &schema.Table{ - Name: "azure_network_security_groups", - Resolver: fetchSecurityGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-security-groups/list?tabs=HTTP#networksecuritygroup", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_security_groups", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.SecurityGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSecurityGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewSecurityGroupsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/security_groups_mock_test.go b/plugins/source/azure/resources/services/network/security_groups_mock_test.go deleted file mode 100644 index 0b62da6d133420..00000000000000 --- a/plugins/source/azure/resources/services/network/security_groups_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecurityGroups(router *mux.Router) error { - var item armnetwork.SecurityGroupsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSecurityGroups(t *testing.T) { - client.MockTestHelper(t, SecurityGroups(), createSecurityGroups) -} diff --git a/plugins/source/azure/resources/services/network/security_partner_providers.go b/plugins/source/azure/resources/services/network/security_partner_providers.go deleted file mode 100644 index 411d4d40bf3d5b..00000000000000 --- a/plugins/source/azure/resources/services/network/security_partner_providers.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SecurityPartnerProviders() *schema.Table { - return &schema.Table{ - Name: "azure_network_security_partner_providers", - Resolver: fetchSecurityPartnerProviders, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/security-partner-providers/list?tabs=HTTP#securitypartnerprovider", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_security_partner_providers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.SecurityPartnerProvider{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSecurityPartnerProviders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewSecurityPartnerProvidersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/security_partner_providers_mock_test.go b/plugins/source/azure/resources/services/network/security_partner_providers_mock_test.go deleted file mode 100644 index 195fcbb8a470cd..00000000000000 --- a/plugins/source/azure/resources/services/network/security_partner_providers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecurityPartnerProviders(router *mux.Router) error { - var item armnetwork.SecurityPartnerProvidersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/securityPartnerProviders", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSecurityPartnerProviders(t *testing.T) { - client.MockTestHelper(t, SecurityPartnerProviders(), createSecurityPartnerProviders) -} diff --git a/plugins/source/azure/resources/services/network/service_endpoint_policies.go b/plugins/source/azure/resources/services/network/service_endpoint_policies.go deleted file mode 100644 index 818df1562736d9..00000000000000 --- a/plugins/source/azure/resources/services/network/service_endpoint_policies.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ServiceEndpointPolicies() *schema.Table { - return &schema.Table{ - Name: "azure_network_service_endpoint_policies", - Resolver: fetchServiceEndpointPolicies, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/expressroute/service-endpoint-policies/list?tabs=HTTP#serviceendpointpolicy", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_service_endpoint_policies", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ServiceEndpointPolicy{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServiceEndpointPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewServiceEndpointPoliciesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/service_endpoint_policies_mock_test.go b/plugins/source/azure/resources/services/network/service_endpoint_policies_mock_test.go deleted file mode 100644 index d7a59864ea4848..00000000000000 --- a/plugins/source/azure/resources/services/network/service_endpoint_policies_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServiceEndpointPolicies(router *mux.Router) error { - var item armnetwork.ServiceEndpointPoliciesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServiceEndpointPolicies(t *testing.T) { - client.MockTestHelper(t, ServiceEndpointPolicies(), createServiceEndpointPolicies) -} diff --git a/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go b/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go deleted file mode 100644 index 0196cb05b2a4e9..00000000000000 --- a/plugins/source/azure/resources/services/network/subscription_network_manager_connections.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubscriptionNetworkManagerConnections() *schema.Table { - return &schema.Table{ - Name: "azure_network_subscription_network_manager_connections", - Resolver: fetchSubscriptionNetworkManagerConnections, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/networkmanager/management-group-network-manager-connections/list?tabs=HTTP#networkmanagerconnection", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_subscription_network_manager_connections", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.ManagerConnection{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSubscriptionNetworkManagerConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewSubscriptionNetworkManagerConnectionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/subscription_network_manager_connections_mock_test.go b/plugins/source/azure/resources/services/network/subscription_network_manager_connections_mock_test.go deleted file mode 100644 index 305cb3cf59ddd8..00000000000000 --- a/plugins/source/azure/resources/services/network/subscription_network_manager_connections_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptionNetworkManagerConnections(router *mux.Router) error { - var item armnetwork.SubscriptionNetworkManagerConnectionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSubscriptionNetworkManagerConnections(t *testing.T) { - client.MockTestHelper(t, SubscriptionNetworkManagerConnections(), createSubscriptionNetworkManagerConnections) -} diff --git a/plugins/source/azure/resources/services/network/virtual_appliances.go b/plugins/source/azure/resources/services/network/virtual_appliances.go deleted file mode 100644 index 531c9d454676d0..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_appliances.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualAppliances() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_appliances", - Resolver: fetchVirtualAppliances, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/network-virtual-appliances/list?tabs=HTTP#networkvirtualappliance", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_appliances", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualAppliance{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualAppliances(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualAppliancesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go b/plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go deleted file mode 100644 index 30eb34cbdc915e..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_appliances_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualAppliances(router *mux.Router) error { - var item armnetwork.VirtualAppliancesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkVirtualAppliances", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualAppliances(t *testing.T) { - client.MockTestHelper(t, VirtualAppliances(), createVirtualAppliances) -} diff --git a/plugins/source/azure/resources/services/network/virtual_hubs.go b/plugins/source/azure/resources/services/network/virtual_hubs.go deleted file mode 100644 index d5fd97293bc724..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_hubs.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualHubs() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_hubs", - Resolver: fetchVirtualHubs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualwan/virtual-hubs/list?tabs=HTTP#virtualhub", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_hubs", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualHub{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualHubs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualHubsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go b/plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go deleted file mode 100644 index 8fb7fbbdcade86..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_hubs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualHubs(router *mux.Router) error { - var item armnetwork.VirtualHubsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualHubs(t *testing.T) { - client.MockTestHelper(t, VirtualHubs(), createVirtualHubs) -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_gateway_connections.go b/plugins/source/azure/resources/services/network/virtual_network_gateway_connections.go deleted file mode 100644 index 01aef5125c2e28..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_gateway_connections.go +++ /dev/null @@ -1,40 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualNetworkGatewayConnections() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_network_gateway_connections", - Resolver: fetchVirtualNetworkGatewayConnections, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-gateway-connections/list?tabs=HTTP#virtualnetworkgatewayconnection", - Multiplex: client.SubscriptionResourceGroupMultiplexRegisteredNamespace("azure_network_virtual_network_gateway_connections", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetworkGatewayConnection{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworkGatewayConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualNetworkGatewayConnectionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - - pager := svc.NewListPager(cl.ResourceGroup, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_gateway_connections_test.go b/plugins/source/azure/resources/services/network/virtual_network_gateway_connections_test.go deleted file mode 100644 index 5ffd4b20625e5a..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_gateway_connections_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworkGatewayConnections(router *mux.Router) error { - var connection armnetwork.VirtualNetworkGatewayConnectionsClientListResponse - if err := faker.FakeObject(&connection); err != nil { - return err - } - - emptyStr := "" - connection.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&connection) - 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 -} - -func TestVirtualNetworkGatewayConnections(t *testing.T) { - client.MockTestHelper(t, VirtualNetworkGatewayConnections(), createVirtualNetworkGatewayConnections) -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_gateways.go b/plugins/source/azure/resources/services/network/virtual_network_gateways.go deleted file mode 100644 index 5bb775e17b70ac..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_gateways.go +++ /dev/null @@ -1,40 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualNetworkGateways() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_network_gateways", - Resolver: fetchVirtualNetworkGateways, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-gateways/list?tabs=HTTP#virtualnetworkgateway", - Multiplex: client.SubscriptionResourceGroupMultiplexRegisteredNamespace("azure_network_virtual_network_gateways", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetworkGateway{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworkGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualNetworkGatewaysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - - pager := svc.NewListPager(cl.ResourceGroup, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_gateways_test.go b/plugins/source/azure/resources/services/network/virtual_network_gateways_test.go deleted file mode 100644 index 4236a3c4e076bf..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_gateways_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworkGateways(router *mux.Router) error { - var gateway armnetwork.VirtualNetworkGatewaysClientListResponse - if err := faker.FakeObject(&gateway); err != nil { - return err - } - - emptyStr := "" - gateway.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&gateway) - 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 -} - -func TestVirtualNetworkGateways(t *testing.T) { - client.MockTestHelper(t, VirtualNetworkGateways(), createVirtualNetworkGateways) -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_subnets.go b/plugins/source/azure/resources/services/network/virtual_network_subnets.go deleted file mode 100644 index 35f92f0a634ba9..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_subnets.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func virtualNetworkSubnets() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_network_subnets", - Resolver: fetchVirtualNetworkSubnets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/subnets/list?tabs=HTTP#subnet", - Transform: transformers.TransformWithStruct(&armnetwork.Subnet{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworkSubnets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armnetwork.VirtualNetwork) - cl := meta.(*client.Client) - svc, err := armnetwork.NewSubnetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_subnets_mock_test.go b/plugins/source/azure/resources/services/network/virtual_network_subnets_mock_test.go deleted file mode 100644 index 26d46d897d5679..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_subnets_mock_test.go +++ /dev/null @@ -1,34 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworkSubnets(router *mux.Router) error { - var item armnetwork.SubnetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.Network/virtualNetworks/test string/subnets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_taps.go b/plugins/source/azure/resources/services/network/virtual_network_taps.go deleted file mode 100644 index f0091affe80d88..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_taps.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualNetworkTaps() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_network_taps", - Resolver: fetchVirtualNetworkTaps, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/network-gateway/virtual-network-taps/list-all?tabs=HTTP#virtualnetworktap", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_network_taps", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetworkTap{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworkTaps(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualNetworkTapsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_network_taps_mock_test.go b/plugins/source/azure/resources/services/network/virtual_network_taps_mock_test.go deleted file mode 100644 index b52f7c13f8e91a..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_network_taps_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworkTaps(router *mux.Router) error { - var item armnetwork.VirtualNetworkTapsClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualNetworkTaps(t *testing.T) { - client.MockTestHelper(t, VirtualNetworkTaps(), createVirtualNetworkTaps) -} diff --git a/plugins/source/azure/resources/services/network/virtual_networks.go b/plugins/source/azure/resources/services/network/virtual_networks.go deleted file mode 100644 index ca83c8545071a6..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_networks.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualNetworks() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_networks", - Resolver: fetchVirtualNetworks, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/virtual-networks/list-all?tabs=HTTP#virtualnetwork", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_networks", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualNetwork{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - virtualNetworkSubnets(), - }, - } -} - -func fetchVirtualNetworks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualNetworksClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_networks_mock_test.go b/plugins/source/azure/resources/services/network/virtual_networks_mock_test.go deleted file mode 100644 index 98269c64018020..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_networks_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualNetworks(router *mux.Router) error { - var item armnetwork.VirtualNetworksClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createVirtualNetworkSubnets(router) -} - -func TestVirtualNetworks(t *testing.T) { - client.MockTestHelper(t, VirtualNetworks(), createVirtualNetworks) -} diff --git a/plugins/source/azure/resources/services/network/virtual_routers.go b/plugins/source/azure/resources/services/network/virtual_routers.go deleted file mode 100644 index bcfeca984e3d52..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_routers.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualRouters() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_routers", - Resolver: fetchVirtualRouters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualnetwork/virtual-routers/list?tabs=HTTP#virtualrouter", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_routers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualRouter{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualRouters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualRoutersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_routers_mock_test.go b/plugins/source/azure/resources/services/network/virtual_routers_mock_test.go deleted file mode 100644 index 5bc820d2de2c61..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_routers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualRouters(router *mux.Router) error { - var item armnetwork.VirtualRoutersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualRouters(t *testing.T) { - client.MockTestHelper(t, VirtualRouters(), createVirtualRouters) -} diff --git a/plugins/source/azure/resources/services/network/virtual_wans.go b/plugins/source/azure/resources/services/network/virtual_wans.go deleted file mode 100644 index 8c7d7790dbb034..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_wans.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VirtualWans() *schema.Table { - return &schema.Table{ - Name: "azure_network_virtual_wans", - Resolver: fetchVirtualWans, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualwan/virtual-wans/list?tabs=HTTP#virtualwan", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_virtual_wans", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VirtualWAN{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualWans(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVirtualWansClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/virtual_wans_mock_test.go b/plugins/source/azure/resources/services/network/virtual_wans_mock_test.go deleted file mode 100644 index f73fab0c3ed870..00000000000000 --- a/plugins/source/azure/resources/services/network/virtual_wans_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVirtualWans(router *mux.Router) error { - var item armnetwork.VirtualWansClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVirtualWans(t *testing.T) { - client.MockTestHelper(t, VirtualWans(), createVirtualWans) -} diff --git a/plugins/source/azure/resources/services/network/vpn_gateways.go b/plugins/source/azure/resources/services/network/vpn_gateways.go deleted file mode 100644 index c448e500b6bf53..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_gateways.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VpnGateways() *schema.Table { - return &schema.Table{ - Name: "azure_network_vpn_gateways", - Resolver: fetchVpnGateways, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-gateways/list?tabs=HTTP#vpngateway", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_gateways", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VPNGateway{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVpnGateways(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVPNGatewaysClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go b/plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go deleted file mode 100644 index ad241fa0f89a44..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_gateways_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVpnGateways(router *mux.Router) error { - var item armnetwork.VPNGatewaysClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVpnGateways(t *testing.T) { - client.MockTestHelper(t, VpnGateways(), createVpnGateways) -} diff --git a/plugins/source/azure/resources/services/network/vpn_server_configurations.go b/plugins/source/azure/resources/services/network/vpn_server_configurations.go deleted file mode 100644 index cc1c1e6cd1457f..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_server_configurations.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VpnServerConfigurations() *schema.Table { - return &schema.Table{ - Name: "azure_network_vpn_server_configurations", - Resolver: fetchVpnServerConfigurations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-server-configurations/list?tabs=HTTP#vpnserverconfiguration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_server_configurations", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VPNServerConfiguration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVpnServerConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVPNServerConfigurationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/vpn_server_configurations_mock_test.go b/plugins/source/azure/resources/services/network/vpn_server_configurations_mock_test.go deleted file mode 100644 index a2b400963afe3b..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_server_configurations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVpnServerConfigurations(router *mux.Router) error { - var item armnetwork.VPNServerConfigurationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVpnServerConfigurations(t *testing.T) { - client.MockTestHelper(t, VpnServerConfigurations(), createVpnServerConfigurations) -} diff --git a/plugins/source/azure/resources/services/network/vpn_sites.go b/plugins/source/azure/resources/services/network/vpn_sites.go deleted file mode 100644 index e1362efb9d804a..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_sites.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func VpnSites() *schema.Table { - return &schema.Table{ - Name: "azure_network_vpn_sites", - Resolver: fetchVpnSites, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/virtualwan/vpn-sites/list?tabs=HTTP#vpnsite", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_vpn_sites", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.VPNSite{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVpnSites(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewVPNSitesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/vpn_sites_mock_test.go b/plugins/source/azure/resources/services/network/vpn_sites_mock_test.go deleted file mode 100644 index 5a0b9592b54124..00000000000000 --- a/plugins/source/azure/resources/services/network/vpn_sites_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createVpnSites(router *mux.Router) error { - var item armnetwork.VPNSitesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestVpnSites(t *testing.T) { - client.MockTestHelper(t, VpnSites(), createVpnSites) -} diff --git a/plugins/source/azure/resources/services/network/watcher_flow_logs.go b/plugins/source/azure/resources/services/network/watcher_flow_logs.go deleted file mode 100644 index b475a2bc822fad..00000000000000 --- a/plugins/source/azure/resources/services/network/watcher_flow_logs.go +++ /dev/null @@ -1,43 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func watcherFlowLogs() *schema.Table { - return &schema.Table{ - Name: "azure_network_watcher_flow_logs", - Resolver: fetchWatcherFlowLogs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/network-watcher/flow-logs/list?tabs=HTTP#definitions", - Transform: transformers.TransformWithStruct(&armnetwork.FlowLog{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWatcherFlowLogs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armnetwork.Watcher) - cl := meta.(*client.Client) - svc, err := armnetwork.NewFlowLogsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*p.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *p.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/watcher_flow_logs_mock_test.go b/plugins/source/azure/resources/services/network/watcher_flow_logs_mock_test.go deleted file mode 100644 index a0e2f4faf1c98c..00000000000000 --- a/plugins/source/azure/resources/services/network/watcher_flow_logs_mock_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWatcherflowLogs(router *mux.Router) error { - var item armnetwork.FlowLogsClientListResponse - - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/debug/providers/Microsoft.Network/networkWatchers/test string/flowLogs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/network/watchers.go b/plugins/source/azure/resources/services/network/watchers.go deleted file mode 100644 index 18fd014461c51e..00000000000000 --- a/plugins/source/azure/resources/services/network/watchers.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Watchers() *schema.Table { - return &schema.Table{ - Name: "azure_network_watchers", - Resolver: fetchWatchers, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/network-watcher/network-watchers/list-all?tabs=HTTP#networkwatcher", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_watchers", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.Watcher{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - watcherFlowLogs(), - }, - } -} - -func fetchWatchers(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewWatchersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/watchers_mock_test.go b/plugins/source/azure/resources/services/network/watchers_mock_test.go deleted file mode 100644 index b9347a01b71b0d..00000000000000 --- a/plugins/source/azure/resources/services/network/watchers_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWatchers(router *mux.Router) error { - var item armnetwork.WatchersClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createWatcherflowLogs(router) -} - -func TestWatchers(t *testing.T) { - client.MockTestHelper(t, Watchers(), createWatchers) -} diff --git a/plugins/source/azure/resources/services/network/web_application_firewall_policies.go b/plugins/source/azure/resources/services/network/web_application_firewall_policies.go deleted file mode 100644 index b0c06f22530b83..00000000000000 --- a/plugins/source/azure/resources/services/network/web_application_firewall_policies.go +++ /dev/null @@ -1,39 +0,0 @@ -package network - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func WebApplicationFirewallPolicies() *schema.Table { - return &schema.Table{ - Name: "azure_network_web_application_firewall_policies", - Resolver: fetchWebApplicationFirewallPolicies, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/application-gateway/web-application-firewall-policies/list?tabs=HTTP#webapplicationfirewallpolicy", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_network_web_application_firewall_policies", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armnetwork.WebApplicationFirewallPolicy{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWebApplicationFirewallPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetwork.NewWebApplicationFirewallPoliciesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/network/web_application_firewall_policies_mock_test.go b/plugins/source/azure/resources/services/network/web_application_firewall_policies_mock_test.go deleted file mode 100644 index ae2722e4ffae4f..00000000000000 --- a/plugins/source/azure/resources/services/network/web_application_firewall_policies_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package network - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWebApplicationFirewallPolicies(router *mux.Router) error { - var item armnetwork.WebApplicationFirewallPoliciesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWebApplicationFirewallPolicies(t *testing.T) { - client.MockTestHelper(t, WebApplicationFirewallPolicies(), createWebApplicationFirewallPolicies) -} diff --git a/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription.go b/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription.go deleted file mode 100644 index 85fd4a9afd1771..00000000000000 --- a/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription.go +++ /dev/null @@ -1,39 +0,0 @@ -package networkfunction - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AzureTrafficCollectorsBySubscription() *schema.Table { - return &schema.Table{ - Name: "azure_networkfunction_azure_traffic_collectors_by_subscription", - Resolver: fetchAzureTrafficCollectorsBySubscription, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction@v1.0.0#AzureTrafficCollector", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_networkfunction_azure_traffic_collectors_by_subscription", client.Namespacemicrosoft_networkfunction), - Transform: transformers.TransformWithStruct(&armnetworkfunction.AzureTrafficCollector{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAzureTrafficCollectorsBySubscription(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnetworkfunction.NewAzureTrafficCollectorsBySubscriptionClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription_mock_test.go b/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription_mock_test.go deleted file mode 100644 index 8656a134951c9e..00000000000000 --- a/plugins/source/azure/resources/services/networkfunction/azure_traffic_collectors_by_subscription_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package networkfunction - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAzureTrafficCollectorsBySubscription(router *mux.Router) error { - var item armnetworkfunction.AzureTrafficCollectorsBySubscriptionClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.NetworkFunction/azureTrafficCollectors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAzureTrafficCollectorsBySubscription(t *testing.T) { - client.MockTestHelper(t, AzureTrafficCollectorsBySubscription(), createAzureTrafficCollectorsBySubscription) -} diff --git a/plugins/source/azure/resources/services/nginx/deployments.go b/plugins/source/azure/resources/services/nginx/deployments.go deleted file mode 100644 index 26907c12738227..00000000000000 --- a/plugins/source/azure/resources/services/nginx/deployments.go +++ /dev/null @@ -1,20 +0,0 @@ -package nginx - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Deployments() *schema.Table { - return &schema.Table{ - Name: "azure_nginx_deployments", - Resolver: fetchDeployments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2@v2.0.0#Deployment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_nginx_deployments", client.Namespacenginx_nginxplus), - Transform: transformers.TransformWithStruct(&armnginx.Deployment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} diff --git a/plugins/source/azure/resources/services/nginx/deployments_fetch.go b/plugins/source/azure/resources/services/nginx/deployments_fetch.go deleted file mode 100644 index 0d72b69d416856..00000000000000 --- a/plugins/source/azure/resources/services/nginx/deployments_fetch.go +++ /dev/null @@ -1,26 +0,0 @@ -package nginx - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchDeployments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnginx.NewDeploymentsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/nginx/deployments_mock_test.go b/plugins/source/azure/resources/services/nginx/deployments_mock_test.go deleted file mode 100644 index 03fb610cf55dc9..00000000000000 --- a/plugins/source/azure/resources/services/nginx/deployments_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package nginx - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDeployments(router *mux.Router) error { - var item armnginx.DeploymentsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Nginx.NginxPlus/nginxDeployments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDeployments(t *testing.T) { - client.MockTestHelper(t, Deployments(), createDeployments) -} diff --git a/plugins/source/azure/resources/services/notificationhubs/namespaces.go b/plugins/source/azure/resources/services/notificationhubs/namespaces.go deleted file mode 100644 index 71bcf77e3e6f1b..00000000000000 --- a/plugins/source/azure/resources/services/notificationhubs/namespaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package notificationhubs - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/notificationhubs/armnotificationhubs" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Namespaces() *schema.Table { - return &schema.Table{ - Name: "azure_notificationhubs_namespaces", - Resolver: fetchNamespaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/notificationhubs/namespaces/list?tabs=HTTP#namespaceresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_notificationhubs_namespaces", client.Namespacemicrosoft_notificationhubs), - Transform: transformers.TransformWithStruct(&armnotificationhubs.NamespaceResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchNamespaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armnotificationhubs.NewNamespacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go b/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go deleted file mode 100644 index 1abbb2d67d5029..00000000000000 --- a/plugins/source/azure/resources/services/notificationhubs/namespaces_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package notificationhubs - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/notificationhubs/armnotificationhubs" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNamespaces(router *mux.Router) error { - var item armnotificationhubs.NamespacesClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestNamespaces(t *testing.T) { - client.MockTestHelper(t, Namespaces(), createNamespaces) -} diff --git a/plugins/source/azure/resources/services/operationalinsights/clusters.go b/plugins/source/azure/resources/services/operationalinsights/clusters.go deleted file mode 100644 index ef1460e43c0ed1..00000000000000 --- a/plugins/source/azure/resources/services/operationalinsights/clusters.go +++ /dev/null @@ -1,39 +0,0 @@ -package operationalinsights - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Clusters() *schema.Table { - return &schema.Table{ - Name: "azure_operationalinsights_clusters", - Resolver: fetchClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights@v1.0.0#Cluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_operationalinsights_clusters", client.Namespacemicrosoft_operationalinsights), - Transform: transformers.TransformWithStruct(&armoperationalinsights.Cluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armoperationalinsights.NewClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go b/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go deleted file mode 100644 index f17d121431e1dd..00000000000000 --- a/plugins/source/azure/resources/services/operationalinsights/clusters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package operationalinsights - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createClusters(router *mux.Router) error { - var item armoperationalinsights.ClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/clusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestClusters(t *testing.T) { - client.MockTestHelper(t, Clusters(), createClusters) -} diff --git a/plugins/source/azure/resources/services/operationalinsights/workspaces.go b/plugins/source/azure/resources/services/operationalinsights/workspaces.go deleted file mode 100644 index 4b9ce02db3790a..00000000000000 --- a/plugins/source/azure/resources/services/operationalinsights/workspaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package operationalinsights - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Workspaces() *schema.Table { - return &schema.Table{ - Name: "azure_operationalinsights_workspaces", - Resolver: fetchWorkspaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights@v1.0.0#Workspace", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_operationalinsights_workspaces", client.Namespacemicrosoft_operationalinsights), - Transform: transformers.TransformWithStruct(&armoperationalinsights.Workspace{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWorkspaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armoperationalinsights.NewWorkspacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go b/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go deleted file mode 100644 index 28976f7df6ea52..00000000000000 --- a/plugins/source/azure/resources/services/operationalinsights/workspaces_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package operationalinsights - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/operationalinsights/armoperationalinsights" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWorkspaces(router *mux.Router) error { - var item armoperationalinsights.WorkspacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.OperationalInsights/workspaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWorkspaces(t *testing.T) { - client.MockTestHelper(t, Workspaces(), createWorkspaces) -} diff --git a/plugins/source/azure/resources/services/peering/service_countries.go b/plugins/source/azure/resources/services/peering/service_countries.go deleted file mode 100644 index b73ed83aa1d9e8..00000000000000 --- a/plugins/source/azure/resources/services/peering/service_countries.go +++ /dev/null @@ -1,39 +0,0 @@ -package peering - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ServiceCountries() *schema.Table { - return &schema.Table{ - Name: "azure_peering_service_countries", - Resolver: fetchServiceCountries, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/peering/peering-service-countries/list?tabs=HTTP#peeringservicecountry", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_peering_service_countries", client.Namespacemicrosoft_peering), - Transform: transformers.TransformWithStruct(&armpeering.ServiceCountry{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServiceCountries(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpeering.NewServiceCountriesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/peering/service_countries_mock_test.go b/plugins/source/azure/resources/services/peering/service_countries_mock_test.go deleted file mode 100644 index e96cb51c3e7b85..00000000000000 --- a/plugins/source/azure/resources/services/peering/service_countries_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package peering - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServiceCountries(router *mux.Router) error { - var item armpeering.ServiceCountriesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServiceCountries(t *testing.T) { - client.MockTestHelper(t, ServiceCountries(), createServiceCountries) -} diff --git a/plugins/source/azure/resources/services/peering/service_providers.go b/plugins/source/azure/resources/services/peering/service_providers.go deleted file mode 100644 index 8efaf810d5c8f9..00000000000000 --- a/plugins/source/azure/resources/services/peering/service_providers.go +++ /dev/null @@ -1,20 +0,0 @@ -package peering - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ServiceProviders() *schema.Table { - return &schema.Table{ - Name: "azure_peering_service_providers", - Resolver: fetchServiceProviders, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/peering/peering-service-providers/list?tabs=HTTP#peeringserviceprovider", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_peering_service_providers", client.Namespacemicrosoft_peering), - Transform: transformers.TransformWithStruct(&armpeering.ServiceProvider{}, transformers.WithPrimaryKeys("Name")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} diff --git a/plugins/source/azure/resources/services/peering/service_providers_fetch.go b/plugins/source/azure/resources/services/peering/service_providers_fetch.go deleted file mode 100644 index 3e8f2b6277bd77..00000000000000 --- a/plugins/source/azure/resources/services/peering/service_providers_fetch.go +++ /dev/null @@ -1,26 +0,0 @@ -package peering - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchServiceProviders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpeering.NewServiceProvidersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/peering/service_providers_mock_test.go b/plugins/source/azure/resources/services/peering/service_providers_mock_test.go deleted file mode 100644 index 7389e7d4e90e7d..00000000000000 --- a/plugins/source/azure/resources/services/peering/service_providers_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package peering - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/peering/armpeering" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServiceProviders(router *mux.Router) error { - var item armpeering.ServiceProvidersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServiceProviders(t *testing.T) { - client.MockTestHelper(t, ServiceProviders(), createServiceProviders) -} diff --git a/plugins/source/azure/resources/services/policy/assignments.go b/plugins/source/azure/resources/services/policy/assignments.go deleted file mode 100644 index 1ec34554037777..00000000000000 --- a/plugins/source/azure/resources/services/policy/assignments.go +++ /dev/null @@ -1,39 +0,0 @@ -package policy - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Assignments() *schema.Table { - return &schema.Table{ - Name: "azure_policy_assignments", - Resolver: fetchAssignments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/policy/policy-assignments/list?tabs=HTTP#policyassignment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_assignments", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armpolicy.Assignment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAssignments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpolicy.NewAssignmentsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/policy/assignments_mock_test.go b/plugins/source/azure/resources/services/policy/assignments_mock_test.go deleted file mode 100644 index bfaf0923e030c1..00000000000000 --- a/plugins/source/azure/resources/services/policy/assignments_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package policy - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAssignments(router *mux.Router) error { - var item armpolicy.AssignmentsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAssignments(t *testing.T) { - client.MockTestHelper(t, Assignments(), createAssignments) -} diff --git a/plugins/source/azure/resources/services/policy/data_policy_manifests.go b/plugins/source/azure/resources/services/policy/data_policy_manifests.go deleted file mode 100644 index ad438de9440c7a..00000000000000 --- a/plugins/source/azure/resources/services/policy/data_policy_manifests.go +++ /dev/null @@ -1,37 +0,0 @@ -package policy - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DataPolicyManifests() *schema.Table { - return &schema.Table{ - Name: "azure_policy_data_policy_manifests", - Resolver: fetchDataPolicyManifests, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy@v0.6.0#DataPolicyManifest", - Transform: transformers.TransformWithStruct(&armpolicy.DataPolicyManifest{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchDataPolicyManifests(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpolicy.NewDataPolicyManifestsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/policy/data_policy_manifests_mock_test.go b/plugins/source/azure/resources/services/policy/data_policy_manifests_mock_test.go deleted file mode 100644 index 6c2ca78cc2978b..00000000000000 --- a/plugins/source/azure/resources/services/policy/data_policy_manifests_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package policy - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDataPolicyManifests(router *mux.Router) error { - var item armpolicy.DataPolicyManifestsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Authorization/dataPolicyManifests", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDataPolicyManifests(t *testing.T) { - client.MockTestHelper(t, DataPolicyManifests(), createDataPolicyManifests) -} diff --git a/plugins/source/azure/resources/services/policy/exemptions.go b/plugins/source/azure/resources/services/policy/exemptions.go deleted file mode 100644 index 717c5082bc0cff..00000000000000 --- a/plugins/source/azure/resources/services/policy/exemptions.go +++ /dev/null @@ -1,39 +0,0 @@ -package policy - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Exemptions() *schema.Table { - return &schema.Table{ - Name: "azure_policy_exemptions", - Resolver: fetchExemptions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/policy/policy-exemptions/list?tabs=HTTP#policyexemption", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_exemptions", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armpolicy.Exemption{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExemptions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpolicy.NewExemptionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/policy/exemptions_mock_test.go b/plugins/source/azure/resources/services/policy/exemptions_mock_test.go deleted file mode 100644 index 9c3b771d06eb5d..00000000000000 --- a/plugins/source/azure/resources/services/policy/exemptions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package policy - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExemptions(router *mux.Router) error { - var item armpolicy.ExemptionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyExemptions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExemptions(t *testing.T) { - client.MockTestHelper(t, Exemptions(), createExemptions) -} diff --git a/plugins/source/azure/resources/services/policy/set_definitions.go b/plugins/source/azure/resources/services/policy/set_definitions.go deleted file mode 100644 index 9a6bf5041cdf6f..00000000000000 --- a/plugins/source/azure/resources/services/policy/set_definitions.go +++ /dev/null @@ -1,39 +0,0 @@ -package policy - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SetDefinitions() *schema.Table { - return &schema.Table{ - Name: "azure_policy_set_definitions", - Resolver: fetchSetDefinitions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/policy/policy-set-definitions/list?tabs=HTTP#policysetdefinition", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_policy_set_definitions", client.Namespacemicrosoft_authorization), - Transform: transformers.TransformWithStruct(&armpolicy.SetDefinition{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchSetDefinitions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpolicy.NewSetDefinitionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/policy/set_definitions_mock_test.go b/plugins/source/azure/resources/services/policy/set_definitions_mock_test.go deleted file mode 100644 index 5f85f1f2e87d6d..00000000000000 --- a/plugins/source/azure/resources/services/policy/set_definitions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package policy - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armpolicy" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSetDefinitions(router *mux.Router) error { - var item armpolicy.SetDefinitionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSetDefinitions(t *testing.T) { - client.MockTestHelper(t, SetDefinitions(), createSetDefinitions) -} diff --git a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go b/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go deleted file mode 100644 index 5fa375279a18ae..00000000000000 --- a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations.go +++ /dev/null @@ -1,39 +0,0 @@ -package portal - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ListTenantConfigurationViolations() *schema.Table { - return &schema.Table{ - Name: "azure_portal_list_tenant_configuration_violations", - Resolver: fetchListTenantConfigurationViolations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal@v0.5.0#Violation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_portal_list_tenant_configuration_violations", client.Namespacemicrosoft_portal), - Transform: transformers.TransformWithStruct(&armportal.Violation{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchListTenantConfigurationViolations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armportal.NewListTenantConfigurationViolationsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations_mock_test.go b/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations_mock_test.go deleted file mode 100644 index 55913da9b96c25..00000000000000 --- a/plugins/source/azure/resources/services/portal/list_tenant_configuration_violations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package portal - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createListTenantConfigurationViolations(router *mux.Router) error { - var item armportal.ListTenantConfigurationViolationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Portal/listTenantConfigurationViolations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestListTenantConfigurationViolations(t *testing.T) { - client.MockTestHelper(t, ListTenantConfigurationViolations(), createListTenantConfigurationViolations) -} diff --git a/plugins/source/azure/resources/services/portal/tenant_configurations.go b/plugins/source/azure/resources/services/portal/tenant_configurations.go deleted file mode 100644 index f60af2388ca91f..00000000000000 --- a/plugins/source/azure/resources/services/portal/tenant_configurations.go +++ /dev/null @@ -1,39 +0,0 @@ -package portal - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func TenantConfigurations() *schema.Table { - return &schema.Table{ - Name: "azure_portal_tenant_configurations", - Resolver: fetchTenantConfigurations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal@v0.5.0#Configuration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_portal_tenant_configurations", client.Namespacemicrosoft_portal), - Transform: transformers.TransformWithStruct(&armportal.Configuration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchTenantConfigurations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armportal.NewTenantConfigurationsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go b/plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go deleted file mode 100644 index e0d44f3f36dd3c..00000000000000 --- a/plugins/source/azure/resources/services/portal/tenant_configurations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package portal - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/portal/armportal" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTenantConfigurations(router *mux.Router) error { - var item armportal.TenantConfigurationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Portal/tenantConfigurations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTenantConfigurations(t *testing.T) { - client.MockTestHelper(t, TenantConfigurations(), createTenantConfigurations) -} diff --git a/plugins/source/azure/resources/services/powerbidedicated/capacities.go b/plugins/source/azure/resources/services/powerbidedicated/capacities.go deleted file mode 100644 index e5364ff00331fc..00000000000000 --- a/plugins/source/azure/resources/services/powerbidedicated/capacities.go +++ /dev/null @@ -1,39 +0,0 @@ -package powerbidedicated - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/powerbidedicated/armpowerbidedicated" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Capacities() *schema.Table { - return &schema.Table{ - Name: "azure_powerbidedicated_capacities", - Resolver: fetchCapacities, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/power-bi-embedded/capacities/list?tabs=HTTP#dedicatedcapacity", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_powerbidedicated_capacities", client.Namespacemicrosoft_powerbidedicated), - Transform: transformers.TransformWithStruct(&armpowerbidedicated.DedicatedCapacity{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchCapacities(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armpowerbidedicated.NewCapacitiesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go b/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go deleted file mode 100644 index 8398b48315256f..00000000000000 --- a/plugins/source/azure/resources/services/powerbidedicated/capacities_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package powerbidedicated - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/powerbidedicated/armpowerbidedicated" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createCapacities(router *mux.Router) error { - var item armpowerbidedicated.CapacitiesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBIDedicated/capacities", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestCapacities(t *testing.T) { - client.MockTestHelper(t, Capacities(), createCapacities) -} diff --git a/plugins/source/azure/resources/services/privatedns/private_zones.go b/plugins/source/azure/resources/services/privatedns/private_zones.go deleted file mode 100644 index e1c60c3ee3ff2b..00000000000000 --- a/plugins/source/azure/resources/services/privatedns/private_zones.go +++ /dev/null @@ -1,43 +0,0 @@ -package privatedns - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateZones() *schema.Table { - return &schema.Table{ - Name: "azure_privatedns_private_zones", - Resolver: fetchPrivateZones, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/privatedns/private-zones/list?tabs=HTTP#privatezone", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_privatedns_private_zones", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armprivatedns.PrivateZone{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{ - recordSets(), - virtualNetworkLinks(), - }, - } -} - -func fetchPrivateZones(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armprivatedns.NewPrivateZonesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go b/plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go deleted file mode 100644 index 33ccd2544d8c21..00000000000000 --- a/plugins/source/azure/resources/services/privatedns/private_zones_mock_test.go +++ /dev/null @@ -1,46 +0,0 @@ -package privatedns - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateZones(router *mux.Router) error { - var item armprivatedns.PrivateZonesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateDnsZones", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - - if err := createMockRecordSets(router); err != nil { - return err - } - - return createMockVirtualNetworkLinks(router) -} - -func TestPrivateZones(t *testing.T) { - client.MockTestHelper(t, PrivateZones(), createPrivateZones) -} diff --git a/plugins/source/azure/resources/services/privatedns/record_sets.go b/plugins/source/azure/resources/services/privatedns/record_sets.go deleted file mode 100644 index 6ee6025db690f6..00000000000000 --- a/plugins/source/azure/resources/services/privatedns/record_sets.go +++ /dev/null @@ -1,72 +0,0 @@ -package privatedns - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func recordSets() *schema.Table { - return &schema.Table{ - Name: "azure_privatedns_private_zone_record_sets", - Resolver: fetchRecordSets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/privatedns/record-sets/list?tabs=HTTP#recordset", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_privatedns_private_zone_record_sets", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armprivatedns.RecordSet{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRecordSets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - zone := parent.Item.(*armprivatedns.PrivateZone) - svc, err := armprivatedns.NewRecordSetsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*zone.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *zone.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} - -func createMockRecordSets(router *mux.Router) error { - var item armprivatedns.RecordSetsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/ALL", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/privatedns/virtual_network_links.go b/plugins/source/azure/resources/services/privatedns/virtual_network_links.go deleted file mode 100644 index 8dcfd083a110b7..00000000000000 --- a/plugins/source/azure/resources/services/privatedns/virtual_network_links.go +++ /dev/null @@ -1,72 +0,0 @@ -package privatedns - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func virtualNetworkLinks() *schema.Table { - return &schema.Table{ - Name: "azure_privatedns_private_zone_virtual_network_links", - Resolver: fetchVirtualNetworkLinks, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/dns/privatedns/virtual-network-links/list?tabs=HTTP#virtualnetworklink", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_privatedns_private_zone_virtual_network_links", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armprivatedns.VirtualNetworkLink{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchVirtualNetworkLinks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - zone := parent.Item.(*armprivatedns.PrivateZone) - svc, err := armprivatedns.NewVirtualNetworkLinksClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*zone.ID) - if err != nil { - return err - } - pager := svc.NewListPager(group, *zone.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} - -func createMockVirtualNetworkLinks(router *mux.Router) error { - var item armprivatedns.VirtualNetworkLinksClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateDnsZones/{privateZoneName}/virtualNetworkLinks", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/providerhub/provider_registrations.go b/plugins/source/azure/resources/services/providerhub/provider_registrations.go deleted file mode 100644 index 5d23d2ea83a756..00000000000000 --- a/plugins/source/azure/resources/services/providerhub/provider_registrations.go +++ /dev/null @@ -1,39 +0,0 @@ -package providerhub - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/providerhub/armproviderhub" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ProviderRegistrations() *schema.Table { - return &schema.Table{ - Name: "azure_providerhub_provider_registrations", - Resolver: fetchProviderRegistrations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/providerhub/armproviderhub@v1.0.0#ProviderRegistration", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_providerhub_provider_registrations", client.Namespacemicrosoft_providerhub), - Transform: transformers.TransformWithStruct(&armproviderhub.ProviderRegistration{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchProviderRegistrations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armproviderhub.NewProviderRegistrationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go b/plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go deleted file mode 100644 index 04729ed2e4dc6b..00000000000000 --- a/plugins/source/azure/resources/services/providerhub/provider_registrations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package providerhub - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/providerhub/armproviderhub" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createProviderRegistrations(router *mux.Router) error { - var item armproviderhub.ProviderRegistrationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ProviderHub/providerRegistrations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestProviderRegistrations(t *testing.T) { - client.MockTestHelper(t, ProviderRegistrations(), createProviderRegistrations) -} diff --git a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go deleted file mode 100644 index 76490068d1bbbf..00000000000000 --- a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters.go +++ /dev/null @@ -1,39 +0,0 @@ -package redhatopenshift - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redhatopenshift/armredhatopenshift" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func OpenShiftClusters() *schema.Table { - return &schema.Table{ - Name: "azure_redhatopenshift_open_shift_clusters", - Resolver: fetchOpenShiftClusters, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/openshift/open-shift-clusters/list?tabs=HTTP#openshiftcluster", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_redhatopenshift_open_shift_clusters", client.Namespacemicrosoft_redhatopenshift), - Transform: transformers.TransformWithStruct(&armredhatopenshift.OpenShiftCluster{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchOpenShiftClusters(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armredhatopenshift.NewOpenShiftClustersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters_mock_test.go b/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters_mock_test.go deleted file mode 100644 index df6f68d4b8b311..00000000000000 --- a/plugins/source/azure/resources/services/redhatopenshift/open_shift_clusters_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package redhatopenshift - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redhatopenshift/armredhatopenshift" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createOpenShiftClusters(router *mux.Router) error { - var item armredhatopenshift.OpenShiftClustersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.RedHatOpenShift/openShiftClusters", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestOpenShiftClusters(t *testing.T) { - client.MockTestHelper(t, OpenShiftClusters(), createOpenShiftClusters) -} diff --git a/plugins/source/azure/resources/services/redis/caches.go b/plugins/source/azure/resources/services/redis/caches.go deleted file mode 100644 index f696872cb7c7aa..00000000000000 --- a/plugins/source/azure/resources/services/redis/caches.go +++ /dev/null @@ -1,39 +0,0 @@ -package redis - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis/v2" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Caches() *schema.Table { - return &schema.Table{ - Name: "azure_redis_caches", - Resolver: fetchCaches, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/redis/redis/list-by-subscription?tabs=HTTP#redisresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_redis_caches", client.Namespacemicrosoft_cache), - Transform: transformers.TransformWithStruct(&armredis.ResourceInfo{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchCaches(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armredis.NewClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/redis/caches_mock_test.go b/plugins/source/azure/resources/services/redis/caches_mock_test.go deleted file mode 100644 index 84c0c87b028ec8..00000000000000 --- a/plugins/source/azure/resources/services/redis/caches_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package redis - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis/v2" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createCaches(router *mux.Router) error { - var item armredis.ClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redis", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestCaches(t *testing.T) { - client.MockTestHelper(t, Caches(), createCaches) -} diff --git a/plugins/source/azure/resources/services/relay/namespaces.go b/plugins/source/azure/resources/services/relay/namespaces.go deleted file mode 100644 index 156df6a1788a52..00000000000000 --- a/plugins/source/azure/resources/services/relay/namespaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package relay - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Namespaces() *schema.Table { - return &schema.Table{ - Name: "azure_relay_namespaces", - Resolver: fetchNamespaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/relay/namespaces/list?tabs=HTTP#relaynamespace", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_relay_namespaces", client.Namespacemicrosoft_relay), - Transform: transformers.TransformWithStruct(&armrelay.Namespace{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchNamespaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armrelay.NewNamespacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/relay/namespaces_mock_test.go b/plugins/source/azure/resources/services/relay/namespaces_mock_test.go deleted file mode 100644 index a3e2bc64e0aa6f..00000000000000 --- a/plugins/source/azure/resources/services/relay/namespaces_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package relay - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/relay/armrelay" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNamespaces(router *mux.Router) error { - var item armrelay.NamespacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestNamespaces(t *testing.T) { - client.MockTestHelper(t, Namespaces(), createNamespaces) -} diff --git a/plugins/source/azure/resources/services/reservations/reservation.go b/plugins/source/azure/resources/services/reservations/reservation.go deleted file mode 100644 index 5a376e8c524c3d..00000000000000 --- a/plugins/source/azure/resources/services/reservations/reservation.go +++ /dev/null @@ -1,37 +0,0 @@ -package reservations - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations/v3" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Reservation() *schema.Table { - return &schema.Table{ - Name: "azure_reservations_reservation", - Resolver: fetchReservation, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/reserved-vm-instances/reservation/list-all?tabs=HTTP#reservationresponse", - Transform: transformers.TransformWithStruct(&armreservations.ReservationResponse{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchReservation(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armreservations.NewReservationClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/reservations/reservation_mock_test.go b/plugins/source/azure/resources/services/reservations/reservation_mock_test.go deleted file mode 100644 index f95e85d52ab8b2..00000000000000 --- a/plugins/source/azure/resources/services/reservations/reservation_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package reservations - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations/v3" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createReservation(router *mux.Router) error { - var item armreservations.ReservationClientListAllResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Capacity/reservations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestReservation(t *testing.T) { - client.MockTestHelper(t, Reservation(), createReservation) -} diff --git a/plugins/source/azure/resources/services/reservations/reservation_order.go b/plugins/source/azure/resources/services/reservations/reservation_order.go deleted file mode 100644 index 27ddc4343d96e1..00000000000000 --- a/plugins/source/azure/resources/services/reservations/reservation_order.go +++ /dev/null @@ -1,39 +0,0 @@ -package reservations - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations/v3" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ReservationOrder() *schema.Table { - return &schema.Table{ - Name: "azure_reservations_reservation_order", - Resolver: fetchReservationOrder, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/reserved-vm-instances/reservation-order/get?tabs=HTTP#reservationorderresponse", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_reservations_reservation_order", client.Namespacemicrosoft_capacity), - Transform: transformers.TransformWithStruct(&armreservations.ReservationOrderResponse{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchReservationOrder(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armreservations.NewReservationOrderClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go b/plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go deleted file mode 100644 index d1fad9d1e3fede..00000000000000 --- a/plugins/source/azure/resources/services/reservations/reservation_order_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package reservations - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations/v3" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createReservationOrder(router *mux.Router) error { - var item armreservations.ReservationOrderClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Capacity/reservationOrders", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestReservationOrder(t *testing.T) { - client.MockTestHelper(t, ReservationOrder(), createReservationOrder) -} diff --git a/plugins/source/azure/resources/services/resources/links.go b/plugins/source/azure/resources/services/resources/links.go deleted file mode 100644 index 4ad3f072cb9894..00000000000000 --- a/plugins/source/azure/resources/services/resources/links.go +++ /dev/null @@ -1,40 +0,0 @@ -package resources - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armlinks" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Links() *schema.Table { - return &schema.Table{ - Name: "azure_resources_links", - Resolver: fetchLinks, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/resource-links/list-at-subscription#resourcelink", - Multiplex: client.SubscriptionMultiplex, - Transform: transformers.TransformWithStruct(&armlinks.ResourceLink{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchLinks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armlinks.NewResourceLinksClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAtSubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/resources/links_mock_test.go b/plugins/source/azure/resources/services/resources/links_mock_test.go deleted file mode 100644 index 7edf52d88c0ff6..00000000000000 --- a/plugins/source/azure/resources/services/resources/links_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package resources - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armlinks" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createLinks(router *mux.Router) error { - var item armlinks.ResourceLinksClientListAtSubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/links", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestLinks(t *testing.T) { - client.MockTestHelper(t, Links(), createLinks) -} diff --git a/plugins/source/azure/resources/services/resources/providers.go b/plugins/source/azure/resources/services/resources/providers.go deleted file mode 100644 index 431da53b090f55..00000000000000 --- a/plugins/source/azure/resources/services/resources/providers.go +++ /dev/null @@ -1,42 +0,0 @@ -package resources - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Providers() *schema.Table { - return &schema.Table{ - Name: "azure_resources_providers", - Resolver: fetchProviders, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://docs.microsoft.com/en-us/rest/api/resources/providers/list", - Multiplex: client.SubscriptionMultiplex, - Transform: transformers.TransformWithStruct(&armresources.Provider{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchProviders(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armresources.NewProvidersClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(&armresources.ProvidersClientListOptions{ - Expand: to.Ptr("resourceTypes/aliases"), - }) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/resources/providers_mock_test.go b/plugins/source/azure/resources/services/resources/providers_mock_test.go deleted file mode 100644 index 9116a8119b7e09..00000000000000 --- a/plugins/source/azure/resources/services/resources/providers_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package resources - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createProviders(router *mux.Router) error { - var item armresources.ProvidersClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestProviders(t *testing.T) { - client.MockTestHelper(t, Providers(), createProviders) -} diff --git a/plugins/source/azure/resources/services/resources/resource_groups.go b/plugins/source/azure/resources/services/resources/resource_groups.go deleted file mode 100644 index 7d72270d3ddd24..00000000000000 --- a/plugins/source/azure/resources/services/resources/resource_groups.go +++ /dev/null @@ -1,30 +0,0 @@ -package resources - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ResourceGroups() *schema.Table { - return &schema.Table{ - Name: "azure_resources_resource_groups", - Resolver: fetchResourceGroups, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/resource-groups/list#resourcegroup", - Multiplex: client.SubscriptionMultiplex, - Transform: transformers.TransformWithStruct(&armresources.ResourceGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchResourceGroups(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - - // We already fetched the resource groups for this subscription, no need to fetch again - res <- cl.ResourceGroups[cl.SubscriptionId] - return nil -} diff --git a/plugins/source/azure/resources/services/resources/resource_groups_mock_test.go b/plugins/source/azure/resources/services/resources/resource_groups_mock_test.go deleted file mode 100644 index a146ba4db4ed29..00000000000000 --- a/plugins/source/azure/resources/services/resources/resource_groups_mock_test.go +++ /dev/null @@ -1,18 +0,0 @@ -package resources - -import ( - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/gorilla/mux" -) - -func createResourceGroups(router *mux.Router) error { - // We already fetched the resource groups for this subscription, no need to fetch again - return nil -} - -func TestResourceGroups(t *testing.T) { - client.MockTestHelper(t, ResourceGroups(), createResourceGroups) -} diff --git a/plugins/source/azure/resources/services/resources/resource_mock_test.go b/plugins/source/azure/resources/services/resources/resource_mock_test.go deleted file mode 100644 index 216b6c8286186e..00000000000000 --- a/plugins/source/azure/resources/services/resources/resource_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package resources - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createResources(router *mux.Router) error { - var item armresources.ClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resources", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestResources(t *testing.T) { - client.MockTestHelper(t, Resources(), createResources) -} diff --git a/plugins/source/azure/resources/services/resources/resources.go b/plugins/source/azure/resources/services/resources/resources.go deleted file mode 100644 index c1d9082c5a382e..00000000000000 --- a/plugins/source/azure/resources/services/resources/resources.go +++ /dev/null @@ -1,39 +0,0 @@ -package resources - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Resources() *schema.Table { - return &schema.Table{ - Name: "azure_resources_resources", - Resolver: fetchResources, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/resources/list#genericresourceexpanded", - Multiplex: client.SubscriptionMultiplex, - Transform: transformers.TransformWithStruct(&armresources.GenericResourceExpanded{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchResources(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armresources.NewClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/saas/resources.go b/plugins/source/azure/resources/services/saas/resources.go deleted file mode 100644 index 1088843676678c..00000000000000 --- a/plugins/source/azure/resources/services/saas/resources.go +++ /dev/null @@ -1,39 +0,0 @@ -package saas - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Resources() *schema.Table { - return &schema.Table{ - Name: "azure_saas_resources", - Resolver: fetchResources, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas@v0.5.0#Resource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_saas_resources", client.Namespacemicrosoft_saas), - Transform: transformers.TransformWithStruct(&armsaas.Resource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchResources(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsaas.NewResourcesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/saas/resources_mock_test.go b/plugins/source/azure/resources/services/saas/resources_mock_test.go deleted file mode 100644 index bbe5d2abfe1857..00000000000000 --- a/plugins/source/azure/resources/services/saas/resources_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package saas - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/saas/armsaas" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createResources(router *mux.Router) error { - var item armsaas.ResourcesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.SaaS/saasresources", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestResources(t *testing.T) { - client.MockTestHelper(t, Resources(), createResources) -} diff --git a/plugins/source/azure/resources/services/search/services.go b/plugins/source/azure/resources/services/search/services.go deleted file mode 100644 index 549d86d4ec3a9a..00000000000000 --- a/plugins/source/azure/resources/services/search/services.go +++ /dev/null @@ -1,20 +0,0 @@ -package search - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Services() *schema.Table { - return &schema.Table{ - Name: "azure_search_services", - Resolver: fetchServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch@v1.0.0#Service", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_search_services", client.Namespacemicrosoft_search), - Transform: transformers.TransformWithStruct(&armsearch.Service{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} diff --git a/plugins/source/azure/resources/services/search/services_fetch.go b/plugins/source/azure/resources/services/search/services_fetch.go deleted file mode 100644 index 3d2e414ecf8b30..00000000000000 --- a/plugins/source/azure/resources/services/search/services_fetch.go +++ /dev/null @@ -1,26 +0,0 @@ -package search - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsearch.NewServicesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/search/services_mock_test.go b/plugins/source/azure/resources/services/search/services_mock_test.go deleted file mode 100644 index 1872043e371af9..00000000000000 --- a/plugins/source/azure/resources/services/search/services_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package search - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/search/armsearch" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServices(router *mux.Router) error { - var item armsearch.ServicesClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServices(t *testing.T) { - client.MockTestHelper(t, Services(), createServices) -} diff --git a/plugins/source/azure/resources/services/security/adaptive_application_controls.go b/plugins/source/azure/resources/services/security/adaptive_application_controls.go deleted file mode 100644 index f8f8d693bcabb7..00000000000000 --- a/plugins/source/azure/resources/services/security/adaptive_application_controls.go +++ /dev/null @@ -1,36 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AdaptiveApplicationControls() *schema.Table { - return &schema.Table{ - Name: "azure_security_adaptive_application_controls", - Resolver: fetchAdapterApplicationControls, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/adaptive-application-controls/list?view=rest-defenderforcloud-2020-01-01&tabs=HTTP", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_adaptive_application_controls", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AdaptiveApplicationControlGroup{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAdapterApplicationControls(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAdaptiveApplicationControlsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - r, err := svc.List(ctx, nil) - if err != nil { - return err - } - res <- r.Value - return nil -} diff --git a/plugins/source/azure/resources/services/security/adaptive_application_controls_mock_test.go b/plugins/source/azure/resources/services/security/adaptive_application_controls_mock_test.go deleted file mode 100644 index a2e1dcd4717374..00000000000000 --- a/plugins/source/azure/resources/services/security/adaptive_application_controls_mock_test.go +++ /dev/null @@ -1,36 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAdapterApplicationControls(router *mux.Router) error { - var item armsecurity.AdaptiveApplicationControlsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/applicationWhitelistings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAdaptiveApplicationControls(t *testing.T) { - client.MockTestHelper(t, AdaptiveApplicationControls(), createAdapterApplicationControls) -} diff --git a/plugins/source/azure/resources/services/security/alerts.go b/plugins/source/azure/resources/services/security/alerts.go deleted file mode 100644 index 9c6a07faaba924..00000000000000 --- a/plugins/source/azure/resources/services/security/alerts.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Alerts() *schema.Table { - return &schema.Table{ - Name: "azure_security_alerts", - Resolver: fetchAlerts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/alerts/list?tabs=HTTP#alert", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_alerts", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Alert{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAlerts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAlertsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/alerts_mock_test.go b/plugins/source/azure/resources/services/security/alerts_mock_test.go deleted file mode 100644 index 5daa1ac7007a07..00000000000000 --- a/plugins/source/azure/resources/services/security/alerts_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAlerts(router *mux.Router) error { - var item armsecurity.AlertsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alerts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAlerts(t *testing.T) { - client.MockTestHelper(t, Alerts(), createAlerts) -} diff --git a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go b/plugins/source/azure/resources/services/security/alerts_suppression_rules.go deleted file mode 100644 index 78dd9603683ed9..00000000000000 --- a/plugins/source/azure/resources/services/security/alerts_suppression_rules.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AlertsSuppressionRules() *schema.Table { - return &schema.Table{ - Name: "azure_security_alerts_suppression_rules", - Resolver: fetchAlertsSuppressionRules, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/alerts-suppression-rules/list?tabs=HTTP#alertssuppressionrule", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_alerts_suppression_rules", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AlertsSuppressionRule{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAlertsSuppressionRules(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAlertsSuppressionRulesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/alerts_suppression_rules_mock_test.go b/plugins/source/azure/resources/services/security/alerts_suppression_rules_mock_test.go deleted file mode 100644 index 00fbbebaa18ae6..00000000000000 --- a/plugins/source/azure/resources/services/security/alerts_suppression_rules_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAlertsSuppressionRules(router *mux.Router) error { - var item armsecurity.AlertsSuppressionRulesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/alertsSuppressionRules", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAlertsSuppressionRules(t *testing.T) { - client.MockTestHelper(t, AlertsSuppressionRules(), createAlertsSuppressionRules) -} diff --git a/plugins/source/azure/resources/services/security/allowed_connections.go b/plugins/source/azure/resources/services/security/allowed_connections.go deleted file mode 100644 index 9f438bb02e4947..00000000000000 --- a/plugins/source/azure/resources/services/security/allowed_connections.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AllowedConnections() *schema.Table { - return &schema.Table{ - Name: "azure_security_allowed_connections", - Resolver: fetchAllowedConnections, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/allowed-connections/list?tabs=HTTP#allowedconnectionsresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_allowed_connections", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AllowedConnectionsResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAllowedConnections(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAllowedConnectionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/allowed_connections_mock_test.go b/plugins/source/azure/resources/services/security/allowed_connections_mock_test.go deleted file mode 100644 index d602778124351a..00000000000000 --- a/plugins/source/azure/resources/services/security/allowed_connections_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAllowedConnections(router *mux.Router) error { - var item armsecurity.AllowedConnectionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/allowedConnections", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAllowedConnections(t *testing.T) { - client.MockTestHelper(t, AllowedConnections(), createAllowedConnections) -} diff --git a/plugins/source/azure/resources/services/security/applications.go b/plugins/source/azure/resources/services/security/applications.go deleted file mode 100644 index b547dec7b1fe3c..00000000000000 --- a/plugins/source/azure/resources/services/security/applications.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Applications() *schema.Table { - return &schema.Table{ - Name: "azure_security_applications", - Resolver: fetchApplications, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Application", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_applications", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Application{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchApplications(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewApplicationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/applications_mock_test.go b/plugins/source/azure/resources/services/security/applications_mock_test.go deleted file mode 100644 index 966b2cb05ce4d6..00000000000000 --- a/plugins/source/azure/resources/services/security/applications_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createApplications(router *mux.Router) error { - var item armsecurity.ApplicationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/applications", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestApplications(t *testing.T) { - client.MockTestHelper(t, Applications(), createApplications) -} diff --git a/plugins/source/azure/resources/services/security/assessments.go b/plugins/source/azure/resources/services/security/assessments.go deleted file mode 100644 index b69123612b8cd5..00000000000000 --- a/plugins/source/azure/resources/services/security/assessments.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Assessments() *schema.Table { - return &schema.Table{ - Name: "azure_security_assessments", - Resolver: fetchAssessments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/assessments/list?tabs=HTTP#securityassessment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_assessments", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AssessmentResponse{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAssessments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAssessmentsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager("/subscriptions/"+cl.SubscriptionId, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/assessments_mock_test.go b/plugins/source/azure/resources/services/security/assessments_mock_test.go deleted file mode 100644 index 9c4bd51e6f33c0..00000000000000 --- a/plugins/source/azure/resources/services/security/assessments_mock_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAssessments(router *mux.Router) error { - var item armsecurity.AssessmentsMetadataClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/assessments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAssessments(t *testing.T) { - client.MockTestHelper(t, Assessments(), createAssessments) -} diff --git a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go b/plugins/source/azure/resources/services/security/auto_provisioning_settings.go deleted file mode 100644 index 7db7c1662fc473..00000000000000 --- a/plugins/source/azure/resources/services/security/auto_provisioning_settings.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func AutoProvisioningSettings() *schema.Table { - return &schema.Table{ - Name: "azure_security_auto_provisioning_settings", - Resolver: fetchAutoProvisioningSettings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/auto-provisioning-settings/list?tabs=HTTP#autoprovisioningsetting", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_auto_provisioning_settings", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AutoProvisioningSetting{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAutoProvisioningSettings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAutoProvisioningSettingsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/auto_provisioning_settings_mock_test.go b/plugins/source/azure/resources/services/security/auto_provisioning_settings_mock_test.go deleted file mode 100644 index f6e7a3df9b5b25..00000000000000 --- a/plugins/source/azure/resources/services/security/auto_provisioning_settings_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAutoProvisioningSettings(router *mux.Router) error { - var item armsecurity.AutoProvisioningSettingsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/autoProvisioningSettings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAutoProvisioningSettings(t *testing.T) { - client.MockTestHelper(t, AutoProvisioningSettings(), createAutoProvisioningSettings) -} diff --git a/plugins/source/azure/resources/services/security/automations.go b/plugins/source/azure/resources/services/security/automations.go deleted file mode 100644 index c742af9728cd20..00000000000000 --- a/plugins/source/azure/resources/services/security/automations.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Automations() *schema.Table { - return &schema.Table{ - Name: "azure_security_automations", - Resolver: fetchAutomations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/automations/list?tabs=HTTP#automation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_automations", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Automation{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchAutomations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewAutomationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/automations_mock_test.go b/plugins/source/azure/resources/services/security/automations_mock_test.go deleted file mode 100644 index e3c59a27058e64..00000000000000 --- a/plugins/source/azure/resources/services/security/automations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createAutomations(router *mux.Router) error { - var item armsecurity.AutomationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/automations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestAutomations(t *testing.T) { - client.MockTestHelper(t, Automations(), createAutomations) -} diff --git a/plugins/source/azure/resources/services/security/connectors.go b/plugins/source/azure/resources/services/security/connectors.go deleted file mode 100644 index 28c4e14ab4d50d..00000000000000 --- a/plugins/source/azure/resources/services/security/connectors.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Connectors() *schema.Table { - return &schema.Table{ - Name: "azure_security_connectors", - Resolver: fetchConnectors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#ConnectorSetting", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_connectors", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Connector{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchConnectors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewConnectorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/connectors_mock_test.go b/plugins/source/azure/resources/services/security/connectors_mock_test.go deleted file mode 100644 index 773a7ac07ec974..00000000000000 --- a/plugins/source/azure/resources/services/security/connectors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createConnectors(router *mux.Router) error { - var item armsecurity.ConnectorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityConnectors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestConnectors(t *testing.T) { - client.MockTestHelper(t, Connectors(), createConnectors) -} diff --git a/plugins/source/azure/resources/services/security/contacts.go b/plugins/source/azure/resources/services/security/contacts.go deleted file mode 100644 index 65ed2dbdac55e5..00000000000000 --- a/plugins/source/azure/resources/services/security/contacts.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Contacts() *schema.Table { - return &schema.Table{ - Name: "azure_security_contacts", - Resolver: fetchContacts, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Contact", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_contacts", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Contact{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchContacts(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewContactsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/contacts_mock_test.go b/plugins/source/azure/resources/services/security/contacts_mock_test.go deleted file mode 100644 index 282c61198b7995..00000000000000 --- a/plugins/source/azure/resources/services/security/contacts_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createContacts(router *mux.Router) error { - var item armsecurity.ContactsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityContacts", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestContacts(t *testing.T) { - client.MockTestHelper(t, Contacts(), createContacts) -} diff --git a/plugins/source/azure/resources/services/security/discovered_security_solutions.go b/plugins/source/azure/resources/services/security/discovered_security_solutions.go deleted file mode 100644 index 5ad71ba3140c75..00000000000000 --- a/plugins/source/azure/resources/services/security/discovered_security_solutions.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func DiscoveredSecuritySolutions() *schema.Table { - return &schema.Table{ - Name: "azure_security_discovered_security_solutions", - Resolver: fetchDiscoveredSecuritySolutions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/discovered-security-solutions/list?tabs=HTTP#discoveredsecuritysolution", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_discovered_security_solutions", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.DiscoveredSecuritySolution{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchDiscoveredSecuritySolutions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewDiscoveredSecuritySolutionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/discovered_security_solutions_mock_test.go b/plugins/source/azure/resources/services/security/discovered_security_solutions_mock_test.go deleted file mode 100644 index b5ad3cf0b80cd9..00000000000000 --- a/plugins/source/azure/resources/services/security/discovered_security_solutions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createDiscoveredSecuritySolutions(router *mux.Router) error { - var item armsecurity.DiscoveredSecuritySolutionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/discoveredSecuritySolutions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestDiscoveredSecuritySolutions(t *testing.T) { - client.MockTestHelper(t, DiscoveredSecuritySolutions(), createDiscoveredSecuritySolutions) -} diff --git a/plugins/source/azure/resources/services/security/external_security_solutions.go b/plugins/source/azure/resources/services/security/external_security_solutions.go deleted file mode 100644 index 3fe12acf4a1987..00000000000000 --- a/plugins/source/azure/resources/services/security/external_security_solutions.go +++ /dev/null @@ -1,43 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func ExternalSecuritySolutions() *schema.Table { - return &schema.Table{ - Name: "azure_security_external_security_solutions", - Resolver: fetchExternalSecuritySolutions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/external-security-solutions/list?tabs=HTTP#externalsecuritysolutionlist", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_external_security_solutions", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.ExternalSecuritySolution{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchExternalSecuritySolutions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewExternalSecuritySolutionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - results := make([]armsecurity.ExternalSecuritySolution, len(p.Value)) - for i, r := range p.Value { - results[i] = *r.GetExternalSecuritySolution() - } - res <- results - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/external_security_solutions_mock_test.go b/plugins/source/azure/resources/services/security/external_security_solutions_mock_test.go deleted file mode 100644 index 9f0c7c55fea2fe..00000000000000 --- a/plugins/source/azure/resources/services/security/external_security_solutions_mock_test.go +++ /dev/null @@ -1,48 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createExternalSecuritySolutions(router *mux.Router) error { - var item armsecurity.ExternalSecuritySolutionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - var aadSolution armsecurity.AADExternalSecuritySolution - if err := faker.FakeObject(&aadSolution); err != nil { - return err - } - - emptyStr := "" - item.Value = []armsecurity.ExternalSecuritySolutionClassification{&aadSolution} - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/externalSecuritySolutions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestExternalSecuritySolutions(t *testing.T) { - client.MockTestHelper(t, ExternalSecuritySolutions(), createExternalSecuritySolutions) -} diff --git a/plugins/source/azure/resources/services/security/governance_rule.go b/plugins/source/azure/resources/services/security/governance_rule.go deleted file mode 100644 index 8da3103308e9c7..00000000000000 --- a/plugins/source/azure/resources/services/security/governance_rule.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func GovernanceRule() *schema.Table { - return &schema.Table{ - Name: "azure_security_governance_rule", - Resolver: fetchGovernanceRule, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#GovernanceRule", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_governance_rule", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.GovernanceRule{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchGovernanceRule(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewGovernanceRulesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager("subscriptions/"+cl.SubscriptionId, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/governance_rule_mock_test.go b/plugins/source/azure/resources/services/security/governance_rule_mock_test.go deleted file mode 100644 index 8d769086f4c136..00000000000000 --- a/plugins/source/azure/resources/services/security/governance_rule_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createGovernanceRule(router *mux.Router) error { - var item armsecurity.GovernanceRulesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/governanceRules", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestGovernanceRule(t *testing.T) { - client.MockTestHelper(t, GovernanceRule(), createGovernanceRule) -} diff --git a/plugins/source/azure/resources/services/security/jit_network_access_policies.go b/plugins/source/azure/resources/services/security/jit_network_access_policies.go deleted file mode 100644 index 6a8f56346c30d1..00000000000000 --- a/plugins/source/azure/resources/services/security/jit_network_access_policies.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func JitNetworkAccessPolicies() *schema.Table { - return &schema.Table{ - Name: "azure_security_jit_network_access_policies", - Resolver: fetchJitNetworkAccessPolicies, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/jit-network-access-policies/list?tabs=HTTP#jitnetworkaccesspolicy", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_jit_network_access_policies", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.JitNetworkAccessPolicy{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchJitNetworkAccessPolicies(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewJitNetworkAccessPoliciesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/jit_network_access_policies_mock_test.go b/plugins/source/azure/resources/services/security/jit_network_access_policies_mock_test.go deleted file mode 100644 index 2fd666ddc129a1..00000000000000 --- a/plugins/source/azure/resources/services/security/jit_network_access_policies_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createJitNetworkAccessPolicies(router *mux.Router) error { - var item armsecurity.JitNetworkAccessPoliciesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/jitNetworkAccessPolicies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestJitNetworkAccessPolicies(t *testing.T) { - client.MockTestHelper(t, JitNetworkAccessPolicies(), createJitNetworkAccessPolicies) -} diff --git a/plugins/source/azure/resources/services/security/locations.go b/plugins/source/azure/resources/services/security/locations.go deleted file mode 100644 index 1b0138aba5b35a..00000000000000 --- a/plugins/source/azure/resources/services/security/locations.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Locations() *schema.Table { - return &schema.Table{ - Name: "azure_security_locations", - Resolver: fetchLocations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/locations/get?tabs=HTTP#asclocation", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_locations", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.AscLocation{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchLocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewLocationsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/locations_mock_test.go b/plugins/source/azure/resources/services/security/locations_mock_test.go deleted file mode 100644 index 2258d4b635c587..00000000000000 --- a/plugins/source/azure/resources/services/security/locations_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createLocations(router *mux.Router) error { - var item armsecurity.LocationsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestLocations(t *testing.T) { - client.MockTestHelper(t, Locations(), createLocations) -} diff --git a/plugins/source/azure/resources/services/security/pricings.go b/plugins/source/azure/resources/services/security/pricings.go deleted file mode 100644 index a6899aab93b6a1..00000000000000 --- a/plugins/source/azure/resources/services/security/pricings.go +++ /dev/null @@ -1,20 +0,0 @@ -package security - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Pricings() *schema.Table { - return &schema.Table{ - Name: "azure_security_pricings", - Resolver: fetchPricings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/pricings/list?tabs=HTTP#pricing", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_pricings", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Pricing{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} diff --git a/plugins/source/azure/resources/services/security/pricings_fetch.go b/plugins/source/azure/resources/services/security/pricings_fetch.go deleted file mode 100644 index af5c9470621403..00000000000000 --- a/plugins/source/azure/resources/services/security/pricings_fetch.go +++ /dev/null @@ -1,23 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchPricings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewPricingsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - result, err := svc.List(ctx, nil) - if err != nil { - return err - } - res <- result.Value - return nil -} diff --git a/plugins/source/azure/resources/services/security/pricings_mock_test.go b/plugins/source/azure/resources/services/security/pricings_mock_test.go deleted file mode 100644 index a8d563e49825f8..00000000000000 --- a/plugins/source/azure/resources/services/security/pricings_mock_test.go +++ /dev/null @@ -1,37 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPricings(router *mux.Router) error { - var item armsecurity.PricingsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPricings(t *testing.T) { - client.MockTestHelper(t, Pricings(), createPricings) -} diff --git a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go b/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go deleted file mode 100644 index 9abe049d492fb0..00000000000000 --- a/plugins/source/azure/resources/services/security/regulatory_compliance_standards.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func RegulatoryComplianceStandards() *schema.Table { - return &schema.Table{ - Name: "azure_security_regulatory_compliance_standards", - Resolver: fetchRegulatoryComplianceStandards, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/regulatory-compliance-standards/list?tabs=HTTP#regulatorycompliancestandard", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_regulatory_compliance_standards", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.RegulatoryComplianceStandard{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchRegulatoryComplianceStandards(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewRegulatoryComplianceStandardsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/regulatory_compliance_standards_mock_test.go b/plugins/source/azure/resources/services/security/regulatory_compliance_standards_mock_test.go deleted file mode 100644 index ac291bb4ee3f67..00000000000000 --- a/plugins/source/azure/resources/services/security/regulatory_compliance_standards_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createRegulatoryComplianceStandards(router *mux.Router) error { - var item armsecurity.RegulatoryComplianceStandardsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/regulatoryComplianceStandards", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestRegulatoryComplianceStandards(t *testing.T) { - client.MockTestHelper(t, RegulatoryComplianceStandards(), createRegulatoryComplianceStandards) -} diff --git a/plugins/source/azure/resources/services/security/secure_score_control_definitions.go b/plugins/source/azure/resources/services/security/secure_score_control_definitions.go deleted file mode 100644 index bbc6ab0dd6f479..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_score_control_definitions.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SecureScoreControlDefinitions() *schema.Table { - return &schema.Table{ - Name: "azure_security_secure_score_control_definitions", - Resolver: fetchSecureScoreControlDefinitions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-score-control-definitions/list?tabs=HTTP#securescorecontroldefinitionitem", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_score_control_definitions", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreControlDefinitionItem{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchSecureScoreControlDefinitions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSecureScoreControlDefinitionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/secure_score_control_definitions_mock_test.go b/plugins/source/azure/resources/services/security/secure_score_control_definitions_mock_test.go deleted file mode 100644 index 1e86d65fc4a672..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_score_control_definitions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecureScoreControlDefinitions(router *mux.Router) error { - var item armsecurity.SecureScoreControlDefinitionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/providers/Microsoft.Security/secureScoreControlDefinitions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSecureScoreControlDefinitions(t *testing.T) { - client.MockTestHelper(t, SecureScoreControlDefinitions(), createSecureScoreControlDefinitions) -} diff --git a/plugins/source/azure/resources/services/security/secure_score_controls.go b/plugins/source/azure/resources/services/security/secure_score_controls.go deleted file mode 100644 index 504fbe6d727235..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_score_controls.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SecureScoreControls() *schema.Table { - return &schema.Table{ - Name: "azure_security_secure_score_controls", - Resolver: fetchSecureScoreControls, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-score-controls/list?tabs=HTTP#securescorecontroldetails", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_score_controls", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreControlDetails{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSecureScoreControls(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSecureScoreControlsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/secure_score_controls_mock_test.go b/plugins/source/azure/resources/services/security/secure_score_controls_mock_test.go deleted file mode 100644 index e7ca9297d35a90..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_score_controls_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecureScoreControls(router *mux.Router) error { - var item armsecurity.SecureScoreControlsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScoreControls", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSecureScoreControls(t *testing.T) { - client.MockTestHelper(t, SecureScoreControls(), createSecureScoreControls) -} diff --git a/plugins/source/azure/resources/services/security/secure_scores.go b/plugins/source/azure/resources/services/security/secure_scores.go deleted file mode 100644 index a9f8e26e6b1155..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_scores.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SecureScores() *schema.Table { - return &schema.Table{ - Name: "azure_security_secure_scores", - Resolver: fetchSecureScores, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/secure-scores/list?tabs=HTTP#securescoreitem", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_secure_scores", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.SecureScoreItem{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSecureScores(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSecureScoresClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/secure_scores_mock_test.go b/plugins/source/azure/resources/services/security/secure_scores_mock_test.go deleted file mode 100644 index 750ec24c0f68c6..00000000000000 --- a/plugins/source/azure/resources/services/security/secure_scores_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSecureScores(router *mux.Router) error { - var item armsecurity.SecureScoresClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/secureScores", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSecureScores(t *testing.T) { - client.MockTestHelper(t, SecureScores(), createSecureScores) -} diff --git a/plugins/source/azure/resources/services/security/settings.go b/plugins/source/azure/resources/services/security/settings.go deleted file mode 100644 index f5af6c71527828..00000000000000 --- a/plugins/source/azure/resources/services/security/settings.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Settings() *schema.Table { - return &schema.Table{ - Name: "azure_security_settings", - Resolver: fetchSettings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/settings/list?tabs=HTTP#settingslist", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_settings", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Setting{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSettings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSettingsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/settings_mock_test.go b/plugins/source/azure/resources/services/security/settings_mock_test.go deleted file mode 100644 index 36511a74f5126f..00000000000000 --- a/plugins/source/azure/resources/services/security/settings_mock_test.go +++ /dev/null @@ -1,48 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSettings(router *mux.Router) error { - var d armsecurity.DataExportSettings - if err := faker.FakeObject(&d); err != nil { - return err - } - - item := armsecurity.SettingsClientListResponse{ - SettingsList: armsecurity.SettingsList{ - Value: []armsecurity.SettingClassification{ - &d, - }, - }, - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/settings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSettings(t *testing.T) { - client.MockTestHelper(t, Settings(), createSettings) -} diff --git a/plugins/source/azure/resources/services/security/solutions.go b/plugins/source/azure/resources/services/security/solutions.go deleted file mode 100644 index dca71e8967fe5b..00000000000000 --- a/plugins/source/azure/resources/services/security/solutions.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Solutions() *schema.Table { - return &schema.Table{ - Name: "azure_security_solutions", - Resolver: fetchSolutions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity@v0.9.0#Solution", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_solutions", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Solution{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSolutions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSolutionsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/solutions_mock_test.go b/plugins/source/azure/resources/services/security/solutions_mock_test.go deleted file mode 100644 index 0e621d51de549c..00000000000000 --- a/plugins/source/azure/resources/services/security/solutions_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSolutions(router *mux.Router) error { - var item armsecurity.SolutionsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/securitySolutions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSolutions(t *testing.T) { - client.MockTestHelper(t, Solutions(), createSolutions) -} diff --git a/plugins/source/azure/resources/services/security/sub_assessments.go b/plugins/source/azure/resources/services/security/sub_assessments.go deleted file mode 100644 index ab3a18c0d25581..00000000000000 --- a/plugins/source/azure/resources/services/security/sub_assessments.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func SubAssessments() *schema.Table { - return &schema.Table{ - Name: "azure_security_sub_assessments", - Resolver: fetchSubAssessments, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/sub-assessments/list-all?tabs=HTTP#securitysubassessment", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_sub_assessments", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.SubAssessment{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchSubAssessments(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewSubAssessmentsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListAllPager("/subscriptions/"+cl.SubscriptionId, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/sub_assessments_mock_test.go b/plugins/source/azure/resources/services/security/sub_assessments_mock_test.go deleted file mode 100644 index ddd7a44d06c85e..00000000000000 --- a/plugins/source/azure/resources/services/security/sub_assessments_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubAssessments(router *mux.Router) error { - var item armsecurity.SubAssessmentsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/subAssessments", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestSubAssessments(t *testing.T) { - client.MockTestHelper(t, SubAssessments(), createSubAssessments) -} diff --git a/plugins/source/azure/resources/services/security/tasks.go b/plugins/source/azure/resources/services/security/tasks.go deleted file mode 100644 index 49db2d98ec12d9..00000000000000 --- a/plugins/source/azure/resources/services/security/tasks.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Tasks() *schema.Table { - return &schema.Table{ - Name: "azure_security_tasks", - Resolver: fetchTasks, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/tasks/list?tabs=HTTP#securitytask", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_tasks", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.Task{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchTasks(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewTasksClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/tasks_mock_test.go b/plugins/source/azure/resources/services/security/tasks_mock_test.go deleted file mode 100644 index 63d746d8b44afd..00000000000000 --- a/plugins/source/azure/resources/services/security/tasks_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTasks(router *mux.Router) error { - var item armsecurity.TasksClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/tasks", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTasks(t *testing.T) { - client.MockTestHelper(t, Tasks(), createTasks) -} diff --git a/plugins/source/azure/resources/services/security/topology.go b/plugins/source/azure/resources/services/security/topology.go deleted file mode 100644 index a4961f4ddeeb9e..00000000000000 --- a/plugins/source/azure/resources/services/security/topology.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Topology() *schema.Table { - return &schema.Table{ - Name: "azure_security_topology", - Resolver: fetchTopology, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/topology/list?tabs=HTTP#topologyresource", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_topology", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.TopologyResource{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionIDPK}, - } -} - -func fetchTopology(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewTopologyClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/topology_mock_test.go b/plugins/source/azure/resources/services/security/topology_mock_test.go deleted file mode 100644 index cf7802b7ef9a66..00000000000000 --- a/plugins/source/azure/resources/services/security/topology_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTopology(router *mux.Router) error { - var item armsecurity.TopologyClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/topologies", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTopology(t *testing.T) { - client.MockTestHelper(t, Topology(), createTopology) -} diff --git a/plugins/source/azure/resources/services/security/workspace_settings.go b/plugins/source/azure/resources/services/security/workspace_settings.go deleted file mode 100644 index 5f4fe4518b8d33..00000000000000 --- a/plugins/source/azure/resources/services/security/workspace_settings.go +++ /dev/null @@ -1,39 +0,0 @@ -package security - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func WorkspaceSettings() *schema.Table { - return &schema.Table{ - Name: "azure_security_workspace_settings", - Resolver: fetchWorkspaceSettings, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/defenderforcloud/workspace-settings/list?tabs=HTTP#workspacesetting", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_security_workspace_settings", client.Namespacemicrosoft_security), - Transform: transformers.TransformWithStruct(&armsecurity.WorkspaceSetting{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWorkspaceSettings(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsecurity.NewWorkspaceSettingsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/security/workspace_settings_mock_test.go b/plugins/source/azure/resources/services/security/workspace_settings_mock_test.go deleted file mode 100644 index 2e639da3e377e0..00000000000000 --- a/plugins/source/azure/resources/services/security/workspace_settings_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package security - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/security/armsecurity" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWorkspaceSettings(router *mux.Router) error { - var item armsecurity.WorkspaceSettingsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Security/workspaceSettings", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWorkspaceSettings(t *testing.T) { - client.MockTestHelper(t, WorkspaceSettings(), createWorkspaceSettings) -} diff --git a/plugins/source/azure/resources/services/servicebus/namespaces.go b/plugins/source/azure/resources/services/servicebus/namespaces.go deleted file mode 100644 index 7235ea2adac546..00000000000000 --- a/plugins/source/azure/resources/services/servicebus/namespaces.go +++ /dev/null @@ -1,40 +0,0 @@ -package servicebus - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Namespaces() *schema.Table { - return &schema.Table{ - Name: "azure_servicebus_namespaces", - Resolver: fetchNamespaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/servicebus/stable/namespaces/list?tabs=HTTP#sbnamespace", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_servicebus_namespaces", client.Namespacemicrosoft_servicebus), - Transform: transformers.TransformWithStruct(&armservicebus.SBNamespace{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{topics()}, - } -} - -func fetchNamespaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armservicebus.NewNamespacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go b/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go deleted file mode 100644 index 2444b04daa25f6..00000000000000 --- a/plugins/source/azure/resources/services/servicebus/namespaces_mock_test.go +++ /dev/null @@ -1,52 +0,0 @@ -package servicebus - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createNamespaces(router *mux.Router) error { - var item armservicebus.NamespacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 - } - }) - - err := createTopics(router) - if err != nil { - return err - } - - err = createTopicAuthorizationRules(router) - if err != nil { - return err - } - - return createTopicRuleAccessKeys(router) -} - -func TestNamespaces(t *testing.T) { - client.MockTestHelper(t, Namespaces(), createNamespaces) -} diff --git a/plugins/source/azure/resources/services/servicebus/topic_authorization_rules.go b/plugins/source/azure/resources/services/servicebus/topic_authorization_rules.go deleted file mode 100644 index 4c7bde876be2dd..00000000000000 --- a/plugins/source/azure/resources/services/servicebus/topic_authorization_rules.go +++ /dev/null @@ -1,74 +0,0 @@ -package servicebus - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func topicAuthorizationRules() *schema.Table { - return &schema.Table{ - Name: "azure_servicebus_namespace_topic_authorization_rules", - Resolver: fetchTopicAuthorizationRules, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics%20%E2%80%93%20authorization%20rules/list-authorization-rules?tabs=HTTP#sbauthorizationrule", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_servicebus_namespaces", client.Namespacemicrosoft_servicebus), - Transform: transformers.TransformWithStruct(&armservicebus.SBAuthorizationRule{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{topicRuleAccessKeys()}, - } -} - -func fetchTopicAuthorizationRules(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - namespace := parent.Parent.Item.(*armservicebus.SBNamespace) - topic := parent.Item.(*armservicebus.SBTopic) - svc, err := armservicebus.NewTopicsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*namespace.ID) - if err != nil { - return err - } - pager := svc.NewListAuthorizationRulesPager(group, *namespace.Name, *topic.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} - -func createTopicAuthorizationRules(router *mux.Router) error { - var item armservicebus.TopicsClientListAuthorizationRulesResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/servicebus/topic_rules_access_keys.go b/plugins/source/azure/resources/services/servicebus/topic_rules_access_keys.go deleted file mode 100644 index ecdbead3a1f150..00000000000000 --- a/plugins/source/azure/resources/services/servicebus/topic_rules_access_keys.go +++ /dev/null @@ -1,77 +0,0 @@ -package servicebus - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus" - "github.com/apache/arrow/go/v15/arrow" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func topicRuleAccessKeys() *schema.Table { - return &schema.Table{ - Name: "azure_servicebus_namespace_topic_rule_access_keys", - Resolver: fetchTopicRuleAccessKeys, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics%20%E2%80%93%20authorization%20rules/list-keys?tabs=HTTP#accesskeys", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_servicebus_namespaces", client.Namespacemicrosoft_servicebus), - Transform: transformers.TransformWithStruct(&armservicebus.AccessKeys{}, transformers.WithPrimaryKeys("KeyName")), - Columns: schema.ColumnList{ - client.SubscriptionID, - schema.Column{ - Name: "rule_id", - Type: arrow.BinaryTypes.String, - Resolver: schema.ParentColumnResolver("id"), - PrimaryKey: true, - }, - }, - } -} - -func fetchTopicRuleAccessKeys(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - namespace := parent.Parent.Parent.Item.(*armservicebus.SBNamespace) - topic := parent.Parent.Item.(*armservicebus.SBTopic) - rule := parent.Item.(*armservicebus.SBAuthorizationRule) - svc, err := armservicebus.NewTopicsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*rule.ID) - if err != nil { - return err - } - keys, err := svc.ListKeys(ctx, group, *namespace.Name, *topic.Name, *rule.Name, nil) - if err != nil { - return err - } - res <- keys.AccessKeys - return nil -} - -func createTopicRuleAccessKeys(router *mux.Router) error { - var item armservicebus.TopicsClientListKeysResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}/ListKeys", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/servicebus/topics.go b/plugins/source/azure/resources/services/servicebus/topics.go deleted file mode 100644 index 29f5fbf35f797a..00000000000000 --- a/plugins/source/azure/resources/services/servicebus/topics.go +++ /dev/null @@ -1,73 +0,0 @@ -package servicebus - -import ( - "context" - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicebus/armservicebus" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" - "github.com/gorilla/mux" -) - -func topics() *schema.Table { - return &schema.Table{ - Name: "azure_servicebus_namespace_topics", - Resolver: fetchTopics, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/servicebus/stable/topics/list-by-namespace?tabs=HTTP#sbtopic", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_servicebus_namespaces", client.Namespacemicrosoft_servicebus), - Transform: transformers.TransformWithStruct(&armservicebus.SBTopic{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - Relations: []*schema.Table{topicAuthorizationRules()}, - } -} - -func fetchTopics(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - namespace := parent.Item.(*armservicebus.SBNamespace) - svc, err := armservicebus.NewTopicsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - group, err := client.ParseResourceGroup(*namespace.ID) - if err != nil { - return err - } - pager := svc.NewListByNamespacePager(group, *namespace.Name, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} - -func createTopics(router *mux.Router) error { - var item armservicebus.TopicsClientListByNamespaceResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go deleted file mode 100644 index 52cd3e95152feb..00000000000000 --- a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs.go +++ /dev/null @@ -1,39 +0,0 @@ -package streamanalytics - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/streamanalytics/armstreamanalytics" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func StreamingJobs() *schema.Table { - return &schema.Table{ - Name: "azure_streamanalytics_streaming_jobs", - Resolver: fetchStreamingJobs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/streamanalytics/2020-03-01/streaming-jobs/list?tabs=HTTP#streamingjob", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_streamanalytics_streaming_jobs", client.Namespacemicrosoft_streamanalytics), - Transform: transformers.TransformWithStruct(&armstreamanalytics.StreamingJob{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchStreamingJobs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armstreamanalytics.NewStreamingJobsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go b/plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go deleted file mode 100644 index ab8f90870c4be5..00000000000000 --- a/plugins/source/azure/resources/services/streamanalytics/streaming_jobs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package streamanalytics - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/streamanalytics/armstreamanalytics" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createStreamingJobs(router *mux.Router) error { - var item armstreamanalytics.StreamingJobsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/streamingjobs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestStreamingJobs(t *testing.T) { - client.MockTestHelper(t, StreamingJobs(), createStreamingJobs) -} diff --git a/plugins/source/azure/resources/services/subscription/locations.go b/plugins/source/azure/resources/services/subscription/locations.go deleted file mode 100644 index b20371954aa294..00000000000000 --- a/plugins/source/azure/resources/services/subscription/locations.go +++ /dev/null @@ -1,53 +0,0 @@ -package subscription - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/apache/arrow/go/v15/arrow" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func locations() *schema.Table { - return &schema.Table{ - Name: "azure_subscription_subscription_locations", - Resolver: fetchLocations, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list-locations?tabs=HTTP#location", - Transform: transformers.TransformWithStruct(&armsubscriptions.Location{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{ - client.SubscriptionID, - { - Name: "latitude", - Type: arrow.BinaryTypes.String, - Resolver: schema.PathResolver("Metadata.Latitude"), - }, - { - Name: "longitude", - Type: arrow.BinaryTypes.String, - Resolver: schema.PathResolver("Metadata.Longitude"), - }, - }, - } -} - -func fetchLocations(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - p := parent.Item.(*armsubscriptions.Subscription) - cl := meta.(*client.Client) - - svc, err := armsubscriptions.NewClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListLocationsPager(*p.SubscriptionID, nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/subscription/locations_mock_test.go b/plugins/source/azure/resources/services/subscription/locations_mock_test.go deleted file mode 100644 index 7840090dd9e18f..00000000000000 --- a/plugins/source/azure/resources/services/subscription/locations_mock_test.go +++ /dev/null @@ -1,30 +0,0 @@ -package subscription - -import ( - "encoding/json" - "net/http" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createLocations(router *mux.Router) error { - var item armsubscriptions.ClientListLocationsResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/sub-id/locations", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} diff --git a/plugins/source/azure/resources/services/subscription/subscription_mock_test.go b/plugins/source/azure/resources/services/subscription/subscription_mock_test.go deleted file mode 100644 index feb992cf0ae4a6..00000000000000 --- a/plugins/source/azure/resources/services/subscription/subscription_mock_test.go +++ /dev/null @@ -1,44 +0,0 @@ -package subscription - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createSubscriptions(router *mux.Router) error { - var item armsubscriptions.ClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - item.Value[0].ID = to.Ptr("/subscriptions/sub-id") - item.Value[0].SubscriptionID = to.Ptr("sub-id") - - router.HandleFunc("/subscriptions", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 createLocations(router) -} - -func TestSubscriptions(t *testing.T) { - client.MockTestHelper(t, Subscriptions(), createSubscriptions) -} diff --git a/plugins/source/azure/resources/services/subscription/subscriptions.go b/plugins/source/azure/resources/services/subscription/subscriptions.go deleted file mode 100644 index 039ec72de0b796..00000000000000 --- a/plugins/source/azure/resources/services/subscription/subscriptions.go +++ /dev/null @@ -1,22 +0,0 @@ -package subscription - -import ( - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Subscriptions() *schema.Table { - return &schema.Table{ - Name: "azure_subscription_subscriptions", - Resolver: fetchSubscriptions, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/subscriptions/list?tabs=HTTP#subscription", - Transform: transformers.TransformWithStruct(&armsubscriptions.Subscription{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - Relations: []*schema.Table{ - locations(), - }, - } -} diff --git a/plugins/source/azure/resources/services/subscription/subscriptions_fetch.go b/plugins/source/azure/resources/services/subscription/subscriptions_fetch.go deleted file mode 100644 index ae78edf208ff13..00000000000000 --- a/plugins/source/azure/resources/services/subscription/subscriptions_fetch.go +++ /dev/null @@ -1,33 +0,0 @@ -package subscription - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" -) - -func fetchSubscriptions(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - // if we already fetched it then no need to run it again. - if len(cl.SubscriptionsObjects) != 0 { - res <- cl.SubscriptionsObjects - return nil - } - - svc, err := armsubscriptions.NewClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - - return nil -} diff --git a/plugins/source/azure/resources/services/subscription/tenants.go b/plugins/source/azure/resources/services/subscription/tenants.go deleted file mode 100644 index 9fa9338090b511..00000000000000 --- a/plugins/source/azure/resources/services/subscription/tenants.go +++ /dev/null @@ -1,38 +0,0 @@ -package subscription - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Tenants() *schema.Table { - return &schema.Table{ - Name: "azure_subscription_tenants", - Resolver: fetchTenants, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/resources/tenants/list?tabs=HTTP#tenantiddescription", - Transform: transformers.TransformWithStruct(&armsubscriptions.TenantIDDescription{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{}, - } -} - -func fetchTenants(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsubscriptions.NewTenantsClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/subscription/tenants_mock_test.go b/plugins/source/azure/resources/services/subscription/tenants_mock_test.go deleted file mode 100644 index 076a4252bbbe13..00000000000000 --- a/plugins/source/azure/resources/services/subscription/tenants_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package subscription - -import ( - "encoding/json" - "net/http" - "testing" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armsubscriptions" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTenants(router *mux.Router) error { - var item armsubscriptions.TenantsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/tenants", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTenants(t *testing.T) { - client.MockTestHelper(t, Tenants(), createTenants) -} diff --git a/plugins/source/azure/resources/services/support/services.go b/plugins/source/azure/resources/services/support/services.go deleted file mode 100644 index 35866968654930..00000000000000 --- a/plugins/source/azure/resources/services/support/services.go +++ /dev/null @@ -1,37 +0,0 @@ -package support - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Services() *schema.Table { - return &schema.Table{ - Name: "azure_support_services", - Resolver: fetchServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/support/services/list?tabs=HTTP#service", - Transform: transformers.TransformWithStruct(&armsupport.Service{}, transformers.WithPrimaryKeys("ID")), - } -} - -func fetchServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsupport.NewServicesClient(cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/support/services_mock_test.go b/plugins/source/azure/resources/services/support/services_mock_test.go deleted file mode 100644 index ba27e7f0ca8c13..00000000000000 --- a/plugins/source/azure/resources/services/support/services_mock_test.go +++ /dev/null @@ -1,39 +0,0 @@ -package support - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServices(router *mux.Router) error { - var item armsupport.ServicesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/providers/Microsoft.Support/services", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServices(t *testing.T) { - client.MockTestHelper(t, Services(), createServices) -} diff --git a/plugins/source/azure/resources/services/support/tickets.go b/plugins/source/azure/resources/services/support/tickets.go deleted file mode 100644 index 62efb7582589b2..00000000000000 --- a/plugins/source/azure/resources/services/support/tickets.go +++ /dev/null @@ -1,39 +0,0 @@ -package support - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Tickets() *schema.Table { - return &schema.Table{ - Name: "azure_support_tickets", - Resolver: fetchTickets, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/support/support-tickets/list?tabs=HTTP#supportticketdetails", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_support_tickets", client.Namespacemicrosoft_support), - Transform: transformers.TransformWithStruct(&armsupport.TicketDetails{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchTickets(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsupport.NewTicketsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/support/tickets_mock_test.go b/plugins/source/azure/resources/services/support/tickets_mock_test.go deleted file mode 100644 index c2fc7b0922697d..00000000000000 --- a/plugins/source/azure/resources/services/support/tickets_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package support - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createTickets(router *mux.Router) error { - var item armsupport.TicketsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Support/supportTickets", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestTickets(t *testing.T) { - client.MockTestHelper(t, Tickets(), createTickets) -} diff --git a/plugins/source/azure/resources/services/synapse/private_link_hubs.go b/plugins/source/azure/resources/services/synapse/private_link_hubs.go deleted file mode 100644 index 88b28eaa2a69b4..00000000000000 --- a/plugins/source/azure/resources/services/synapse/private_link_hubs.go +++ /dev/null @@ -1,39 +0,0 @@ -package synapse - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func PrivateLinkHubs() *schema.Table { - return &schema.Table{ - Name: "azure_synapse_private_link_hubs", - Resolver: fetchPrivateLinkHubs, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/synapse/private-link-hubs/list?tabs=HTTP#privatelinkhub", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_synapse_private_link_hubs", client.Namespacemicrosoft_synapse), - Transform: transformers.TransformWithStruct(&armsynapse.PrivateLinkHub{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchPrivateLinkHubs(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsynapse.NewPrivateLinkHubsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/synapse/private_link_hubs_mock_test.go b/plugins/source/azure/resources/services/synapse/private_link_hubs_mock_test.go deleted file mode 100644 index 995b5ec65c4657..00000000000000 --- a/plugins/source/azure/resources/services/synapse/private_link_hubs_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package synapse - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createPrivateLinkHubs(router *mux.Router) error { - var item armsynapse.PrivateLinkHubsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Synapse/privateLinkHubs", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestPrivateLinkHubs(t *testing.T) { - client.MockTestHelper(t, PrivateLinkHubs(), createPrivateLinkHubs) -} diff --git a/plugins/source/azure/resources/services/synapse/workspaces.go b/plugins/source/azure/resources/services/synapse/workspaces.go deleted file mode 100644 index 250113cec596f2..00000000000000 --- a/plugins/source/azure/resources/services/synapse/workspaces.go +++ /dev/null @@ -1,39 +0,0 @@ -package synapse - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Workspaces() *schema.Table { - return &schema.Table{ - Name: "azure_synapse_workspaces", - Resolver: fetchWorkspaces, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/synapse/workspaces/list?tabs=HTTP#workspace", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_synapse_workspaces", client.Namespacemicrosoft_synapse), - Transform: transformers.TransformWithStruct(&armsynapse.Workspace{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchWorkspaces(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armsynapse.NewWorkspacesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go b/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go deleted file mode 100644 index 49e618edf407ab..00000000000000 --- a/plugins/source/azure/resources/services/synapse/workspaces_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package synapse - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/synapse/armsynapse" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createWorkspaces(router *mux.Router) error { - var item armsynapse.WorkspacesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Synapse/workspaces", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestWorkspaces(t *testing.T) { - client.MockTestHelper(t, Workspaces(), createWorkspaces) -} diff --git a/plugins/source/azure/resources/services/trafficmanager/profiles.go b/plugins/source/azure/resources/services/trafficmanager/profiles.go deleted file mode 100644 index 9a99f6ae2daf44..00000000000000 --- a/plugins/source/azure/resources/services/trafficmanager/profiles.go +++ /dev/null @@ -1,39 +0,0 @@ -package trafficmanager - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Profiles() *schema.Table { - return &schema.Table{ - Name: "azure_trafficmanager_profiles", - Resolver: fetchProfiles, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/trafficmanager/profiles/list-by-subscription?tabs=HTTP#profile", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_trafficmanager_profiles", client.Namespacemicrosoft_network), - Transform: transformers.TransformWithStruct(&armtrafficmanager.Profile{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchProfiles(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armtrafficmanager.NewProfilesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListBySubscriptionPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/trafficmanager/profiles_mock_test.go b/plugins/source/azure/resources/services/trafficmanager/profiles_mock_test.go deleted file mode 100644 index 03e999e5743c98..00000000000000 --- a/plugins/source/azure/resources/services/trafficmanager/profiles_mock_test.go +++ /dev/null @@ -1,40 +0,0 @@ -package trafficmanager - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/trafficmanager/armtrafficmanager" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createProfiles(router *mux.Router) error { - var item armtrafficmanager.ProfilesClientListBySubscriptionResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficmanagerprofiles", - func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestProfiles(t *testing.T) { - client.MockTestHelper(t, Profiles(), createProfiles) -} diff --git a/plugins/source/azure/resources/services/windowsiot/services.go b/plugins/source/azure/resources/services/windowsiot/services.go deleted file mode 100644 index deca9f59549dca..00000000000000 --- a/plugins/source/azure/resources/services/windowsiot/services.go +++ /dev/null @@ -1,39 +0,0 @@ -package windowsiot - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Services() *schema.Table { - return &schema.Table{ - Name: "azure_windowsiot_services", - Resolver: fetchServices, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot@v1.0.0#DeviceService", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_windowsiot_services", client.Namespacemicrosoft_windowsiot), - Transform: transformers.TransformWithStruct(&armwindowsiot.DeviceService{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchServices(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armwindowsiot.NewServicesClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/windowsiot/services_mock_test.go b/plugins/source/azure/resources/services/windowsiot/services_mock_test.go deleted file mode 100644 index 8d94a43fe9c7b1..00000000000000 --- a/plugins/source/azure/resources/services/windowsiot/services_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package windowsiot - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/windowsiot/armwindowsiot" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createServices(router *mux.Router) error { - var item armwindowsiot.ServicesClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.WindowsIoT/deviceServices", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestServices(t *testing.T) { - client.MockTestHelper(t, Services(), createServices) -} diff --git a/plugins/source/azure/resources/services/workloads/monitors.go b/plugins/source/azure/resources/services/workloads/monitors.go deleted file mode 100644 index e80286c5150ad8..00000000000000 --- a/plugins/source/azure/resources/services/workloads/monitors.go +++ /dev/null @@ -1,39 +0,0 @@ -package workloads - -import ( - "context" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads" - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - "github.com/cloudquery/plugin-sdk/v4/schema" - "github.com/cloudquery/plugin-sdk/v4/transformers" -) - -func Monitors() *schema.Table { - return &schema.Table{ - Name: "azure_workloads_monitors", - Resolver: fetchMonitors, - PostResourceResolver: client.LowercaseIDResolver, - Description: "https://learn.microsoft.com/en-us/rest/api/workloads/sap-monitor/list?tabs=HTTP#monitor", - Multiplex: client.SubscriptionMultiplexRegisteredNamespace("azure_workloads_monitors", client.Namespacemicrosoft_workloads), - Transform: transformers.TransformWithStruct(&armworkloads.Monitor{}, transformers.WithPrimaryKeys("ID")), - Columns: schema.ColumnList{client.SubscriptionID}, - } -} - -func fetchMonitors(ctx context.Context, meta schema.ClientMeta, parent *schema.Resource, res chan<- any) error { - cl := meta.(*client.Client) - svc, err := armworkloads.NewMonitorsClient(cl.SubscriptionId, cl.Creds, cl.Options) - if err != nil { - return err - } - pager := svc.NewListPager(nil) - for pager.More() { - p, err := pager.NextPage(ctx) - if err != nil { - return err - } - res <- p.Value - } - return nil -} diff --git a/plugins/source/azure/resources/services/workloads/monitors_mock_test.go b/plugins/source/azure/resources/services/workloads/monitors_mock_test.go deleted file mode 100644 index ae9c384ef00ebe..00000000000000 --- a/plugins/source/azure/resources/services/workloads/monitors_mock_test.go +++ /dev/null @@ -1,42 +0,0 @@ -package workloads - -import ( - "encoding/json" - "net/http" - - "testing" - - "github.com/cloudquery/cloudquery/plugins/source/azure/client" - - "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/workloads/armworkloads" - "github.com/cloudquery/plugin-sdk/v4/faker" - "github.com/gorilla/mux" -) - -func createMonitors(router *mux.Router) error { - var item armworkloads.MonitorsClientListResponse - if err := faker.FakeObject(&item); err != nil { - return err - } - - emptyStr := "" - item.NextLink = &emptyStr - - router.HandleFunc("/subscriptions/{subscriptionId}/providers/Microsoft.Workloads/monitors", func(w http.ResponseWriter, r *http.Request) { - b, err := json.Marshal(&item) - 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 -} - -func TestMonitors(t *testing.T) { - client.MockTestHelper(t, Monitors(), createMonitors) -} From d3592e7f3ae600655778eb508aeccfa4e5b74e8c Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Wed, 6 Mar 2024 15:54:21 +0200 Subject: [PATCH 11/53] fix(deps): Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 (#17044) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/cloudquery/plugin-sdk/v4](https://togithub.com/cloudquery/plugin-sdk) | require | patch | `v4.32.0` -> `v4.32.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
cloudquery/plugin-sdk (github.com/cloudquery/plugin-sdk/v4) ### [`v4.32.1`](https://togithub.com/cloudquery/plugin-sdk/releases/tag/v4.32.1) [Compare Source](https://togithub.com/cloudquery/plugin-sdk/compare/v4.32.0...v4.32.1) ##### Bug Fixes - **deps:** Update golang.org/x/exp digest to [`814bf88`](https://togithub.com/cloudquery/plugin-sdk/commit/814bf88) ([#​1540](https://togithub.com/cloudquery/plugin-sdk/issues/1540)) ([e80fb24](https://togithub.com/cloudquery/plugin-sdk/commit/e80fb24ad916e84e391595ed482b4285ea5e1a9c)) - **deps:** Update google.golang.org/genproto/googleapis/api digest to [`df926f6`](https://togithub.com/cloudquery/plugin-sdk/commit/df926f6) ([#​1541](https://togithub.com/cloudquery/plugin-sdk/issues/1541)) ([9d8a3ec](https://togithub.com/cloudquery/plugin-sdk/commit/9d8a3ec5c7a4bffe3e625f148de43d71c836794d)) - **deps:** Update google.golang.org/genproto/googleapis/rpc digest to [`df926f6`](https://togithub.com/cloudquery/plugin-sdk/commit/df926f6) ([#​1543](https://togithub.com/cloudquery/plugin-sdk/issues/1543)) ([9315c16](https://togithub.com/cloudquery/plugin-sdk/commit/9315c1639e02474e97670ffb6c9b198b63aec5ef)) - **deps:** Update module github.com/cloudquery/plugin-pb-go to v1.19.1 ([#​1549](https://togithub.com/cloudquery/plugin-sdk/issues/1549)) ([3112739](https://togithub.com/cloudquery/plugin-sdk/commit/3112739d2a897b784ed85f27ee7632f5fbcb5091)) - **deps:** Update module github.com/klauspost/compress to v1.17.7 ([#​1544](https://togithub.com/cloudquery/plugin-sdk/issues/1544)) ([4e04027](https://togithub.com/cloudquery/plugin-sdk/commit/4e04027488cb1c32830d5fd14440beabf4a07500)) - **deps:** Update module github.com/klauspost/cpuid/v2 to v2.2.7 ([#​1545](https://togithub.com/cloudquery/plugin-sdk/issues/1545)) ([0fff7ed](https://togithub.com/cloudquery/plugin-sdk/commit/0fff7ed4464ac572e00eb5e0dc289e467b8e7afb)) - **deps:** Update module github.com/tdewolff/minify/v2 to v2.20.18 ([#​1546](https://togithub.com/cloudquery/plugin-sdk/issues/1546)) ([45fa641](https://togithub.com/cloudquery/plugin-sdk/commit/45fa641b50f177d2ab01298b0c14fc764464fcd7)) - **deps:** Update module github.com/ugorji/go/codec to v1.2.12 ([#​1547](https://togithub.com/cloudquery/plugin-sdk/issues/1547)) ([cd3488a](https://togithub.com/cloudquery/plugin-sdk/commit/cd3488ab730499dd513996d73987c9b86fca34c0)) - **deps:** Update module google.golang.org/grpc to v1.62.0 ([#​1550](https://togithub.com/cloudquery/plugin-sdk/issues/1550)) ([9ccec98](https://togithub.com/cloudquery/plugin-sdk/commit/9ccec989cd143e685fd7d3f66d840c2e2cb8d74b)) - **deps:** Update module google.golang.org/grpc to v1.62.0 ([#​1551](https://togithub.com/cloudquery/plugin-sdk/issues/1551)) ([d907120](https://togithub.com/cloudquery/plugin-sdk/commit/d907120661cb2ebead90c68b0f1a42767112bba3)) - MixedBatchWriter should nil the slice instead of zeroing ([#​1553](https://togithub.com/cloudquery/plugin-sdk/issues/1553)) ([f565da8](https://togithub.com/cloudquery/plugin-sdk/commit/f565da8961db0b9f88efcdaa6f083faa789de324))
--- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- cli/go.mod | 2 +- cli/go.sum | 8 ++--- plugins/destination/azblob/go.mod | 6 ++-- plugins/destination/azblob/go.sum | 16 +++++----- plugins/destination/bigquery/go.mod | 12 +++---- plugins/destination/bigquery/go.sum | 24 +++++++------- plugins/destination/clickhouse/go.mod | 16 +++++----- plugins/destination/clickhouse/go.sum | 36 ++++++++++----------- plugins/destination/duckdb/go.mod | 16 +++++----- plugins/destination/duckdb/go.sum | 36 ++++++++++----------- plugins/destination/elasticsearch/go.mod | 16 +++++----- plugins/destination/elasticsearch/go.sum | 36 ++++++++++----------- plugins/destination/file/go.mod | 6 ++-- plugins/destination/file/go.sum | 16 +++++----- plugins/destination/firehose/go.mod | 16 +++++----- plugins/destination/firehose/go.sum | 36 ++++++++++----------- plugins/destination/gcs/go.mod | 6 ++-- plugins/destination/gcs/go.sum | 24 +++++++------- plugins/destination/gremlin/go.mod | 16 +++++----- plugins/destination/gremlin/go.sum | 36 ++++++++++----------- plugins/destination/kafka/go.mod | 8 ++--- plugins/destination/kafka/go.sum | 20 ++++++------ plugins/destination/meilisearch/go.mod | 16 +++++----- plugins/destination/meilisearch/go.sum | 36 ++++++++++----------- plugins/destination/mongodb/go.mod | 16 +++++----- plugins/destination/mongodb/go.sum | 36 ++++++++++----------- plugins/destination/motherduck/go.mod | 16 +++++----- plugins/destination/motherduck/go.sum | 36 ++++++++++----------- plugins/destination/mssql/go.mod | 14 ++++----- plugins/destination/mssql/go.sum | 28 ++++++++--------- plugins/destination/mysql/go.mod | 16 +++++----- plugins/destination/mysql/go.sum | 36 ++++++++++----------- plugins/destination/neo4j/go.mod | 16 +++++----- plugins/destination/neo4j/go.sum | 36 ++++++++++----------- plugins/destination/postgresql/go.mod | 16 +++++----- plugins/destination/postgresql/go.sum | 36 ++++++++++----------- plugins/destination/s3/go.mod | 8 ++--- plugins/destination/s3/go.sum | 20 ++++++------ plugins/destination/snowflake/go.mod | 14 ++++----- plugins/destination/snowflake/go.sum | 28 ++++++++--------- plugins/destination/sqlite/go.mod | 16 +++++----- plugins/destination/sqlite/go.sum | 36 ++++++++++----------- plugins/destination/test/go.mod | 16 +++++----- plugins/destination/test/go.sum | 36 ++++++++++----------- plugins/source/alicloud/go.mod | 16 +++++----- plugins/source/alicloud/go.sum | 36 ++++++++++----------- plugins/source/awspricing/go.mod | 16 +++++----- plugins/source/awspricing/go.sum | 36 ++++++++++----------- plugins/source/cloudflare/go.mod | 16 +++++----- plugins/source/cloudflare/go.sum | 36 ++++++++++----------- plugins/source/datadog/go.mod | 18 +++++------ plugins/source/datadog/go.sum | 40 ++++++++++++------------ plugins/source/digitalocean/go.mod | 18 +++++------ plugins/source/digitalocean/go.sum | 40 ++++++++++++------------ plugins/source/firestore/go.mod | 14 ++++----- plugins/source/firestore/go.sum | 40 ++++++++++++------------ plugins/source/github/go.mod | 16 +++++----- plugins/source/github/go.sum | 36 ++++++++++----------- plugins/source/gitlab/go.mod | 18 +++++------ plugins/source/gitlab/go.sum | 40 ++++++++++++------------ plugins/source/hackernews/go.mod | 16 +++++----- plugins/source/hackernews/go.sum | 36 ++++++++++----------- plugins/source/hubspot/go.mod | 18 +++++------ plugins/source/hubspot/go.sum | 40 ++++++++++++------------ plugins/source/k8s/go.mod | 16 +++++----- plugins/source/k8s/go.sum | 32 +++++++++---------- plugins/source/notion/go.mod | 16 +++++----- plugins/source/notion/go.sum | 36 ++++++++++----------- plugins/source/okta/go.mod | 18 +++++------ plugins/source/okta/go.sum | 40 ++++++++++++------------ plugins/source/oracle/go.mod | 16 +++++----- plugins/source/oracle/go.sum | 36 ++++++++++----------- plugins/source/pagerduty/go.mod | 16 +++++----- plugins/source/pagerduty/go.sum | 36 ++++++++++----------- plugins/source/test/go.mod | 18 +++++------ plugins/source/test/go.sum | 36 ++++++++++----------- scaffold/cmd/templates/source/go.mod.tpl | 2 +- 77 files changed, 900 insertions(+), 900 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index 4b6e0501811886..01974989e03943 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -9,7 +9,7 @@ require ( github.com/cloudquery/cloudquery-api-go v1.7.5 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-pb-go v1.19.2 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/distribution/reference v0.5.0 github.com/docker/distribution v2.8.3+incompatible github.com/docker/docker v25.0.3+incompatible diff --git a/cli/go.sum b/cli/go.sum index de6b7b646a9ab9..c8c88b724438bb 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -72,8 +72,8 @@ github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOC github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= github.com/cloudquery/plugin-pb-go v1.19.2 h1:HExE7KUpz/ocJI0AWrewbf0k0VphaR2Qgbcc6nmKLso= github.com/cloudquery/plugin-pb-go v1.19.2/go.mod h1:QfbIZ2/bsC+t44SzCumpK5G+uE5q57s8ZnQT1GtGKI4= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= @@ -518,8 +518,8 @@ gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= -google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= +google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1:SO1wX9btGFrwj9EzH3ocqfwiPVOxfv4ggAJajzlHA5s= +google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= diff --git a/plugins/destination/azblob/go.mod b/plugins/destination/azblob/go.mod index 334fa0b2640c24..7bb98e87085866 100644 --- a/plugins/destination/azblob/go.mod +++ b/plugins/destination/azblob/go.mod @@ -10,7 +10,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/google/go-cmp v0.6.0 github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 @@ -42,7 +42,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -134,7 +134,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/azblob/go.sum b/plugins/destination/azblob/go.sum index 91c098436031e0..0560feb3db2999 100644 --- a/plugins/destination/azblob/go.sum +++ b/plugins/destination/azblob/go.sum @@ -69,12 +69,12 @@ github.com/cloudquery/filetypes/v4 v4.2.11 h1:FxLM0to2wHr/pT2NcqGpbtCuVxvZpSVIDc github.com/cloudquery/filetypes/v4 v4.2.11/go.mod h1:eqgWrMw9wrSDmTioNVEbbESdP+z91t827mDTbi26w0Q= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -122,8 +122,8 @@ github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v5 v5.2.0 h1:d/ix8ftRUorsN+5eMIlF4T6J8CAt9rch3My2winC1Jw= github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -388,8 +388,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/bigquery/go.mod b/plugins/destination/bigquery/go.mod index e1c2b91980c6e6..3a563ca07bb312 100644 --- a/plugins/destination/bigquery/go.mod +++ b/plugins/destination/bigquery/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/bigquery v1.59.1 github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 @@ -33,7 +33,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -63,8 +63,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -81,8 +81,8 @@ require ( github.com/schollz/closestmatch v2.1.0+incompatible // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect diff --git a/plugins/destination/bigquery/go.sum b/plugins/destination/bigquery/go.sum index ecdcdd653e2ef5..d5472a981e3951 100644 --- a/plugins/destination/bigquery/go.sum +++ b/plugins/destination/bigquery/go.sum @@ -73,12 +73,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= @@ -212,11 +212,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -297,10 +297,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= diff --git a/plugins/destination/clickhouse/go.mod b/plugins/destination/clickhouse/go.mod index 6279353d326a4f..94ed9cb9560202 100644 --- a/plugins/destination/clickhouse/go.mod +++ b/plugins/destination/clickhouse/go.mod @@ -6,9 +6,9 @@ require ( github.com/ClickHouse/clickhouse-go/v2 v2.10.1 github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 golang.org/x/sync v0.6.0 @@ -34,7 +34,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -70,8 +70,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -95,8 +95,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -126,7 +126,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/clickhouse/go.sum b/plugins/destination/clickhouse/go.sum index 9c307e4d77c285..44cecd2a2ea786 100644 --- a/plugins/destination/clickhouse/go.sum +++ b/plugins/destination/clickhouse/go.sum @@ -55,12 +55,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -109,8 +109,8 @@ github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -128,8 +128,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -166,11 +166,11 @@ github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwf github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -260,10 +260,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -399,8 +399,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= diff --git a/plugins/destination/duckdb/go.mod b/plugins/destination/duckdb/go.mod index c992230bae5adc..c3e3ddf33e42c5 100644 --- a/plugins/destination/duckdb/go.mod +++ b/plugins/destination/duckdb/go.mod @@ -6,8 +6,8 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cenkalti/backoff/v4 v4.2.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 - github.com/google/uuid v1.5.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 + github.com/google/uuid v1.6.0 github.com/marcboeker/go-duckdb v1.5.6 github.com/rs/zerolog v1.31.0 ) @@ -31,7 +31,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -67,8 +67,8 @@ require ( github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect github.com/klauspost/asmfmt v1.3.2 // indirect - github.com/klauspost/compress v1.17.6 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -92,8 +92,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -124,7 +124,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/duckdb/go.sum b/plugins/destination/duckdb/go.sum index 63297ee4ab4d83..ae5888a979ab16 100644 --- a/plugins/destination/duckdb/go.sum +++ b/plugins/destination/duckdb/go.sum @@ -55,12 +55,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,8 +104,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -121,8 +121,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -159,11 +159,11 @@ github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -252,10 +252,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -369,8 +369,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/elasticsearch/go.mod b/plugins/destination/elasticsearch/go.mod index 48cbbb442dc1da..1b646fbc8e9976 100644 --- a/plugins/destination/elasticsearch/go.mod +++ b/plugins/destination/elasticsearch/go.mod @@ -6,7 +6,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cenkalti/backoff/v4 v4.2.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/elastic/go-elasticsearch/v8 v8.6.0 github.com/goccy/go-json v0.10.2 github.com/invopop/jsonschema v0.11.0 @@ -34,7 +34,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -55,7 +55,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -69,8 +69,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -91,8 +91,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -120,7 +120,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/elasticsearch/go.sum b/plugins/destination/elasticsearch/go.sum index 872613b0faea1c..270ee086018a20 100644 --- a/plugins/destination/elasticsearch/go.sum +++ b/plugins/destination/elasticsearch/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,8 +104,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -121,8 +121,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -157,11 +157,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -243,10 +243,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -360,8 +360,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index ae7ae9bd43aba1..554ba5518e7283 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -8,7 +8,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/google/go-cmp v0.6.0 github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 @@ -37,7 +37,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -126,7 +126,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index 194b2d041c7c61..f1191b81b865ec 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -57,12 +57,12 @@ github.com/cloudquery/filetypes/v4 v4.2.11 h1:FxLM0to2wHr/pT2NcqGpbtCuVxvZpSVIDc github.com/cloudquery/filetypes/v4 v4.2.11/go.mod h1:eqgWrMw9wrSDmTioNVEbbESdP+z91t827mDTbi26w0Q= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -106,8 +106,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -366,8 +366,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/firehose/go.mod b/plugins/destination/firehose/go.mod index 18bbeae4087eba..c391fd194a9ffd 100644 --- a/plugins/destination/firehose/go.mod +++ b/plugins/destination/firehose/go.mod @@ -10,7 +10,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.27.4 github.com/aws/aws-sdk-go-v2/service/firehose v1.28.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -45,7 +45,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -65,7 +65,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -80,8 +80,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -101,8 +101,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -133,7 +133,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/firehose/go.sum b/plugins/destination/firehose/go.sum index 296b9a996887ef..691766fc57a947 100644 --- a/plugins/destination/firehose/go.sum +++ b/plugins/destination/firehose/go.sum @@ -79,12 +79,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -128,8 +128,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -145,8 +145,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -181,11 +181,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -265,10 +265,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -382,8 +382,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/gcs/go.mod b/plugins/destination/gcs/go.mod index f4402b9f28b000..2da89e21b826d2 100644 --- a/plugins/destination/gcs/go.mod +++ b/plugins/destination/gcs/go.mod @@ -9,7 +9,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 @@ -42,7 +42,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -142,7 +142,7 @@ require ( google.golang.org/genproto v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/gcs/go.sum b/plugins/destination/gcs/go.sum index 572a7d66cd83a7..81dfac23dad326 100644 --- a/plugins/destination/gcs/go.sum +++ b/plugins/destination/gcs/go.sum @@ -71,15 +71,15 @@ github.com/cloudquery/filetypes/v4 v4.2.11 h1:FxLM0to2wHr/pT2NcqGpbtCuVxvZpSVIDc github.com/cloudquery/filetypes/v4 v4.2.11/go.mod h1:eqgWrMw9wrSDmTioNVEbbESdP+z91t827mDTbi26w0Q= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -91,8 +91,8 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= @@ -132,8 +132,8 @@ github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -479,8 +479,8 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/plugins/destination/gremlin/go.mod b/plugins/destination/gremlin/go.mod index 4c88ef6bd48351..54a16eb366405c 100644 --- a/plugins/destination/gremlin/go.mod +++ b/plugins/destination/gremlin/go.mod @@ -9,7 +9,7 @@ require ( github.com/aws/aws-sdk-go-v2/config v1.27.4 github.com/cenkalti/backoff/v4 v4.2.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/invopop/jsonschema v0.11.0 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -44,7 +44,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -65,7 +65,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/gorilla/websocket v1.5.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect @@ -80,8 +80,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -102,8 +102,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -133,7 +133,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/gremlin/go.sum b/plugins/destination/gremlin/go.sum index a34c1cb9e0843b..66dae57ce32136 100644 --- a/plugins/destination/gremlin/go.sum +++ b/plugins/destination/gremlin/go.sum @@ -80,12 +80,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -129,8 +129,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -146,8 +146,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -182,11 +182,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -269,10 +269,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -399,8 +399,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/kafka/go.mod b/plugins/destination/kafka/go.mod index 06677fec8738b4..6364a3ba55fe7f 100644 --- a/plugins/destination/kafka/go.mod +++ b/plugins/destination/kafka/go.mod @@ -9,7 +9,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 github.com/wk8/go-ordered-map/v2 v2.1.8 @@ -35,7 +35,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -59,7 +59,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -138,7 +138,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/kafka/go.sum b/plugins/destination/kafka/go.sum index a9c7dfc0211a5a..65b77f7c801419 100644 --- a/plugins/destination/kafka/go.sum +++ b/plugins/destination/kafka/go.sum @@ -61,12 +61,12 @@ github.com/cloudquery/filetypes/v4 v4.2.11 h1:FxLM0to2wHr/pT2NcqGpbtCuVxvZpSVIDc github.com/cloudquery/filetypes/v4 v4.2.11/go.mod h1:eqgWrMw9wrSDmTioNVEbbESdP+z91t827mDTbi26w0Q= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -118,8 +118,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -135,8 +135,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= @@ -420,8 +420,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/meilisearch/go.mod b/plugins/destination/meilisearch/go.mod index ffe1c8b3766662..23cd5c94a26526 100644 --- a/plugins/destination/meilisearch/go.mod +++ b/plugins/destination/meilisearch/go.mod @@ -5,9 +5,9 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 github.com/meilisearch/meilisearch-go v0.24.0 github.com/rs/zerolog v1.31.0 @@ -32,7 +32,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -66,8 +66,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -88,8 +88,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -120,7 +120,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/meilisearch/go.sum b/plugins/destination/meilisearch/go.sum index ee0c8a64479259..de78ce2cd10431 100644 --- a/plugins/destination/meilisearch/go.sum +++ b/plugins/destination/meilisearch/go.sum @@ -52,12 +52,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -103,8 +103,8 @@ github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -120,8 +120,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -158,11 +158,11 @@ github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -244,10 +244,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -372,8 +372,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/mongodb/go.mod b/plugins/destination/mongodb/go.mod index 0fd6571b318eb6..59bd9ea795ce4f 100644 --- a/plugins/destination/mongodb/go.mod +++ b/plugins/destination/mongodb/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 github.com/rs/zerolog v1.31.0 go.mongodb.org/mongo-driver v1.12.1 @@ -29,7 +29,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -49,7 +49,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -64,8 +64,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -87,8 +87,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -123,7 +123,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/mongodb/go.sum b/plugins/destination/mongodb/go.sum index f06b0fb7c423a1..615bdbf4a37888 100644 --- a/plugins/destination/mongodb/go.sum +++ b/plugins/destination/mongodb/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -119,8 +119,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -156,11 +156,11 @@ github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIR github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -242,10 +242,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -387,8 +387,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/motherduck/go.mod b/plugins/destination/motherduck/go.mod index 5ceb3659ffa555..9a518bb1a4e9a1 100644 --- a/plugins/destination/motherduck/go.mod +++ b/plugins/destination/motherduck/go.mod @@ -6,8 +6,8 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cenkalti/backoff/v4 v4.2.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 - github.com/google/uuid v1.5.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 + github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 github.com/marcboeker/go-duckdb v1.5.6 github.com/rs/zerolog v1.31.0 @@ -33,7 +33,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -68,8 +68,8 @@ require ( github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect github.com/klauspost/asmfmt v1.3.2 // indirect - github.com/klauspost/compress v1.17.6 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -93,8 +93,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -124,7 +124,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/motherduck/go.sum b/plugins/destination/motherduck/go.sum index 63297ee4ab4d83..ae5888a979ab16 100644 --- a/plugins/destination/motherduck/go.sum +++ b/plugins/destination/motherduck/go.sum @@ -55,12 +55,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,8 +104,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -121,8 +121,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -159,11 +159,11 @@ github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= -github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI= -github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -252,10 +252,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -369,8 +369,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/mssql/go.mod b/plugins/destination/mssql/go.mod index 27148be357c553..d91a746569018c 100644 --- a/plugins/destination/mssql/go.mod +++ b/plugins/destination/mssql/go.mod @@ -5,7 +5,7 @@ go 1.21.6 require ( github.com/apache/arrow/go/v15 v15.0.0 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 @@ -36,7 +36,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -72,8 +72,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect @@ -95,8 +95,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -127,7 +127,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/mssql/go.sum b/plugins/destination/mssql/go.sum index 132542686a0904..268bebd59a4f78 100644 --- a/plugins/destination/mssql/go.sum +++ b/plugins/destination/mssql/go.sum @@ -63,12 +63,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -184,11 +184,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -277,10 +277,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -426,8 +426,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/mysql/go.mod b/plugins/destination/mysql/go.mod index 1942a833a43e64..bcdccf405aa1eb 100644 --- a/plugins/destination/mysql/go.mod +++ b/plugins/destination/mysql/go.mod @@ -5,9 +5,9 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/go-sql-driver/mysql v1.7.1 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/rs/zerolog v1.31.0 golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 ) @@ -30,7 +30,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -65,8 +65,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -87,8 +87,8 @@ require ( github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -118,7 +118,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/mysql/go.sum b/plugins/destination/mysql/go.sum index 20a21a8b5b99d8..23a73226057d33 100644 --- a/plugins/destination/mysql/go.sum +++ b/plugins/destination/mysql/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -102,8 +102,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -119,8 +119,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -154,11 +154,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -238,10 +238,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -355,8 +355,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/neo4j/go.mod b/plugins/destination/neo4j/go.mod index 2c504ec3692251..2980b8fd148616 100644 --- a/plugins/destination/neo4j/go.mod +++ b/plugins/destination/neo4j/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/neo4j/neo4j-go-driver/v5 v5.6.0 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -29,7 +29,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -50,7 +50,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -65,8 +65,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -86,8 +86,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -118,7 +118,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/neo4j/go.sum b/plugins/destination/neo4j/go.sum index 0218cb0498a223..f021a94cab01b6 100644 --- a/plugins/destination/neo4j/go.sum +++ b/plugins/destination/neo4j/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -153,11 +153,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -239,10 +239,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -356,8 +356,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/postgresql/go.mod b/plugins/destination/postgresql/go.mod index a6b7490130783d..058a636a6a45e0 100644 --- a/plugins/destination/postgresql/go.mod +++ b/plugins/destination/postgresql/go.mod @@ -7,7 +7,7 @@ toolchain go1.21.6 require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/google/go-cmp v0.6.0 github.com/invopop/jsonschema v0.12.0 github.com/jackc/pgx-zerolog v0.0.0-20230315001418-f978528409eb @@ -35,7 +35,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -56,7 +56,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -73,8 +73,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -94,8 +94,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -125,7 +125,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/postgresql/go.sum b/plugins/destination/postgresql/go.sum index 02ea694aa5ecec..8b9c43df044ac0 100644 --- a/plugins/destination/postgresql/go.sum +++ b/plugins/destination/postgresql/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -163,11 +163,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -247,10 +247,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -364,8 +364,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index b2255dcbad8180..52eb0c6234a70e 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -12,9 +12,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/google/go-cmp v0.6.0 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -56,7 +56,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -146,7 +146,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index 2e03ea48a916a0..efaa5b9a5d9395 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -95,12 +95,12 @@ github.com/cloudquery/filetypes/v4 v4.2.11 h1:FxLM0to2wHr/pT2NcqGpbtCuVxvZpSVIDc github.com/cloudquery/filetypes/v4 v4.2.11/go.mod h1:eqgWrMw9wrSDmTioNVEbbESdP+z91t827mDTbi26w0Q= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -144,8 +144,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -161,8 +161,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -409,8 +409,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index 4e0ac5e2bbce1d..27da99adcca641 100644 --- a/plugins/destination/snowflake/go.mod +++ b/plugins/destination/snowflake/go.mod @@ -5,7 +5,7 @@ go 1.21.6 require ( github.com/apache/arrow/go/v15 v15.0.0 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 github.com/rs/zerolog v1.31.0 github.com/snowflakedb/gosnowflake v1.7.2 @@ -51,7 +51,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/danieljoos/wincred v1.2.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect @@ -92,8 +92,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -115,8 +115,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -147,7 +147,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index 3347b293846250..30311a370addc0 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -109,12 +109,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= @@ -227,11 +227,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -320,10 +320,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -440,8 +440,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/sqlite/go.mod b/plugins/destination/sqlite/go.mod index 48d793ed11fc44..f9b24395c97254 100644 --- a/plugins/destination/sqlite/go.mod +++ b/plugins/destination/sqlite/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/mattn/go-sqlite3 v1.14.16 github.com/rs/zerolog v1.31.0 ) @@ -28,7 +28,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -49,7 +49,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -64,8 +64,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -86,8 +86,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -118,7 +118,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/sqlite/go.sum b/plugins/destination/sqlite/go.sum index 059737728a37aa..56744de424c204 100644 --- a/plugins/destination/sqlite/go.sum +++ b/plugins/destination/sqlite/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -153,11 +153,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -239,10 +239,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -356,8 +356,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/destination/test/go.mod b/plugins/destination/test/go.mod index bc1d38c919f76f..a86df1f0823185 100644 --- a/plugins/destination/test/go.mod +++ b/plugins/destination/test/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 ) @@ -28,7 +28,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -49,7 +49,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -63,8 +63,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -85,8 +85,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -117,7 +117,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/destination/test/go.sum b/plugins/destination/test/go.sum index 58525479cae039..185d6116954c22 100644 --- a/plugins/destination/test/go.sum +++ b/plugins/destination/test/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -153,11 +153,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -237,10 +237,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -354,8 +354,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/alicloud/go.mod b/plugins/source/alicloud/go.mod index 519f996dd98504..9fff6b87d84589 100644 --- a/plugins/source/alicloud/go.mod +++ b/plugins/source/alicloud/go.mod @@ -7,7 +7,7 @@ require ( github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.5.0 github.com/invopop/jsonschema v0.12.0 github.com/pkg/errors v0.9.1 @@ -33,7 +33,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -54,7 +54,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -70,8 +70,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -93,8 +93,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -124,7 +124,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/alicloud/go.sum b/plugins/source/alicloud/go.sum index cc908bbce637a3..ab89e691fbc836 100644 --- a/plugins/source/alicloud/go.sum +++ b/plugins/source/alicloud/go.sum @@ -65,12 +65,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -115,8 +115,8 @@ github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/goji/httpauth v0.0.0-20160601135302-2da839ab0f4d/go.mod h1:nnjvkQ9ptGaCkuDUx6wNykzzlUixGxvkme+H/lnzb+A= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.5.0 h1:jlYHihg//f7RRwuPfptm04yp4s7O6Kw8EZiVYIGcH0g= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -134,8 +134,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -178,11 +178,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -266,10 +266,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -390,8 +390,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/awspricing/go.mod b/plugins/source/awspricing/go.mod index e64bb9584db341..f3edb068acb11f 100644 --- a/plugins/source/awspricing/go.mod +++ b/plugins/source/awspricing/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/awspricing go 1.21.5 require ( - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.31.0 ) @@ -26,7 +26,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -47,7 +47,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -62,8 +62,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -84,8 +84,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -116,7 +116,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/awspricing/go.sum b/plugins/source/awspricing/go.sum index cfabca2e923854..d1774d3a2db1b7 100644 --- a/plugins/source/awspricing/go.sum +++ b/plugins/source/awspricing/go.sum @@ -47,12 +47,12 @@ github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0 github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/cloudquery/cloudquery-api-go v1.7.5 h1:rd5OQx7qRQASEzU9c8Wopzau7GMVCGj2PylRxSqHd0s= github.com/cloudquery/cloudquery-api-go v1.7.5/go.mod h1:03fojQg0UpdgqXZ9tzZ5gF5CPad/F0sok66bsX6u4RA= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -96,8 +96,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -113,8 +113,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -151,11 +151,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -235,10 +235,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -352,8 +352,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/cloudflare/go.mod b/plugins/source/cloudflare/go.mod index 12a744216f31ba..1db90020f6492c 100644 --- a/plugins/source/cloudflare/go.mod +++ b/plugins/source/cloudflare/go.mod @@ -6,7 +6,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudflare/cloudflare-go v0.84.0 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.6.0 github.com/rs/zerolog v1.31.0 github.com/thoas/go-funk v0.9.3 @@ -30,7 +30,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -52,7 +52,7 @@ require ( github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -69,8 +69,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -91,8 +91,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -122,7 +122,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/cloudflare/go.sum b/plugins/source/cloudflare/go.sum index d03f41eaa61ee8..36fee7159c4ade 100644 --- a/plugins/source/cloudflare/go.sum +++ b/plugins/source/cloudflare/go.sum @@ -53,12 +53,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -102,8 +102,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -122,8 +122,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -165,11 +165,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -249,10 +249,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -373,8 +373,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/datadog/go.mod b/plugins/source/datadog/go.mod index a58f777a2ba87c..b6eb2a33e9bf7a 100644 --- a/plugins/source/datadog/go.mod +++ b/plugins/source/datadog/go.mod @@ -6,7 +6,7 @@ require ( github.com/DataDog/datadog-api-client-go/v2 v2.17.0 github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.6.0 github.com/invopop/jsonschema v0.12.0 github.com/rs/zerolog v1.31.0 @@ -34,7 +34,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -55,7 +55,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -69,8 +69,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -90,8 +90,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -112,7 +112,7 @@ require ( golang.org/x/crypto v0.19.0 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect @@ -122,7 +122,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/datadog/go.sum b/plugins/source/datadog/go.sum index 98f8d38ec4c700..9435a05a92aa8f 100644 --- a/plugins/source/datadog/go.sum +++ b/plugins/source/datadog/go.sum @@ -55,12 +55,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,8 +104,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -124,8 +124,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -160,11 +160,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -244,10 +244,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -326,8 +326,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -384,8 +384,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index b7c62bf068b6ef..0005880383847c 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -10,7 +10,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 github.com/aws/smithy-go v1.20.1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/digitalocean/godo v1.99.0 github.com/golang/mock v1.6.0 github.com/pkg/errors v0.9.1 @@ -50,7 +50,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -72,7 +72,7 @@ require ( github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -87,8 +87,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -109,8 +109,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -132,7 +132,7 @@ require ( golang.org/x/crypto v0.19.0 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect @@ -142,7 +142,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index 96ac2f43e2265f..d0068c3c26f7ba 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -89,12 +89,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -140,8 +140,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -161,8 +161,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -197,11 +197,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -281,10 +281,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -363,8 +363,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -421,8 +421,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/firestore/go.mod b/plugins/source/firestore/go.mod index 0c227bc078e919..4e1de9de30dada 100644 --- a/plugins/source/firestore/go.mod +++ b/plugins/source/firestore/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/firestore v1.14.0 github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/invopop/jsonschema v0.11.0 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -36,7 +36,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -76,8 +76,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -97,8 +97,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -134,7 +134,7 @@ require ( google.golang.org/genproto v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/firestore/go.sum b/plugins/source/firestore/go.sum index 2b67c57236efcf..a1eddcf0cd5392 100644 --- a/plugins/source/firestore/go.sum +++ b/plugins/source/firestore/go.sum @@ -65,15 +65,15 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= -github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= +github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -85,8 +85,8 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= -github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= +github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= +github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= @@ -126,8 +126,8 @@ github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -206,11 +206,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -291,10 +291,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -464,8 +464,8 @@ google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyac google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/plugins/source/github/go.mod b/plugins/source/github/go.mod index 3a741cad12ba9c..f298569def13bc 100644 --- a/plugins/source/github/go.mod +++ b/plugins/source/github/go.mod @@ -6,7 +6,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/bradleyfalzon/ghinstallation/v2 v2.9.0 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/ghodss/yaml v1.0.0 github.com/gofri/go-github-ratelimit v1.0.3 github.com/golang/mock v1.6.0 @@ -34,7 +34,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -57,7 +57,7 @@ require ( github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/go-github/v57 v57.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -71,8 +71,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -93,8 +93,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -124,7 +124,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/github/go.sum b/plugins/source/github/go.sum index a6d042a5415ee8..41e44caa2d6552 100644 --- a/plugins/source/github/go.sum +++ b/plugins/source/github/go.sum @@ -53,12 +53,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -106,8 +106,8 @@ github.com/gofri/go-github-ratelimit v1.0.3 h1:Ocs2jaYokZDzgvqaajX+g04dqFyVqL0JQ github.com/gofri/go-github-ratelimit v1.0.3/go.mod h1:OnCi5gV+hAG/LMR7llGhU7yHt44se9sYgKPnafoL7RY= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -130,8 +130,8 @@ github.com/google/go-github/v59 v59.0.0/go.mod h1:rJU4R0rQHFVFDOkqGWxfLNo6vEk4dv github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -166,11 +166,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -250,10 +250,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -374,8 +374,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/gitlab/go.mod b/plugins/source/gitlab/go.mod index b2f0e4cb04c7fb..fcb56fc1e8ccf0 100644 --- a/plugins/source/gitlab/go.mod +++ b/plugins/source/gitlab/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/julienschmidt/httprouter v1.3.0 github.com/rs/zerolog v1.31.0 github.com/xanzy/go-gitlab v0.83.0 @@ -29,7 +29,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -51,7 +51,7 @@ require ( github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -69,8 +69,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -91,8 +91,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -115,7 +115,7 @@ require ( golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect @@ -125,7 +125,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/gitlab/go.sum b/plugins/source/gitlab/go.sum index ff3d29af279276..dd2ffac0aa6d9d 100644 --- a/plugins/source/gitlab/go.sum +++ b/plugins/source/gitlab/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -101,8 +101,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -120,8 +120,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -165,11 +165,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -254,10 +254,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -335,8 +335,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -395,8 +395,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index b340c7ec0f0cfd..17bb66cad88e2c 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -4,13 +4,13 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.6.0 github.com/hermanschaaf/hackernews v1.0.1 github.com/rs/zerolog v1.31.0 github.com/thoas/go-funk v0.9.3 golang.org/x/sync v0.6.0 - google.golang.org/grpc v1.61.1 + google.golang.org/grpc v1.62.0 ) require ( @@ -31,7 +31,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -52,7 +52,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -67,8 +67,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -89,8 +89,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index 6cb308397721e7..5413733329e5c9 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -47,12 +47,12 @@ github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0 github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/cloudquery/cloudquery-api-go v1.7.5 h1:rd5OQx7qRQASEzU9c8Wopzau7GMVCGj2PylRxSqHd0s= github.com/cloudquery/cloudquery-api-go v1.7.5/go.mod h1:03fojQg0UpdgqXZ9tzZ5gF5CPad/F0sok66bsX6u4RA= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -96,8 +96,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= @@ -115,8 +115,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -155,11 +155,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -239,10 +239,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -363,8 +363,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/hubspot/go.mod b/plugins/source/hubspot/go.mod index 97e22f49c4ebcc..b415bad9636961 100644 --- a/plugins/source/hubspot/go.mod +++ b/plugins/source/hubspot/go.mod @@ -6,7 +6,7 @@ require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/clarkmcc/go-hubspot v0.0.0-20240203002710-abe38a19e3dd github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 @@ -31,7 +31,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -52,7 +52,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -67,8 +67,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -88,8 +88,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -111,7 +111,7 @@ require ( golang.org/x/crypto v0.19.0 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect @@ -120,7 +120,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/hubspot/go.sum b/plugins/source/hubspot/go.sum index 30ac7e08c53704..5b9923dc9967cc 100644 --- a/plugins/source/hubspot/go.sum +++ b/plugins/source/hubspot/go.sum @@ -53,12 +53,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -102,8 +102,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -120,8 +120,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -156,11 +156,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -240,10 +240,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -319,8 +319,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -374,8 +374,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index e3ef982d957650..e0bb17d5bb65d3 100644 --- a/plugins/source/k8s/go.mod +++ b/plugins/source/k8s/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.6.0 github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 github.com/rs/zerolog v1.31.0 @@ -35,7 +35,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -62,7 +62,7 @@ require ( github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect @@ -78,8 +78,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -102,8 +102,8 @@ require ( github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -136,7 +136,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index b34044317594f3..ef3c184c9bc18c 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -137,8 +137,8 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20211214055906-6f57359322fd h1:1FjCyPC+syAzJ5/2S8fqdZK1R22vvA0J7JZKcuOIQ7Y= github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -176,11 +176,11 @@ github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -267,10 +267,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -421,8 +421,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/notion/go.mod b/plugins/source/notion/go.mod index 21562b480cc1ab..15a966ce7c546e 100644 --- a/plugins/source/notion/go.mod +++ b/plugins/source/notion/go.mod @@ -4,7 +4,7 @@ go 1.21.5 require ( github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.31.0 ) @@ -27,7 +27,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -48,7 +48,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -63,8 +63,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -85,8 +85,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -117,7 +117,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/notion/go.sum b/plugins/source/notion/go.sum index 58525479cae039..185d6116954c22 100644 --- a/plugins/source/notion/go.sum +++ b/plugins/source/notion/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -153,11 +153,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -237,10 +237,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -354,8 +354,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index e44a54bd316a4c..14abcf9a98b295 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/gorilla/mux v1.8.0 github.com/invopop/jsonschema v0.12.0 github.com/okta/okta-sdk-golang/v4 v4.0.0 @@ -32,7 +32,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -54,7 +54,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -69,8 +69,8 @@ require ( github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect github.com/kelseyhightower/envconfig v1.4.0 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -91,8 +91,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -114,7 +114,7 @@ require ( golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect - golang.org/x/oauth2 v0.14.0 // indirect + golang.org/x/oauth2 v0.16.0 // indirect golang.org/x/sync v0.6.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect @@ -124,7 +124,7 @@ require ( google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 1ce97c4558df4a..3a01957d32ffad 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -102,8 +102,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= @@ -121,8 +121,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= @@ -163,11 +163,11 @@ github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= github.com/kelseyhightower/envconfig v1.4.0 h1:Im6hONhd3pLkfDFsbRgu68RDNkGF1r3dvMUtDTo2cv8= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -252,10 +252,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -332,8 +332,8 @@ golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/oauth2 v0.14.0 h1:P0Vrf/2538nmC0H+pEQ3MNFRRnVR7RlqyVw+bvm26z0= -golang.org/x/oauth2 v0.14.0/go.mod h1:lAtNWgaWfL4cm7j2OV8TxGi9Qb7ECORx8DktCY74OwM= +golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= +golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -387,8 +387,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/oracle/go.mod b/plugins/source/oracle/go.mod index 5640c10825e29a..eff8164efd531c 100644 --- a/plugins/source/oracle/go.mod +++ b/plugins/source/oracle/go.mod @@ -5,7 +5,7 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/oracle/oci-go-sdk/v65 v65.28.3 github.com/rs/zerolog v1.31.0 github.com/stretchr/testify v1.8.4 @@ -30,7 +30,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -52,7 +52,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -67,8 +67,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -89,8 +89,8 @@ require ( github.com/sony/gobreaker v0.5.0 // indirect github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -120,7 +120,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/oracle/go.sum b/plugins/source/oracle/go.sum index 297814109371eb..3ae1df7c60d6b8 100644 --- a/plugins/source/oracle/go.sum +++ b/plugins/source/oracle/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -102,8 +102,8 @@ github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MG github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -119,8 +119,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -155,11 +155,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -245,10 +245,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -363,8 +363,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/pagerduty/go.mod b/plugins/source/pagerduty/go.mod index a1a6616f99a78c..f3dba48d88d1c6 100644 --- a/plugins/source/pagerduty/go.mod +++ b/plugins/source/pagerduty/go.mod @@ -6,7 +6,7 @@ require ( github.com/PagerDuty/go-pagerduty v1.6.0 github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.31.0 golang.org/x/time v0.5.0 gopkg.in/yaml.v3 v3.0.1 @@ -30,7 +30,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -52,7 +52,7 @@ require ( github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -67,8 +67,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -89,8 +89,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -120,7 +120,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/pagerduty/go.sum b/plugins/source/pagerduty/go.sum index 055cb4626245c0..bb4fac67ff9e1f 100644 --- a/plugins/source/pagerduty/go.sum +++ b/plugins/source/pagerduty/go.sum @@ -55,12 +55,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb h1:/l8fbvLOCNlgkHp8VUKTTL+Tk9gs5y/K3Yx/bRfReNk= github.com/cloudquery/jsonschema v0.0.0-20240202134451-d771afde32fb/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -105,8 +105,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -125,8 +125,8 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -163,11 +163,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -255,10 +255,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -375,8 +375,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/plugins/source/test/go.mod b/plugins/source/test/go.mod index 1692977750578d..c75e3ded21766c 100644 --- a/plugins/source/test/go.mod +++ b/plugins/source/test/go.mod @@ -5,8 +5,9 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/cloudquery/codegen v0.3.12 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.31.0 + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 ) require ( @@ -27,7 +28,7 @@ require ( github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/cloudquery/cloudquery-api-go v1.7.5 // indirect - github.com/cloudquery/plugin-pb-go v1.19.0 // indirect + github.com/cloudquery/plugin-pb-go v1.19.1 // indirect github.com/cloudquery/plugin-sdk/v2 v2.7.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/deepmap/oapi-codegen v1.16.2 // indirect @@ -48,7 +49,7 @@ require ( github.com/golang/snappy v0.0.4 // indirect github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 // indirect github.com/google/flatbuffers v23.5.26+incompatible // indirect - github.com/google/uuid v1.5.0 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.0.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect @@ -63,8 +64,8 @@ require ( github.com/kataras/pio v0.0.13 // indirect github.com/kataras/sitemap v0.0.6 // indirect github.com/kataras/tunnel v0.0.4 // indirect - github.com/klauspost/compress v1.17.5 // indirect - github.com/klauspost/cpuid/v2 v2.2.6 // indirect + github.com/klauspost/compress v1.17.7 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/labstack/echo/v4 v4.11.4 // indirect github.com/labstack/gommon v0.4.2 // indirect github.com/leodido/go-urn v1.2.4 // indirect @@ -85,8 +86,8 @@ require ( github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/stretchr/testify v1.8.4 // indirect - github.com/tdewolff/minify/v2 v2.20.16 // indirect - github.com/tdewolff/parse/v2 v2.7.11 // indirect + github.com/tdewolff/minify/v2 v2.20.18 // indirect + github.com/tdewolff/parse/v2 v2.7.12 // indirect github.com/thoas/go-funk v0.9.3 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect @@ -106,7 +107,6 @@ require ( go.opentelemetry.io/proto/otlp v1.0.0 // indirect golang.org/x/arch v0.6.0 // indirect golang.org/x/crypto v0.19.0 // indirect - golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.21.0 // indirect golang.org/x/sync v0.6.0 // indirect @@ -117,7 +117,7 @@ require ( golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 // indirect - google.golang.org/grpc v1.61.1 // indirect + google.golang.org/grpc v1.62.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/plugins/source/test/go.sum b/plugins/source/test/go.sum index 7bfa6799e9c7dd..990cb66e6045f4 100644 --- a/plugins/source/test/go.sum +++ b/plugins/source/test/go.sum @@ -51,12 +51,12 @@ github.com/cloudquery/codegen v0.3.12 h1:9BaYdwbMJU1HVT/BHI+ykhOhBGeXt8AjpvBiXN1 github.com/cloudquery/codegen v0.3.12/go.mod h1:utqjurr58U8uqcPJe0rZjh06i0Eq9uAPGOmyIjq/1w8= github.com/cloudquery/jsonschema v0.0.0-20240220112440-ae1722096d67 h1:ohoQ4S0wgrQGEW2yMV9sc77V0b6PaNuzHjv6GEDoYwQ= github.com/cloudquery/jsonschema v0.0.0-20240220112440-ae1722096d67/go.mod h1:0SoZ/U7yJlNOR+fWsBSeTvTbGXB6DK01tzJ7m2Xfg34= -github.com/cloudquery/plugin-pb-go v1.19.0 h1:QqdIoblmD+42Lv99cIJqkN34vvOWaX6j7So63UBu4yc= -github.com/cloudquery/plugin-pb-go v1.19.0/go.mod h1:YSEBZV1O043VqV1OQDtujdOqX9t5IjOwdXP94EersEU= +github.com/cloudquery/plugin-pb-go v1.19.1 h1:JmvVuHlTVC4AUMyGa6K0I2pwv56z7W+OaiJQGT3EjgM= +github.com/cloudquery/plugin-pb-go v1.19.1/go.mod h1:1bJ9XHgqibq4atoYwAu24dsxRTZsv94jEmJ1oHaMQYs= github.com/cloudquery/plugin-sdk/v2 v2.7.0 h1:hRXsdEiaOxJtsn/wZMFQC9/jPfU1MeMK3KF+gPGqm7U= github.com/cloudquery/plugin-sdk/v2 v2.7.0/go.mod h1:pAX6ojIW99b/Vg4CkhnsGkRIzNaVEceYMR+Bdit73ug= -github.com/cloudquery/plugin-sdk/v4 v4.32.0 h1:Y4aEJGhtJCW4uCg4uUAMrOSRoGgqhmPLk7L20oJTN8E= -github.com/cloudquery/plugin-sdk/v4 v4.32.0/go.mod h1:Dmc2C1rRJJ44Axe//FuiDDTfqORj3SJxqkNx6jM/suA= +github.com/cloudquery/plugin-sdk/v4 v4.32.1 h1:fTqzXNy79AZTl0Ng7+bX4I0G2DD0BzkdRTnoROBsgRw= +github.com/cloudquery/plugin-sdk/v4 v4.32.1/go.mod h1:BjBVpyjz50HuR8jeJi+roMoFGk3T/C01aci6QxVMM08= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,8 +100,8 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= -github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= +github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -117,8 +117,8 @@ github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= github.com/gorilla/css v1.0.1/go.mod h1:BvnYkspnSzMmwRK+b8/xgNPLiIuNZr6vbZBTPQ2A3b0= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -153,11 +153,11 @@ github.com/kataras/sitemap v0.0.6 h1:w71CRMMKYMJh6LR2wTgnk5hSgjVNB9KL60n5e2KHvLY github.com/kataras/sitemap v0.0.6/go.mod h1:dW4dOCNs896OR1HmG+dMLdT7JjDk7mYBzoIRwuj5jA4= github.com/kataras/tunnel v0.0.4 h1:sCAqWuJV7nPzGrlb0os3j49lk2JhILT0rID38NHNLpA= github.com/kataras/tunnel v0.0.4/go.mod h1:9FkU4LaeifdMWqZu7o20ojmW4B7hdhv2CMLwfnHGpYw= -github.com/klauspost/compress v1.17.5 h1:d4vBd+7CHydUqpFBgUEKkSdtSugf9YFmSkvUYPquI5E= -github.com/klauspost/compress v1.17.5/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc= -github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= @@ -237,10 +237,10 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/tdewolff/minify/v2 v2.20.16 h1:/C8dtRkxLTIyUlKlBz46gDiktCrE8a6+c1gTrnPFz+U= -github.com/tdewolff/minify/v2 v2.20.16/go.mod h1:/FvxV9KaTrFu35J9I2FhRvWSBxcHj8sDSdwBFh5voxM= -github.com/tdewolff/parse/v2 v2.7.11 h1:v+W45LnzmjndVlfqPCT5gGjAAZKd1GJGOPJveTIkBY8= -github.com/tdewolff/parse/v2 v2.7.11/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= +github.com/tdewolff/minify/v2 v2.20.18 h1:y+s6OzlZwFqApgNXWNtaMuEMEPbHT72zrCyb9Az35Xo= +github.com/tdewolff/minify/v2 v2.20.18/go.mod h1:ulkFoeAVWMLEyjuDz1ZIWOA31g5aWOawCFRp9R/MudM= +github.com/tdewolff/parse/v2 v2.7.12 h1:tgavkHc2ZDEQVKy1oWxwIyh5bP4F5fEh/JmBwPP/3LQ= +github.com/tdewolff/parse/v2 v2.7.12/go.mod h1:3FbJWZp3XT9OWVN3Hmfp0p/a08v4h8J9W1aghka0soA= github.com/tdewolff/test v1.0.11-0.20231101010635-f1265d231d52/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739 h1:IkjBCtQOOjIn03u/dMQK9g+Iw9ewps4mCl1nB8Sscbo= github.com/tdewolff/test v1.0.11-0.20240106005702-7de5f7df4739/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8= @@ -354,8 +354,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= diff --git a/scaffold/cmd/templates/source/go.mod.tpl b/scaffold/cmd/templates/source/go.mod.tpl index 3a5586dc8d278e..73a12f97530b8c 100644 --- a/scaffold/cmd/templates/source/go.mod.tpl +++ b/scaffold/cmd/templates/source/go.mod.tpl @@ -5,7 +5,7 @@ go 1.21.4 require ( github.com/apache/arrow/go/v15 bcaeaa8c2d97 github.com/cloudquery/plugin-pb-go v1.19.2 - github.com/cloudquery/plugin-sdk/v4 v4.32.0 + github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/rs/zerolog v1.29.0 ) From 22a8a0157838b4e8ce661259f2c3f4fd9d1a3f44 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:23:36 +0200 Subject: [PATCH 12/53] chore(main): Release plugins-destination-postgresql v7.3.8 (#17062) :robot: I have created a release *beep* *boop* --- ## [7.3.8](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.7...plugins-destination-postgresql-v7.3.8) (2024-03-06) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/destination/postgresql/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 22f6df93f5fc6d..55812cbbfe531e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -21,7 +21,7 @@ "plugins/source/terraform+FILLER": "0.0.0", "plugins/source/test": "4.2.1", "plugins/source/test+FILLER": "0.0.0", - "plugins/destination/postgresql": "7.3.7", + "plugins/destination/postgresql": "7.3.8", "plugins/destination/postgresql+FILLER": "0.0.0", "plugins/destination/test": "2.3.2", "plugins/destination/test+FILLER": "0.0.0", diff --git a/plugins/destination/postgresql/CHANGELOG.md b/plugins/destination/postgresql/CHANGELOG.md index 2556841cc8cbfe..9660c138606e5f 100644 --- a/plugins/destination/postgresql/CHANGELOG.md +++ b/plugins/destination/postgresql/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [7.3.8](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.7...plugins-destination-postgresql-v7.3.8) (2024-03-06) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [7.3.7](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.6...plugins-destination-postgresql-v7.3.7) (2024-03-05) From 6828320e8781273c2a610d01c094e69b8a75e693 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:35:02 +0200 Subject: [PATCH 13/53] chore(deps): Update dependency destination-postgresql to v7.3.8 (#17084) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [destination-postgresql](https://hub.cloudquery.io) | patch | `v7.3.7` -> `v7.3.8` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/k8s/test/policy_cq_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/source/k8s/test/policy_cq_config.yml b/plugins/source/k8s/test/policy_cq_config.yml index d3f1e9e04a728d..1914dbe2edb931 100644 --- a/plugins/source/k8s/test/policy_cq_config.yml +++ b/plugins/source/k8s/test/policy_cq_config.yml @@ -12,6 +12,6 @@ spec: name: postgresql path: cloudquery/postgresql registry: cloudquery - version: "v7.3.7" # latest version of postgresql plugin + version: "v7.3.8" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file From cf6fe0250ce02adaf396f173cc6120080b3a60ac Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Wed, 6 Mar 2024 16:53:44 +0000 Subject: [PATCH 14/53] feat: Document how to use an offline license (#17085) https://docs-7psf8b120-cloudquery.vercel.app/docs/advanced-topics/using-an-offline-license --- website/pages/docs/advanced-topics/_meta.json | 1 + .../using-an-offline-license.md | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 website/pages/docs/advanced-topics/using-an-offline-license.md diff --git a/website/pages/docs/advanced-topics/_meta.json b/website/pages/docs/advanced-topics/_meta.json index 7416c183aed735..8f57c7d44cbcc4 100644 --- a/website/pages/docs/advanced-topics/_meta.json +++ b/website/pages/docs/advanced-topics/_meta.json @@ -7,5 +7,6 @@ "running-cloudquery-in-parallel": "Running CloudQuery in Parallel", "security": "Security", "managing-incremental-tables": "Managing Incremental Tables", + "using-an-offline-license": "Using an Offline License", "arrow-string-representation": "Arrow String Representation" } diff --git a/website/pages/docs/advanced-topics/using-an-offline-license.md b/website/pages/docs/advanced-topics/using-an-offline-license.md new file mode 100644 index 00000000000000..432069dcf5863b --- /dev/null +++ b/website/pages/docs/advanced-topics/using-an-offline-license.md @@ -0,0 +1,69 @@ +--- +title: Using an Offline License +description: Short walkthrough on how to use an offline license with CloudQuery +--- + +# Offline Licensing + +If you're using CloudQuery in an environment that doesn't have internet access, you can use an offline license with CloudQuery. +This guide will walk you through the process of obtaining and using an offline license. + +## Obtaining an Offline License + +To obtain an offline license, you'll need to contact our sales team by filling out the form in our [pricing page](https://cloudquery.io/pricing). + +The license will be assigned to your organization and will be valid for a specific period of time. +If you need to use CloudQuery in a different organization or after the license has expired, you'll need to obtain a new license. + +## Offline License File + +Once you've obtained an offline license, you'll receive a file with a `.cqlicense` extension. Using this file you will be able to run [cloudquery sync](/docs/reference/cli/cloudquery_sync) and [cloudquery migrate](/docs/reference/cli/cloudquery_migrate) commands without a connection to the CloudQuery API. + +## Using the Offline License + +To use the offline license, you'll need to place the `.cqlicense` file (or files, as you may have more than one) into a common directory. Then, when running `migrate` or `sync` commands, include the `--license` flag with the path to the directory containing the license files, or directly point it to a single license file. + +For example: + +```bash +mv mycompany.cqlicense /path/to/license/directory/ +cloudquery sync --license /path/to/license/directory ./aws.yml ./pg.yml +``` + +or: + +```bash +mv mycompany.cqlicense ~ +cloudquery sync --license ~/mycompany.cqlicense ./aws.yml ./pg.yml +```` + +## Limitations of Using an Offline License + +The offline license may be used only for [sync](/docs/reference/cli/cloudquery_sync) and [migrate](/docs/reference/cli/cloudquery_migrate) commands. +If you are setting up a new environment, you will need to have the plugins downloaded into a `.cq` directory: automatic plugin downloads will **not** work with an offline license. +You will need to enable internet access and [login](/docs/reference/cli/cloudquery_login) (or, [generate](/docs/deployment/generate-api-key) and use an API key) and run `cloudquery plugin install` manually to install the plugins first. You may also just run a `sync` or `migrate` which will download the plugins, and then you can use the offline license for subsequent runs. + +## Inspecting the License File + +The license file is a JSON object and will contain a `license` field, which is base64 encoded data, and a `signature` field to ensure the authenticity of the file contents. +You can check the details of the license file using this command (requires the `jq` tool to decode JSON): + +```bash +cat mycompany.cqlicense | jq -r .license | base64 -d | jq . +``` + +The result will look like this: + +```json +{ + "licensed_to": "Your Company Name", + "plugins": [ + "cloudquery/*" + ], + "issued_at": "2024-03-06T12:00:00Z", + "valid_from": "2024-03-06T12:00:00Z", + "expires_at": "2024-09-06T12:00:00Z" +} +``` + +If you have any questions about the contents of the license file, please contact our support team. From f5cd685a63874e307061b2f92e2ba1f69988bdff Mon Sep 17 00:00:00 2001 From: Michal Brutvan <57617962+pilvikala@users.noreply.github.com> Date: Thu, 7 Mar 2024 16:15:35 +0200 Subject: [PATCH 15/53] doc: Managed syncs documentation (#17089) Initial draft of "Quickstart" for Managed Syncs --- website/pages/docs/quickstart/_meta.json | 1 + website/pages/docs/quickstart/index.md | 3 +- website/pages/docs/quickstart/managed.mdx | 110 ++++++++++++++++++ .../images/docs/quickstart/destination.png | Bin 0 -> 172616 bytes .../images/docs/quickstart/empty-syncs.png | Bin 0 -> 87742 bytes .../public/images/docs/quickstart/running.png | Bin 0 -> 65445 bytes .../public/images/docs/quickstart/secrets.png | Bin 0 -> 53572 bytes .../images/docs/quickstart/source-1.png | Bin 0 -> 37929 bytes .../images/docs/quickstart/source-2.png | Bin 0 -> 138242 bytes 9 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 website/pages/docs/quickstart/managed.mdx create mode 100644 website/public/images/docs/quickstart/destination.png create mode 100644 website/public/images/docs/quickstart/empty-syncs.png create mode 100644 website/public/images/docs/quickstart/running.png create mode 100644 website/public/images/docs/quickstart/secrets.png create mode 100644 website/public/images/docs/quickstart/source-1.png create mode 100644 website/public/images/docs/quickstart/source-2.png diff --git a/website/pages/docs/quickstart/_meta.json b/website/pages/docs/quickstart/_meta.json index ba637a0049c94d..f3c6438a075b5c 100644 --- a/website/pages/docs/quickstart/_meta.json +++ b/website/pages/docs/quickstart/_meta.json @@ -2,6 +2,7 @@ "macOS": "macOS", "linux": "Linux", "windows": "Windows", + "managed": "Managed Syncs", "index": { "display": "hidden" } diff --git a/website/pages/docs/quickstart/index.md b/website/pages/docs/quickstart/index.md index cd43c9bd944743..cb8f6a7e60c3d6 100644 --- a/website/pages/docs/quickstart/index.md +++ b/website/pages/docs/quickstart/index.md @@ -8,6 +8,7 @@ title: Quickstart Please see the following platform-specific guides: +- [Managed Syncs](/docs/quickstart/managed) - [Linux](/docs/quickstart/linux) - [MacOS](/docs/quickstart/macos) -- [Windows](/docs/quickstart/windows) \ No newline at end of file +- [Windows](/docs/quickstart/windows) diff --git a/website/pages/docs/quickstart/managed.mdx b/website/pages/docs/quickstart/managed.mdx new file mode 100644 index 00000000000000..08fd544a355cc2 --- /dev/null +++ b/website/pages/docs/quickstart/managed.mdx @@ -0,0 +1,110 @@ +--- +title: Quickstart - Managed Syncs +description: A quickstart guide for running managed syncs in CloudQuery Cloud +--- + +## What Are Managed Syncs + +:::callout{type="info"} +Managed Syncs is currently in beta. Not all functionality may be available. See the [limitations](#limitations-of-managed-syncs-compared-to-self-hosted) section below. +::: + +Managed syncs are a great way to get started with CloudQuery and syncing data from source to destination without the need to deploy your own infrastructure. You only need to select a source and destination plugin and CloudQuery will take care of the rest. + +With Managed Syncs, you can: + +- Sync data from any [CloudQuery official source](https://hub.cloudquery.io/plugins/source?authors=official) to any [CloudQuery official destination](https://hub.cloudquery.io/plugins/destination?authors=official). +- Schedule syncs to run at regular intervals. +- Monitor syncs and view logs in the CloudQuery Cloud dashboard. +- Use the CloudQuery Cloud API to manage the syncs and connect to your other data pipelines. + +## Prerequisites + +To run a sync, you will need to know where you want to store the data (a database or a data warehouse), and what sources you want CloduQuery to connect to and sync data from. + +If you don't have a database available, we recommend that you try a managed service such as [Neon](https://neon.tech/), [ClickHouse](https://clickhouse.com/), or [MongoDB Atlas](https://www.mongodb.com/atlas/database). All offer a free tier or a free trial sufficient for your initial experiments. + +## Creating Your First Sync + +First, head to [CloudQuery Cloud](https://cloud.cloudquery.io) and sign up for an account. After the sign up, you will be asked to specify team name. Team name is important if you later decide to create your own plugins. Please note that the team name cannot be changed later. + +After you have signed up and created a team, you can create your first sync from the Syncs tab. + +[![Create Sync](/images/docs/quickstart/empty-syncs.png)](/images/docs/quickstart/empty-syncs.png) + +Clicking the button will start a wizard that will walk you through the whole process. + +### Configure a Destination + +First, you need to configure where the data will be stored. Choose a CloudQuery plugin from the list of available destinations. PostgreSQL is a good choice for most use cases and is usually the easiest to get started with. + +[![Configure Destination](/images/docs/quickstart/destination.png)](/images/docs/quickstart/destination.png) + +In the screenshot above, you see different configuration options for the PostgreSQL destination plugin. You can select a version and provide the detailed configuration in the YML format for the plugin. The YML format and the specification is the same as the one you would use in the self-hosted syncs and you can learn about the details and all the different options in the individual plugin documentation. + +For a sync to a cloud-based PostgreSQL database, you will only need to provide a connection string. The YML configuration for the destination plugin references the connection string using an [environment variable](/docs/advanced-topics/environment-variable-substitution): + +```yaml +connection_string: "${POSTGRESQL_CONNECTION_STRING}" +``` + +To provide the value for the environment variable, set it in the secrets section below: + +[![Configure Destination](/images/docs/quickstart/secrets.png)](/images/docs/quickstart/secrets.png) + +:::callout{type="warning"} +Using the secrets section is the recommended way to provide sensitive information such as connection strings. Do not hardcode sensitive information in the YML configuration as the configuration is stored in plaintext in the CloudQuery Cloud database and may be exposed in logs. +::: + +Click **Continue** to proceed to the next step. + +### Configure a Source + +Next, configure how CloudQuery should connect to the source of your data. Select a source plugin from the dropdown. + +[![Select a source](/images/docs/quickstart/source-1.png)](/images/docs/quickstart/source-1.png) + +Once you select your source plugin, its example YML configuration will load: + +[![Source Configuration](/images/docs/quickstart/source-2.png)](/images/docs/quickstart/source-2.png) + +Again, see the plugin documentation for details on the configuration options. + +For most sources, you will need to provide an API key, access token, or a connection string. You can provide these in the secrets section as you did for the destination plugin. + +Click **Continue** to proceed to the next step. + +### Configure Sync Options and Schedule + +On the last page, you can configure the sync name, schedule, and allocated resources. + +#### Schedule + +You can configure the syncs to run Daily, Weekly, Monthly, or at a custom schedule using the cron syntax. + +If you configure syncs to run Daily, they will run at midnight every day. Weekly syncs will run at midnight on Mondays, and monthly syncs will run at midnight on the first day of each month (all in UTC timezone). + +#### Allocated Resources + +You can choose to allocate vCPU and vRAM resources. Some plugins may need more vRAM or vCPU to run efficiently. The default values are usually sufficient for most use cases. + +#### Run the Sync + +After you have configured the sync options, you can either save the sync and run it immediately, or you can schedule it. If you run it immediately, the next execution will happen at the specified schedule. + +When the sync is running, you can observe the execution as it happens in the Sync Run Details view. The data is being streamed to your database during this process. + +[![Running Sync](/images/docs/quickstart/running.png)](/images/docs/quickstart/running.png) + +Errors and warnings are displayed in the logs section. Only errors that prevent the full sync are considered as breaking. This means that a sync is considered successful even if it has some errors or warnings due to the fact that some tables may not be accessible. + +## API Access + +Managed syncs can be controlled using API. To use the API, you will need to [generate an API key](/docs/deployment/generate-api-key). For the list of available endpoints, see our [API Reference](https://api-docs.cloudquery.io/#tag/syncs). + +## Limitations of Managed Syncs Compared to Self-hosted + +- Backend Options are not available. This is a limitation during beta phase and will be removed before the general availability. +- Docker-based plugins cannot be used with Managed Syncs. This is a limitation during beta phase and will be removed before the general availability. +- Not all authentication mechanisms that work on self-hosted syncs work with Managed Syncs. We are continuously adding support for more authentication mechanisms. +- Community and custom plugins cannot be used with Managed Syncs. This is by design and will not be removed in the near future. \ No newline at end of file diff --git a/website/public/images/docs/quickstart/destination.png b/website/public/images/docs/quickstart/destination.png new file mode 100644 index 0000000000000000000000000000000000000000..563db1f6dfefa179c80cca14f4789823153b14bf GIT binary patch literal 172616 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

7ad26HC~2Z}MIccFuh1 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%0Dx?0D|!+>&`SFvx$jI8GyjtK?0h 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

@5RngACjlkhLT`M&9~1o$aTq3kX;BqvfLXgD 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 SIH$x1b=J)0bkWI6k$(e5T@JMX literal 0 HcmV?d00001 diff --git a/website/public/images/docs/quickstart/secrets.png b/website/public/images/docs/quickstart/secrets.png new file mode 100644 index 0000000000000000000000000000000000000000..85ae018f436c22bb1233c2d6c0361e60dc37fb8e GIT binary patch literal 53572 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 Z)z0_izMY}YkuJ>%(Z^CES;$xK{}-S3|HJ?Q literal 0 HcmV?d00001 diff --git a/website/public/images/docs/quickstart/source-1.png b/website/public/images/docs/quickstart/source-1.png new file mode 100644 index 0000000000000000000000000000000000000000..49d1235a8eee53a5b3328fbf9bbac4ccff1b4466 GIT binary patch literal 37929 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%0DX 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 literal 0 HcmV?d00001 diff --git a/website/public/images/docs/quickstart/source-2.png b/website/public/images/docs/quickstart/source-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b121615deaf8381f16316c65c799faa6c8d0fa GIT binary patch literal 138242 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 literal 0 HcmV?d00001 From ec0ae18f1291291072c497e46ad639a0cebc171a Mon Sep 17 00:00:00 2001 From: Kemal <223029+disq@users.noreply.github.com> Date: Thu, 7 Mar 2024 14:52:26 +0000 Subject: [PATCH 16/53] feat: Add batch size docs to perf tuning section (#17090) Closes [#8336](https://github.com/cloudquery/cloudquery/issues/8336) https://docs-fvq2fzubj-cloudquery.vercel.app/docs/advanced-topics/performance-tuning#adjust-batch-size --- .../advanced-topics/performance-tuning.mdx | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/website/pages/docs/advanced-topics/performance-tuning.mdx b/website/pages/docs/advanced-topics/performance-tuning.mdx index 17228a58cf4694..ae5503cd42513a 100644 --- a/website/pages/docs/advanced-topics/performance-tuning.mdx +++ b/website/pages/docs/advanced-topics/performance-tuning.mdx @@ -81,6 +81,40 @@ We might want table `A`, but not need table `B` or `C`. We have two options: The `concurrency` setting, available for all source plugins as part of the [source spec](/docs/reference/source-spec#concurrency), controls the approximate number of concurrent requests that will be made while performing a sync. Setting this to a low number will reduce the number of concurrent requests, reducing the memory used and making the sync less likely to hit rate limits. The trade-off is that syncs will take longer to complete. +## Adjust Batch Size + +Most destination plugins have batching related settings that can be adjusted to improve performance. Tuning these can improve performance, but it can also increase the memory usage of the sync process. Here are the batching related settings you will come across: + +- `batch_size`: The number of rows that are inserted into the destination at once. The default value for this setting is usually between 1000 to 10000 rows, depending on the destination plugin. + +- `batch_size_bytes`: Maximum size of items that may be grouped together to be written in a single write. This is useful for limiting the memory usage of the sync process. The default value for this varies between 4 MB to 100 MB, depending on the destination plugin. + +- `batch_timeout`: Maximum interval between batch writes. Even if data stops coming in, the batch will be written after this interval. The default value for this setting is usually between 10 seconds and 1 minute, depending on the destination plugin. + +Some destination plugins (such as file or S3 destinations) start a new object or file for every batch, and some simply buffer the data in memory to be written at once. + +:::callout{type="info"} +You should check the documentation for the destination plugin you are using to see what the default values are and consider how they can be adjusted to suit your use case. +::: + +Here's a conservative example for the PostgreSQL destination plugin that reduces the overall memory usage, but may also increase the time it takes to sync: + +```yaml +kind: destination +spec: + name: "postgresql" + path: "cloudquery/postgresql" + registry: "cloudquery" + version: "VERSION_DESTINATION_POSTGRESQL" + spec: + connection_string: "postgres://user:pass@localhost:5432/mydb?sslmode=disable" # replace with your connection string + batch_size: 10000 # 10000 rows, default + batch_size_bytes: 4194304 # 4 MB, dramatically tuned down from the 100 MB default + batch_timeout: "30s" # 30 seconds, tuned down from 60 seconds +``` + +With this configuration, the PostgreSQL destination plugin will write 10,000 rows at a time, or 4 MB of data at a time, or every 30 seconds, whichever comes first. + ## Use a Different Scheduler By default, CloudQuery syncs will fetch all tables in parallel, writing data to the destination(s) as they come in. However, the `concurrency` setting, mentioned above, places a limit on how many **table-clients** can be synced at a time. What "table-client" means depends on the source plugin and the table. In AWS, for example, a client is usually a combination of account and region. Get all the combinations of accounts and regions for all tables, and you have all the table-clients for a sync. For the GCP source plugin, clients generally map to projects. From ab419ee505530642882537ae7e951b81116f2aa4 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Fri, 8 Mar 2024 01:13:18 +0200 Subject: [PATCH 17/53] fix(deps): Update module github.com/go-jose/go-jose/v3 to v3.0.3 [SECURITY] (#17091) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/go-jose/go-jose/v3](https://togithub.com/go-jose/go-jose) | indirect | patch | `v3.0.1` -> `v3.0.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. ### GitHub Vulnerability Alerts #### [GHSA-c5q2-7r4c-mv6g](https://togithub.com/go-jose/go-jose/security/advisories/GHSA-c5q2-7r4c-mv6g) ### Impact An attacker could send a JWE containing compressed data that used large amounts of memory and CPU when decompressed by Decrypt or DecryptMulti. Those functions now return an error if the decompressed data would exceed 250kB or 10x the compressed size (whichever is larger). Thanks to Enze Wang@Alioth and Jianjun Chen@Zhongguancun Lab (@​zer0yu and @​chenjj) for reporting. ### Patches The problem is fixed in v4.0.1, v3.0.3, v2.6.3 --- ### Release Notes

go-jose/go-jose (github.com/go-jose/go-jose/v3) ### [`v3.0.3`](https://togithub.com/go-jose/go-jose/releases/tag/v3.0.3): Version 3.0.3 [Compare Source](https://togithub.com/go-jose/go-jose/compare/v3.0.2...v3.0.3) #### Fixed - Limit decompression output size to prevent a DoS. Backport from v4.0.1. ### [`v3.0.2`](https://togithub.com/go-jose/go-jose/blob/HEAD/CHANGELOG.md#v302) [Compare Source](https://togithub.com/go-jose/go-jose/compare/v3.0.1...v3.0.2) #### Fixed - DecryptMulti: handle decompression error ([#​19](https://togithub.com/go-jose/go-jose/issues/19)) #### Changed - jwe/CompactSerialize: improve performance ([#​67](https://togithub.com/go-jose/go-jose/issues/67)) - Increase the default number of PBKDF2 iterations to 600k ([#​48](https://togithub.com/go-jose/go-jose/issues/48)) - Return the proper algorithm for ECDSA keys ([#​45](https://togithub.com/go-jose/go-jose/issues/45)) #### Added - Add Thumbprint support for opaque signers ([#​38](https://togithub.com/go-jose/go-jose/issues/38))
--- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/okta/go.mod | 2 +- plugins/source/okta/go.sum | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/plugins/source/okta/go.mod b/plugins/source/okta/go.mod index 14abcf9a98b295..b22a22738a0eb7 100644 --- a/plugins/source/okta/go.mod +++ b/plugins/source/okta/go.mod @@ -43,7 +43,7 @@ require ( github.com/ghodss/yaml v1.0.0 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/gin-gonic/gin v1.9.1 // indirect - github.com/go-jose/go-jose/v3 v3.0.1 // indirect + github.com/go-jose/go-jose/v3 v3.0.3 // indirect github.com/go-logr/logr v1.3.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/locales v0.14.1 // indirect diff --git a/plugins/source/okta/go.sum b/plugins/source/okta/go.sum index 3a01957d32ffad..cea6f862bf516d 100644 --- a/plugins/source/okta/go.sum +++ b/plugins/source/okta/go.sum @@ -82,8 +82,8 @@ github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= -github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= +github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= +github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -114,8 +114,8 @@ github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47 h1:k4Tw0nt6lwr github.com/gomarkdown/markdown v0.0.0-20231222211730-1d6d20845b47/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg= github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= @@ -244,7 +244,6 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -313,7 +312,6 @@ golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUu golang.org/x/arch v0.6.0 h1:S0JTfE48HbRj80+4tbvZDYsJ3tGv6BUU3XxyZ7CirAc= golang.org/x/arch v0.6.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= @@ -322,6 +320,7 @@ golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUF golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -330,6 +329,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= @@ -337,6 +338,7 @@ golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -353,16 +355,22 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= @@ -371,6 +379,7 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ= golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 7055ebf3c4ef3f952e461b243b8b2b57d1e681f9 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 02:32:23 +0200 Subject: [PATCH 18/53] fix(deps): Update Google Golang modules (#17094) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | patch | `v1.62.0` -> `v1.62.1` | | [google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go) | require | minor | `v1.32.0` -> `v1.33.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
grpc/grpc-go (google.golang.org/grpc) ### [`v1.62.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.1): Release 1.62.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.0...v1.62.1) ### Bug Fixes - xds: fix a bug that results in `no matching virtual host found` RPC errors due to a difference between the target and LDS resource names ([#​6997](https://togithub.com/grpc/grpc-go/issues/6997)) - server: fixed stats handler data `InPayload.Length` for unary RPC calls ([#​6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@​hueypark](https://togithub.com/hueypark) - grpc: the experimental `RecvBufferPool` `DialOption` and `ServerOption` are now active during unary RPCs with compression ([#​6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@​hueypark](https://togithub.com/hueypark) - grpc: trim whitespaces in `accept-encoding` header before determining compressors - Special Thanks: [@​sercand](https://togithub.com/sercand)
protocolbuffers/protobuf-go (google.golang.org/protobuf) ### [`v1.33.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.33.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.32.0...v1.33.0) This release contains one security fix: - `encoding/protojson`: `Unmarshal` could enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a `google.protobuf.Any` value, or when the `UnmarshalOptions.DiscardUnknown` option is set. `Unmarshal` now correctly returns an error when handling these inputs. This is CVE-2024-24786.
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- cli/go.mod | 4 ++-- cli/go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/go.mod b/cli/go.mod index 01974989e03943..b5bea430838868 100644 --- a/cli/go.mod +++ b/cli/go.mod @@ -33,8 +33,8 @@ require ( golang.org/x/net v0.21.0 golang.org/x/sync v0.6.0 golang.org/x/term v0.17.0 - google.golang.org/grpc v1.62.0 - google.golang.org/protobuf v1.32.0 + google.golang.org/grpc v1.62.1 + google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/cli/go.sum b/cli/go.sum index c8c88b724438bb..75177e9a52bf44 100644 --- a/cli/go.sum +++ b/cli/go.sum @@ -522,8 +522,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -532,8 +532,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 6d67509dd35bd530e8b1613f767be04bb1e0adc7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 02:34:25 +0200 Subject: [PATCH 19/53] fix(deps): Update aws-sdk-go-v2 monorepo (#17095) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.25.2` -> `v1.25.3` | | [github.com/aws/aws-sdk-go-v2/config](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.27.4` -> `v1.27.7` | | [github.com/aws/aws-sdk-go-v2/service/firehose](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.28.1` -> `v1.28.2` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.25.3`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3)
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/destination/firehose/go.mod | 22 +++++++-------- plugins/destination/firehose/go.sum | 44 ++++++++++++++--------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/plugins/destination/firehose/go.mod b/plugins/destination/firehose/go.mod index c391fd194a9ffd..22435f53dc63a6 100644 --- a/plugins/destination/firehose/go.mod +++ b/plugins/destination/firehose/go.mod @@ -6,9 +6,9 @@ toolchain go1.21.6 require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 - github.com/aws/aws-sdk-go-v2 v1.25.2 - github.com/aws/aws-sdk-go-v2/config v1.27.4 - github.com/aws/aws-sdk-go-v2/service/firehose v1.28.1 + github.com/aws/aws-sdk-go-v2 v1.25.3 + github.com/aws/aws-sdk-go-v2/config v1.27.7 + github.com/aws/aws-sdk-go-v2/service/firehose v1.28.2 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 @@ -26,16 +26,16 @@ require ( github.com/andybalholm/brotli v1.1.0 // indirect github.com/apache/arrow/go/v13 v13.0.0-20230731205701-112f94971882 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect github.com/aws/smithy-go v1.20.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect diff --git a/plugins/destination/firehose/go.sum b/plugins/destination/firehose/go.sum index 691766fc57a947..7d0a9894ebc78b 100644 --- a/plugins/destination/firehose/go.sum +++ b/plugins/destination/firehose/go.sum @@ -23,32 +23,32 @@ github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 h1:iRgSd0hkAl github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= -github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= -github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= -github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= +github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= +github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= +github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= +github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7/go.mod h1:UQi7LMR0Vhvs+44w5ec8Q+VS+cd10cjwgHwiVkE0YGU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 h1:p+y7FvkK2dxS+FEwRIDHDe//ZX+jDhP8HHE50ppj4iI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3/go.mod h1:/fYB+FZbDlwlAiynK9KDXlzZl3ANI9JkD0Uhz5FjNT4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.1 h1:MUpdcOKpTyPt6F3rgHZVs2o9sqpfMW1KEFsSeRw7srs= -github.com/aws/aws-sdk-go-v2/service/firehose v1.28.1/go.mod h1:Y4zm0U9Yl0wt9JOhgt97YeQe/st7UHDbSjvLd1j3Bp8= +github.com/aws/aws-sdk-go-v2/service/firehose v1.28.2 h1:UUZd0OkSUIxCjOfMxTs5DVHSfU1BeHFDhYUQecLmCt0= +github.com/aws/aws-sdk-go-v2/service/firehose v1.28.2/go.mod h1:J/jz2p5nOXCQsJ1qe0Lvmukdd7vDdg6Kv2W1ZQ/EA/o= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 h1:XOPfar83RIRPEzfihnp+U6udOveKZJvPQ76SKWrLRHc= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2/go.mod h1:Vv9Xyk1KMHXrR3vNQe8W5LMFdTjSeWk0gBZBzvf3Qa0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 h1:Ppup1nVNAOWbBOrcoOxaxPeEnSFB2RnnQdguhXpmeQk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4/go.mod h1:+K1rNPVyGxkRuv9NNiaZ4YhBFuyw2MMA9SlIJ1Zlpz8= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From 34317c175e05c94ba80a685542147781a971b997 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 03:32:34 +0200 Subject: [PATCH 20/53] fix(deps): Update aws-sdk-go-v2 monorepo (#17096) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.25.2` -> `v1.25.3` | | [github.com/aws/aws-sdk-go-v2/config](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.27.4` -> `v1.27.7` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.25.3`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3)
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/destination/gremlin/go.mod | 20 +++++++-------- plugins/destination/gremlin/go.sum | 40 +++++++++++++++--------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/plugins/destination/gremlin/go.mod b/plugins/destination/gremlin/go.mod index 54a16eb366405c..33dc21e9b7dc26 100644 --- a/plugins/destination/gremlin/go.mod +++ b/plugins/destination/gremlin/go.mod @@ -5,8 +5,8 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/apache/tinkerpop/gremlin-go/v3 v3.6.3 - github.com/aws/aws-sdk-go-v2 v1.25.2 - github.com/aws/aws-sdk-go-v2/config v1.27.4 + github.com/aws/aws-sdk-go-v2 v1.25.3 + github.com/aws/aws-sdk-go-v2/config v1.27.7 github.com/cenkalti/backoff/v4 v4.2.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 @@ -26,16 +26,16 @@ require ( github.com/andybalholm/brotli v1.1.0 // indirect github.com/apache/arrow/go/v13 v13.0.0-20230731205701-112f94971882 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect github.com/aws/smithy-go v1.20.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect diff --git a/plugins/destination/gremlin/go.sum b/plugins/destination/gremlin/go.sum index 66dae57ce32136..3556d3d3738418 100644 --- a/plugins/destination/gremlin/go.sum +++ b/plugins/destination/gremlin/go.sum @@ -26,30 +26,30 @@ github.com/apache/tinkerpop/gremlin-go/v3 v3.6.3 h1:jXN0ZqT972CRu3VSwdj3rpqOA2A7 github.com/apache/tinkerpop/gremlin-go/v3 v3.6.3/go.mod h1:KZ4BFULeKTVqzgX41fiTj2XYTs9meWc/TWQHsICy69I= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= -github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= -github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= -github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= +github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= +github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= +github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= +github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7/go.mod h1:UQi7LMR0Vhvs+44w5ec8Q+VS+cd10cjwgHwiVkE0YGU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 h1:p+y7FvkK2dxS+FEwRIDHDe//ZX+jDhP8HHE50ppj4iI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3/go.mod h1:/fYB+FZbDlwlAiynK9KDXlzZl3ANI9JkD0Uhz5FjNT4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 h1:XOPfar83RIRPEzfihnp+U6udOveKZJvPQ76SKWrLRHc= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2/go.mod h1:Vv9Xyk1KMHXrR3vNQe8W5LMFdTjSeWk0gBZBzvf3Qa0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 h1:Ppup1nVNAOWbBOrcoOxaxPeEnSFB2RnnQdguhXpmeQk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4/go.mod h1:+K1rNPVyGxkRuv9NNiaZ4YhBFuyw2MMA9SlIJ1Zlpz8= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From 7d535747d8e84b46ab71c16a3c5ef66102b0020a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 03:37:35 +0200 Subject: [PATCH 21/53] fix(deps): Update aws-sdk-go-v2 monorepo (#17097) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.25.2` -> `v1.25.3` | | [github.com/aws/aws-sdk-go-v2/config](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.27.4` -> `v1.27.7` | | [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.16.6` -> `v1.16.9` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.51.1` -> `v1.51.4` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.25.3`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3)
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/destination/s3/go.mod | 30 +++++++++--------- plugins/destination/s3/go.sum | 60 +++++++++++++++++------------------ 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/plugins/destination/s3/go.mod b/plugins/destination/s3/go.mod index 52eb0c6234a70e..a4cb6c7e169b5e 100644 --- a/plugins/destination/s3/go.mod +++ b/plugins/destination/s3/go.mod @@ -6,10 +6,10 @@ toolchain go1.21.6 require ( github.com/apache/arrow/go/v15 v15.0.0-20240115115805-d7bc55542e61 - github.com/aws/aws-sdk-go-v2 v1.25.2 - github.com/aws/aws-sdk-go-v2/config v1.27.4 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 - github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 + github.com/aws/aws-sdk-go-v2 v1.25.3 + github.com/aws/aws-sdk-go-v2/config v1.27.7 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 + github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 github.com/cloudquery/plugin-sdk/v4 v4.32.1 @@ -34,19 +34,19 @@ require ( github.com/apache/thrift v0.19.0 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect github.com/aws/smithy-go v1.20.1 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect diff --git a/plugins/destination/s3/go.sum b/plugins/destination/s3/go.sum index efaa5b9a5d9395..77d6a6c7db95b5 100644 --- a/plugins/destination/s3/go.sum +++ b/plugins/destination/s3/go.sum @@ -27,42 +27,42 @@ github.com/apache/thrift v0.19.0 h1:sOqkWPzMj7w6XaYbJQG7m4sGqVolaW/0D28Ln7yPzMk= github.com/apache/thrift v0.19.0/go.mod h1:SUALL216IiaOw2Oy+5Vs9lboJ/t9g40C+G07Dc0QC1I= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= -github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= +github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= +github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= -github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= -github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6 h1:prcsGA3onmpc7ea1W/m+SMj4uOn5vZ63uJp805UhJJs= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.6/go.mod h1:7eQrvATnVFDY0WfMYhfKkSQ1YtZlClT71fAAlsA1s34= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= +github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= +github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7/go.mod h1:UQi7LMR0Vhvs+44w5ec8Q+VS+cd10cjwgHwiVkE0YGU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 h1:p+y7FvkK2dxS+FEwRIDHDe//ZX+jDhP8HHE50ppj4iI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3/go.mod h1:/fYB+FZbDlwlAiynK9KDXlzZl3ANI9JkD0Uhz5FjNT4= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 h1:vXY/Hq1XdxHBIYgBUmug/AbMyIe1AKulPYS2/VE1X70= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9/go.mod h1:GyJJTZoHVuENM4TeJEl5Ffs4W9m19u+4wKJcDi/GZ4A= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 h1:en92G0Z7xlksoOylkUhuBSfJgijC7rHVLRdnIlHEs0E= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2/go.mod h1:HgtQ/wN5G+8QSlK62lbOtNwQ3wTSByJ4wH2rCkPt+AE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 h1:mDnFOE2sVkyphMWtTH+stv0eW3k0OTx94K63xpxHty4= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3/go.mod h1:V8MuRVcCRt5h1S+Fwu8KbC7l/gBGo3yBAyUbJM2IJOk= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 h1:zSdTXYLwuXDNPUS+V41i1SFDXG7V0ITp0D9UT9Cvl18= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2/go.mod h1:v8m8k+qVy95nYi7d56uP1QImleIIY25BPiNJYzPBdFE= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 h1:1oY1AVEisRI4HNuFoLdRUB0hC63ylDAN6Me3MrfclEg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2/go.mod h1:KZ03VgvZwSjkT7fOetQ/wF3MZUvYFirlI1H5NklUNsY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 h1:juZ+uGargZOrQGNxkVHr9HHR/0N+Yu8uekQnV7EAVRs= -github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1/go.mod h1:SoR0c7Jnq8Tpmt0KSLXIavhjmaagRqQpe9r70W3POJg= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 h1:mbWNpfRUTT6bnacmvOTKXZjR/HycibdWzNpfbrbLDIs= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5/go.mod h1:FCOPWGjsshkkICJIn9hq9xr6dLKtyaWpuUojiN3W1/8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 h1:4t+QEX7BsXz98W8W1lNvMAG+NX8qHz2CjLBxQKku40g= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3/go.mod h1:oFcjjUq5Hm09N9rpxTdeMeLeQcxS7mIkBkL8qUKng+A= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 h1:lW5xUzOPGAMY7HPuNF4FdyBwRc3UJ/e8KsapbesVeNU= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4/go.mod h1:MGTaf3x/+z7ZGugCGvepnx2DS6+caCYYqKhzVoLNYPk= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 h1:XOPfar83RIRPEzfihnp+U6udOveKZJvPQ76SKWrLRHc= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2/go.mod h1:Vv9Xyk1KMHXrR3vNQe8W5LMFdTjSeWk0gBZBzvf3Qa0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 h1:Ppup1nVNAOWbBOrcoOxaxPeEnSFB2RnnQdguhXpmeQk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4/go.mod h1:+K1rNPVyGxkRuv9NNiaZ4YhBFuyw2MMA9SlIJ1Zlpz8= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From ac14ec645a0964caf2e163b8735973907c9b05c6 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 04:18:20 +0200 Subject: [PATCH 22/53] fix(deps): Update aws-sdk-go-v2 monorepo (#17098) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/aws/aws-sdk-go-v2](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.25.2` -> `v1.25.3` | | [github.com/aws/aws-sdk-go-v2/config](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.27.4` -> `v1.27.7` | | [github.com/aws/aws-sdk-go-v2/service/s3](https://togithub.com/aws/aws-sdk-go-v2) | require | patch | `v1.51.1` -> `v1.51.4` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2) ### [`v1.25.3`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.25.2...v1.25.3)
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ‘» **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/digitalocean/go.mod | 28 +++++++-------- plugins/source/digitalocean/go.sum | 56 +++++++++++++++--------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/plugins/source/digitalocean/go.mod b/plugins/source/digitalocean/go.mod index 0005880383847c..d1573d4d66d800 100644 --- a/plugins/source/digitalocean/go.mod +++ b/plugins/source/digitalocean/go.mod @@ -5,9 +5,9 @@ go 1.21.5 require ( github.com/apache/arrow/go/v15 v15.0.0-20240114144300-7e703aae55c1 github.com/avast/retry-go/v4 v4.5.1 - github.com/aws/aws-sdk-go-v2 v1.25.2 - github.com/aws/aws-sdk-go-v2/config v1.27.4 - github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 + github.com/aws/aws-sdk-go-v2 v1.25.3 + github.com/aws/aws-sdk-go-v2/config v1.27.7 + github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 github.com/aws/smithy-go v1.20.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 @@ -29,19 +29,19 @@ require ( github.com/apache/arrow/go/v13 v13.0.0-20230731205701-112f94971882 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.4 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.7 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/buger/jsonparser v1.1.1 // indirect diff --git a/plugins/source/digitalocean/go.sum b/plugins/source/digitalocean/go.sum index d0068c3c26f7ba..a87abc1894cddf 100644 --- a/plugins/source/digitalocean/go.sum +++ b/plugins/source/digitalocean/go.sum @@ -25,40 +25,40 @@ github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7D github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/avast/retry-go/v4 v4.5.1 h1:AxIx0HGi4VZ3I02jr78j5lZ3M6x1E0Ivxa6b0pUUh7o= github.com/avast/retry-go/v4 v4.5.1/go.mod h1:/sipNsvNB3RRuT5iNcb6h73nw3IBmXJ/H3XrCQYSOpc= -github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= -github.com/aws/aws-sdk-go-v2 v1.25.2/go.mod h1:Evoc5AsmtveRt1komDwIsjHFyrP5tDuF1D1U+6z6pNo= +github.com/aws/aws-sdk-go-v2 v1.25.3 h1:xYiLpZTQs1mzvz5PaI6uR0Wh57ippuEthxS4iK5v0n0= +github.com/aws/aws-sdk-go-v2 v1.25.3/go.mod h1:35hUlJVYd+M++iLI3ALmVwMOyRYMmRqUXpTtRGW+K9I= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= -github.com/aws/aws-sdk-go-v2/config v1.27.4 h1:AhfWb5ZwimdsYTgP7Od8E9L1u4sKmDW2ZVeLcf2O42M= -github.com/aws/aws-sdk-go-v2/config v1.27.4/go.mod h1:zq2FFXK3A416kiukwpsd+rD4ny6JC7QSkp4QdN1Mp2g= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4 h1:h5Vztbd8qLppiPwX+y0Q6WiwMZgpd9keKe2EAENgAuI= -github.com/aws/aws-sdk-go-v2/credentials v1.17.4/go.mod h1:+30tpwrkOgvkJL1rUZuRLoxcJwtI/OkeBLYnHxJtVe0= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2 h1:AK0J8iYBFeUk2Ax7O8YpLtFsfhdOByh2QIkHmigpRYk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.2/go.mod h1:iRlGzMix0SExQEviAyptRWRGdYNo3+ufW/lCzvKVTUc= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2 h1:bNo4LagzUKbjdxE0tIcR9pMzLR2U/Tgie1Hq1HQ3iH8= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.2/go.mod h1:wRQv0nN6v9wDXuWThpovGQjqF1HFdcgWjporw14lS8k= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2 h1:EtOU5jsPdIQNP+6Q2C5e3d65NKT1PeCiQk+9OdzO12Q= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.2/go.mod h1:tyF5sKccmDz0Bv4NrstEr+/9YkSPJHrcO7UsUKf7pWM= +github.com/aws/aws-sdk-go-v2/config v1.27.7 h1:JSfb5nOQF01iOgxFI5OIKWwDiEXWTyTgg1Mm1mHi0A4= +github.com/aws/aws-sdk-go-v2/config v1.27.7/go.mod h1:PH0/cNpoMO+B04qET699o5W92Ca79fVtbUnvMIZro4I= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7 h1:WJd+ubWKoBeRh7A5iNMnxEOs982SyVKOJD+K8HIezu4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.7/go.mod h1:UQi7LMR0Vhvs+44w5ec8Q+VS+cd10cjwgHwiVkE0YGU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3 h1:p+y7FvkK2dxS+FEwRIDHDe//ZX+jDhP8HHE50ppj4iI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.15.3/go.mod h1:/fYB+FZbDlwlAiynK9KDXlzZl3ANI9JkD0Uhz5FjNT4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3 h1:ifbIbHZyGl1alsAhPIYsHOg5MuApgqOvVeI8wIugXfs= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.3/go.mod h1:oQZXg3c6SNeY6OZrDY+xHcF4VGIEoNotX2B4PrDeoJI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3 h1:Qvodo9gHG9F3E8SfYOspPeBt0bjSbsevK8WhRAUHcoY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.3/go.mod h1:vCKrdLXtybdf/uQd/YfVR2r5pcbNuEYKzMQpcxmeSJw= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2 h1:en92G0Z7xlksoOylkUhuBSfJgijC7rHVLRdnIlHEs0E= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.2/go.mod h1:HgtQ/wN5G+8QSlK62lbOtNwQ3wTSByJ4wH2rCkPt+AE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 h1:mDnFOE2sVkyphMWtTH+stv0eW3k0OTx94K63xpxHty4= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3/go.mod h1:V8MuRVcCRt5h1S+Fwu8KbC7l/gBGo3yBAyUbJM2IJOk= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1 h1:EyBZibRTVAs6ECHZOw5/wlylS9OcTzwyjeQMudmREjE= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.1/go.mod h1:JKpmtYhhPs7D97NL/ltqz7yCkERFW5dOlHyVl66ZYF8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2 h1:zSdTXYLwuXDNPUS+V41i1SFDXG7V0ITp0D9UT9Cvl18= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.2/go.mod h1:v8m8k+qVy95nYi7d56uP1QImleIIY25BPiNJYzPBdFE= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2 h1:5ffmXjPtwRExp1zc7gENLgCPyHFbhEPwVTkTiH9niSk= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.2/go.mod h1:Ru7vg1iQ7cR4i7SZ/JTLYN9kaXtbL69UdgG0OQWQxW0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2 h1:1oY1AVEisRI4HNuFoLdRUB0hC63ylDAN6Me3MrfclEg= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.2/go.mod h1:KZ03VgvZwSjkT7fOetQ/wF3MZUvYFirlI1H5NklUNsY= -github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1 h1:juZ+uGargZOrQGNxkVHr9HHR/0N+Yu8uekQnV7EAVRs= -github.com/aws/aws-sdk-go-v2/service/s3 v1.51.1/go.mod h1:SoR0c7Jnq8Tpmt0KSLXIavhjmaagRqQpe9r70W3POJg= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1 h1:utEGkfdQ4L6YW/ietH7111ZYglLJvS+sLriHJ1NBJEQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.1/go.mod h1:RsYqzYr2F2oPDdpy+PdhephuZxTfjHQe7SOBcZGoAU8= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1 h1:9/GylMS45hGGFCcMrUZDVayQE1jYSIN6da9jo7RAYIw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.1/go.mod h1:YjAPFn4kGFqKC54VsHs5fn5B6d+PCY2tziEa3U/GB5Y= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1 h1:3I2cBEYgKhrWlwyZgfpSO2BpaMY1LHPqXYk/QGlu2ew= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.1/go.mod h1:uQ7YYKZt3adCRrdCBREm1CD3efFLOUNH77MrUCvx5oA= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 h1:mbWNpfRUTT6bnacmvOTKXZjR/HycibdWzNpfbrbLDIs= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5/go.mod h1:FCOPWGjsshkkICJIn9hq9xr6dLKtyaWpuUojiN3W1/8= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5 h1:K/NXvIftOlX+oGgWGIa3jDyYLDNsdVhsjHmsBH2GLAQ= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.5/go.mod h1:cl9HGLV66EnCmMNzq4sYOti+/xo8w34CsgzVtm2GgsY= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 h1:4t+QEX7BsXz98W8W1lNvMAG+NX8qHz2CjLBxQKku40g= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3/go.mod h1:oFcjjUq5Hm09N9rpxTdeMeLeQcxS7mIkBkL8qUKng+A= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 h1:lW5xUzOPGAMY7HPuNF4FdyBwRc3UJ/e8KsapbesVeNU= +github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4/go.mod h1:MGTaf3x/+z7ZGugCGvepnx2DS6+caCYYqKhzVoLNYPk= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2 h1:XOPfar83RIRPEzfihnp+U6udOveKZJvPQ76SKWrLRHc= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.2/go.mod h1:Vv9Xyk1KMHXrR3vNQe8W5LMFdTjSeWk0gBZBzvf3Qa0= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2 h1:pi0Skl6mNl2w8qWZXcdOyg197Zsf4G97U7Sso9JXGZE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.2/go.mod h1:JYzLoEVeLXk+L4tn1+rrkfhkxl6mLDEVaDSvGq9og90= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4 h1:Ppup1nVNAOWbBOrcoOxaxPeEnSFB2RnnQdguhXpmeQk= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.4/go.mod h1:+K1rNPVyGxkRuv9NNiaZ4YhBFuyw2MMA9SlIJ1Zlpz8= github.com/aws/smithy-go v1.20.1 h1:4SZlSlMr36UEqC7XOyRVb27XMeZubNcBNN+9IgEPIQw= github.com/aws/smithy-go v1.20.1/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From 4a3e667c4352f7479b432a4164fe3df973313530 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Sat, 9 Mar 2024 04:20:09 +0200 Subject: [PATCH 23/53] fix(deps): Update module google.golang.org/grpc to v1.62.1 (#17099) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | patch | `v1.62.0` -> `v1.62.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
grpc/grpc-go (google.golang.org/grpc) ### [`v1.62.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.1): Release 1.62.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.0...v1.62.1) ### Bug Fixes - xds: fix a bug that results in `no matching virtual host found` RPC errors due to a difference between the target and LDS resource names ([#​6997](https://togithub.com/grpc/grpc-go/issues/6997)) - server: fixed stats handler data `InPayload.Length` for unary RPC calls ([#​6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@​hueypark](https://togithub.com/hueypark) - grpc: the experimental `RecvBufferPool` `DialOption` and `ServerOption` are now active during unary RPCs with compression ([#​6766](https://togithub.com/grpc/grpc-go/issues/6766)) - Special Thanks: [@​hueypark](https://togithub.com/hueypark) - grpc: trim whitespaces in `accept-encoding` header before determining compressors - Special Thanks: [@​sercand](https://togithub.com/sercand)
--- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Saturday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/hackernews/go.mod | 2 +- plugins/source/hackernews/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/source/hackernews/go.mod b/plugins/source/hackernews/go.mod index 17bb66cad88e2c..49ee00213aaade 100644 --- a/plugins/source/hackernews/go.mod +++ b/plugins/source/hackernews/go.mod @@ -10,7 +10,7 @@ require ( github.com/rs/zerolog v1.31.0 github.com/thoas/go-funk v0.9.3 golang.org/x/sync v0.6.0 - google.golang.org/grpc v1.62.0 + google.golang.org/grpc v1.62.1 ) require ( diff --git a/plugins/source/hackernews/go.sum b/plugins/source/hackernews/go.sum index 5413733329e5c9..20845e6a0e676f 100644 --- a/plugins/source/hackernews/go.sum +++ b/plugins/source/hackernews/go.sum @@ -363,8 +363,8 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240228224816-df926f6c8641/go.mod h1:wLupoVsUfYPgOMwjzhYFbaVklw/INms+dqTp0tc1fv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641 h1:DKU1r6Tj5s1vlU/moGhuGz7E3xRfwjdAfDzbsaQJtEY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240228224816-df926f6c8641/go.mod h1:UCOku4NytXMJuLQE5VuqA5lX3PcHCBo8pxNyvkf4xBs= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= From 1a462f6729beac8b40ef98220486fe2f79332ccb Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 11 Mar 2024 02:33:01 +0200 Subject: [PATCH 24/53] fix(deps): Update module github.com/apache/arrow/go/v15 to v15.0.1 (#17101) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/apache/arrow/go/v15](https://togithub.com/apache/arrow) | require | patch | `v15.0.0` -> `v15.0.1` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration πŸ“… **Schedule**: Branch creation - "before 3am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/destination/file/go.mod | 2 +- plugins/destination/file/go.sum | 4 ++-- plugins/destination/mssql/go.mod | 2 +- plugins/destination/mssql/go.sum | 4 ++-- plugins/destination/snowflake/go.mod | 2 +- plugins/destination/snowflake/go.sum | 4 ++-- plugins/source/k8s/go.mod | 2 +- plugins/source/k8s/go.sum | 4 ++-- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/plugins/destination/file/go.mod b/plugins/destination/file/go.mod index 554ba5518e7283..1d13dacf39b6de 100644 --- a/plugins/destination/file/go.mod +++ b/plugins/destination/file/go.mod @@ -5,7 +5,7 @@ go 1.21.5 toolchain go1.21.6 require ( - github.com/apache/arrow/go/v15 v15.0.0 + github.com/apache/arrow/go/v15 v15.0.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/filetypes/v4 v4.2.11 github.com/cloudquery/plugin-sdk/v4 v4.32.1 diff --git a/plugins/destination/file/go.sum b/plugins/destination/file/go.sum index f1191b81b865ec..b3c49fb74aba59 100644 --- a/plugins/destination/file/go.sum +++ b/plugins/destination/file/go.sum @@ -21,8 +21,8 @@ github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1 github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/apache/arrow/go/v13 v13.0.0-20230731205701-112f94971882 h1:mFDZW1FQk9yndPvxScp7RpcOpdSHaqcgBWO7sDlx4S8= github.com/apache/arrow/go/v13 v13.0.0-20230731205701-112f94971882/go.mod h1:W69eByFNO0ZR30q1/7Sr9d83zcVZmF2MiP3fFYAWJOc= -github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= -github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= +github.com/apache/arrow/go/v15 v15.0.1 h1:mq61hYtKBel8wCYrOM4yY4YzJ05IA2qZUrevXe5IbZQ= +github.com/apache/arrow/go/v15 v15.0.1/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apache/thrift v0.19.0 h1:sOqkWPzMj7w6XaYbJQG7m4sGqVolaW/0D28Ln7yPzMk= github.com/apache/thrift v0.19.0/go.mod h1:SUALL216IiaOw2Oy+5Vs9lboJ/t9g40C+G07Dc0QC1I= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= diff --git a/plugins/destination/mssql/go.mod b/plugins/destination/mssql/go.mod index d91a746569018c..179568d8b28067 100644 --- a/plugins/destination/mssql/go.mod +++ b/plugins/destination/mssql/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/mssql go 1.21.6 require ( - github.com/apache/arrow/go/v15 v15.0.0 + github.com/apache/arrow/go/v15 v15.0.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 diff --git a/plugins/destination/mssql/go.sum b/plugins/destination/mssql/go.sum index 268bebd59a4f78..8c76c86443af59 100644 --- a/plugins/destination/mssql/go.sum +++ b/plugins/destination/mssql/go.sum @@ -31,8 +31,8 @@ github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1 github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/apache/arrow/go/v13 v13.0.0 h1:kELrvDQuKZo8csdWYqBQfyi431x6Zs/YJTEgUuSVcWk= github.com/apache/arrow/go/v13 v13.0.0/go.mod h1:W69eByFNO0ZR30q1/7Sr9d83zcVZmF2MiP3fFYAWJOc= -github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= -github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= +github.com/apache/arrow/go/v15 v15.0.1 h1:mq61hYtKBel8wCYrOM4yY4YzJ05IA2qZUrevXe5IbZQ= +github.com/apache/arrow/go/v15 v15.0.1/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= diff --git a/plugins/destination/snowflake/go.mod b/plugins/destination/snowflake/go.mod index 27da99adcca641..568f810169cb92 100644 --- a/plugins/destination/snowflake/go.mod +++ b/plugins/destination/snowflake/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/destination/snowflake go 1.21.6 require ( - github.com/apache/arrow/go/v15 v15.0.0 + github.com/apache/arrow/go/v15 v15.0.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/goccy/go-json v0.10.2 diff --git a/plugins/destination/snowflake/go.sum b/plugins/destination/snowflake/go.sum index 30311a370addc0..f22254fae73ee1 100644 --- a/plugins/destination/snowflake/go.sum +++ b/plugins/destination/snowflake/go.sum @@ -39,8 +39,8 @@ github.com/apache/arrow/go/v13 v13.0.0 h1:kELrvDQuKZo8csdWYqBQfyi431x6Zs/YJTEgUu github.com/apache/arrow/go/v13 v13.0.0/go.mod h1:W69eByFNO0ZR30q1/7Sr9d83zcVZmF2MiP3fFYAWJOc= github.com/apache/arrow/go/v14 v14.0.2 h1:N8OkaJEOfI3mEZt07BIkvo4sC6XDbL+48MBPWO5IONw= github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= -github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= -github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= +github.com/apache/arrow/go/v15 v15.0.1 h1:mq61hYtKBel8wCYrOM4yY4YzJ05IA2qZUrevXe5IbZQ= +github.com/apache/arrow/go/v15 v15.0.1/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/aws/aws-sdk-go-v2 v1.25.2 h1:/uiG1avJRgLGiQM9X3qJM8+Qa6KRGK5rRPuXE0HUM+w= diff --git a/plugins/source/k8s/go.mod b/plugins/source/k8s/go.mod index e0bb17d5bb65d3..f4fd6a5245ab74 100644 --- a/plugins/source/k8s/go.mod +++ b/plugins/source/k8s/go.mod @@ -3,7 +3,7 @@ module github.com/cloudquery/cloudquery/plugins/source/k8s go 1.21.5 require ( - github.com/apache/arrow/go/v15 v15.0.0 + github.com/apache/arrow/go/v15 v15.0.1 github.com/cloudquery/codegen v0.3.12 github.com/cloudquery/plugin-sdk/v4 v4.32.1 github.com/golang/mock v1.6.0 diff --git a/plugins/source/k8s/go.sum b/plugins/source/k8s/go.sum index ef3c184c9bc18c..defc17ad8a2af9 100644 --- a/plugins/source/k8s/go.sum +++ b/plugins/source/k8s/go.sum @@ -19,8 +19,8 @@ github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1 github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/apache/arrow/go/v13 v13.0.0 h1:kELrvDQuKZo8csdWYqBQfyi431x6Zs/YJTEgUuSVcWk= github.com/apache/arrow/go/v13 v13.0.0/go.mod h1:W69eByFNO0ZR30q1/7Sr9d83zcVZmF2MiP3fFYAWJOc= -github.com/apache/arrow/go/v15 v15.0.0 h1:1zZACWf85oEZY5/kd9dsQS7i+2G5zVQcbKTHgslqHNA= -github.com/apache/arrow/go/v15 v15.0.0/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= +github.com/apache/arrow/go/v15 v15.0.1 h1:mq61hYtKBel8wCYrOM4yY4YzJ05IA2qZUrevXe5IbZQ= +github.com/apache/arrow/go/v15 v15.0.1/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= From 9881e83fc5d46a99f039581b4f187ec7143fd992 Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Mon, 11 Mar 2024 10:16:40 +0000 Subject: [PATCH 25/53] doc: Fix link to not go to redirect (#17102) --- website/pages/docs/advanced-topics/using-an-offline-license.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/pages/docs/advanced-topics/using-an-offline-license.md b/website/pages/docs/advanced-topics/using-an-offline-license.md index 432069dcf5863b..bcb06c3b90b84c 100644 --- a/website/pages/docs/advanced-topics/using-an-offline-license.md +++ b/website/pages/docs/advanced-topics/using-an-offline-license.md @@ -10,7 +10,7 @@ This guide will walk you through the process of obtaining and using an offline l ## Obtaining an Offline License -To obtain an offline license, you'll need to contact our sales team by filling out the form in our [pricing page](https://cloudquery.io/pricing). +To obtain an offline license, you'll need to contact our sales team by filling out the form in our [pricing page](https://www.cloudquery.io/pricing). The license will be assigned to your organization and will be valid for a specific period of time. If you need to use CloudQuery in a different organization or after the license has expired, you'll need to obtain a new license. From 13749164ae4e8193ee34fbb93eb3a677a6f37f35 Mon Sep 17 00:00:00 2001 From: suchsoon <137266842+suchsoon@users.noreply.github.com> Date: Mon, 11 Mar 2024 19:45:33 +0800 Subject: [PATCH 26/53] chore: Remove repetitive word (#17100) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Summary ⚠️ **If you're contributing to a plugin please read this section of the [contribution guidelines](https://github.com/cloudquery/cloudquery/blob/main/CONTRIBUTING.md#open-core-vs-open-source) πŸ§‘β€πŸŽ“ before submitting this PR** ⚠️ --- plugins/destination/postgresql/client/migrate.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/destination/postgresql/client/migrate.go b/plugins/destination/postgresql/client/migrate.go index ddc14be133d44b..1ed74c48bcd8e8 100644 --- a/plugins/destination/postgresql/client/migrate.go +++ b/plugins/destination/postgresql/client/migrate.go @@ -261,7 +261,7 @@ func (c *Client) migrateToCQID(ctx context.Context, table *schema.Table, _ schem return err } - // CockroachDB doesn't support dropping NOT NULL constraints in the same transaction as the the primary key is changed + // CockroachDB doesn't support dropping NOT NULL constraints in the same transaction as the primary key is changed // So we have to alter the PK in one transaction and then drop the old NOT NULL constraints in another transaction if c.pgType == pgTypeCockroachDB { if err == nil { From 316984ab4ea7f9761b31242b3307878bc40bee83 Mon Sep 17 00:00:00 2001 From: Herman Schaaf Date: Mon, 11 Mar 2024 12:06:57 +0000 Subject: [PATCH 27/53] feat: Add support for CrateDB to Postgres destination (#17088) This adds initial support for CrateDB as a Postgres destination. It turns out there are quite big differences between what Postgres supports and what CrateDB supports, which this PR handles for the most part. While the full test suite does not yet pass when pointed at a cloud-based CrateDB destination, typical syncs do work and migrations work for all types. Since this improves the status quo (which is CrateDB syncs not working at all) I think we can start here and then iterate more based on feedback. We may also want to move CrateDB into its own destination in the near future. Closes https://github.com/cloudquery/cloudquery/issues/17043 --- .../destination/postgresql/client/client.go | 3 + .../destination/postgresql/client/delete.go | 6 +- .../destination/postgresql/client/insert.go | 33 ++++++++- .../destination/postgresql/client/migrate.go | 9 +++ plugins/destination/postgresql/client/read.go | 4 ++ .../postgresql/client/transformer.go | 27 +++++-- .../destination/postgresql/client/types.go | 4 ++ .../postgresql/pgarrow/to_arrow.go | 60 ++++++++++++++++ .../destination/postgresql/pgarrow/to_pg.go | 70 +++++++++++++++++++ 9 files changed, 203 insertions(+), 13 deletions(-) diff --git a/plugins/destination/postgresql/client/client.go b/plugins/destination/postgresql/client/client.go index 504972a6a72c6d..3b8954b8776c82 100644 --- a/plugins/destination/postgresql/client/client.go +++ b/plugins/destination/postgresql/client/client.go @@ -46,6 +46,7 @@ const ( invalid pgType = iota pgTypePostgreSQL pgTypeCockroachDB + pgTypeCrateDB ) func New(ctx context.Context, logger zerolog.Logger, specBytes []byte, opts plugin.NewClientOptions) (plugin.Client, error) { @@ -160,6 +161,8 @@ func (c *Client) getPgType(ctx context.Context) (pgType, error) { typ = pgTypePostgreSQL case "cockroachdb": typ = pgTypeCockroachDB + case "cratedb": + typ = pgTypeCrateDB default: return typ, fmt.Errorf("unknown database type %s", name) } diff --git a/plugins/destination/postgresql/client/delete.go b/plugins/destination/postgresql/client/delete.go index 79a4f96ce1cecf..de14fb4f8d042c 100644 --- a/plugins/destination/postgresql/client/delete.go +++ b/plugins/destination/postgresql/client/delete.go @@ -35,7 +35,7 @@ func (c *Client) DeleteRecordsBatch(ctx context.Context, messages message.WriteD batch := &pgx.Batch{} for _, msg := range messages { sql := generateDeleteCTE(msg.DeleteRecord) - vals := extractPredicateValues(msg.DeleteRecord.WhereClause) + vals := c.extractPredicateValues(msg.DeleteRecord.WhereClause) batch.Queue(sql, vals...) } br := c.conn.SendBatch(ctx, batch) @@ -121,7 +121,7 @@ func generateDeleteCTE(deleteRecord message.DeleteRecord) string { return sb.String() } -func extractPredicateValues(where message.PredicateGroups) []any { +func (c *Client) extractPredicateValues(where message.PredicateGroups) []any { predicateCount := 0 for _, predicateGroup := range where { predicateCount += len(predicateGroup.Predicates) @@ -131,7 +131,7 @@ func extractPredicateValues(where message.PredicateGroups) []any { for _, predicateGroup := range where { for _, predicate := range predicateGroup.Predicates { col := predicate.Record.Column(0) - transformed := transformArr(col) + transformed := c.transformArr(col) results[counter] = transformed[0] counter++ } diff --git a/plugins/destination/postgresql/client/insert.go b/plugins/destination/postgresql/client/insert.go index 5c881eb4adb473..fd992b1e70a6e8 100644 --- a/plugins/destination/postgresql/client/insert.go +++ b/plugins/destination/postgresql/client/insert.go @@ -53,7 +53,7 @@ func (c *Client) InsertBatch(ctx context.Context, messages message.WriteInserts) queries[tableName] = sql } - rows := transformValues(r) + rows := c.transformValues(r) for _, rowVals := range rows { batch.Queue(sql, rowVals...) } @@ -114,12 +114,13 @@ func (*Client) insert(table *schema.Table) string { } func (c *Client) upsert(table *schema.Table) string { + if c.pgType == pgTypeCrateDB { + return c.upsertCrateDB(table) + } var sb strings.Builder - sb.WriteString(c.insert(table)) columns := table.Columns columnsLen := len(columns) - constraintName := table.PkConstraintName sb.WriteString(" on conflict on constraint ") sb.WriteString(pgx.Identifier{constraintName}.Sanitize()) @@ -138,6 +139,32 @@ func (c *Client) upsert(table *schema.Table) string { return sb.String() } +// CrateDB differs from normal Postgres in that it does not support constraint-name +// based upserts, and errors out if a primary key is written to during upsert. +func (c *Client) upsertCrateDB(table *schema.Table) string { + var sb strings.Builder + sb.WriteString(c.insert(table)) + columns := table.Columns + if len(table.PrimaryKeysIndexes()) == len(table.Columns) { + sb.WriteString(" on conflict do nothing") + return sb.String() + } + pks := table.PrimaryKeys() + sb.WriteString(fmt.Sprintf(" on conflict (%s) ", strings.Join(pks, ","))) + + sb.WriteString(" do update set ") + cols := make([]string, 0, len(columns)-len(pks)) + for _, column := range columns { + if column.PrimaryKey { + continue + } + cols = append(cols, pgx.Identifier{column.Name}.Sanitize()+"=excluded."+pgx.Identifier{column.Name}.Sanitize()) + } + sb.WriteString(strings.Join(cols, ",")) + + return sb.String() +} + func pgErrToStr(err *pgconn.PgError) string { var sb strings.Builder sb.WriteString("severity: ") diff --git a/plugins/destination/postgresql/client/migrate.go b/plugins/destination/postgresql/client/migrate.go index 1ed74c48bcd8e8..d77f0b183a71a1 100644 --- a/plugins/destination/postgresql/client/migrate.go +++ b/plugins/destination/postgresql/client/migrate.go @@ -82,6 +82,14 @@ func (c *Client) normalizeTable(table *schema.Table) *schema.Table { Name: table.Name, } for _, col := range table.Columns { + if c.pgType == pgTypeCrateDB { + // CrateDB doesn't allow columns that start with an underscore, + // so we trim the leading underscore from the column name + col.Name = strings.TrimLeft(col.Name, "_") + // CrateDB does not support Unique constraints + col.Unique = false + } + // Postgres doesn't support column names longer than 63 characters // and it will automatically truncate them, so we do the same here // to make migrations predictable @@ -93,6 +101,7 @@ func (c *Client) normalizeTable(table *schema.Table) *schema.Table { col.NotNull = true } col.Type = c.PgToSchemaType(c.SchemaTypeToPg(col.Type)) + normalizedTable.Columns = append(normalizedTable.Columns, col) // pgTablesToPKConstraints is populated when handling migrate messages if entry := c.pgTablesToPKConstraints[table.Name]; entry != nil { diff --git a/plugins/destination/postgresql/client/read.go b/plugins/destination/postgresql/client/read.go index 07d2ddcbe7d11b..8dd5042075301f 100644 --- a/plugins/destination/postgresql/client/read.go +++ b/plugins/destination/postgresql/client/read.go @@ -25,6 +25,10 @@ const ( func (c *Client) Read(ctx context.Context, table *schema.Table, res chan<- arrow.Record) error { colNames := make([]string, 0, len(table.Columns)) for _, col := range table.Columns { + if c.pgType == pgTypeCrateDB { + colNames = append(colNames, pgx.Identifier{strings.Trim(col.Name, "_")}.Sanitize()) + continue + } colNames = append(colNames, pgx.Identifier{col.Name}.Sanitize()) } cols := strings.Join(colNames, ",") diff --git a/plugins/destination/postgresql/client/transformer.go b/plugins/destination/postgresql/client/transformer.go index 390934ab0cfdc1..b01f53052912b9 100644 --- a/plugins/destination/postgresql/client/transformer.go +++ b/plugins/destination/postgresql/client/transformer.go @@ -1,6 +1,7 @@ package client import ( + "encoding/base64" "encoding/json" "strings" @@ -52,7 +53,7 @@ func stripNullsFromJsonValue(val any) any { } } -func transformArr(arr arrow.Array) []any { +func (c *Client) transformArr(arr arrow.Array) []any { pgArr := make([]any, arr.Len()) for i := 0; i < arr.Len(); i++ { if arr.IsNull(i) || !arr.IsValid(i) { @@ -101,7 +102,11 @@ func transformArr(arr arrow.Array) []any { Valid: a.IsValid(i), } case *array.Uint64: - pgArr[i] = a.Value(i) + if c.pgType == pgTypeCrateDB { + pgArr[i] = a.ValueStr(i) + } else { + pgArr[i] = a.Value(i) + } case *array.Float32: pgArr[i] = pgtype.Float4{ Float32: a.Value(i), @@ -113,9 +118,17 @@ func transformArr(arr arrow.Array) []any { Valid: a.IsValid(i), } case *array.Binary: - pgArr[i] = a.Value(i) + if c.pgType == pgTypeCrateDB { + pgArr[i] = base64.StdEncoding.EncodeToString(a.Value(i)) + } else { + pgArr[i] = a.Value(i) + } case *array.LargeBinary: - pgArr[i] = a.Value(i) + if c.pgType == pgTypeCrateDB { + pgArr[i] = base64.StdEncoding.EncodeToString(a.Value(i)) + } else { + pgArr[i] = a.Value(i) + } case *array.String: pgArr[i] = pgtype.Text{ String: stripNulls(a.Value(i)), @@ -166,7 +179,7 @@ func transformArr(arr arrow.Array) []any { case array.ListLike: start, end := a.ValueOffsets(i) nested := array.NewSlice(a.ListValues(), start, end) - pgArr[i] = transformArr(nested) + pgArr[i] = c.transformArr(nested) case *types.JSONArray: pgArr[i] = stripNullsFromMarshalledJson(a.Storage().(*array.Binary).Value(i)) default: @@ -177,7 +190,7 @@ func transformArr(arr arrow.Array) []any { return pgArr } -func transformValues(r arrow.Record) [][]any { +func (c *Client) transformValues(r arrow.Record) [][]any { results := make([][]any, r.NumRows()) for i := range results { @@ -186,7 +199,7 @@ func transformValues(r arrow.Record) [][]any { for i := 0; i < int(r.NumCols()); i++ { col := r.Column(i) - transformed := transformArr(col) + transformed := c.transformArr(col) for l := 0; l < col.Len(); l++ { results[l][i] = transformed[l] } diff --git a/plugins/destination/postgresql/client/types.go b/plugins/destination/postgresql/client/types.go index 421d9e8fb3ed50..4d351b886ccfed 100644 --- a/plugins/destination/postgresql/client/types.go +++ b/plugins/destination/postgresql/client/types.go @@ -9,6 +9,8 @@ func (c *Client) SchemaTypeToPg(t arrow.DataType) string { switch c.pgType { case pgTypeCockroachDB: return pgarrow.ArrowToCockroach(t) + case pgTypeCrateDB: + return pgarrow.ArrowToCrateDB(t) default: return pgarrow.ArrowToPg10(t) } @@ -18,6 +20,8 @@ func (c *Client) PgToSchemaType(t string) arrow.DataType { switch c.pgType { case pgTypeCockroachDB: return pgarrow.CockroachToArrow(t) + case pgTypeCrateDB: + return pgarrow.CrateDBToArrow(t) default: return pgarrow.Pg10ToArrow(t) } diff --git a/plugins/destination/postgresql/pgarrow/to_arrow.go b/plugins/destination/postgresql/pgarrow/to_arrow.go index 698b151561ece8..745a9f168d2f96 100644 --- a/plugins/destination/postgresql/pgarrow/to_arrow.go +++ b/plugins/destination/postgresql/pgarrow/to_arrow.go @@ -133,6 +133,66 @@ func CockroachToArrow(t string) arrow.DataType { } } +func CrateDBToArrow(t string) arrow.DataType { + t = normalize(t) + if strings.HasSuffix(t, "[]") { + return arrow.ListOf(Pg10ToArrow(t[:len(t)-2])) + } + + parsers := []func(string) (arrow.DataType, bool){ + parseTimestamp, + parseTime, + } + for _, parser := range parsers { + got, matched := parser(t) + if matched { + return got + } + } + + switch t { + case "boolean": + return arrow.FixedWidthTypes.Boolean + case "smallserial": + return arrow.PrimitiveTypes.Int16 + case "serial": + return arrow.PrimitiveTypes.Int32 + case "bigserial", "serial8": + return arrow.PrimitiveTypes.Int64 + case "smallint", "int2": + return arrow.PrimitiveTypes.Int16 + case "integer", "int", "int4": + return arrow.PrimitiveTypes.Int32 + case "bigint", "int8": + return arrow.PrimitiveTypes.Int64 + case "numeric": + // Special case + return arrow.PrimitiveTypes.Uint64 + case "real", "float4": + return arrow.PrimitiveTypes.Float32 + case "double precision", "float8": + return arrow.PrimitiveTypes.Float64 + case "uuid": + // CrateDB does not support UUID type + return arrow.BinaryTypes.String + case "bytea": + return arrow.BinaryTypes.Binary + case "date": + return arrow.FixedWidthTypes.Date32 + case "json", "jsonb", "object": + return cqtypes.ExtensionTypes.JSON + case "cidr": + return cqtypes.ExtensionTypes.Inet + case "macaddr", "macaddr8": + // CrateDB does not support macaddr type + return arrow.BinaryTypes.String + case "inet", "ip": + return cqtypes.ExtensionTypes.Inet + default: + return arrow.BinaryTypes.String + } +} + func normalize(t string) string { return strings.ToLower(strings.TrimSpace(t)) } diff --git a/plugins/destination/postgresql/pgarrow/to_pg.go b/plugins/destination/postgresql/pgarrow/to_pg.go index 2a851d505c70d9..43fffb4cf405fc 100644 --- a/plugins/destination/postgresql/pgarrow/to_pg.go +++ b/plugins/destination/postgresql/pgarrow/to_pg.go @@ -127,3 +127,73 @@ func ArrowToCockroach(t arrow.DataType) string { return "text" } } + +func ArrowToCrateDB(t arrow.DataType) string { + switch dt := t.(type) { + case *arrow.BooleanType: + return "boolean" + case *arrow.Int8Type: + return "smallint" + case *arrow.Int16Type: + return "smallint" + case *arrow.Int32Type: + return "int" + case *arrow.Int64Type: + return "bigint" + case *arrow.Uint8Type: + return "smallint" + case *arrow.Uint16Type: + return "int" + case *arrow.Uint32Type: + return "bigint" + case *arrow.Uint64Type: + // CrateDB does not support storing numeric types. + return "text" + case *arrow.Float32Type: + return "real" + case *arrow.Float64Type: + return "double precision" + case arrow.DecimalType: + // CrateDB does not support storing numeric types + return "text" + case *arrow.StringType: + return "text" + case *arrow.BinaryType: + // CrateDB does not support bytea + return "text" + case *arrow.LargeBinaryType: + // CrateDB does not support bytea + return "text" + case *arrow.TimestampType: + return "timestamp without time zone" + case *arrow.Time32Type, *arrow.Time64Type: + // CrateDB does not support "time without time zone", and does not support + // storage of "time with time zone". + return "text" + case *arrow.Date32Type, *arrow.Date64Type: + // CrateDB does not support storing "date" type + return "timestamp without time zone" + case *cqtypes.UUIDType: + // CrateDB does not support UUID type + return "text" + case *cqtypes.JSONType: + // CrateDB calls JSON type "object" + return "object" + case *cqtypes.MACType: + // CrateDB does not support macaddr type + return "text" + case *cqtypes.InetType: + // CrateDB does not support inet type, but we can use IP + return "ip" + case *arrow.ListType: + return ArrowToCrateDB(dt.Elem()) + "[]" + case *arrow.FixedSizeListType: + return ArrowToCrateDB(dt.Elem()) + "[]" + case *arrow.LargeListType: + return ArrowToCrateDB(dt.Elem()) + "[]" + case *arrow.MapType: + return "text" + default: + return "text" + } +} From cb24442f1fa14bedd1a5cb119b16807b60eac750 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Mon, 11 Mar 2024 14:15:39 +0200 Subject: [PATCH 28/53] fix(deps): Update dependency cloudquery-plugin-sdk to v0.1.16 (#17105) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [cloudquery-plugin-sdk](https://togithub.com/cloudquery/plugin-sdk-python) | patch | `==0.1.15` -> `==0.1.16` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes
cloudquery/plugin-sdk-python (cloudquery-plugin-sdk) ### [`v0.1.16`](https://togithub.com/cloudquery/plugin-sdk-python/blob/HEAD/CHANGELOG.md#0116-2024-03-11) [Compare Source](https://togithub.com/cloudquery/plugin-sdk-python/compare/v0.1.15...v0.1.16) ##### Bug Fixes - Exception Handling ([#​141](https://togithub.com/cloudquery/plugin-sdk-python/issues/141)) ([afba5db](https://togithub.com/cloudquery/plugin-sdk-python/commit/afba5db9a8c536983c99e3b43da4a818cdbd8ff2))
--- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/square/requirements.txt | 2 +- plugins/source/typeform/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/source/square/requirements.txt b/plugins/source/square/requirements.txt index b7aba0aba56427..4cd5d1e2127f1e 100644 --- a/plugins/source/square/requirements.txt +++ b/plugins/source/square/requirements.txt @@ -1,5 +1,5 @@ black==24.2.0 -cloudquery-plugin-sdk==0.1.15 +cloudquery-plugin-sdk==0.1.16 pyarrow==15.0.0 squareup==29.0.0.20230720 pytest==8.0.2 diff --git a/plugins/source/typeform/requirements.txt b/plugins/source/typeform/requirements.txt index 80eabbf8fd57db..506dc7f46bf9b0 100644 --- a/plugins/source/typeform/requirements.txt +++ b/plugins/source/typeform/requirements.txt @@ -1,4 +1,4 @@ -cloudquery-plugin-sdk==0.1.15 +cloudquery-plugin-sdk==0.1.16 pyarrow==15.0.0 requests==2.31.0 pytest==8.0.2 From 4ae8cc3e8f3910f2113b9f567f6bbe8c1e3f8845 Mon Sep 17 00:00:00 2001 From: Alex Shcherbakov Date: Mon, 11 Mar 2024 15:33:20 +0200 Subject: [PATCH 29/53] fix: Replace dashes with underscores during publish (#17108) Closes https://github.com/cloudquery/cloudquery-issues/issues/1396 --- .github/workflows/publish_plugin_to_hub.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish_plugin_to_hub.yml b/.github/workflows/publish_plugin_to_hub.yml index d3e264a20b51a1..bbcde8a6e7fe22 100644 --- a/.github/workflows/publish_plugin_to_hub.yml +++ b/.github/workflows/publish_plugin_to_hub.yml @@ -113,10 +113,18 @@ jobs: }); return shellescape([data.body]); + - name: Undash + id: undash_plugin_name + env: + plugin_name: ${{ needs.prepare.outputs.plugin_name }} + run: | + p=$(echo $plugin_name | sed 's|-|_|g') + echo "plugin_name=${p}" >> $GITHUB_OUTPUT + - name: Find and Replace uses: jacobtomlinson/gha-find-replace@3a8ed858a4e3fb487c6f53658ec40b2b1d45d9d8 with: - find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name }}" + find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ steps.undash_plugin_name.outputs.plugin_name }}" replace: ${{ needs.prepare.outputs.plugin_version }} include: ${{ needs.prepare.outputs.plugin_dir }}/docs/*.md From b1433418aef6e0e2fb6e14d3e7c18d8b10909f43 Mon Sep 17 00:00:00 2001 From: Michal Brutvan <57617962+pilvikala@users.noreply.github.com> Date: Mon, 11 Mar 2024 17:18:43 +0200 Subject: [PATCH 30/53] doc: Mention managed syncs on the most visited how-to guides (#17109) I have updated our most visited how-to guides with a mention of the Managed Syncs. --- .../how-to-guides/attack-surface-management-with-graph.mdx | 4 +++- website/pages/how-to-guides/open-source-cspm.mdx | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/website/pages/how-to-guides/attack-surface-management-with-graph.mdx b/website/pages/how-to-guides/attack-surface-management-with-graph.mdx index 9dfa5d13f889dd..d4f3eb7dee1346 100644 --- a/website/pages/how-to-guides/attack-surface-management-with-graph.mdx +++ b/website/pages/how-to-guides/attack-surface-management-with-graph.mdx @@ -29,7 +29,9 @@ Refer to Neo4j's installation documentation (https://neo4j.com/docs/operations-m ### Step 1: Install or Deploy CloudQuery -To get started with CloudQuery, check out our [quickstart guide](/docs/quickstart) and [AWS source plugin](https://hub.cloudquery.io/plugins/source/cloudquery/aws) for how to configure CloudQuery and run it locally on your machine. +You can get started with CloudQuery without any installation or deployment using our [Managed Syncs](/docs/quickstart/managed). + +To use CloudQuery locally, check out our [quickstart guide](/docs/quickstart) and [AWS source plugin](https://hub.cloudquery.io/plugins/source/cloudquery/aws) for how to configure CloudQuery. ### Step 2: Sync Data from CloudQuery to Neo4j diff --git a/website/pages/how-to-guides/open-source-cspm.mdx b/website/pages/how-to-guides/open-source-cspm.mdx index d13079061f7fbf..2a056df9f6d439 100644 --- a/website/pages/how-to-guides/open-source-cspm.mdx +++ b/website/pages/how-to-guides/open-source-cspm.mdx @@ -30,9 +30,11 @@ CSPMs are probably the biggest offenders of yet-another-dashboard syndrome, and ### Step 1: Install or deploy CloudQuery -If it’s your first time using CloudQuery we suggest you first run it locally to get familiar with the tool. Take a look at our [quick start guide](/docs/quickstart). +You can get started with CloudQuery without any installation or deployment using our [Managed Syncs](/docs/quickstart/managed). -If you are already familiar with CloudQuery, take a look at how to deploy it with [Kubernetes](/docs/deployment/kubernetes), on [AWS ECS using Fargate](/docs/deployment/ecs) or with [Google Cloud Run](/docs/deployment/cloud-run). For more deployment guides, see our [Deployment Overview](/docs/deployment/overview). +If you prefer to run it locally to get familiar with the tool, take a look at our [quick start guide](/docs/quickstart). + +If you are already familiar with CloudQuery, take a look at how run a , deploy it with [Kubernetes](/docs/deployment/kubernetes), on [AWS ECS using Fargate](/docs/deployment/ecs) or with [Google Cloud Run](/docs/deployment/cloud-run). For more deployment guides, see our [Deployment Overview](/docs/deployment/overview). ### Step 2: Install Grafana From 7154f9eb9fcc55e0e034ffa6dbfbedc31c6f7257 Mon Sep 17 00:00:00 2001 From: Ben Bernays Date: Mon, 11 Mar 2024 12:03:37 -0500 Subject: [PATCH 31/53] feat: Add `invocation-id` to all log statements (#17087) #### Summary This change will retain the same uuid for all source/destinations in the same sync rather than a unique sync id per source example: ``` {"level":"info","module":"cli","log-id":"7871e9f8-c747-4f44-98e0-a32d216e503c","args":["config.yml"],"time":"2024-03-06T23:47:49Z","message":"Loading spec(s)"} ``` --- cli/cmd/logging.go | 2 +- cli/cmd/root.go | 8 ++++++++ cli/cmd/sync.go | 6 ------ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cli/cmd/logging.go b/cli/cmd/logging.go index 60833a497c9e09..5bb9d7e199aad6 100644 --- a/cli/cmd/logging.go +++ b/cli/cmd/logging.go @@ -48,6 +48,6 @@ func initLogging(noLogFile bool, logLevel *enum.Enum, logFormat *enum.Enum, logC } } mw := io.MultiWriter(writers...) - log.Logger = zerolog.New(mw).Level(zerologLevel).With().Str("module", "cli").Timestamp().Logger() + log.Logger = zerolog.New(mw).Level(zerologLevel).With().Str("module", "cli").Str("invocation-id", invocationUUID.String()).Timestamp().Logger() return logFile, nil } diff --git a/cli/cmd/root.go b/cli/cmd/root.go index 666934a459d86d..1715c831efd7b0 100644 --- a/cli/cmd/root.go +++ b/cli/cmd/root.go @@ -5,6 +5,7 @@ import ( "os" "time" + "github.com/google/uuid" "github.com/rs/zerolog" "github.com/cloudquery/cloudquery/cli/internal/enum" @@ -29,6 +30,7 @@ Find more information at: disableSentry = false analyticsClient *AnalyticsClient logFile *os.File + invocationUUID uuid.UUID ) func NewCmdRoot() *cobra.Command { @@ -67,6 +69,12 @@ func NewCmdRoot() *cobra.Command { // PersistentPreRunE runs after argument parsing, so errors during parsing will result in printing the help cmd.SilenceUsage = true var err error + + invocationUUID, err = uuid.NewRandom() + if err != nil { + return fmt.Errorf("failed to generate invocation uuid: %w", err) + } + if logFile, err = initLogging(noLogFile, logLevel, logFormat, logConsole, logFileName); err != nil { return err } diff --git a/cli/cmd/sync.go b/cli/cmd/sync.go index e5924beb3db21e..5986405760f4aa 100644 --- a/cli/cmd/sync.go +++ b/cli/cmd/sync.go @@ -7,8 +7,6 @@ import ( "slices" "strings" - "github.com/google/uuid" - apiAuth "github.com/cloudquery/cloudquery-api-go/auth" "github.com/cloudquery/cloudquery/cli/internal/auth" "github.com/cloudquery/cloudquery/cli/internal/specs/v0" @@ -105,10 +103,6 @@ func sync(cmd *cobra.Command, args []string) error { return fmt.Errorf("failed to load spec(s) from %s. Error: %w", strings.Join(args, ", "), err) } - invocationUUID, err := uuid.NewRandom() - if err != nil { - return fmt.Errorf("failed to generate invocation uuid: %w", err) - } sources := specReader.Sources destinations := specReader.Destinations sourcePluginClients := make(managedplugin.Clients, 0) From 59b4758daa2ae56ea5f1f0667f950a5794fa49fd Mon Sep 17 00:00:00 2001 From: Alex Shcherbakov Date: Mon, 11 Mar 2024 19:27:15 +0200 Subject: [PATCH 32/53] fix(ci): Split tag properly (#17110) --- .github/workflows/release_plugin.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release_plugin.yml b/.github/workflows/release_plugin.yml index 5e2d016100fc18..58d5a0256b9c28 100644 --- a/.github/workflows/release_plugin.yml +++ b/.github/workflows/release_plugin.yml @@ -27,6 +27,12 @@ jobs: plugin_type=$(echo $tag | cut -d- -f2) plugin_name=$(echo $tag | cut -d- -f3) plugin_version=$(echo $tag | cut -d- -f4-) + # perform looping till either the plugin version passes our semver test or is empty + until [[ $plugin_version =~ ^v?[0-9]+\.[0-9]+ ]] || [[ $(echo $plugin_version | wc -c) -eq 0 ]] ; do + echo "${plugin_version} is not a valid version" + plugin_name="$plugin_name-$(echo $plugin_version | cut -d- -f1)" + plugin_version=$(echo $plugin_version | cut -d- -f2-) + done echo "plugin_name=${plugin_name}" >> $GITHUB_OUTPUT echo "plugin_type=${plugin_type}" >> $GITHUB_OUTPUT echo "plugin_version=${plugin_version}" >> $GITHUB_OUTPUT From c0948bc295a3cc3c1d3f32e465ef665a25540f04 Mon Sep 17 00:00:00 2001 From: Alex Shcherbakov Date: Mon, 11 Mar 2024 20:07:07 +0200 Subject: [PATCH 33/53] fix(ci): Split tag properly (#17114) Same as #17110 --- .github/workflows/publish_plugin_to_hub.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/publish_plugin_to_hub.yml b/.github/workflows/publish_plugin_to_hub.yml index bbcde8a6e7fe22..5d1bfc394a5b2e 100644 --- a/.github/workflows/publish_plugin_to_hub.yml +++ b/.github/workflows/publish_plugin_to_hub.yml @@ -27,6 +27,12 @@ jobs: plugin_name=$(echo $tag | cut -d- -f3) plugin_kind_plural=$(if [ "$plugin_kind" = "source" ]; then echo "sources"; else echo "destinations"; fi) plugin_version=$(echo $tag | cut -d- -f4-) + # perform looping till either the plugin version passes our semver test or is empty + until [[ $plugin_version =~ ^v?[0-9]+\.[0-9]+ ]] || [[ $(echo $plugin_version | wc -c) -eq 0 ]] ; do + echo "${plugin_version} is not a valid version" + plugin_name="$plugin_name-$(echo $plugin_version | cut -d- -f1)" + plugin_version=$(echo $plugin_version | cut -d- -f2-) + done echo "plugin_name=${plugin_name}" >> $GITHUB_OUTPUT echo "plugin_kind=${plugin_kind}" >> $GITHUB_OUTPUT echo "plugin_kind_plural=${plugin_kind_plural}" >> $GITHUB_OUTPUT From 8603d4a8716dd0ecc23a709532dbbe3144327bdf Mon Sep 17 00:00:00 2001 From: Alex Shcherbakov Date: Mon, 11 Mar 2024 20:30:21 +0200 Subject: [PATCH 34/53] fix(ci): Undash every plugin type (#17115) Follow-up for #17108 --- .github/workflows/publish_plugin_to_hub.yml | 23 +++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/publish_plugin_to_hub.yml b/.github/workflows/publish_plugin_to_hub.yml index 5d1bfc394a5b2e..c27f7c5efb8e63 100644 --- a/.github/workflows/publish_plugin_to_hub.yml +++ b/.github/workflows/publish_plugin_to_hub.yml @@ -11,6 +11,7 @@ jobs: prepare: runs-on: ubuntu-latest outputs: + plugin_name_undashed: ${{ steps.undash.outputs.plugin_name }} plugin_name: ${{ steps.split.outputs.plugin_name }} plugin_kind: ${{ steps.split.outputs.plugin_kind }} plugin_kind_plural: ${{ steps.split.outputs.plugin_kind_plural }} @@ -38,6 +39,14 @@ jobs: echo "plugin_kind_plural=${plugin_kind_plural}" >> $GITHUB_OUTPUT echo "plugin_version=${plugin_version}" >> $GITHUB_OUTPUT echo "plugin_dir=plugins/${plugin_kind}/${plugin_name}" >> $GITHUB_OUTPUT + - name: Undash + id: undash_plugin_name + env: + plugin_name: ${{ steps.split.outputs.plugin_name }} + run: | + p=$(echo $plugin_name | sed 's|-|_|g') + echo "plugin_name=${p}" >> $GITHUB_OUTPUT + # Fail if not a valid SemVer string - name: Parse semver string uses: booxmedialtd/ws-action-parse-semver@7784200024d6b3fc01253e617ec0168daf603de3 @@ -119,18 +128,10 @@ jobs: }); return shellescape([data.body]); - - name: Undash - id: undash_plugin_name - env: - plugin_name: ${{ needs.prepare.outputs.plugin_name }} - run: | - p=$(echo $plugin_name | sed 's|-|_|g') - echo "plugin_name=${p}" >> $GITHUB_OUTPUT - - name: Find and Replace uses: jacobtomlinson/gha-find-replace@3a8ed858a4e3fb487c6f53658ec40b2b1d45d9d8 with: - find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ steps.undash_plugin_name.outputs.plugin_name }}" + find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name_undashed }}" replace: ${{ needs.prepare.outputs.plugin_version }} include: ${{ needs.prepare.outputs.plugin_dir }}/docs/*.md @@ -204,7 +205,7 @@ jobs: - name: Find and Replace uses: jacobtomlinson/gha-find-replace@3a8ed858a4e3fb487c6f53658ec40b2b1d45d9d8 with: - find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name }}" + find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name_undashed }}" replace: ${{ needs.prepare.outputs.plugin_version }} include: ${{ needs.prepare.outputs.plugin_dir }}/docs/*.md @@ -289,7 +290,7 @@ jobs: - name: Find and Replace uses: jacobtomlinson/gha-find-replace@3a8ed858a4e3fb487c6f53658ec40b2b1d45d9d8 with: - find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name }}" + find: "(?i)version_${{ needs.prepare.outputs.plugin_kind }}_${{ needs.prepare.outputs.plugin_name_undashed }}" replace: ${{ needs.prepare.outputs.plugin_version }} include: ${{ needs.prepare.outputs.plugin_dir }}/docs/*.md From 499188803dba304909e481747cd67b6088674133 Mon Sep 17 00:00:00 2001 From: Alex Shcherbakov Date: Mon, 11 Mar 2024 20:33:51 +0200 Subject: [PATCH 35/53] fix(ci): Proper step name (#17116) fix after https://github.com/cloudquery/cloudquery/pull/17115 --- .github/workflows/publish_plugin_to_hub.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish_plugin_to_hub.yml b/.github/workflows/publish_plugin_to_hub.yml index c27f7c5efb8e63..7e032176a211ba 100644 --- a/.github/workflows/publish_plugin_to_hub.yml +++ b/.github/workflows/publish_plugin_to_hub.yml @@ -11,7 +11,7 @@ jobs: prepare: runs-on: ubuntu-latest outputs: - plugin_name_undashed: ${{ steps.undash.outputs.plugin_name }} + plugin_name_undashed: ${{ steps.undash_plugin_name.outputs.plugin_name }} plugin_name: ${{ steps.split.outputs.plugin_name }} plugin_kind: ${{ steps.split.outputs.plugin_kind }} plugin_kind_plural: ${{ steps.split.outputs.plugin_kind_plural }} From 7cde748fe8f805969b3704936ab49fa58bb6cb0a Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 07:32:02 +0200 Subject: [PATCH 36/53] feat(services): Support newly added regions (#17119) This PR was created by a scheduled workflow to update supported regions for AWS services --- .../aws/client/data/partition_service_region.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/source/aws/client/data/partition_service_region.json b/plugins/source/aws/client/data/partition_service_region.json index 8112109da333ab..2c38b4f48be579 100644 --- a/plugins/source/aws/client/data/partition_service_region.json +++ b/plugins/source/aws/client/data/partition_service_region.json @@ -3063,6 +3063,7 @@ "ap-southeast-3": {}, "ap-southeast-4": {}, "ca-central-1": {}, + "ca-west-1": {}, "eu-central-1": {}, "eu-central-2": {}, "eu-north-1": {}, @@ -3648,6 +3649,7 @@ "ap-southeast-3": {}, "ap-southeast-4": {}, "ca-central-1": {}, + "ca-west-1": {}, "eu-central-1": {}, "eu-central-2": {}, "eu-north-1": {}, @@ -5191,6 +5193,7 @@ "ap-southeast-3": {}, "ap-southeast-4": {}, "ca-central-1": {}, + "ca-west-1": {}, "eu-central-1": {}, "eu-central-2": {}, "eu-north-1": {}, @@ -7296,6 +7299,12 @@ "cn-northwest-1": {} } }, + "network-firewall": { + "regions": { + "cn-north-1": {}, + "cn-northwest-1": {} + } + }, "oam": { "regions": { "cn-north-1": {}, @@ -7646,7 +7655,8 @@ }, "arc-zonal-shift": { "regions": { - "us-iso-east-1": {} + "us-iso-east-1": {}, + "us-iso-west-1": {} } }, "athena": { From dc68a1852815e0e6970bc0353c27388a06c7d70b Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:06:49 +0200 Subject: [PATCH 37/53] chore(main): Release plugins-source-k8s v6.0.6 (#17077) :robot: I have created a release *beep* *boop* --- ## [6.0.6](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v6.0.5...plugins-source-k8s-v6.0.6) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/apache/arrow/go/v15 to v15.0.1 ([#17101](https://github.com/cloudquery/cloudquery/issues/17101)) ([1a462f6](https://github.com/cloudquery/cloudquery/commit/1a462f6729beac8b40ef98220486fe2f79332ccb)) * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/k8s/CHANGELOG.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 55812cbbfe531e..65c77f83fada88 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -13,7 +13,7 @@ "plugins/source/gcp+FILLER": "0.0.0", "plugins/source/github": "8.1.1", "plugins/source/github+FILLER": "0.0.0", - "plugins/source/k8s": "6.0.5", + "plugins/source/k8s": "6.0.6", "plugins/source/k8s+FILLER": "0.0.0", "plugins/source/okta": "4.1.2", "plugins/source/okta+FILLER": "0.0.0", diff --git a/plugins/source/k8s/CHANGELOG.md b/plugins/source/k8s/CHANGELOG.md index fccdbfa19f7687..064fb2ea6aa8e5 100644 --- a/plugins/source/k8s/CHANGELOG.md +++ b/plugins/source/k8s/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.0.6](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v6.0.5...plugins-source-k8s-v6.0.6) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/apache/arrow/go/v15 to v15.0.1 ([#17101](https://github.com/cloudquery/cloudquery/issues/17101)) ([1a462f6](https://github.com/cloudquery/cloudquery/commit/1a462f6729beac8b40ef98220486fe2f79332ccb)) +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [6.0.5](https://github.com/cloudquery/cloudquery/compare/plugins-source-k8s-v6.0.4...plugins-source-k8s-v6.0.5) (2024-03-05) From a642b9af854e4ccebd02faeff857733f9ef67e1f Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:08:43 +0200 Subject: [PATCH 38/53] chore(main): Release plugins-source-test v4.2.2 (#17082) :robot: I have created a release *beep* *boop* --- ## [4.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.2.1...plugins-source-test-v4.2.2) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/test/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 65c77f83fada88..da801d7d5b8c55 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -19,7 +19,7 @@ "plugins/source/okta+FILLER": "0.0.0", "plugins/source/terraform": "3.0.12", "plugins/source/terraform+FILLER": "0.0.0", - "plugins/source/test": "4.2.1", + "plugins/source/test": "4.2.2", "plugins/source/test+FILLER": "0.0.0", "plugins/destination/postgresql": "7.3.8", "plugins/destination/postgresql+FILLER": "0.0.0", diff --git a/plugins/source/test/CHANGELOG.md b/plugins/source/test/CHANGELOG.md index aa9413a320eb04..e569cded1f1f4f 100644 --- a/plugins/source/test/CHANGELOG.md +++ b/plugins/source/test/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [4.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.2.1...plugins-source-test-v4.2.2) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [4.2.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-test-v4.2.0...plugins-source-test-v4.2.1) (2024-03-05) From d5012d847a7b8aa48f2e3dff777b4d4d86cd8dc3 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:17:26 +0200 Subject: [PATCH 39/53] chore(main): Release plugins-source-typeform v1.3.3 (#17107) :robot: I have created a release *beep* *boop* --- ## [1.3.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.2...plugins-source-typeform-v1.3.3) (2024-03-12) ### Bug Fixes * **deps:** Update dependency cloudquery-plugin-sdk to v0.1.16 ([#17105](https://github.com/cloudquery/cloudquery/issues/17105)) ([cb24442](https://github.com/cloudquery/cloudquery/commit/cb24442f1fa14bedd1a5cb119b16807b60eac750)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/typeform/CHANGELOG.md | 7 +++++++ plugins/source/typeform/plugin/plugin.py | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index da801d7d5b8c55..fe683cf0b5cb1d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -95,7 +95,7 @@ "plugins/source/oracledb+FILLER": "0.0.0", "plugins/source/square": "1.2.2", "plugins/source/square+FILLER": "0.0.0", - "plugins/source/typeform": "1.3.2", + "plugins/source/typeform": "1.3.3", "plugins/source/typeform+FILLER": "0.0.0", "plugins/source/jira": "1.0.10", "plugins/source/jira+FILLER": "0.0.0", diff --git a/plugins/source/typeform/CHANGELOG.md b/plugins/source/typeform/CHANGELOG.md index bdc7d8c015225e..41ec51c28d09d6 100644 --- a/plugins/source/typeform/CHANGELOG.md +++ b/plugins/source/typeform/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.3.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.2...plugins-source-typeform-v1.3.3) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update dependency cloudquery-plugin-sdk to v0.1.16 ([#17105](https://github.com/cloudquery/cloudquery/issues/17105)) ([cb24442](https://github.com/cloudquery/cloudquery/commit/cb24442f1fa14bedd1a5cb119b16807b60eac750)) + ## [1.3.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-typeform-v1.3.1...plugins-source-typeform-v1.3.2) (2024-03-05) diff --git a/plugins/source/typeform/plugin/plugin.py b/plugins/source/typeform/plugin/plugin.py index e81123814c2b41..ddf7c6ba84efda 100644 --- a/plugins/source/typeform/plugin/plugin.py +++ b/plugins/source/typeform/plugin/plugin.py @@ -11,7 +11,7 @@ from plugin.client import Client, Spec PLUGIN_NAME = "typeform" -PLUGIN_VERSION = "1.3.2" # {x-release-please-version} +PLUGIN_VERSION = "1.3.3" # {x-release-please-version} class TypeformPlugin(plugin.Plugin): From 5d9736314792b783adbc22241cf218b69a2be986 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:20:22 +0200 Subject: [PATCH 40/53] chore(main): Release plugins-destination-postgresql v7.4.0 (#17104) :robot: I have created a release *beep* *boop* --- ## [7.4.0](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.8...plugins-destination-postgresql-v7.4.0) (2024-03-12) ### Features * Add support for CrateDB to Postgres destination ([#17088](https://github.com/cloudquery/cloudquery/issues/17088)) ([316984a](https://github.com/cloudquery/cloudquery/commit/316984ab4ea7f9761b31242b3307878bc40bee83)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/destination/postgresql/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fe683cf0b5cb1d..9ecf11da7f01d0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -21,7 +21,7 @@ "plugins/source/terraform+FILLER": "0.0.0", "plugins/source/test": "4.2.2", "plugins/source/test+FILLER": "0.0.0", - "plugins/destination/postgresql": "7.3.8", + "plugins/destination/postgresql": "7.4.0", "plugins/destination/postgresql+FILLER": "0.0.0", "plugins/destination/test": "2.3.2", "plugins/destination/test+FILLER": "0.0.0", diff --git a/plugins/destination/postgresql/CHANGELOG.md b/plugins/destination/postgresql/CHANGELOG.md index 9660c138606e5f..8a1bfa53aafe95 100644 --- a/plugins/destination/postgresql/CHANGELOG.md +++ b/plugins/destination/postgresql/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [7.4.0](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.8...plugins-destination-postgresql-v7.4.0) (2024-03-12) + + +### Features + +* Add support for CrateDB to Postgres destination ([#17088](https://github.com/cloudquery/cloudquery/issues/17088)) ([316984a](https://github.com/cloudquery/cloudquery/commit/316984ab4ea7f9761b31242b3307878bc40bee83)) + ## [7.3.8](https://github.com/cloudquery/cloudquery/compare/plugins-destination-postgresql-v7.3.7...plugins-destination-postgresql-v7.3.8) (2024-03-06) From 7af546adc0fb5caac64588125f062d43e494bf3e Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:22:16 +0200 Subject: [PATCH 41/53] chore(main): Release plugins-source-okta v4.1.3 (#17079) :robot: I have created a release *beep* *boop* --- ## [4.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-okta-v4.1.2...plugins-source-okta-v4.1.3) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) * **deps:** Update module github.com/go-jose/go-jose/v3 to v3.0.3 [SECURITY] ([#17091](https://github.com/cloudquery/cloudquery/issues/17091)) ([ab419ee](https://github.com/cloudquery/cloudquery/commit/ab419ee505530642882537ae7e951b81116f2aa4)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/okta/CHANGELOG.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 9ecf11da7f01d0..6673e90518a0d2 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -15,7 +15,7 @@ "plugins/source/github+FILLER": "0.0.0", "plugins/source/k8s": "6.0.6", "plugins/source/k8s+FILLER": "0.0.0", - "plugins/source/okta": "4.1.2", + "plugins/source/okta": "4.1.3", "plugins/source/okta+FILLER": "0.0.0", "plugins/source/terraform": "3.0.12", "plugins/source/terraform+FILLER": "0.0.0", diff --git a/plugins/source/okta/CHANGELOG.md b/plugins/source/okta/CHANGELOG.md index d506a687134e64..b8d93a1f8ee238 100644 --- a/plugins/source/okta/CHANGELOG.md +++ b/plugins/source/okta/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [4.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-okta-v4.1.2...plugins-source-okta-v4.1.3) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) +* **deps:** Update module github.com/go-jose/go-jose/v3 to v3.0.3 [SECURITY] ([#17091](https://github.com/cloudquery/cloudquery/issues/17091)) ([ab419ee](https://github.com/cloudquery/cloudquery/commit/ab419ee505530642882537ae7e951b81116f2aa4)) + ## [4.1.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-okta-v4.1.1...plugins-source-okta-v4.1.2) (2024-03-05) From 2d3e1719380f877db71484d0a1b62146e417bbd2 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:24:23 +0200 Subject: [PATCH 42/53] chore(main): Release plugins-source-firestore v3.1.4 (#17072) :robot: I have created a release *beep* *boop* --- ## [3.1.4](https://github.com/cloudquery/cloudquery/compare/plugins-source-firestore-v3.1.3...plugins-source-firestore-v3.1.4) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/firestore/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6673e90518a0d2..e37cb5b0e0eae5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -89,7 +89,7 @@ "plugins/destination/gremlin+FILLER": "0.0.0", "plugins/destination/meilisearch": "2.3.2", "plugins/destination/meilisearch+FILLER": "1.0.0", - "plugins/source/firestore": "3.1.3", + "plugins/source/firestore": "3.1.4", "plugins/source/firestore+FILLER": "0.0.0", "plugins/source/oracledb": "3.0.12", "plugins/source/oracledb+FILLER": "0.0.0", diff --git a/plugins/source/firestore/CHANGELOG.md b/plugins/source/firestore/CHANGELOG.md index 07c29e3e48e8cd..c1d1daa0eb13f2 100644 --- a/plugins/source/firestore/CHANGELOG.md +++ b/plugins/source/firestore/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.1.4](https://github.com/cloudquery/cloudquery/compare/plugins-source-firestore-v3.1.3...plugins-source-firestore-v3.1.4) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [3.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-firestore-v3.1.2...plugins-source-firestore-v3.1.3) (2024-03-05) From 28d57ebe84ee9e6337f8d16e942b9a8ba33831e8 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:27:09 +0200 Subject: [PATCH 43/53] chore(main): Release plugins-source-github v8.1.2 (#17073) :robot: I have created a release *beep* *boop* --- ## [8.1.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v8.1.1...plugins-source-github-v8.1.2) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/github/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e37cb5b0e0eae5..6225cf712d0ce6 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -11,7 +11,7 @@ "plugins/source/digitalocean+FILLER": "0.0.0", "plugins/source/gcp": "10.0.0", "plugins/source/gcp+FILLER": "0.0.0", - "plugins/source/github": "8.1.1", + "plugins/source/github": "8.1.2", "plugins/source/github+FILLER": "0.0.0", "plugins/source/k8s": "6.0.6", "plugins/source/k8s+FILLER": "0.0.0", diff --git a/plugins/source/github/CHANGELOG.md b/plugins/source/github/CHANGELOG.md index 69300aca175200..fa00dfd9c51e3b 100644 --- a/plugins/source/github/CHANGELOG.md +++ b/plugins/source/github/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [8.1.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v8.1.1...plugins-source-github-v8.1.2) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [8.1.1](https://github.com/cloudquery/cloudquery/compare/plugins-source-github-v8.1.0...plugins-source-github-v8.1.1) (2024-03-05) From 8fb6a837a42cb85a1866722203a9cd9fcbb4f2d5 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:29:08 +0200 Subject: [PATCH 44/53] chore(main): Release scaffold v3.0.6 (#17083) :robot: I have created a release *beep* *boop* --- ## [3.0.6](https://github.com/cloudquery/cloudquery/compare/scaffold-v3.0.5...scaffold-v3.0.6) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- scaffold/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6225cf712d0ce6..dc4d849e317438 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -53,7 +53,7 @@ "plugins/destination/kafka+FILLER": "0.0.0", "plugins/source/hackernews": "3.0.24", "plugins/source/hackernews+FILLER": "0.0.0", - "scaffold": "3.0.5", + "scaffold": "3.0.6", "scaffold+FILLER": "0.0.0", "plugins/source/oracle": "4.2.14", "plugins/source/oracle+FILLER": "0.0.0", diff --git a/scaffold/CHANGELOG.md b/scaffold/CHANGELOG.md index 19b43a93d3f62c..6826db13b3c85f 100644 --- a/scaffold/CHANGELOG.md +++ b/scaffold/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.0.6](https://github.com/cloudquery/cloudquery/compare/scaffold-v3.0.5...scaffold-v3.0.6) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [3.0.5](https://github.com/cloudquery/cloudquery/compare/scaffold-v3.0.4...scaffold-v3.0.5) (2024-03-05) From c23dd48c9c3e7f191852742189ae88ccdd715275 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:31:02 +0200 Subject: [PATCH 45/53] chore(main): Release plugins-source-hubspot v3.1.4 (#17076) :robot: I have created a release *beep* *boop* --- ## [3.1.4](https://github.com/cloudquery/cloudquery/compare/plugins-source-hubspot-v3.1.3...plugins-source-hubspot-v3.1.4) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/hubspot/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index dc4d849e317438..354e661b1c1cf0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -63,7 +63,7 @@ "plugins/destination/mssql+FILLER": "0.0.0", "plugins/source/stripe": "2.1.12", "plugins/source/stripe+FILLER": "0.0.0", - "plugins/source/hubspot": "3.1.3", + "plugins/source/hubspot": "3.1.4", "plugins/source/hubspot+FILLER": "0.0.0", "plugins/destination/elasticsearch": "3.2.3", "plugins/destination/elasticsearch+FILLER": "0.0.0", diff --git a/plugins/source/hubspot/CHANGELOG.md b/plugins/source/hubspot/CHANGELOG.md index e8841f9babdc99..fb706a90e975d6 100644 --- a/plugins/source/hubspot/CHANGELOG.md +++ b/plugins/source/hubspot/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.1.4](https://github.com/cloudquery/cloudquery/compare/plugins-source-hubspot-v3.1.3...plugins-source-hubspot-v3.1.4) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [3.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-hubspot-v3.1.2...plugins-source-hubspot-v3.1.3) (2024-03-05) From 2cd35a56c9c9ecba51dffb777d4471c6479353d5 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:39:34 +0200 Subject: [PATCH 46/53] chore(main): Release plugins-source-pagerduty v3.2.3 (#17081) :robot: I have created a release *beep* *boop* --- ## [3.2.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-pagerduty-v3.2.2...plugins-source-pagerduty-v3.2.3) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/pagerduty/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 354e661b1c1cf0..efeb77ab8f1c14 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -33,7 +33,7 @@ "plugins/source/datadog+FILLER": "0.0.0", "plugins/destination/bigquery": "3.4.3", "plugins/destination/bigquery+FILLER": "0.0.0", - "plugins/source/pagerduty": "3.2.2", + "plugins/source/pagerduty": "3.2.3", "plugins/source/pagerduty+FILLER": "0.0.0", "plugins/destination/mongodb": "2.3.2", "plugins/destination/mongodb+FILLER": "0.0.0", diff --git a/plugins/source/pagerduty/CHANGELOG.md b/plugins/source/pagerduty/CHANGELOG.md index 2cf0df27521607..f5c3339ea8f199 100644 --- a/plugins/source/pagerduty/CHANGELOG.md +++ b/plugins/source/pagerduty/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.2.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-pagerduty-v3.2.2...plugins-source-pagerduty-v3.2.3) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [3.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-pagerduty-v3.2.1...plugins-source-pagerduty-v3.2.2) (2024-03-05) From ab1fc6c0a12f07fb75fc4ba6c53ac7747b46773c Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:41:31 +0200 Subject: [PATCH 47/53] chore(main): Release plugins-source-notion v1.1.3 (#17078) :robot: I have created a release *beep* *boop* --- ## [1.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-notion-v1.1.2...plugins-source-notion-v1.1.3) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/notion/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index efeb77ab8f1c14..bedc2b8e695a2c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -105,5 +105,5 @@ "plugins/source/airtable+FILLER": "0.0.0", "plugins/source/bitbucket": "1.1.0", "plugins/source/bitbucket+FILLER": "0.0.0", - "plugins/source/notion": "1.1.2" + "plugins/source/notion": "1.1.3" } diff --git a/plugins/source/notion/CHANGELOG.md b/plugins/source/notion/CHANGELOG.md index 1b941f4b9e0099..4a6b4b915353f8 100644 --- a/plugins/source/notion/CHANGELOG.md +++ b/plugins/source/notion/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [1.1.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-notion-v1.1.2...plugins-source-notion-v1.1.3) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [1.1.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-notion-v1.1.1...plugins-source-notion-v1.1.2) (2024-03-05) From 7d02f39319b9ea246e9bec2bfeacb47d771e901d Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:45:34 +0200 Subject: [PATCH 48/53] chore(main): Release plugins-source-gitlab v4.2.3 (#17074) :robot: I have created a release *beep* *boop* --- ## [4.2.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v4.2.2...plugins-source-gitlab-v4.2.3) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/gitlab/CHANGELOG.md | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index bedc2b8e695a2c..08166073c89f8e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -37,7 +37,7 @@ "plugins/source/pagerduty+FILLER": "0.0.0", "plugins/destination/mongodb": "2.3.2", "plugins/destination/mongodb+FILLER": "0.0.0", - "plugins/source/gitlab": "4.2.2", + "plugins/source/gitlab": "4.2.3", "plugins/source/gitlab+FILLER": "0.0.0", "plugins/destination/gcs": "3.6.1", "plugins/destination/gcs+FILLER": "0.0.0", diff --git a/plugins/source/gitlab/CHANGELOG.md b/plugins/source/gitlab/CHANGELOG.md index e5c231e8d881a2..c346878235ee50 100644 --- a/plugins/source/gitlab/CHANGELOG.md +++ b/plugins/source/gitlab/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [4.2.3](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v4.2.2...plugins-source-gitlab-v4.2.3) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [4.2.2](https://github.com/cloudquery/cloudquery/compare/plugins-source-gitlab-v4.2.1...plugins-source-gitlab-v4.2.2) (2024-03-05) From 31b9c8fa4c13c7782cd21c80a80835b14023b1a7 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 13:47:31 +0200 Subject: [PATCH 49/53] chore(main): Release plugins-source-hackernews v3.0.25 (#17075) :robot: I have created a release *beep* *boop* --- ## [3.0.25](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v3.0.24...plugins-source-hackernews-v3.0.25) (2024-03-12) ### Bug Fixes * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) * **deps:** Update module google.golang.org/grpc to v1.62.1 ([#17099](https://github.com/cloudquery/cloudquery/issues/17099)) ([4a3e667](https://github.com/cloudquery/cloudquery/commit/4a3e667c4352f7479b432a4164fe3df973313530)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- plugins/source/hackernews/CHANGELOG.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 08166073c89f8e..7d9d6dfa9ef35c 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -51,7 +51,7 @@ "plugins/destination/neo4j+FILLER": "0.0.0", "plugins/destination/kafka": "3.3.2", "plugins/destination/kafka+FILLER": "0.0.0", - "plugins/source/hackernews": "3.0.24", + "plugins/source/hackernews": "3.0.25", "plugins/source/hackernews+FILLER": "0.0.0", "scaffold": "3.0.6", "scaffold+FILLER": "0.0.0", diff --git a/plugins/source/hackernews/CHANGELOG.md b/plugins/source/hackernews/CHANGELOG.md index 55dbd841386329..9e35d7a45e8c14 100644 --- a/plugins/source/hackernews/CHANGELOG.md +++ b/plugins/source/hackernews/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [3.0.25](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v3.0.24...plugins-source-hackernews-v3.0.25) (2024-03-12) + + +### Bug Fixes + +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) +* **deps:** Update module google.golang.org/grpc to v1.62.1 ([#17099](https://github.com/cloudquery/cloudquery/issues/17099)) ([4a3e667](https://github.com/cloudquery/cloudquery/commit/4a3e667c4352f7479b432a4164fe3df973313530)) + ## [3.0.24](https://github.com/cloudquery/cloudquery/compare/plugins-source-hackernews-v3.0.23...plugins-source-hackernews-v3.0.24) (2024-03-04) From 0373d5f566d03bd27c236c2b74d1d5f5bf9e6179 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 14:14:32 +0200 Subject: [PATCH 50/53] chore(deps): Update dependency destination-postgresql to v7.4.0 (#17121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [destination-postgresql](https://hub.cloudquery.io) | minor | `v7.3.8` -> `v7.4.0` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Configuration πŸ“… **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. β™» **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. πŸ”• **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). --- plugins/source/k8s/test/policy_cq_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/source/k8s/test/policy_cq_config.yml b/plugins/source/k8s/test/policy_cq_config.yml index 1914dbe2edb931..71a3c50ab01fcf 100644 --- a/plugins/source/k8s/test/policy_cq_config.yml +++ b/plugins/source/k8s/test/policy_cq_config.yml @@ -12,6 +12,6 @@ spec: name: postgresql path: cloudquery/postgresql registry: cloudquery - version: "v7.3.8" # latest version of postgresql plugin + version: "v7.4.0" # latest version of postgresql plugin spec: connection_string: ${CQ_DSN} \ No newline at end of file From ed63346534b2f4d7502a6d9c793caf696385bb6a Mon Sep 17 00:00:00 2001 From: Erez Rokah Date: Tue, 12 Mar 2024 14:18:06 +0100 Subject: [PATCH 51/53] feat: Add connection string example to JSON schema (#17113) #### Summary Example for https://github.com/cloudquery/cloudquery-issues/issues/1365 --- plugins/destination/postgresql/client/spec/schema.json | 4 +++- plugins/destination/postgresql/client/spec/spec.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/destination/postgresql/client/spec/schema.json b/plugins/destination/postgresql/client/spec/schema.json index 916e8be9f258a8..56836537f4c232 100644 --- a/plugins/destination/postgresql/client/spec/schema.json +++ b/plugins/destination/postgresql/client/spec/schema.json @@ -29,7 +29,9 @@ "type": "string", "minLength": 1, "description": "Connection string to connect to the database. This can be a URL or a DSN, as per [`pgxpool`](https://pkg.go.dev/github.com/jackc/pgx/v4/pgxpool#ParseConfig)\n\n- `\"postgres://jack:secret@localhost:5432/mydb?sslmode=prefer\"` _connect with tcp and prefer TLS_\n- `\"postgres://jack:secret@localhost:5432/mydb?sslmode=disable\u0026application_name=pgxtest\u0026search_path=myschema\u0026connect_timeout=5\"` _be explicit with all options_\n- `\"postgres://localhost:5432/mydb?sslmode=disable\"` _connect with os username cloudquery is being run as_\n- `\"postgres:///mydb?host=/tmp\"` _connect over unix socket_\n- `\"dbname=mydb\"` _unix domain socket, just specifying the db name - useful if you want to use peer authentication_\n- `\"user=jack password=jack\\\\'ssooper\\\\\\\\secret host=localhost port=5432 dbname=mydb sslmode=disable\"` _DSN with escaped backslash and single quote_", - "x-cq-secret": true + "examples": [ + "${POSTGRESQL_CONNECTION_STRING}" + ] }, "pgx_log_level": { "$ref": "#/$defs/LogLevel", diff --git a/plugins/destination/postgresql/client/spec/spec.go b/plugins/destination/postgresql/client/spec/spec.go index ae8b502dfb8dcf..3f8272516cb017 100644 --- a/plugins/destination/postgresql/client/spec/spec.go +++ b/plugins/destination/postgresql/client/spec/spec.go @@ -24,7 +24,7 @@ type Spec struct { // - `"postgres:///mydb?host=/tmp"` _connect over unix socket_ // - `"dbname=mydb"` _unix domain socket, just specifying the db name - useful if you want to use peer authentication_ // - `"user=jack password=jack\\'ssooper\\\\secret host=localhost port=5432 dbname=mydb sslmode=disable"` _DSN with escaped backslash and single quote_ - ConnectionString string `json:"connection_string,omitempty" jsonschema:"required,minLength=1" jsonschema_extras:"x-cq-secret=true"` + ConnectionString string `json:"connection_string,omitempty" jsonschema:"required,minLength=1,example=${POSTGRESQL_CONNECTION_STRING}"` // Available: `error`, `warn`, `info`, `debug`, `trace`. // Defines what [`pgx`](https://github.com/jackc/pgx) call events should be logged. From 5dcab0ea8cbd6fcac0719376913a04567204ccde Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:39:26 +0200 Subject: [PATCH 52/53] chore: Update Scaffold version to v3.0.6 (#17120) Updates Scaffold latest version to v3.0.6 Co-authored-by: cq-bot Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: Erez Rokah --- website/versions/scaffold.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/versions/scaffold.json b/website/versions/scaffold.json index a870a3ceeb20c3..cef8f0b784a447 100644 --- a/website/versions/scaffold.json +++ b/website/versions/scaffold.json @@ -1 +1 @@ -{ "latest": "scaffold-v3.0.5" } +{ "latest": "scaffold-v3.0.6" } From c8a49c9804e647e74d88a8e3f91deae9b9d1c218 Mon Sep 17 00:00:00 2001 From: CloudQuery Bot <102256036+cq-bot@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:46:32 +0200 Subject: [PATCH 53/53] chore(main): Release cli v5.9.0 (#17045) :robot: I have created a release *beep* *boop* --- ## [5.9.0](https://github.com/cloudquery/cloudquery/compare/cli-v5.8.3...cli-v5.9.0) (2024-03-12) ### Features * Add `invocation-id` to all log statements ([#17087](https://github.com/cloudquery/cloudquery/issues/17087)) ([7154f9e](https://github.com/cloudquery/cloudquery/commit/7154f9eb9fcc55e0e034ffa6dbfbedc31c6f7257)) ### Bug Fixes * **deps:** Update Google Golang modules ([#17094](https://github.com/cloudquery/cloudquery/issues/17094)) ([7055ebf](https://github.com/cloudquery/cloudquery/commit/7055ebf3c4ef3f952e461b243b8b2b57d1e681f9)) * **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- .release-please-manifest.json | 2 +- cli/CHANGELOG.md | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7d9d6dfa9ef35c..83892b15a4258d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,5 +1,5 @@ { - "cli": "5.8.3", + "cli": "5.9.0", "cli+FILLER": "0.0.0", "plugins/source/aws": "22.19.2", "plugins/source/aws+FILLER": "0.0.0", diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 9eb65d1a2a2fa2..ea15b0ba06ebe5 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -5,6 +5,19 @@ All notable changes to CloudQuery will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.9.0](https://github.com/cloudquery/cloudquery/compare/cli-v5.8.3...cli-v5.9.0) (2024-03-12) + + +### Features + +* Add `invocation-id` to all log statements ([#17087](https://github.com/cloudquery/cloudquery/issues/17087)) ([7154f9e](https://github.com/cloudquery/cloudquery/commit/7154f9eb9fcc55e0e034ffa6dbfbedc31c6f7257)) + + +### Bug Fixes + +* **deps:** Update Google Golang modules ([#17094](https://github.com/cloudquery/cloudquery/issues/17094)) ([7055ebf](https://github.com/cloudquery/cloudquery/commit/7055ebf3c4ef3f952e461b243b8b2b57d1e681f9)) +* **deps:** Update module github.com/cloudquery/plugin-sdk/v4 to v4.32.1 ([#17044](https://github.com/cloudquery/cloudquery/issues/17044)) ([d3592e7](https://github.com/cloudquery/cloudquery/commit/d3592e7f3ae600655778eb508aeccfa4e5b74e8c)) + ## [5.8.3](https://github.com/cloudquery/cloudquery/compare/cli-v5.8.2...cli-v5.8.3) (2024-03-05)

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%0D;WJ`Etz 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 PXV4O2vZAFT?>_w><4g*i literal 0 HcmV?d00001 diff --git a/website/public/images/docs/quickstart/empty-syncs.png b/website/public/images/docs/quickstart/empty-syncs.png new file mode 100644 index 0000000000000000000000000000000000000000..7975ba77436e47f416450391a0ed9c368553b5c5 GIT binary patch literal 87742 zcmeFY^;=Y5)HghcA`${B0#c$NN{SM~&>fP(4Bg$GQj&snNh=5l!_Zv=(hb7U-QCSF zJO}lA-|zbmyg$6xv&Fd%XAb+Uz1G@meOBzx3UU(oI8SguAP~Nkq^J@IgnbJH!koGJ z1U%*1Km;*w)qqs3sMp` z{qAyG@t%~AfRBH@igha1h0gr&DY)!9?K|zQ zzrI@S@$O3jSK@&-=&SVYSn@Cg(|!s*Am8dIO-}js)Cu!;r0(W(Rl9c|nn;!9(Zgb-cj@w|t-nEz!3?!Ea_hO8cq?>S0bi z`1-U3*XZ2`Uq+*MTE3@Uo(l%!gq61hAWO#!qPK>2f#d5y zV#_?W=t$M^6uoKd<@Y!-dMd#lV(U?ggcd?5p^k)0kuOT6KWOgZcn?P=^apZa))0dC zt1q*Z*rm@Gxk6hMdr??=n<9%p8xl*Lew&S0KU7#xpSH!E5WKS567b5i?U7OO^Shq3 zzg5-Hj|tmxM4Qk!p82mu9z22_vG#UTr?6IV%XEBJUbwoWwoemsp$q3N;Prk-vQ;A3 zB279>v=o6)or0@FNci(Bc!ZgduH}^ze=sh}fY`t;?;V%=dPMR)dq1N(vKE%}0K2YY zSA7i4NE}aI5luqM!j6ZmT`Pg&j0a5#zP6267(N(3in9Eqo|0ovdXT%%$7RrC+xp%% zyoF(_@W$_X^b+4Q*Dsi2bMnErpL(07AnKqX9GYvVU=<2V!N9so1^#Duc>~@N`1@+Q zGRH+cz!#IbE&ud6O2U!FlJ~0(i)9JgyPu$Bmh7?NuedLcub+u{4#bd3;yn!{^b4-2 z!r1Zin4jNUyPN#BuZ0h5b$>d2FLpr4RkTWOjdm*SB~v^q*68+{|AkPO`j2Z>+$kLM zngw(fmvT^76^k{9!j^VSiU#sqg zKGn4q0?k7-U?=gSBpU&>7i`V0epAzxb7E`;C;Pxj4!aEB>Z@z*``#)`J z-pckN(`9*yVWdl@ia+8ftIIfc@5JZo8wSN4`X(}4B2BE(Cao&>nnv7#yEDH1*qYYfrT< zX#JcZifW1D;9jeOiZVHeFnl2DA_Z1